/*! For license information please see bundle.js.LICENSE.txt */ (() => { var e, t, i = { 29609: (e) => { 'use strict'; var t = /^(%20|\s)*(javascript|data)/im, i = /[^\x20-\x7E]/gim, n = /^([^:]+):/gm, r = ['.', '/']; e.exports = { sanitizeUrl: function (e) { if (!e) return 'about:blank'; var s, o, a = e.replace(i, '').trim(); return (function (e) { return r.indexOf(e[0]) > -1; })(a) ? a : (o = a.match(n)) ? ((s = o[0]), t.test(s) ? 'about:blank' : a) : 'about:blank'; }, }; }, 98129: (e, t, i) => { 'use strict'; var n = i(60690); function r() { var e = {}, t = 0, i = 0, n = 0; return { add: function (r, s) { s || ((s = r), (r = 0)), r > i ? (i = r) : r < n && (n = r), e[r] || (e[r] = []), e[r].push(s), t++; }, process: function () { for (var t = n; t <= i; t++) for (var r = e[t], s = 0; s < r.length; s++) (0, r[s])(); }, size: function () { return t; }, }; } e.exports = function (e) { var t = (e = e || {}).reporter, i = n.getOption(e, 'async', !0), s = n.getOption(e, 'auto', !0); s && !i && (t && t.warn( 'Invalid options combination. auto=true and async=false is invalid. Setting async=true.' ), (i = !0)); var o, a = r(), l = !1; function c() { for (l = !0; a.size(); ) { var e = a; (a = r()), e.process(); } l = !1; } function d() { o = setTimeout(c, 0); } return { add: function (e, t) { !l && s && i && 0 === a.size() && d(), a.add(e, t); }, force: function (e) { l || (void 0 === e && (e = i), o && (clearTimeout(o), (o = null)), e ? d() : c()); }, }; }; }, 60690: (e) => { 'use strict'; (e.exports = {}).getOption = function (e, t, i) { var n = e[t]; return null == n && void 0 !== i ? i : n; }; }, 69362: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { FormatSpecifier: () => ll, active: () => Xn, arc: () => sw, area: () => hw, areaRadial: () => yw, ascending: () => r, autoType: () => Fo, axisBottom: () => re, axisLeft: () => se, axisRight: () => ne, axisTop: () => ie, bisect: () => c, bisectLeft: () => l, bisectRight: () => a, bisector: () => s, blob: () => ma, brush: () => Dr, brushSelection: () => xr, brushX: () => Lr, brushY: () => Mr, buffer: () => ba, chord: () => Fr, clientPoint: () => Ei, cluster: () => xg, color: () => Kt, contourDensity: () => oo, contours: () => eo, create: () => Iy, creator: () => rt, cross: () => u, csv: () => Sa, csvFormat: () => ko, csvFormatBody: () => xo, csvFormatRow: () => Mo, csvFormatRows: () => Lo, csvFormatValue: () => Do, csvParse: () => Co, csvParseRows: () => So, cubehelix: () => zs, curveBasis: () => eC, curveBasisClosed: () => iC, curveBasisOpen: () => rC, curveBundle: () => oC, curveCardinal: () => cC, curveCardinalClosed: () => hC, curveCardinalOpen: () => gC, curveCatmullRom: () => mC, curveCatmullRomClosed: () => bC, curveCatmullRomOpen: () => yC, curveLinear: () => aw, curveLinearClosed: () => CC, curveMonotoneX: () => EC, curveMonotoneY: () => TC, curveNatural: () => AC, curveStep: () => PC, curveStepAfter: () => BC, curveStepBefore: () => FC, customEvent: () => mt, descending: () => g, deviation: () => m, dispatch: () => ue, drag: () => fo, dragDisable: () => Mt, dragEnable: () => Dt, dsv: () => Ca, dsvFormat: () => yo, easeBack: () => da, easeBackIn: () => la, easeBackInOut: () => da, easeBackOut: () => ca, easeBounce: () => sa, easeBounceIn: () => ra, easeBounceInOut: () => oa, easeBounceOut: () => sa, easeCircle: () => ia, easeCircleIn: () => ea, easeCircleInOut: () => ia, easeCircleOut: () => ta, easeCubic: () => Gn, easeCubicIn: () => Kn, easeCubicInOut: () => Gn, easeCubicOut: () => qn, easeElastic: () => ga, easeElasticIn: () => ua, easeElasticInOut: () => fa, easeElasticOut: () => ga, easeExp: () => Xo, easeExpIn: () => Jo, easeExpInOut: () => Xo, easeExpOut: () => Qo, easeLinear: () => Wo, easePoly: () => Uo, easePolyIn: () => Vo, easePolyInOut: () => Uo, easePolyOut: () => zo, easeQuad: () => jo, easeQuadIn: () => Yo, easeQuadInOut: () => jo, easeQuadOut: () => Ho, easeSin: () => Zo, easeSinIn: () => qo, easeSinInOut: () => Zo, easeSinOut: () => Go, entries: () => fs, event: () => dt, extent: () => _, forceCenter: () => Ia, forceCollide: () => Ua, forceLink: () => qa, forceManyBody: () => Xa, forceRadial: () => el, forceSimulation: () => Qa, forceX: () => tl, forceY: () => il, format: () => gl, formatDefaultLocale: () => bl, formatLocale: () => _l, formatPrefix: () => fl, formatSpecifier: () => al, geoAlbers: () => Wu, geoAlbersUsa: () => Yu, geoArea: () => fc, geoAzimuthalEqualArea: () => zu, geoAzimuthalEqualAreaRaw: () => Vu, geoAzimuthalEquidistant: () => $u, geoAzimuthalEquidistantRaw: () => Uu, geoBounds: () => od, geoCentroid: () => bd, geoCircle: () => Nd, geoClipAntimeridian: () => Hd, geoClipCircle: () => jd, geoClipExtent: () => $d, geoClipRectangle: () => Ud, geoConicConformal: () => Qu, geoConicConformalRaw: () => Ju, geoConicEqualArea: () => Bu, geoConicEqualAreaRaw: () => Fu, geoConicEquidistant: () => ig, geoConicEquidistantRaw: () => tg, geoContains: () => gh, geoDistance: () => rh, geoEqualEarth: () => cg, geoEqualEarthRaw: () => lg, geoEquirectangular: () => eg, geoEquirectangularRaw: () => Xu, geoGnomonic: () => hg, geoGnomonicRaw: () => dg, geoGraticule: () => mh, geoGraticule10: () => _h, geoIdentity: () => gg, geoInterpolate: () => bh, geoLength: () => th, geoMercator: () => qu, geoMercatorRaw: () => Ku, geoNaturalEarth1: () => pg, geoNaturalEarth1Raw: () => fg, geoOrthographic: () => _g, geoOrthographicRaw: () => mg, geoPath: () => yu, geoProjection: () => Au, geoProjectionMutator: () => Ru, geoRotation: () => Ld, geoStereographic: () => vg, geoStereographicRaw: () => bg, geoStream: () => tc, geoTransform: () => wu, geoTransverseMercator: () => wg, geoTransverseMercatorRaw: () => yg, gray: () => Ss, hcl: () => Is, hierarchy: () => Mg, histogram: () => T, hsl: () => ri, html: () => Ea, image: () => xa, interpolate: () => Di, interpolateArray: () => yi, interpolateBasis: () => li, interpolateBasisClosed: () => ci, interpolateBlues: () => sy, interpolateBrBG: () => _v, interpolateBuGn: () => Rv, interpolateBuPu: () => Fv, interpolateCividis: () => my, interpolateCool: () => vy, interpolateCubehelix: () => Yf, interpolateCubehelixDefault: () => _y, interpolateCubehelixLong: () => Hf, interpolateDate: () => Ci, interpolateDiscrete: () => Lf, interpolateGnBu: () => Wv, interpolateGreens: () => ay, interpolateGreys: () => cy, interpolateHcl: () => Ff, interpolateHclLong: () => Bf, interpolateHsl: () => Of, interpolateHslLong: () => Af, interpolateHue: () => Mf, interpolateInferno: () => Ey, interpolateLab: () => Rf, interpolateMagma: () => Ny, interpolateNumber: () => Si, interpolateNumberArray: () => bi, interpolateObject: () => ki, interpolateOrRd: () => Hv, interpolateOranges: () => py, interpolatePRGn: () => vv, interpolatePiYG: () => wv, interpolatePlasma: () => Ty, interpolatePuBu: () => Uv, interpolatePuBuGn: () => Vv, interpolatePuOr: () => Sv, interpolatePuRd: () => Kv, interpolatePurples: () => hy, interpolateRainbow: () => wy, interpolateRdBu: () => xv, interpolateRdGy: () => Mv, interpolateRdPu: () => Gv, interpolateRdYlBu: () => Nv, interpolateRdYlGn: () => Tv, interpolateReds: () => gy, interpolateRgb: () => fi, interpolateRgbBasis: () => mi, interpolateRgbBasisClosed: () => _i, interpolateRound: () => Df, interpolateSinebow: () => xy, interpolateSpectral: () => Ov, interpolateString: () => Mi, interpolateTransformCss: () => fn, interpolateTransformSvg: () => pn, interpolateTurbo: () => Ly, interpolateViridis: () => Dy, interpolateWarm: () => by, interpolateYlGn: () => Xv, interpolateYlGnBu: () => Jv, interpolateYlOrBr: () => ty, interpolateYlOrRd: () => ny, interpolateZoom: () => Tf, interrupt: () => sn, interval: () => nS, isoFormat: () => tS, isoParse: () => iS, json: () => Ma, keys: () => us, lab: () => ks, lch: () => Ts, line: () => dw, lineRadial: () => vw, linkHorizontal: () => Nw, linkRadial: () => Tw, linkVertical: () => Ew, local: () => Ay, map: () => is, matcher: () => _e, max: () => R, mean: () => P, median: () => F, merge: () => B, min: () => W, mouse: () => Ii, namespace: () => xe, namespaces: () => ke, nest: () => ns, now: () => Vi, pack: () => Qg, packEnclose: () => Og, packSiblings: () => $g, pairs: () => d, partition: () => sf, path: () => $r, permute: () => Y, pie: () => fw, piecewise: () => jf, pointRadial: () => ww, polygonArea: () => zf, polygonCentroid: () => Uf, polygonContains: () => Zf, polygonHull: () => Gf, polygonLength: () => Jf, precisionFixed: () => vl, precisionPrefix: () => yl, precisionRound: () => wl, quadtree: () => Wa, quantile: () => I, quantize: () => Vf, radialArea: () => yw, radialLine: () => vw, randomBates: () => np, randomExponential: () => rp, randomIrwinHall: () => ip, randomLogNormal: () => tp, randomNormal: () => ep, randomUniform: () => Xf, range: () => S, rgb: () => Jt, ribbon: () => Qr, scaleBand: () => up, scaleDiverging: () => Xb, scaleDivergingLog: () => ev, scaleDivergingPow: () => iv, scaleDivergingSqrt: () => nv, scaleDivergingSymlog: () => tv, scaleIdentity: () => Dp, scaleImplicit: () => dp, scaleLinear: () => Mp, scaleLog: () => Fp, scaleOrdinal: () => hp, scalePoint: () => fp, scalePow: () => $p, scaleQuantile: () => qp, scaleQuantize: () => Gp, scaleSequential: () => $b, scaleSequentialLog: () => Kb, scaleSequentialPow: () => Gb, scaleSequentialQuantile: () => Jb, scaleSequentialSqrt: () => Zb, scaleSequentialSymlog: () => qb, scaleSqrt: () => Kp, scaleSymlog: () => Hp, scaleThreshold: () => Zp, scaleTime: () => Ob, scaleUtc: () => Vb, scan: () => H, schemeAccent: () => ov, schemeBlues: () => ry, schemeBrBG: () => mv, schemeBuGn: () => Av, schemeBuPu: () => Pv, schemeCategory10: () => sv, schemeDark2: () => av, schemeGnBu: () => Bv, schemeGreens: () => oy, schemeGreys: () => ly, schemeOrRd: () => Yv, schemeOranges: () => fy, schemePRGn: () => bv, schemePaired: () => lv, schemePastel1: () => cv, schemePastel2: () => dv, schemePiYG: () => yv, schemePuBu: () => zv, schemePuBuGn: () => jv, schemePuOr: () => Cv, schemePuRd: () => $v, schemePurples: () => dy, schemeRdBu: () => kv, schemeRdGy: () => Lv, schemeRdPu: () => qv, schemeRdYlBu: () => Dv, schemeRdYlGn: () => Ev, schemeReds: () => uy, schemeSet1: () => hv, schemeSet2: () => uv, schemeSet3: () => gv, schemeSpectral: () => Iv, schemeTableau10: () => fv, schemeYlGn: () => Qv, schemeYlGnBu: () => Zv, schemeYlOrBr: () => ey, schemeYlOrRd: () => iy, select: () => kt, selectAll: () => Py, selection: () => St, selector: () => fe, selectorAll: () => me, set: () => hs, shuffle: () => j, stack: () => jC, stackOffsetDiverging: () => zC, stackOffsetExpand: () => VC, stackOffsetNone: () => WC, stackOffsetSilhouette: () => UC, stackOffsetWiggle: () => $C, stackOrderAppearance: () => KC, stackOrderAscending: () => GC, stackOrderDescending: () => JC, stackOrderInsideOut: () => QC, stackOrderNone: () => YC, stackOrderReverse: () => XC, stratify: () => df, style: () => Pe, sum: () => V, svg: () => Ta, symbol: () => Zw, symbolCircle: () => Iw, symbolCross: () => Ow, symbolDiamond: () => Pw, symbolSquare: () => Hw, symbolStar: () => Yw, symbolTriangle: () => Vw, symbolWye: () => qw, symbols: () => Gw, text: () => ya, thresholdFreedmanDiaconis: () => O, thresholdScott: () => A, thresholdSturges: () => E, tickFormat: () => xp, tickIncrement: () => D, tickStep: () => N, ticks: () => M, timeDay: () => Mm, timeDays: () => Dm, timeFormat: () => g_, timeFormatDefaultLocale: () => Db, timeFormatLocale: () => h_, timeFriday: () => _m, timeFridays: () => km, timeHour: () => Em, timeHours: () => Tm, timeInterval: () => Xp, timeMillisecond: () => Wm, timeMilliseconds: () => Ym, timeMinute: () => Om, timeMinutes: () => Am, timeMonday: () => gm, timeMondays: () => ym, timeMonth: () => rm, timeMonths: () => sm, timeParse: () => f_, timeSaturday: () => bm, timeSaturdays: () => xm, timeSecond: () => Pm, timeSeconds: () => Fm, timeSunday: () => um, timeSundays: () => vm, timeThursday: () => mm, timeThursdays: () => Sm, timeTuesday: () => fm, timeTuesdays: () => wm, timeWednesday: () => pm, timeWednesdays: () => Cm, timeWeek: () => um, timeWeeks: () => vm, timeYear: () => tm, timeYears: () => im, timeout: () => Ji, timer: () => $i, timerFlush: () => Ki, touch: () => Ti, touches: () => Fy, transition: () => zn, transpose: () => z, tree: () => _f, treemap: () => Cf, treemapBinary: () => Sf, treemapDice: () => rf, treemapResquarify: () => xf, treemapSlice: () => bf, treemapSliceDice: () => kf, treemapSquarify: () => wf, tsv: () => ka, tsvFormat: () => Io, tsvFormatBody: () => Oo, tsvFormatRow: () => Ro, tsvFormatRows: () => Ao, tsvFormatValue: () => Po, tsvParse: () => Eo, tsvParseRows: () => To, utcDay: () => n_, utcDays: () => r_, utcFormat: () => p_, utcFriday: () => Km, utcFridays: () => e_, utcHour: () => Bb, utcHours: () => Wb, utcMillisecond: () => Wm, utcMilliseconds: () => Ym, utcMinute: () => Hb, utcMinutes: () => jb, utcMonday: () => Vm, utcMondays: () => Zm, utcMonth: () => Rb, utcMonths: () => Pb, utcParse: () => m_, utcSaturday: () => qm, utcSaturdays: () => t_, utcSecond: () => Pm, utcSeconds: () => Fm, utcSunday: () => jm, utcSundays: () => Gm, utcThursday: () => $m, utcThursdays: () => Xm, utcTuesday: () => zm, utcTuesdays: () => Jm, utcWednesday: () => Um, utcWednesdays: () => Qm, utcWeek: () => jm, utcWeeks: () => Gm, utcYear: () => o_, utcYears: () => a_, values: () => gs, variance: () => p, version: () => n, voronoi: () => VS, window: () => Ie, xml: () => Na, zip: () => $, zoom: () => nk, zoomIdentity: () => KS, zoomTransform: () => qS, }); var n = '5.14.2'; function r(e, t) { return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function s(e) { var t; return ( 1 === e.length && ((t = e), (e = function (e, i) { return r(t(e), i); })), { left: function (t, i, n, r) { for ( null == n && (n = 0), null == r && (r = t.length); n < r; ) { var s = (n + r) >>> 1; e(t[s], i) < 0 ? (n = s + 1) : (r = s); } return n; }, right: function (t, i, n, r) { for ( null == n && (n = 0), null == r && (r = t.length); n < r; ) { var s = (n + r) >>> 1; e(t[s], i) > 0 ? (r = s) : (n = s + 1); } return n; }, } ); } var o = s(r), a = o.right, l = o.left; const c = a; function d(e, t) { null == t && (t = h); for ( var i = 0, n = e.length - 1, r = e[0], s = new Array(n < 0 ? 0 : n); i < n; ) s[i] = t(r, (r = e[++i])); return s; } function h(e, t) { return [e, t]; } function u(e, t, i) { var n, r, s, o, a = e.length, l = t.length, c = new Array(a * l); for (null == i && (i = h), n = s = 0; n < a; ++n) for (o = e[n], r = 0; r < l; ++r, ++s) c[s] = i(o, t[r]); return c; } function g(e, t) { return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function f(e) { return null === e ? NaN : +e; } function p(e, t) { var i, n, r = e.length, s = 0, o = -1, a = 0, l = 0; if (null == t) for (; ++o < r; ) isNaN((i = f(e[o]))) || (l += (n = i - a) * (i - (a += n / ++s))); else for (; ++o < r; ) isNaN((i = f(t(e[o], o, e)))) || (l += (n = i - a) * (i - (a += n / ++s))); if (s > 1) return l / (s - 1); } function m(e, t) { var i = p(e, t); return i ? Math.sqrt(i) : i; } function _(e, t) { var i, n, r, s = e.length, o = -1; if (null == t) { for (; ++o < s; ) if (null != (i = e[o]) && i >= i) for (n = r = i; ++o < s; ) null != (i = e[o]) && (n > i && (n = i), r < i && (r = i)); } else for (; ++o < s; ) if (null != (i = t(e[o], o, e)) && i >= i) for (n = r = i; ++o < s; ) null != (i = t(e[o], o, e)) && (n > i && (n = i), r < i && (r = i)); return [n, r]; } var b = Array.prototype, v = b.slice, y = b.map; function w(e) { return function () { return e; }; } function C(e) { return e; } function S(e, t, i) { (e = +e), (t = +t), (i = (r = arguments.length) < 2 ? ((t = e), (e = 0), 1) : r < 3 ? 1 : +i); for ( var n = -1, r = 0 | Math.max(0, Math.ceil((t - e) / i)), s = new Array(r); ++n < r; ) s[n] = e + n * i; return s; } var k = Math.sqrt(50), x = Math.sqrt(10), L = Math.sqrt(2); function M(e, t, i) { var n, r, s, o, a = -1; if (((i = +i), (e = +e) == (t = +t) && i > 0)) return [e]; if ( ((n = t < e) && ((r = e), (e = t), (t = r)), 0 === (o = D(e, t, i)) || !isFinite(o)) ) return []; if (o > 0) for ( e = Math.ceil(e / o), t = Math.floor(t / o), s = new Array((r = Math.ceil(t - e + 1))); ++a < r; ) s[a] = (e + a) * o; else for ( e = Math.floor(e * o), t = Math.ceil(t * o), s = new Array((r = Math.ceil(e - t + 1))); ++a < r; ) s[a] = (e - a) / o; return n && s.reverse(), s; } function D(e, t, i) { var n = (t - e) / Math.max(0, i), r = Math.floor(Math.log(n) / Math.LN10), s = n / Math.pow(10, r); return r >= 0 ? (s >= k ? 10 : s >= x ? 5 : s >= L ? 2 : 1) * Math.pow(10, r) : -Math.pow(10, -r) / (s >= k ? 10 : s >= x ? 5 : s >= L ? 2 : 1); } function N(e, t, i) { var n = Math.abs(t - e) / Math.max(0, i), r = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), s = n / r; return ( s >= k ? (r *= 10) : s >= x ? (r *= 5) : s >= L && (r *= 2), t < e ? -r : r ); } function E(e) { return Math.ceil(Math.log(e.length) / Math.LN2) + 1; } function T() { var e = C, t = _, i = E; function n(n) { var r, s, o = n.length, a = new Array(o); for (r = 0; r < o; ++r) a[r] = e(n[r], r, n); var l = t(a), d = l[0], h = l[1], u = i(a, d, h); Array.isArray(u) || ((u = N(d, h, u)), (u = S(Math.ceil(d / u) * u, h, u))); for (var g = u.length; u[0] <= d; ) u.shift(), --g; for (; u[g - 1] > h; ) u.pop(), --g; var f, p = new Array(g + 1); for (r = 0; r <= g; ++r) ((f = p[r] = []).x0 = r > 0 ? u[r - 1] : d), (f.x1 = r < g ? u[r] : h); for (r = 0; r < o; ++r) d <= (s = a[r]) && s <= h && p[c(u, s, 0, g)].push(n[r]); return p; } return ( (n.value = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : w(t)), n) : e; }), (n.domain = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : w([e[0], e[1]])), n) : t; }), (n.thresholds = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : Array.isArray(e) ? w(v.call(e)) : w(e)), n) : i; }), n ); } function I(e, t, i) { if ((null == i && (i = f), (n = e.length))) { if ((t = +t) <= 0 || n < 2) return +i(e[0], 0, e); if (t >= 1) return +i(e[n - 1], n - 1, e); var n, r = (n - 1) * t, s = Math.floor(r), o = +i(e[s], s, e); return o + (+i(e[s + 1], s + 1, e) - o) * (r - s); } } function O(e, t, i) { return ( (e = y.call(e, f).sort(r)), Math.ceil( (i - t) / (2 * (I(e, 0.75) - I(e, 0.25)) * Math.pow(e.length, -1 / 3)) ) ); } function A(e, t, i) { return Math.ceil((i - t) / (3.5 * m(e) * Math.pow(e.length, -1 / 3))); } function R(e, t) { var i, n, r = e.length, s = -1; if (null == t) { for (; ++s < r; ) if (null != (i = e[s]) && i >= i) for (n = i; ++s < r; ) null != (i = e[s]) && i > n && (n = i); } else for (; ++s < r; ) if (null != (i = t(e[s], s, e)) && i >= i) for (n = i; ++s < r; ) null != (i = t(e[s], s, e)) && i > n && (n = i); return n; } function P(e, t) { var i, n = e.length, r = n, s = -1, o = 0; if (null == t) for (; ++s < n; ) isNaN((i = f(e[s]))) ? --r : (o += i); else for (; ++s < n; ) isNaN((i = f(t(e[s], s, e)))) ? --r : (o += i); if (r) return o / r; } function F(e, t) { var i, n = e.length, s = -1, o = []; if (null == t) for (; ++s < n; ) isNaN((i = f(e[s]))) || o.push(i); else for (; ++s < n; ) isNaN((i = f(t(e[s], s, e)))) || o.push(i); return I(o.sort(r), 0.5); } function B(e) { for (var t, i, n, r = e.length, s = -1, o = 0; ++s < r; ) o += e[s].length; for (i = new Array(o); --r >= 0; ) for (t = (n = e[r]).length; --t >= 0; ) i[--o] = n[t]; return i; } function W(e, t) { var i, n, r = e.length, s = -1; if (null == t) { for (; ++s < r; ) if (null != (i = e[s]) && i >= i) for (n = i; ++s < r; ) null != (i = e[s]) && n > i && (n = i); } else for (; ++s < r; ) if (null != (i = t(e[s], s, e)) && i >= i) for (n = i; ++s < r; ) null != (i = t(e[s], s, e)) && n > i && (n = i); return n; } function Y(e, t) { for (var i = t.length, n = new Array(i); i--; ) n[i] = e[t[i]]; return n; } function H(e, t) { if ((i = e.length)) { var i, n, s = 0, o = 0, a = e[o]; for (null == t && (t = r); ++s < i; ) (t((n = e[s]), a) < 0 || 0 !== t(a, a)) && ((a = n), (o = s)); return 0 === t(a, a) ? o : void 0; } } function j(e, t, i) { for ( var n, r, s = (null == i ? e.length : i) - (t = null == t ? 0 : +t); s; ) (r = (Math.random() * s--) | 0), (n = e[s + t]), (e[s + t] = e[r + t]), (e[r + t] = n); return e; } function V(e, t) { var i, n = e.length, r = -1, s = 0; if (null == t) for (; ++r < n; ) (i = +e[r]) && (s += i); else for (; ++r < n; ) (i = +t(e[r], r, e)) && (s += i); return s; } function z(e) { if (!(r = e.length)) return []; for (var t = -1, i = W(e, U), n = new Array(i); ++t < i; ) for (var r, s = -1, o = (n[t] = new Array(r)); ++s < r; ) o[s] = e[s][t]; return n; } function U(e) { return e.length; } function $() { return z(arguments); } var K = Array.prototype.slice; function q(e) { return e; } var G = 1e-6; function Z(e) { return 'translate(' + (e + 0.5) + ',0)'; } function J(e) { return 'translate(0,' + (e + 0.5) + ')'; } function Q(e) { return function (t) { return +e(t); }; } function X(e) { var t = Math.max(0, e.bandwidth() - 1) / 2; return ( e.round() && (t = Math.round(t)), function (i) { return +e(i) + t; } ); } function ee() { return !this.__axis; } function te(e, t) { var i = [], n = null, r = null, s = 6, o = 6, a = 3, l = 1 === e || 4 === e ? -1 : 1, c = 4 === e || 2 === e ? 'x' : 'y', d = 1 === e || 3 === e ? Z : J; function h(h) { var u = null == n ? (t.ticks ? t.ticks.apply(t, i) : t.domain()) : n, g = null == r ? (t.tickFormat ? t.tickFormat.apply(t, i) : q) : r, f = Math.max(s, 0) + a, p = t.range(), m = +p[0] + 0.5, _ = +p[p.length - 1] + 0.5, b = (t.bandwidth ? X : Q)(t.copy()), v = h.selection ? h.selection() : h, y = v.selectAll('.domain').data([null]), w = v.selectAll('.tick').data(u, t).order(), C = w.exit(), S = w.enter().append('g').attr('class', 'tick'), k = w.select('line'), x = w.select('text'); (y = y.merge( y .enter() .insert('path', '.tick') .attr('class', 'domain') .attr('stroke', 'currentColor') )), (w = w.merge(S)), (k = k.merge( S.append('line') .attr('stroke', 'currentColor') .attr(c + '2', l * s) )), (x = x.merge( S.append('text') .attr('fill', 'currentColor') .attr(c, l * f) .attr('dy', 1 === e ? '0em' : 3 === e ? '0.71em' : '0.32em') )), h !== v && ((y = y.transition(h)), (w = w.transition(h)), (k = k.transition(h)), (x = x.transition(h)), (C = C.transition(h) .attr('opacity', G) .attr('transform', function (e) { return isFinite((e = b(e))) ? d(e) : this.getAttribute('transform'); })), S.attr('opacity', G).attr('transform', function (e) { var t = this.parentNode.__axis; return d(t && isFinite((t = t(e))) ? t : b(e)); })), C.remove(), y.attr( 'd', 4 === e || 2 == e ? o ? 'M' + l * o + ',' + m + 'H0.5V' + _ + 'H' + l * o : 'M0.5,' + m + 'V' + _ : o ? 'M' + m + ',' + l * o + 'V0.5H' + _ + 'V' + l * o : 'M' + m + ',0.5H' + _ ), w.attr('opacity', 1).attr('transform', function (e) { return d(b(e)); }), k.attr(c + '2', l * s), x.attr(c, l * f).text(g), v .filter(ee) .attr('fill', 'none') .attr('font-size', 10) .attr('font-family', 'sans-serif') .attr( 'text-anchor', 2 === e ? 'start' : 4 === e ? 'end' : 'middle' ), v.each(function () { this.__axis = b; }); } return ( (h.scale = function (e) { return arguments.length ? ((t = e), h) : t; }), (h.ticks = function () { return (i = K.call(arguments)), h; }), (h.tickArguments = function (e) { return arguments.length ? ((i = null == e ? [] : K.call(e)), h) : i.slice(); }), (h.tickValues = function (e) { return arguments.length ? ((n = null == e ? null : K.call(e)), h) : n && n.slice(); }), (h.tickFormat = function (e) { return arguments.length ? ((r = e), h) : r; }), (h.tickSize = function (e) { return arguments.length ? ((s = o = +e), h) : s; }), (h.tickSizeInner = function (e) { return arguments.length ? ((s = +e), h) : s; }), (h.tickSizeOuter = function (e) { return arguments.length ? ((o = +e), h) : o; }), (h.tickPadding = function (e) { return arguments.length ? ((a = +e), h) : a; }), h ); } function ie(e) { return te(1, e); } function ne(e) { return te(2, e); } function re(e) { return te(3, e); } function se(e) { return te(4, e); } var oe = { value: function () {} }; function ae() { for (var e, t = 0, i = arguments.length, n = {}; t < i; ++t) { if (!(e = arguments[t] + '') || e in n || /[\s.]/.test(e)) throw new Error('illegal type: ' + e); n[e] = []; } return new le(n); } function le(e) { this._ = e; } function ce(e, t) { return e .trim() .split(/^|\s+/) .map(function (e) { var i = '', n = e.indexOf('.'); if ( (n >= 0 && ((i = e.slice(n + 1)), (e = e.slice(0, n))), e && !t.hasOwnProperty(e)) ) throw new Error('unknown type: ' + e); return { type: e, name: i }; }); } function de(e, t) { for (var i, n = 0, r = e.length; n < r; ++n) if ((i = e[n]).name === t) return i.value; } function he(e, t, i) { for (var n = 0, r = e.length; n < r; ++n) if (e[n].name === t) { (e[n] = oe), (e = e.slice(0, n).concat(e.slice(n + 1))); break; } return null != i && e.push({ name: t, value: i }), e; } le.prototype = ae.prototype = { constructor: le, on: function (e, t) { var i, n = this._, r = ce(e + '', n), s = -1, o = r.length; if (!(arguments.length < 2)) { if (null != t && 'function' != typeof t) throw new Error('invalid callback: ' + t); for (; ++s < o; ) if ((i = (e = r[s]).type)) n[i] = he(n[i], e.name, t); else if (null == t) for (i in n) n[i] = he(n[i], e.name, null); return this; } for (; ++s < o; ) if ((i = (e = r[s]).type) && (i = de(n[i], e.name))) return i; }, copy: function () { var e = {}, t = this._; for (var i in t) e[i] = t[i].slice(); return new le(e); }, call: function (e, t) { if ((i = arguments.length - 2) > 0) for (var i, n, r = new Array(i), s = 0; s < i; ++s) r[s] = arguments[s + 2]; if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e); for (s = 0, i = (n = this._[e]).length; s < i; ++s) n[s].value.apply(t, r); }, apply: function (e, t, i) { if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e); for (var n = this._[e], r = 0, s = n.length; r < s; ++r) n[r].value.apply(t, i); }, }; const ue = ae; function ge() {} function fe(e) { return null == e ? ge : function () { return this.querySelector(e); }; } function pe() { return []; } function me(e) { return null == e ? pe : function () { return this.querySelectorAll(e); }; } function _e(e) { return function () { return this.matches(e); }; } function be(e) { return new Array(e.length); } function ve(e, t) { (this.ownerDocument = e.ownerDocument), (this.namespaceURI = e.namespaceURI), (this._next = null), (this._parent = e), (this.__data__ = t); } function ye(e, t, i, n, r, s) { for (var o, a = 0, l = t.length, c = s.length; a < c; ++a) (o = t[a]) ? ((o.__data__ = s[a]), (n[a] = o)) : (i[a] = new ve(e, s[a])); for (; a < l; ++a) (o = t[a]) && (r[a] = o); } function we(e, t, i, n, r, s, o) { var a, l, c, d = {}, h = t.length, u = s.length, g = new Array(h); for (a = 0; a < h; ++a) (l = t[a]) && ((g[a] = c = '$' + o.call(l, l.__data__, a, t)), c in d ? (r[a] = l) : (d[c] = l)); for (a = 0; a < u; ++a) (l = d[(c = '$' + o.call(e, s[a], a, s))]) ? ((n[a] = l), (l.__data__ = s[a]), (d[c] = null)) : (i[a] = new ve(e, s[a])); for (a = 0; a < h; ++a) (l = t[a]) && d[g[a]] === l && (r[a] = l); } function Ce(e, t) { return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } ve.prototype = { constructor: ve, appendChild: function (e) { return this._parent.insertBefore(e, this._next); }, insertBefore: function (e, t) { return this._parent.insertBefore(e, t); }, querySelector: function (e) { return this._parent.querySelector(e); }, querySelectorAll: function (e) { return this._parent.querySelectorAll(e); }, }; var Se = 'http://www.w3.org/1999/xhtml'; const ke = { svg: 'http://www.w3.org/2000/svg', xhtml: Se, xlink: 'http://www.w3.org/1999/xlink', xml: 'http://www.w3.org/XML/1998/namespace', xmlns: 'http://www.w3.org/2000/xmlns/', }; function xe(e) { var t = (e += ''), i = t.indexOf(':'); return ( i >= 0 && 'xmlns' !== (t = e.slice(0, i)) && (e = e.slice(i + 1)), ke.hasOwnProperty(t) ? { space: ke[t], local: e } : e ); } function Le(e) { return function () { this.removeAttribute(e); }; } function Me(e) { return function () { this.removeAttributeNS(e.space, e.local); }; } function De(e, t) { return function () { this.setAttribute(e, t); }; } function Ne(e, t) { return function () { this.setAttributeNS(e.space, e.local, t); }; } function Ee(e, t) { return function () { var i = t.apply(this, arguments); null == i ? this.removeAttribute(e) : this.setAttribute(e, i); }; } function Te(e, t) { return function () { var i = t.apply(this, arguments); null == i ? this.removeAttributeNS(e.space, e.local) : this.setAttributeNS(e.space, e.local, i); }; } function Ie(e) { return ( (e.ownerDocument && e.ownerDocument.defaultView) || (e.document && e) || e.defaultView ); } function Oe(e) { return function () { this.style.removeProperty(e); }; } function Ae(e, t, i) { return function () { this.style.setProperty(e, t, i); }; } function Re(e, t, i) { return function () { var n = t.apply(this, arguments); null == n ? this.style.removeProperty(e) : this.style.setProperty(e, n, i); }; } function Pe(e, t) { return ( e.style.getPropertyValue(t) || Ie(e).getComputedStyle(e, null).getPropertyValue(t) ); } function Fe(e) { return function () { delete this[e]; }; } function Be(e, t) { return function () { this[e] = t; }; } function We(e, t) { return function () { var i = t.apply(this, arguments); null == i ? delete this[e] : (this[e] = i); }; } function Ye(e) { return e.trim().split(/^|\s+/); } function He(e) { return e.classList || new je(e); } function je(e) { (this._node = e), (this._names = Ye(e.getAttribute('class') || '')); } function Ve(e, t) { for (var i = He(e), n = -1, r = t.length; ++n < r; ) i.add(t[n]); } function ze(e, t) { for (var i = He(e), n = -1, r = t.length; ++n < r; ) i.remove(t[n]); } function Ue(e) { return function () { Ve(this, e); }; } function $e(e) { return function () { ze(this, e); }; } function Ke(e, t) { return function () { (t.apply(this, arguments) ? Ve : ze)(this, e); }; } function qe() { this.textContent = ''; } function Ge(e) { return function () { this.textContent = e; }; } function Ze(e) { return function () { var t = e.apply(this, arguments); this.textContent = null == t ? '' : t; }; } function Je() { this.innerHTML = ''; } function Qe(e) { return function () { this.innerHTML = e; }; } function Xe(e) { return function () { var t = e.apply(this, arguments); this.innerHTML = null == t ? '' : t; }; } function et() { this.nextSibling && this.parentNode.appendChild(this); } function tt() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); } function it(e) { return function () { var t = this.ownerDocument, i = this.namespaceURI; return i === Se && t.documentElement.namespaceURI === Se ? t.createElement(e) : t.createElementNS(i, e); }; } function nt(e) { return function () { return this.ownerDocument.createElementNS(e.space, e.local); }; } function rt(e) { var t = xe(e); return (t.local ? nt : it)(t); } function st() { return null; } function ot() { var e = this.parentNode; e && e.removeChild(this); } function at() { var e = this.cloneNode(!1), t = this.parentNode; return t ? t.insertBefore(e, this.nextSibling) : e; } function lt() { var e = this.cloneNode(!0), t = this.parentNode; return t ? t.insertBefore(e, this.nextSibling) : e; } je.prototype = { add: function (e) { this._names.indexOf(e) < 0 && (this._names.push(e), this._node.setAttribute('class', this._names.join(' '))); }, remove: function (e) { var t = this._names.indexOf(e); t >= 0 && (this._names.splice(t, 1), this._node.setAttribute('class', this._names.join(' '))); }, contains: function (e) { return this._names.indexOf(e) >= 0; }, }; var ct = {}, dt = null; function ht(e, t, i) { return ( (e = ut(e, t, i)), function (t) { var i = t.relatedTarget; (i && (i === this || 8 & i.compareDocumentPosition(this))) || e.call(this, t); } ); } function ut(e, t, i) { return function (n) { var r = dt; dt = n; try { e.call(this, this.__data__, t, i); } finally { dt = r; } }; } function gt(e) { return e .trim() .split(/^|\s+/) .map(function (e) { var t = '', i = e.indexOf('.'); return ( i >= 0 && ((t = e.slice(i + 1)), (e = e.slice(0, i))), { type: e, name: t } ); }); } function ft(e) { return function () { var t = this.__on; if (t) { for (var i, n = 0, r = -1, s = t.length; n < s; ++n) (i = t[n]), (e.type && i.type !== e.type) || i.name !== e.name ? (t[++r] = i) : this.removeEventListener(i.type, i.listener, i.capture); ++r ? (t.length = r) : delete this.__on; } }; } function pt(e, t, i) { var n = ct.hasOwnProperty(e.type) ? ht : ut; return function (r, s, o) { var a, l = this.__on, c = n(t, s, o); if (l) for (var d = 0, h = l.length; d < h; ++d) if ((a = l[d]).type === e.type && a.name === e.name) return ( this.removeEventListener(a.type, a.listener, a.capture), this.addEventListener( a.type, (a.listener = c), (a.capture = i) ), void (a.value = t) ); this.addEventListener(e.type, c, i), (a = { type: e.type, name: e.name, value: t, listener: c, capture: i, }), l ? l.push(a) : (this.__on = [a]); }; } function mt(e, t, i, n) { var r = dt; (e.sourceEvent = dt), (dt = e); try { return t.apply(i, n); } finally { dt = r; } } function _t(e, t, i) { var n = Ie(e), r = n.CustomEvent; 'function' == typeof r ? (r = new r(t, i)) : ((r = n.document.createEvent('Event')), i ? (r.initEvent(t, i.bubbles, i.cancelable), (r.detail = i.detail)) : r.initEvent(t, !1, !1)), e.dispatchEvent(r); } function bt(e, t) { return function () { return _t(this, e, t); }; } function vt(e, t) { return function () { return _t(this, e, t.apply(this, arguments)); }; } 'undefined' != typeof document && ('onmouseenter' in document.documentElement || (ct = { mouseenter: 'mouseover', mouseleave: 'mouseout' })); var yt = [null]; function wt(e, t) { (this._groups = e), (this._parents = t); } function Ct() { return new wt([[document.documentElement]], yt); } wt.prototype = Ct.prototype = { constructor: wt, select: function (e) { 'function' != typeof e && (e = fe(e)); for ( var t = this._groups, i = t.length, n = new Array(i), r = 0; r < i; ++r ) for ( var s, o, a = t[r], l = a.length, c = (n[r] = new Array(l)), d = 0; d < l; ++d ) (s = a[d]) && (o = e.call(s, s.__data__, d, a)) && ('__data__' in s && (o.__data__ = s.__data__), (c[d] = o)); return new wt(n, this._parents); }, selectAll: function (e) { 'function' != typeof e && (e = me(e)); for ( var t = this._groups, i = t.length, n = [], r = [], s = 0; s < i; ++s ) for (var o, a = t[s], l = a.length, c = 0; c < l; ++c) (o = a[c]) && (n.push(e.call(o, o.__data__, c, a)), r.push(o)); return new wt(n, r); }, filter: function (e) { 'function' != typeof e && (e = _e(e)); for ( var t = this._groups, i = t.length, n = new Array(i), r = 0; r < i; ++r ) for ( var s, o = t[r], a = o.length, l = (n[r] = []), c = 0; c < a; ++c ) (s = o[c]) && e.call(s, s.__data__, c, o) && l.push(s); return new wt(n, this._parents); }, data: function (e, t) { if (!e) return ( (f = new Array(this.size())), (d = -1), this.each(function (e) { f[++d] = e; }), f ); var i, n = t ? we : ye, r = this._parents, s = this._groups; 'function' != typeof e && ((i = e), (e = function () { return i; })); for ( var o = s.length, a = new Array(o), l = new Array(o), c = new Array(o), d = 0; d < o; ++d ) { var h = r[d], u = s[d], g = u.length, f = e.call(h, h && h.__data__, d, r), p = f.length, m = (l[d] = new Array(p)), _ = (a[d] = new Array(p)); n(h, u, m, _, (c[d] = new Array(g)), f, t); for (var b, v, y = 0, w = 0; y < p; ++y) if ((b = m[y])) { for (y >= w && (w = y + 1); !(v = _[w]) && ++w < p; ); b._next = v || null; } } return ((a = new wt(a, r))._enter = l), (a._exit = c), a; }, enter: function () { return new wt(this._enter || this._groups.map(be), this._parents); }, exit: function () { return new wt(this._exit || this._groups.map(be), this._parents); }, join: function (e, t, i) { var n = this.enter(), r = this, s = this.exit(); return ( (n = 'function' == typeof e ? e(n) : n.append(e + '')), null != t && (r = t(r)), null == i ? s.remove() : i(s), n && r ? n.merge(r).order() : r ); }, merge: function (e) { for ( var t = this._groups, i = e._groups, n = t.length, r = i.length, s = Math.min(n, r), o = new Array(n), a = 0; a < s; ++a ) for ( var l, c = t[a], d = i[a], h = c.length, u = (o[a] = new Array(h)), g = 0; g < h; ++g ) (l = c[g] || d[g]) && (u[g] = l); for (; a < n; ++a) o[a] = t[a]; return new wt(o, this._parents); }, order: function () { for (var e = this._groups, t = -1, i = e.length; ++t < i; ) for (var n, r = e[t], s = r.length - 1, o = r[s]; --s >= 0; ) (n = r[s]) && (o && 4 ^ n.compareDocumentPosition(o) && o.parentNode.insertBefore(n, o), (o = n)); return this; }, sort: function (e) { function t(t, i) { return t && i ? e(t.__data__, i.__data__) : !t - !i; } e || (e = Ce); for ( var i = this._groups, n = i.length, r = new Array(n), s = 0; s < n; ++s ) { for ( var o, a = i[s], l = a.length, c = (r[s] = new Array(l)), d = 0; d < l; ++d ) (o = a[d]) && (c[d] = o); c.sort(t); } return new wt(r, this._parents).order(); }, call: function () { var e = arguments[0]; return (arguments[0] = this), e.apply(null, arguments), this; }, nodes: function () { var e = new Array(this.size()), t = -1; return ( this.each(function () { e[++t] = this; }), e ); }, node: function () { for (var e = this._groups, t = 0, i = e.length; t < i; ++t) for (var n = e[t], r = 0, s = n.length; r < s; ++r) { var o = n[r]; if (o) return o; } return null; }, size: function () { var e = 0; return ( this.each(function () { ++e; }), e ); }, empty: function () { return !this.node(); }, each: function (e) { for (var t = this._groups, i = 0, n = t.length; i < n; ++i) for (var r, s = t[i], o = 0, a = s.length; o < a; ++o) (r = s[o]) && e.call(r, r.__data__, o, s); return this; }, attr: function (e, t) { var i = xe(e); if (arguments.length < 2) { var n = this.node(); return i.local ? n.getAttributeNS(i.space, i.local) : n.getAttribute(i); } return this.each( (null == t ? i.local ? Me : Le : 'function' == typeof t ? i.local ? Te : Ee : i.local ? Ne : De)(i, t) ); }, style: function (e, t, i) { return arguments.length > 1 ? this.each( (null == t ? Oe : 'function' == typeof t ? Re : Ae)( e, t, null == i ? '' : i ) ) : Pe(this.node(), e); }, property: function (e, t) { return arguments.length > 1 ? this.each( (null == t ? Fe : 'function' == typeof t ? We : Be)(e, t) ) : this.node()[e]; }, classed: function (e, t) { var i = Ye(e + ''); if (arguments.length < 2) { for (var n = He(this.node()), r = -1, s = i.length; ++r < s; ) if (!n.contains(i[r])) return !1; return !0; } return this.each(('function' == typeof t ? Ke : t ? Ue : $e)(i, t)); }, text: function (e) { return arguments.length ? this.each( null == e ? qe : ('function' == typeof e ? Ze : Ge)(e) ) : this.node().textContent; }, html: function (e) { return arguments.length ? this.each( null == e ? Je : ('function' == typeof e ? Xe : Qe)(e) ) : this.node().innerHTML; }, raise: function () { return this.each(et); }, lower: function () { return this.each(tt); }, append: function (e) { var t = 'function' == typeof e ? e : rt(e); return this.select(function () { return this.appendChild(t.apply(this, arguments)); }); }, insert: function (e, t) { var i = 'function' == typeof e ? e : rt(e), n = null == t ? st : 'function' == typeof t ? t : fe(t); return this.select(function () { return this.insertBefore( i.apply(this, arguments), n.apply(this, arguments) || null ); }); }, remove: function () { return this.each(ot); }, clone: function (e) { return this.select(e ? lt : at); }, datum: function (e) { return arguments.length ? this.property('__data__', e) : this.node().__data__; }, on: function (e, t, i) { var n, r, s = gt(e + ''), o = s.length; if (!(arguments.length < 2)) { for (a = t ? pt : ft, null == i && (i = !1), n = 0; n < o; ++n) this.each(a(s[n], t, i)); return this; } var a = this.node().__on; if (a) for (var l, c = 0, d = a.length; c < d; ++c) for (n = 0, l = a[c]; n < o; ++n) if ((r = s[n]).type === l.type && r.name === l.name) return l.value; }, dispatch: function (e, t) { return this.each(('function' == typeof t ? vt : bt)(e, t)); }, }; const St = Ct; function kt(e) { return 'string' == typeof e ? new wt([[document.querySelector(e)]], [document.documentElement]) : new wt([[e]], yt); } function xt() { dt.stopImmediatePropagation(); } function Lt() { dt.preventDefault(), dt.stopImmediatePropagation(); } function Mt(e) { var t = e.document.documentElement, i = kt(e).on('dragstart.drag', Lt, !0); 'onselectstart' in t ? i.on('selectstart.drag', Lt, !0) : ((t.__noselect = t.style.MozUserSelect), (t.style.MozUserSelect = 'none')); } function Dt(e, t) { var i = e.document.documentElement, n = kt(e).on('dragstart.drag', null); t && (n.on('click.drag', Lt, !0), setTimeout(function () { n.on('click.drag', null); }, 0)), 'onselectstart' in i ? n.on('selectstart.drag', null) : ((i.style.MozUserSelect = i.__noselect), delete i.__noselect); } function Nt(e, t, i) { (e.prototype = t.prototype = i), (i.constructor = e); } function Et(e, t) { var i = Object.create(e.prototype); for (var n in t) i[n] = t[n]; return i; } function Tt() {} var It = 0.7, Ot = 1 / It, At = '\\s*([+-]?\\d+)\\s*', Rt = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*', Pt = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*', Ft = /^#([0-9a-f]{3,8})$/, Bt = new RegExp('^rgb\\(' + [At, At, At] + '\\)$'), Wt = new RegExp('^rgb\\(' + [Pt, Pt, Pt] + '\\)$'), Yt = new RegExp('^rgba\\(' + [At, At, At, Rt] + '\\)$'), Ht = new RegExp('^rgba\\(' + [Pt, Pt, Pt, Rt] + '\\)$'), jt = new RegExp('^hsl\\(' + [Rt, Pt, Pt] + '\\)$'), Vt = new RegExp('^hsla\\(' + [Rt, Pt, Pt, Rt] + '\\)$'), zt = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, darkkhaki: 12433259, darkmagenta: 9109643, darkolivegreen: 5597999, darkorange: 16747520, darkorchid: 10040012, darkred: 9109504, darksalmon: 15308410, darkseagreen: 9419919, darkslateblue: 4734347, darkslategray: 3100495, darkslategrey: 3100495, darkturquoise: 52945, darkviolet: 9699539, deeppink: 16716947, deepskyblue: 49151, dimgray: 6908265, dimgrey: 6908265, dodgerblue: 2003199, firebrick: 11674146, floralwhite: 16775920, forestgreen: 2263842, fuchsia: 16711935, gainsboro: 14474460, ghostwhite: 16316671, gold: 16766720, goldenrod: 14329120, gray: 8421504, green: 32768, greenyellow: 11403055, grey: 8421504, honeydew: 15794160, hotpink: 16738740, indianred: 13458524, indigo: 4915330, ivory: 16777200, khaki: 15787660, lavender: 15132410, lavenderblush: 16773365, lawngreen: 8190976, lemonchiffon: 16775885, lightblue: 11393254, lightcoral: 15761536, lightcyan: 14745599, lightgoldenrodyellow: 16448210, lightgray: 13882323, lightgreen: 9498256, lightgrey: 13882323, lightpink: 16758465, lightsalmon: 16752762, lightseagreen: 2142890, lightskyblue: 8900346, lightslategray: 7833753, lightslategrey: 7833753, lightsteelblue: 11584734, lightyellow: 16777184, lime: 65280, limegreen: 3329330, linen: 16445670, magenta: 16711935, maroon: 8388608, mediumaquamarine: 6737322, mediumblue: 205, mediumorchid: 12211667, mediumpurple: 9662683, mediumseagreen: 3978097, mediumslateblue: 8087790, mediumspringgreen: 64154, mediumturquoise: 4772300, mediumvioletred: 13047173, midnightblue: 1644912, mintcream: 16121850, mistyrose: 16770273, moccasin: 16770229, navajowhite: 16768685, navy: 128, oldlace: 16643558, olive: 8421376, olivedrab: 7048739, orange: 16753920, orangered: 16729344, orchid: 14315734, palegoldenrod: 15657130, palegreen: 10025880, paleturquoise: 11529966, palevioletred: 14381203, papayawhip: 16773077, peachpuff: 16767673, peru: 13468991, pink: 16761035, plum: 14524637, powderblue: 11591910, purple: 8388736, rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, saddlebrown: 9127187, salmon: 16416882, sandybrown: 16032864, seagreen: 3050327, seashell: 16774638, sienna: 10506797, silver: 12632256, skyblue: 8900331, slateblue: 6970061, slategray: 7372944, slategrey: 7372944, snow: 16775930, springgreen: 65407, steelblue: 4620980, tan: 13808780, teal: 32896, thistle: 14204888, tomato: 16737095, turquoise: 4251856, violet: 15631086, wheat: 16113331, white: 16777215, whitesmoke: 16119285, yellow: 16776960, yellowgreen: 10145074, }; function Ut() { return this.rgb().formatHex(); } function $t() { return this.rgb().formatRgb(); } function Kt(e) { var t, i; return ( (e = (e + '').trim().toLowerCase()), (t = Ft.exec(e)) ? ((i = t[1].length), (t = parseInt(t[1], 16)), 6 === i ? qt(t) : 3 === i ? new Qt( ((t >> 8) & 15) | ((t >> 4) & 240), ((t >> 4) & 15) | (240 & t), ((15 & t) << 4) | (15 & t), 1 ) : 8 === i ? new Qt( (t >> 24) & 255, (t >> 16) & 255, (t >> 8) & 255, (255 & t) / 255 ) : 4 === i ? new Qt( ((t >> 12) & 15) | ((t >> 8) & 240), ((t >> 8) & 15) | ((t >> 4) & 240), ((t >> 4) & 15) | (240 & t), (((15 & t) << 4) | (15 & t)) / 255 ) : null) : (t = Bt.exec(e)) ? new Qt(t[1], t[2], t[3], 1) : (t = Wt.exec(e)) ? new Qt( (255 * t[1]) / 100, (255 * t[2]) / 100, (255 * t[3]) / 100, 1 ) : (t = Yt.exec(e)) ? Gt(t[1], t[2], t[3], t[4]) : (t = Ht.exec(e)) ? Gt( (255 * t[1]) / 100, (255 * t[2]) / 100, (255 * t[3]) / 100, t[4] ) : (t = jt.exec(e)) ? ii(t[1], t[2] / 100, t[3] / 100, 1) : (t = Vt.exec(e)) ? ii(t[1], t[2] / 100, t[3] / 100, t[4]) : zt.hasOwnProperty(e) ? qt(zt[e]) : 'transparent' === e ? new Qt(NaN, NaN, NaN, 0) : null ); } function qt(e) { return new Qt((e >> 16) & 255, (e >> 8) & 255, 255 & e, 1); } function Gt(e, t, i, n) { return n <= 0 && (e = t = i = NaN), new Qt(e, t, i, n); } function Zt(e) { return ( e instanceof Tt || (e = Kt(e)), e ? new Qt((e = e.rgb()).r, e.g, e.b, e.opacity) : new Qt() ); } function Jt(e, t, i, n) { return 1 === arguments.length ? Zt(e) : new Qt(e, t, i, null == n ? 1 : n); } function Qt(e, t, i, n) { (this.r = +e), (this.g = +t), (this.b = +i), (this.opacity = +n); } function Xt() { return '#' + ti(this.r) + ti(this.g) + ti(this.b); } function ei() { var e = this.opacity; return ( (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) ? 'rgb(' : 'rgba(') + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ', ' + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ', ' + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (1 === e ? ')' : ', ' + e + ')') ); } function ti(e) { return ( ((e = Math.max(0, Math.min(255, Math.round(e) || 0))) < 16 ? '0' : '') + e.toString(16) ); } function ii(e, t, i, n) { return ( n <= 0 ? (e = t = i = NaN) : i <= 0 || i >= 1 ? (e = t = NaN) : t <= 0 && (e = NaN), new si(e, t, i, n) ); } function ni(e) { if (e instanceof si) return new si(e.h, e.s, e.l, e.opacity); if ((e instanceof Tt || (e = Kt(e)), !e)) return new si(); if (e instanceof si) return e; var t = (e = e.rgb()).r / 255, i = e.g / 255, n = e.b / 255, r = Math.min(t, i, n), s = Math.max(t, i, n), o = NaN, a = s - r, l = (s + r) / 2; return ( a ? ((o = t === s ? (i - n) / a + 6 * (i < n) : i === s ? (n - t) / a + 2 : (t - i) / a + 4), (a /= l < 0.5 ? s + r : 2 - s - r), (o *= 60)) : (a = l > 0 && l < 1 ? 0 : o), new si(o, a, l, e.opacity) ); } function ri(e, t, i, n) { return 1 === arguments.length ? ni(e) : new si(e, t, i, null == n ? 1 : n); } function si(e, t, i, n) { (this.h = +e), (this.s = +t), (this.l = +i), (this.opacity = +n); } function oi(e, t, i) { return ( 255 * (e < 60 ? t + ((i - t) * e) / 60 : e < 180 ? i : e < 240 ? t + ((i - t) * (240 - e)) / 60 : t) ); } function ai(e, t, i, n, r) { var s = e * e, o = s * e; return ( ((1 - 3 * e + 3 * s - o) * t + (4 - 6 * s + 3 * o) * i + (1 + 3 * e + 3 * s - 3 * o) * n + o * r) / 6 ); } function li(e) { var t = e.length - 1; return function (i) { var n = i <= 0 ? (i = 0) : i >= 1 ? ((i = 1), t - 1) : Math.floor(i * t), r = e[n], s = e[n + 1], o = n > 0 ? e[n - 1] : 2 * r - s, a = n < t - 1 ? e[n + 2] : 2 * s - r; return ai((i - n / t) * t, o, r, s, a); }; } function ci(e) { var t = e.length; return function (i) { var n = Math.floor(((i %= 1) < 0 ? ++i : i) * t), r = e[(n + t - 1) % t], s = e[n % t], o = e[(n + 1) % t], a = e[(n + 2) % t]; return ai((i - n / t) * t, r, s, o, a); }; } function di(e) { return function () { return e; }; } function hi(e, t) { return function (i) { return e + i * t; }; } function ui(e, t) { var i = t - e; return i ? hi(e, i > 180 || i < -180 ? i - 360 * Math.round(i / 360) : i) : di(isNaN(e) ? t : e); } function gi(e, t) { var i = t - e; return i ? hi(e, i) : di(isNaN(e) ? t : e); } Nt(Tt, Kt, { copy: function (e) { return Object.assign(new this.constructor(), this, e); }, displayable: function () { return this.rgb().displayable(); }, hex: Ut, formatHex: Ut, formatHsl: function () { return ni(this).formatHsl(); }, formatRgb: $t, toString: $t, }), Nt( Qt, Jt, Et(Tt, { brighter: function (e) { return ( (e = null == e ? Ot : Math.pow(Ot, e)), new Qt(this.r * e, this.g * e, this.b * e, this.opacity) ); }, darker: function (e) { return ( (e = null == e ? It : Math.pow(It, e)), new Qt(this.r * e, this.g * e, this.b * e, this.opacity) ); }, rgb: function () { return this; }, displayable: function () { return ( -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1 ); }, hex: Xt, formatHex: Xt, formatRgb: ei, toString: ei, }) ), Nt( si, ri, Et(Tt, { brighter: function (e) { return ( (e = null == e ? Ot : Math.pow(Ot, e)), new si(this.h, this.s, this.l * e, this.opacity) ); }, darker: function (e) { return ( (e = null == e ? It : Math.pow(It, e)), new si(this.h, this.s, this.l * e, this.opacity) ); }, rgb: function () { var e = (this.h % 360) + 360 * (this.h < 0), t = isNaN(e) || isNaN(this.s) ? 0 : this.s, i = this.l, n = i + (i < 0.5 ? i : 1 - i) * t, r = 2 * i - n; return new Qt( oi(e >= 240 ? e - 240 : e + 120, r, n), oi(e, r, n), oi(e < 120 ? e + 240 : e - 120, r, n), this.opacity ); }, displayable: function () { return ( ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1 ); }, formatHsl: function () { var e = this.opacity; return ( (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) ? 'hsl(' : 'hsla(') + (this.h || 0) + ', ' + 100 * (this.s || 0) + '%, ' + 100 * (this.l || 0) + '%' + (1 === e ? ')' : ', ' + e + ')') ); }, }) ); const fi = (function e(t) { var i = (function (e) { return 1 == (e = +e) ? gi : function (t, i) { return i - t ? (function (e, t, i) { return ( (e = Math.pow(e, i)), (t = Math.pow(t, i) - e), (i = 1 / i), function (n) { return Math.pow(e + n * t, i); } ); })(t, i, e) : di(isNaN(t) ? i : t); }; })(t); function n(e, t) { var n = i((e = Jt(e)).r, (t = Jt(t)).r), r = i(e.g, t.g), s = i(e.b, t.b), o = gi(e.opacity, t.opacity); return function (t) { return ( (e.r = n(t)), (e.g = r(t)), (e.b = s(t)), (e.opacity = o(t)), e + '' ); }; } return (n.gamma = e), n; })(1); function pi(e) { return function (t) { var i, n, r = t.length, s = new Array(r), o = new Array(r), a = new Array(r); for (i = 0; i < r; ++i) (n = Jt(t[i])), (s[i] = n.r || 0), (o[i] = n.g || 0), (a[i] = n.b || 0); return ( (s = e(s)), (o = e(o)), (a = e(a)), (n.opacity = 1), function (e) { return (n.r = s(e)), (n.g = o(e)), (n.b = a(e)), n + ''; } ); }; } var mi = pi(li), _i = pi(ci); function bi(e, t) { t || (t = []); var i, n = e ? Math.min(t.length, e.length) : 0, r = t.slice(); return function (s) { for (i = 0; i < n; ++i) r[i] = e[i] * (1 - s) + t[i] * s; return r; }; } function vi(e) { return ArrayBuffer.isView(e) && !(e instanceof DataView); } function yi(e, t) { return (vi(t) ? bi : wi)(e, t); } function wi(e, t) { var i, n = t ? t.length : 0, r = e ? Math.min(n, e.length) : 0, s = new Array(r), o = new Array(n); for (i = 0; i < r; ++i) s[i] = Di(e[i], t[i]); for (; i < n; ++i) o[i] = t[i]; return function (e) { for (i = 0; i < r; ++i) o[i] = s[i](e); return o; }; } function Ci(e, t) { var i = new Date(); return ( (e = +e), (t = +t), function (n) { return i.setTime(e * (1 - n) + t * n), i; } ); } function Si(e, t) { return ( (e = +e), (t = +t), function (i) { return e * (1 - i) + t * i; } ); } function ki(e, t) { var i, n = {}, r = {}; for (i in ((null !== e && 'object' == typeof e) || (e = {}), (null !== t && 'object' == typeof t) || (t = {}), t)) i in e ? (n[i] = Di(e[i], t[i])) : (r[i] = t[i]); return function (e) { for (i in n) r[i] = n[i](e); return r; }; } var xi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, Li = new RegExp(xi.source, 'g'); function Mi(e, t) { var i, n, r, s = (xi.lastIndex = Li.lastIndex = 0), o = -1, a = [], l = []; for (e += '', t += ''; (i = xi.exec(e)) && (n = Li.exec(t)); ) (r = n.index) > s && ((r = t.slice(s, r)), a[o] ? (a[o] += r) : (a[++o] = r)), (i = i[0]) === (n = n[0]) ? a[o] ? (a[o] += n) : (a[++o] = n) : ((a[++o] = null), l.push({ i: o, x: Si(i, n) })), (s = Li.lastIndex); return ( s < t.length && ((r = t.slice(s)), a[o] ? (a[o] += r) : (a[++o] = r)), a.length < 2 ? l[0] ? (function (e) { return function (t) { return e(t) + ''; }; })(l[0].x) : (function (e) { return function () { return e; }; })(t) : ((t = l.length), function (e) { for (var i, n = 0; n < t; ++n) a[(i = l[n]).i] = i.x(e); return a.join(''); }) ); } function Di(e, t) { var i, n = typeof t; return null == t || 'boolean' === n ? di(t) : ('number' === n ? Si : 'string' === n ? (i = Kt(t)) ? ((t = i), fi) : Mi : t instanceof Kt ? fi : t instanceof Date ? Ci : vi(t) ? bi : Array.isArray(t) ? wi : ('function' != typeof t.valueOf && 'function' != typeof t.toString) || isNaN(t) ? ki : Si)(e, t); } function Ni() { for (var e, t = dt; (e = t.sourceEvent); ) t = e; return t; } function Ei(e, t) { var i = e.ownerSVGElement || e; if (i.createSVGPoint) { var n = i.createSVGPoint(); return ( (n.x = t.clientX), (n.y = t.clientY), [(n = n.matrixTransform(e.getScreenCTM().inverse())).x, n.y] ); } var r = e.getBoundingClientRect(); return [ t.clientX - r.left - e.clientLeft, t.clientY - r.top - e.clientTop, ]; } function Ti(e, t, i) { arguments.length < 3 && ((i = t), (t = Ni().changedTouches)); for (var n, r = 0, s = t ? t.length : 0; r < s; ++r) if ((n = t[r]).identifier === i) return Ei(e, n); return null; } function Ii(e) { var t = Ni(); return t.changedTouches && (t = t.changedTouches[0]), Ei(e, t); } var Oi, Ai, Ri = 0, Pi = 0, Fi = 0, Bi = 0, Wi = 0, Yi = 0, Hi = 'object' == typeof performance && performance.now ? performance : Date, ji = 'object' == typeof window && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (e) { setTimeout(e, 17); }; function Vi() { return Wi || (ji(zi), (Wi = Hi.now() + Yi)); } function zi() { Wi = 0; } function Ui() { this._call = this._time = this._next = null; } function $i(e, t, i) { var n = new Ui(); return n.restart(e, t, i), n; } function Ki() { Vi(), ++Ri; for (var e, t = Oi; t; ) (e = Wi - t._time) >= 0 && t._call.call(null, e), (t = t._next); --Ri; } function qi() { (Wi = (Bi = Hi.now()) + Yi), (Ri = Pi = 0); try { Ki(); } finally { (Ri = 0), (function () { for (var e, t, i = Oi, n = 1 / 0; i; ) i._call ? (n > i._time && (n = i._time), (e = i), (i = i._next)) : ((t = i._next), (i._next = null), (i = e ? (e._next = t) : (Oi = t))); (Ai = e), Zi(n); })(), (Wi = 0); } } function Gi() { var e = Hi.now(), t = e - Bi; t > 1e3 && ((Yi -= t), (Bi = e)); } function Zi(e) { Ri || (Pi && (Pi = clearTimeout(Pi)), e - Wi > 24 ? (e < 1 / 0 && (Pi = setTimeout(qi, e - Hi.now() - Yi)), Fi && (Fi = clearInterval(Fi))) : (Fi || ((Bi = Hi.now()), (Fi = setInterval(Gi, 1e3))), (Ri = 1), ji(qi))); } function Ji(e, t, i) { var n = new Ui(); return ( (t = null == t ? 0 : +t), n.restart( function (i) { n.stop(), e(i + t); }, t, i ), n ); } Ui.prototype = $i.prototype = { constructor: Ui, restart: function (e, t, i) { if ('function' != typeof e) throw new TypeError('callback is not a function'); (i = (null == i ? Vi() : +i) + (null == t ? 0 : +t)), this._next || Ai === this || (Ai ? (Ai._next = this) : (Oi = this), (Ai = this)), (this._call = e), (this._time = i), Zi(); }, stop: function () { this._call && ((this._call = null), (this._time = 1 / 0), Zi()); }, }; var Qi = ue('start', 'end', 'cancel', 'interrupt'), Xi = []; function en(e, t, i, n, r, s) { var o = e.__transition; if (o) { if (i in o) return; } else e.__transition = {}; !(function (e, t, i) { var n, r = e.__transition; function s(l) { var c, d, h, u; if (1 !== i.state) return a(); for (c in r) if ((u = r[c]).name === i.name) { if (3 === u.state) return Ji(s); 4 === u.state ? ((u.state = 6), u.timer.stop(), u.on.call('interrupt', e, e.__data__, u.index, u.group), delete r[c]) : +c < t && ((u.state = 6), u.timer.stop(), u.on.call('cancel', e, e.__data__, u.index, u.group), delete r[c]); } if ( (Ji(function () { 3 === i.state && ((i.state = 4), i.timer.restart(o, i.delay, i.time), o(l)); }), (i.state = 2), i.on.call('start', e, e.__data__, i.index, i.group), 2 === i.state) ) { for ( i.state = 3, n = new Array((h = i.tween.length)), c = 0, d = -1; c < h; ++c ) (u = i.tween[c].value.call( e, e.__data__, i.index, i.group )) && (n[++d] = u); n.length = d + 1; } } function o(t) { for ( var r = t < i.duration ? i.ease.call(null, t / i.duration) : (i.timer.restart(a), (i.state = 5), 1), s = -1, o = n.length; ++s < o; ) n[s].call(e, r); 5 === i.state && (i.on.call('end', e, e.__data__, i.index, i.group), a()); } function a() { for (var n in ((i.state = 6), i.timer.stop(), delete r[t], r)) return; delete e.__transition; } (r[t] = i), (i.timer = $i( function (e) { (i.state = 1), i.timer.restart(s, i.delay, i.time), i.delay <= e && s(e - i.delay); }, 0, i.time )); })(e, i, { name: t, index: n, group: r, on: Qi, tween: Xi, time: s.time, delay: s.delay, duration: s.duration, ease: s.ease, timer: null, state: 0, }); } function tn(e, t) { var i = rn(e, t); if (i.state > 0) throw new Error('too late; already scheduled'); return i; } function nn(e, t) { var i = rn(e, t); if (i.state > 3) throw new Error('too late; already running'); return i; } function rn(e, t) { var i = e.__transition; if (!i || !(i = i[t])) throw new Error('transition not found'); return i; } function sn(e, t) { var i, n, r, s = e.__transition, o = !0; if (s) { for (r in ((t = null == t ? null : t + ''), s)) (i = s[r]).name === t ? ((n = i.state > 2 && i.state < 5), (i.state = 6), i.timer.stop(), i.on.call( n ? 'interrupt' : 'cancel', e, e.__data__, i.index, i.group ), delete s[r]) : (o = !1); o && delete e.__transition; } } var on, an, ln, cn, dn = 180 / Math.PI, hn = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1, }; function un(e, t, i, n, r, s) { var o, a, l; return ( (o = Math.sqrt(e * e + t * t)) && ((e /= o), (t /= o)), (l = e * i + t * n) && ((i -= e * l), (n -= t * l)), (a = Math.sqrt(i * i + n * n)) && ((i /= a), (n /= a), (l /= a)), e * n < t * i && ((e = -e), (t = -t), (l = -l), (o = -o)), { translateX: r, translateY: s, rotate: Math.atan2(t, e) * dn, skewX: Math.atan(l) * dn, scaleX: o, scaleY: a, } ); } function gn(e, t, i, n) { function r(e) { return e.length ? e.pop() + ' ' : ''; } return function (s, o) { var a = [], l = []; return ( (s = e(s)), (o = e(o)), (function (e, n, r, s, o, a) { if (e !== r || n !== s) { var l = o.push('translate(', null, t, null, i); a.push({ i: l - 4, x: Si(e, r) }, { i: l - 2, x: Si(n, s) }); } else (r || s) && o.push('translate(' + r + t + s + i); })(s.translateX, s.translateY, o.translateX, o.translateY, a, l), (function (e, t, i, s) { e !== t ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360), s.push({ i: i.push(r(i) + 'rotate(', null, n) - 2, x: Si(e, t), })) : t && i.push(r(i) + 'rotate(' + t + n); })(s.rotate, o.rotate, a, l), (function (e, t, i, s) { e !== t ? s.push({ i: i.push(r(i) + 'skewX(', null, n) - 2, x: Si(e, t), }) : t && i.push(r(i) + 'skewX(' + t + n); })(s.skewX, o.skewX, a, l), (function (e, t, i, n, s, o) { if (e !== i || t !== n) { var a = s.push(r(s) + 'scale(', null, ',', null, ')'); o.push({ i: a - 4, x: Si(e, i) }, { i: a - 2, x: Si(t, n) }); } else (1 === i && 1 === n) || s.push(r(s) + 'scale(' + i + ',' + n + ')'); })(s.scaleX, s.scaleY, o.scaleX, o.scaleY, a, l), (s = o = null), function (e) { for (var t, i = -1, n = l.length; ++i < n; ) a[(t = l[i]).i] = t.x(e); return a.join(''); } ); }; } var fn = gn( function (e) { return 'none' === e ? hn : (on || ((on = document.createElement('DIV')), (an = document.documentElement), (ln = document.defaultView)), (on.style.transform = e), (e = ln .getComputedStyle(an.appendChild(on), null) .getPropertyValue('transform')), an.removeChild(on), un( +(e = e.slice(7, -1).split(','))[0], +e[1], +e[2], +e[3], +e[4], +e[5] )); }, 'px, ', 'px)', 'deg)' ), pn = gn( function (e) { return null == e ? hn : (cn || (cn = document.createElementNS( 'http://www.w3.org/2000/svg', 'g' )), cn.setAttribute('transform', e), (e = cn.transform.baseVal.consolidate()) ? un((e = e.matrix).a, e.b, e.c, e.d, e.e, e.f) : hn); }, ', ', ')', ')' ); function mn(e, t) { var i, n; return function () { var r = nn(this, e), s = r.tween; if (s !== i) for (var o = 0, a = (n = i = s).length; o < a; ++o) if (n[o].name === t) { (n = n.slice()).splice(o, 1); break; } r.tween = n; }; } function _n(e, t, i) { var n, r; if ('function' != typeof i) throw new Error(); return function () { var s = nn(this, e), o = s.tween; if (o !== n) { r = (n = o).slice(); for ( var a = { name: t, value: i }, l = 0, c = r.length; l < c; ++l ) if (r[l].name === t) { r[l] = a; break; } l === c && r.push(a); } s.tween = r; }; } function bn(e, t, i) { var n = e._id; return ( e.each(function () { var e = nn(this, n); (e.value || (e.value = {}))[t] = i.apply(this, arguments); }), function (e) { return rn(e, n).value[t]; } ); } function vn(e, t) { var i; return ('number' == typeof t ? Si : t instanceof Kt ? fi : (i = Kt(t)) ? ((t = i), fi) : Mi)(e, t); } function yn(e) { return function () { this.removeAttribute(e); }; } function wn(e) { return function () { this.removeAttributeNS(e.space, e.local); }; } function Cn(e, t, i) { var n, r, s = i + ''; return function () { var o = this.getAttribute(e); return o === s ? null : o === n ? r : (r = t((n = o), i)); }; } function Sn(e, t, i) { var n, r, s = i + ''; return function () { var o = this.getAttributeNS(e.space, e.local); return o === s ? null : o === n ? r : (r = t((n = o), i)); }; } function kn(e, t, i) { var n, r, s; return function () { var o, a, l = i(this); if (null != l) return (o = this.getAttribute(e)) === (a = l + '') ? null : o === n && a === r ? s : ((r = a), (s = t((n = o), l))); this.removeAttribute(e); }; } function xn(e, t, i) { var n, r, s; return function () { var o, a, l = i(this); if (null != l) return (o = this.getAttributeNS(e.space, e.local)) === (a = l + '') ? null : o === n && a === r ? s : ((r = a), (s = t((n = o), l))); this.removeAttributeNS(e.space, e.local); }; } function Ln(e, t) { return function (i) { this.setAttribute(e, t.call(this, i)); }; } function Mn(e, t) { return function (i) { this.setAttributeNS(e.space, e.local, t.call(this, i)); }; } function Dn(e, t) { var i, n; function r() { var r = t.apply(this, arguments); return r !== n && (i = (n = r) && Mn(e, r)), i; } return (r._value = t), r; } function Nn(e, t) { var i, n; function r() { var r = t.apply(this, arguments); return r !== n && (i = (n = r) && Ln(e, r)), i; } return (r._value = t), r; } function En(e, t) { return function () { tn(this, e).delay = +t.apply(this, arguments); }; } function Tn(e, t) { return ( (t = +t), function () { tn(this, e).delay = t; } ); } function In(e, t) { return function () { nn(this, e).duration = +t.apply(this, arguments); }; } function On(e, t) { return ( (t = +t), function () { nn(this, e).duration = t; } ); } function An(e, t) { if ('function' != typeof t) throw new Error(); return function () { nn(this, e).ease = t; }; } function Rn(e, t, i) { var n, r, s = (function (e) { return (e + '') .trim() .split(/^|\s+/) .every(function (e) { var t = e.indexOf('.'); return t >= 0 && (e = e.slice(0, t)), !e || 'start' === e; }); })(t) ? tn : nn; return function () { var o = s(this, e), a = o.on; a !== n && (r = (n = a).copy()).on(t, i), (o.on = r); }; } var Pn = St.prototype.constructor; function Fn(e) { return function () { this.style.removeProperty(e); }; } function Bn(e, t, i) { return function (n) { this.style.setProperty(e, t.call(this, n), i); }; } function Wn(e, t, i) { var n, r; function s() { var s = t.apply(this, arguments); return s !== r && (n = (r = s) && Bn(e, s, i)), n; } return (s._value = t), s; } function Yn(e) { return function (t) { this.textContent = e.call(this, t); }; } function Hn(e) { var t, i; function n() { var n = e.apply(this, arguments); return n !== i && (t = (i = n) && Yn(n)), t; } return (n._value = e), n; } var jn = 0; function Vn(e, t, i, n) { (this._groups = e), (this._parents = t), (this._name = i), (this._id = n); } function zn(e) { return St().transition(e); } function Un() { return ++jn; } var $n = St.prototype; function Kn(e) { return e * e * e; } function qn(e) { return --e * e * e + 1; } function Gn(e) { return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2; } Vn.prototype = zn.prototype = { constructor: Vn, select: function (e) { var t = this._name, i = this._id; 'function' != typeof e && (e = fe(e)); for ( var n = this._groups, r = n.length, s = new Array(r), o = 0; o < r; ++o ) for ( var a, l, c = n[o], d = c.length, h = (s[o] = new Array(d)), u = 0; u < d; ++u ) (a = c[u]) && (l = e.call(a, a.__data__, u, c)) && ('__data__' in a && (l.__data__ = a.__data__), (h[u] = l), en(h[u], t, i, u, h, rn(a, i))); return new Vn(s, this._parents, t, i); }, selectAll: function (e) { var t = this._name, i = this._id; 'function' != typeof e && (e = me(e)); for ( var n = this._groups, r = n.length, s = [], o = [], a = 0; a < r; ++a ) for (var l, c = n[a], d = c.length, h = 0; h < d; ++h) if ((l = c[h])) { for ( var u, g = e.call(l, l.__data__, h, c), f = rn(l, i), p = 0, m = g.length; p < m; ++p ) (u = g[p]) && en(u, t, i, p, g, f); s.push(g), o.push(l); } return new Vn(s, o, t, i); }, filter: function (e) { 'function' != typeof e && (e = _e(e)); for ( var t = this._groups, i = t.length, n = new Array(i), r = 0; r < i; ++r ) for ( var s, o = t[r], a = o.length, l = (n[r] = []), c = 0; c < a; ++c ) (s = o[c]) && e.call(s, s.__data__, c, o) && l.push(s); return new Vn(n, this._parents, this._name, this._id); }, merge: function (e) { if (e._id !== this._id) throw new Error(); for ( var t = this._groups, i = e._groups, n = t.length, r = i.length, s = Math.min(n, r), o = new Array(n), a = 0; a < s; ++a ) for ( var l, c = t[a], d = i[a], h = c.length, u = (o[a] = new Array(h)), g = 0; g < h; ++g ) (l = c[g] || d[g]) && (u[g] = l); for (; a < n; ++a) o[a] = t[a]; return new Vn(o, this._parents, this._name, this._id); }, selection: function () { return new Pn(this._groups, this._parents); }, transition: function () { for ( var e = this._name, t = this._id, i = Un(), n = this._groups, r = n.length, s = 0; s < r; ++s ) for (var o, a = n[s], l = a.length, c = 0; c < l; ++c) if ((o = a[c])) { var d = rn(o, t); en(o, e, i, c, a, { time: d.time + d.delay + d.duration, delay: 0, duration: d.duration, ease: d.ease, }); } return new Vn(n, this._parents, e, i); }, call: $n.call, nodes: $n.nodes, node: $n.node, size: $n.size, empty: $n.empty, each: $n.each, on: function (e, t) { var i = this._id; return arguments.length < 2 ? rn(this.node(), i).on.on(e) : this.each(Rn(i, e, t)); }, attr: function (e, t) { var i = xe(e), n = 'transform' === i ? pn : vn; return this.attrTween( e, 'function' == typeof t ? (i.local ? xn : kn)(i, n, bn(this, 'attr.' + e, t)) : null == t ? (i.local ? wn : yn)(i) : (i.local ? Sn : Cn)(i, n, t) ); }, attrTween: function (e, t) { var i = 'attr.' + e; if (arguments.length < 2) return (i = this.tween(i)) && i._value; if (null == t) return this.tween(i, null); if ('function' != typeof t) throw new Error(); var n = xe(e); return this.tween(i, (n.local ? Dn : Nn)(n, t)); }, style: function (e, t, i) { var n = 'transform' == (e += '') ? fn : vn; return null == t ? this.styleTween( e, (function (e, t) { var i, n, r; return function () { var s = Pe(this, e), o = (this.style.removeProperty(e), Pe(this, e)); return s === o ? null : s === i && o === n ? r : (r = t((i = s), (n = o))); }; })(e, n) ).on('end.style.' + e, Fn(e)) : 'function' == typeof t ? this.styleTween( e, (function (e, t, i) { var n, r, s; return function () { var o = Pe(this, e), a = i(this), l = a + ''; return ( null == a && (this.style.removeProperty(e), (l = a = Pe(this, e))), o === l ? null : o === n && l === r ? s : ((r = l), (s = t((n = o), a))) ); }; })(e, n, bn(this, 'style.' + e, t)) ).each( (function (e, t) { var i, n, r, s, o = 'style.' + t, a = 'end.' + o; return function () { var l = nn(this, e), c = l.on, d = null == l.value[o] ? s || (s = Fn(t)) : void 0; (c === i && r === d) || (n = (i = c).copy()).on(a, (r = d)), (l.on = n); }; })(this._id, e) ) : this.styleTween( e, (function (e, t, i) { var n, r, s = i + ''; return function () { var o = Pe(this, e); return o === s ? null : o === n ? r : (r = t((n = o), i)); }; })(e, n, t), i ).on('end.style.' + e, null); }, styleTween: function (e, t, i) { var n = 'style.' + (e += ''); if (arguments.length < 2) return (n = this.tween(n)) && n._value; if (null == t) return this.tween(n, null); if ('function' != typeof t) throw new Error(); return this.tween(n, Wn(e, t, null == i ? '' : i)); }, text: function (e) { return this.tween( 'text', 'function' == typeof e ? (function (e) { return function () { var t = e(this); this.textContent = null == t ? '' : t; }; })(bn(this, 'text', e)) : (function (e) { return function () { this.textContent = e; }; })(null == e ? '' : e + '') ); }, textTween: function (e) { var t = 'text'; if (arguments.length < 1) return (t = this.tween(t)) && t._value; if (null == e) return this.tween(t, null); if ('function' != typeof e) throw new Error(); return this.tween(t, Hn(e)); }, remove: function () { return this.on( 'end.remove', (function (e) { return function () { var t = this.parentNode; for (var i in this.__transition) if (+i !== e) return; t && t.removeChild(this); }; })(this._id) ); }, tween: function (e, t) { var i = this._id; if (((e += ''), arguments.length < 2)) { for ( var n, r = rn(this.node(), i).tween, s = 0, o = r.length; s < o; ++s ) if ((n = r[s]).name === e) return n.value; return null; } return this.each((null == t ? mn : _n)(i, e, t)); }, delay: function (e) { var t = this._id; return arguments.length ? this.each(('function' == typeof e ? En : Tn)(t, e)) : rn(this.node(), t).delay; }, duration: function (e) { var t = this._id; return arguments.length ? this.each(('function' == typeof e ? In : On)(t, e)) : rn(this.node(), t).duration; }, ease: function (e) { var t = this._id; return arguments.length ? this.each(An(t, e)) : rn(this.node(), t).ease; }, end: function () { var e, t, i = this, n = i._id, r = i.size(); return new Promise(function (s, o) { var a = { value: o }, l = { value: function () { 0 == --r && s(); }, }; i.each(function () { var i = nn(this, n), r = i.on; r !== e && ((t = (e = r).copy())._.cancel.push(a), t._.interrupt.push(a), t._.end.push(l)), (i.on = t); }); }); }, }; var Zn = { time: null, delay: 0, duration: 250, ease: Gn }; function Jn(e, t) { for (var i; !(i = e.__transition) || !(i = i[t]); ) if (!(e = e.parentNode)) return (Zn.time = Vi()), Zn; return i; } (St.prototype.interrupt = function (e) { return this.each(function () { sn(this, e); }); }), (St.prototype.transition = function (e) { var t, i; e instanceof Vn ? ((t = e._id), (e = e._name)) : ((t = Un()), ((i = Zn).time = Vi()), (e = null == e ? null : e + '')); for (var n = this._groups, r = n.length, s = 0; s < r; ++s) for (var o, a = n[s], l = a.length, c = 0; c < l; ++c) (o = a[c]) && en(o, e, t, c, a, i || Jn(o, t)); return new Vn(n, this._parents, e, t); }); var Qn = [null]; function Xn(e, t) { var i, n, r = e.__transition; if (r) for (n in ((t = null == t ? null : t + ''), r)) if ((i = r[n]).state > 1 && i.name === t) return new Vn([[e]], Qn, t, +n); return null; } function er(e) { return function () { return e; }; } function tr(e, t, i) { (this.target = e), (this.type = t), (this.selection = i); } function ir() { dt.stopImmediatePropagation(); } function nr() { dt.preventDefault(), dt.stopImmediatePropagation(); } var rr = { name: 'drag' }, sr = { name: 'space' }, or = { name: 'handle' }, ar = { name: 'center' }; function lr(e) { return [+e[0], +e[1]]; } function cr(e) { return [lr(e[0]), lr(e[1])]; } function dr(e) { return function (t) { return Ti(t, dt.touches, e); }; } var hr = { name: 'x', handles: ['w', 'e'].map(vr), input: function (e, t) { return null == e ? null : [ [+e[0], t[0][1]], [+e[1], t[1][1]], ]; }, output: function (e) { return e && [e[0][0], e[1][0]]; }, }, ur = { name: 'y', handles: ['n', 's'].map(vr), input: function (e, t) { return null == e ? null : [ [t[0][0], +e[0]], [t[1][0], +e[1]], ]; }, output: function (e) { return e && [e[0][1], e[1][1]]; }, }, gr = { name: 'xy', handles: ['n', 'w', 'e', 's', 'nw', 'ne', 'sw', 'se'].map(vr), input: function (e) { return null == e ? null : cr(e); }, output: function (e) { return e; }, }, fr = { overlay: 'crosshair', selection: 'move', n: 'ns-resize', e: 'ew-resize', s: 'ns-resize', w: 'ew-resize', nw: 'nwse-resize', ne: 'nesw-resize', se: 'nwse-resize', sw: 'nesw-resize', }, pr = { e: 'w', w: 'e', nw: 'ne', ne: 'nw', se: 'sw', sw: 'se' }, mr = { n: 's', s: 'n', nw: 'sw', ne: 'se', se: 'ne', sw: 'nw' }, _r = { overlay: 1, selection: 1, n: null, e: 1, s: null, w: -1, nw: -1, ne: 1, se: 1, sw: -1, }, br = { overlay: 1, selection: 1, n: -1, e: null, s: 1, w: null, nw: -1, ne: -1, se: 1, sw: 1, }; function vr(e) { return { type: e }; } function yr() { return !dt.ctrlKey && !dt.button; } function wr() { var e = this.ownerSVGElement || this; return e.hasAttribute('viewBox') ? [ [(e = e.viewBox.baseVal).x, e.y], [e.x + e.width, e.y + e.height], ] : [ [0, 0], [e.width.baseVal.value, e.height.baseVal.value], ]; } function Cr() { return navigator.maxTouchPoints || 'ontouchstart' in this; } function Sr(e) { for (; !e.__brush; ) if (!(e = e.parentNode)) return; return e.__brush; } function kr(e) { return e[0][0] === e[1][0] || e[0][1] === e[1][1]; } function xr(e) { var t = e.__brush; return t ? t.dim.output(t.selection) : null; } function Lr() { return Nr(hr); } function Mr() { return Nr(ur); } function Dr() { return Nr(gr); } function Nr(e) { var t, i = wr, n = yr, r = Cr, s = !0, o = ue('start', 'brush', 'end'), a = 6; function l(t) { var i = t .property('__brush', p) .selectAll('.overlay') .data([vr('overlay')]); i .enter() .append('rect') .attr('class', 'overlay') .attr('pointer-events', 'all') .attr('cursor', fr.overlay) .merge(i) .each(function () { var e = Sr(this).extent; kt(this) .attr('x', e[0][0]) .attr('y', e[0][1]) .attr('width', e[1][0] - e[0][0]) .attr('height', e[1][1] - e[0][1]); }), t .selectAll('.selection') .data([vr('selection')]) .enter() .append('rect') .attr('class', 'selection') .attr('cursor', fr.selection) .attr('fill', '#777') .attr('fill-opacity', 0.3) .attr('stroke', '#fff') .attr('shape-rendering', 'crispEdges'); var n = t.selectAll('.handle').data(e.handles, function (e) { return e.type; }); n.exit().remove(), n .enter() .append('rect') .attr('class', function (e) { return 'handle handle--' + e.type; }) .attr('cursor', function (e) { return fr[e.type]; }), t .each(c) .attr('fill', 'none') .attr('pointer-events', 'all') .on('mousedown.brush', u) .filter(r) .on('touchstart.brush', u) .on('touchmove.brush', g) .on('touchend.brush touchcancel.brush', f) .style('touch-action', 'none') .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); } function c() { var e = kt(this), t = Sr(this).selection; t ? (e .selectAll('.selection') .style('display', null) .attr('x', t[0][0]) .attr('y', t[0][1]) .attr('width', t[1][0] - t[0][0]) .attr('height', t[1][1] - t[0][1]), e .selectAll('.handle') .style('display', null) .attr('x', function (e) { return 'e' === e.type[e.type.length - 1] ? t[1][0] - a / 2 : t[0][0] - a / 2; }) .attr('y', function (e) { return 's' === e.type[0] ? t[1][1] - a / 2 : t[0][1] - a / 2; }) .attr('width', function (e) { return 'n' === e.type || 's' === e.type ? t[1][0] - t[0][0] + a : a; }) .attr('height', function (e) { return 'e' === e.type || 'w' === e.type ? t[1][1] - t[0][1] + a : a; })) : e .selectAll('.selection,.handle') .style('display', 'none') .attr('x', null) .attr('y', null) .attr('width', null) .attr('height', null); } function d(e, t, i) { return (!i && e.__brush.emitter) || new h(e, t); } function h(e, t) { (this.that = e), (this.args = t), (this.state = e.__brush), (this.active = 0); } function u() { if ((!t || dt.touches) && n.apply(this, arguments)) { var i, r, o, a, l, h, u, g, f, p, m, _ = this, b = dt.target.__data__.type, v = 'selection' === (s && dt.metaKey ? (b = 'overlay') : b) ? rr : s && dt.altKey ? ar : or, y = e === ur ? null : _r[b], w = e === hr ? null : br[b], C = Sr(_), S = C.extent, k = C.selection, x = S[0][0], L = S[0][1], M = S[1][0], D = S[1][1], N = 0, E = 0, T = y && w && s && dt.shiftKey, I = dt.touches ? dr(dt.changedTouches[0].identifier) : Ii, O = I(_), A = O, R = d(_, arguments, !0).beforestart(); 'overlay' === b ? (k && (f = !0), (C.selection = k = [ [(i = e === ur ? x : O[0]), (o = e === hr ? L : O[1])], [(l = e === ur ? M : i), (u = e === hr ? D : o)], ])) : ((i = k[0][0]), (o = k[0][1]), (l = k[1][0]), (u = k[1][1])), (r = i), (a = o), (h = l), (g = u); var P = kt(_).attr('pointer-events', 'none'), F = P.selectAll('.overlay').attr('cursor', fr[b]); if (dt.touches) (R.moved = W), (R.ended = H); else { var B = kt(dt.view) .on('mousemove.brush', W, !0) .on('mouseup.brush', H, !0); s && B.on('keydown.brush', j, !0).on('keyup.brush', V, !0), Mt(dt.view); } ir(), sn(_), c.call(_), R.start(); } function W() { var e = I(_); !T || p || m || (Math.abs(e[0] - A[0]) > Math.abs(e[1] - A[1]) ? (m = !0) : (p = !0)), (A = e), (f = !0), nr(), Y(); } function Y() { var e; switch (((N = A[0] - O[0]), (E = A[1] - O[1]), v)) { case sr: case rr: y && ((N = Math.max(x - i, Math.min(M - l, N))), (r = i + N), (h = l + N)), w && ((E = Math.max(L - o, Math.min(D - u, E))), (a = o + E), (g = u + E)); break; case or: y < 0 ? ((N = Math.max(x - i, Math.min(M - i, N))), (r = i + N), (h = l)) : y > 0 && ((N = Math.max(x - l, Math.min(M - l, N))), (r = i), (h = l + N)), w < 0 ? ((E = Math.max(L - o, Math.min(D - o, E))), (a = o + E), (g = u)) : w > 0 && ((E = Math.max(L - u, Math.min(D - u, E))), (a = o), (g = u + E)); break; case ar: y && ((r = Math.max(x, Math.min(M, i - N * y))), (h = Math.max(x, Math.min(M, l + N * y)))), w && ((a = Math.max(L, Math.min(D, o - E * w))), (g = Math.max(L, Math.min(D, u + E * w)))); } h < r && ((y *= -1), (e = i), (i = l), (l = e), (e = r), (r = h), (h = e), b in pr && F.attr('cursor', fr[(b = pr[b])])), g < a && ((w *= -1), (e = o), (o = u), (u = e), (e = a), (a = g), (g = e), b in mr && F.attr('cursor', fr[(b = mr[b])])), C.selection && (k = C.selection), p && ((r = k[0][0]), (h = k[1][0])), m && ((a = k[0][1]), (g = k[1][1])), (k[0][0] === r && k[0][1] === a && k[1][0] === h && k[1][1] === g) || ((C.selection = [ [r, a], [h, g], ]), c.call(_), R.brush()); } function H() { if ((ir(), dt.touches)) { if (dt.touches.length) return; t && clearTimeout(t), (t = setTimeout(function () { t = null; }, 500)); } else Dt(dt.view, f), B.on( 'keydown.brush keyup.brush mousemove.brush mouseup.brush', null ); P.attr('pointer-events', 'all'), F.attr('cursor', fr.overlay), C.selection && (k = C.selection), kr(k) && ((C.selection = null), c.call(_)), R.end(); } function j() { switch (dt.keyCode) { case 16: T = y && w; break; case 18: v === or && (y && ((l = h - N * y), (i = r + N * y)), w && ((u = g - E * w), (o = a + E * w)), (v = ar), Y()); break; case 32: (v !== or && v !== ar) || (y < 0 ? (l = h - N) : y > 0 && (i = r - N), w < 0 ? (u = g - E) : w > 0 && (o = a - E), (v = sr), F.attr('cursor', fr.selection), Y()); break; default: return; } nr(); } function V() { switch (dt.keyCode) { case 16: T && ((p = m = T = !1), Y()); break; case 18: v === ar && (y < 0 ? (l = h) : y > 0 && (i = r), w < 0 ? (u = g) : w > 0 && (o = a), (v = or), Y()); break; case 32: v === sr && (dt.altKey ? (y && ((l = h - N * y), (i = r + N * y)), w && ((u = g - E * w), (o = a + E * w)), (v = ar)) : (y < 0 ? (l = h) : y > 0 && (i = r), w < 0 ? (u = g) : w > 0 && (o = a), (v = or)), F.attr('cursor', fr[b]), Y()); break; default: return; } nr(); } } function g() { d(this, arguments).moved(); } function f() { d(this, arguments).ended(); } function p() { var t = this.__brush || { selection: null }; return (t.extent = cr(i.apply(this, arguments))), (t.dim = e), t; } return ( (l.move = function (t, i) { t.selection ? t .on('start.brush', function () { d(this, arguments).beforestart().start(); }) .on('interrupt.brush end.brush', function () { d(this, arguments).end(); }) .tween('brush', function () { var t = this, n = t.__brush, r = d(t, arguments), s = n.selection, o = e.input( 'function' == typeof i ? i.apply(this, arguments) : i, n.extent ), a = Di(s, o); function l(e) { (n.selection = 1 === e && null === o ? null : a(e)), c.call(t), r.brush(); } return null !== s && null !== o ? l : l(1); }) : t.each(function () { var t = this, n = arguments, r = t.__brush, s = e.input( 'function' == typeof i ? i.apply(t, n) : i, r.extent ), o = d(t, n).beforestart(); sn(t), (r.selection = null === s ? null : s), c.call(t), o.start().brush().end(); }); }), (l.clear = function (e) { l.move(e, null); }), (h.prototype = { beforestart: function () { return ( 1 == ++this.active && ((this.state.emitter = this), (this.starting = !0)), this ); }, start: function () { return ( this.starting ? ((this.starting = !1), this.emit('start')) : this.emit('brush'), this ); }, brush: function () { return this.emit('brush'), this; }, end: function () { return ( 0 == --this.active && (delete this.state.emitter, this.emit('end')), this ); }, emit: function (t) { mt(new tr(l, t, e.output(this.state.selection)), o.apply, o, [ t, this.that, this.args, ]); }, }), (l.extent = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : er(cr(e))), l) : i; }), (l.filter = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : er(!!e)), l) : n; }), (l.touchable = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : er(!!e)), l) : r; }), (l.handleSize = function (e) { return arguments.length ? ((a = +e), l) : a; }), (l.keyModifiers = function (e) { return arguments.length ? ((s = !!e), l) : s; }), (l.on = function () { var e = o.on.apply(o, arguments); return e === o ? l : e; }), l ); } var Er = Math.cos, Tr = Math.sin, Ir = Math.PI, Or = Ir / 2, Ar = 2 * Ir, Rr = Math.max; function Pr(e) { return function (t, i) { return e( t.source.value + t.target.value, i.source.value + i.target.value ); }; } function Fr() { var e = 0, t = null, i = null, n = null; function r(r) { var s, o, a, l, c, d, h = r.length, u = [], g = S(h), f = [], p = [], m = (p.groups = new Array(h)), _ = new Array(h * h); for (s = 0, c = -1; ++c < h; ) { for (o = 0, d = -1; ++d < h; ) o += r[c][d]; u.push(o), f.push(S(h)), (s += o); } for ( t && g.sort(function (e, i) { return t(u[e], u[i]); }), i && f.forEach(function (e, t) { e.sort(function (e, n) { return i(r[t][e], r[t][n]); }); }), l = (s = Rr(0, Ar - e * h) / s) ? e : Ar / h, o = 0, c = -1; ++c < h; ) { for (a = o, d = -1; ++d < h; ) { var b = g[c], v = f[b][d], y = r[b][v], w = o, C = (o += y * s); _[v * h + b] = { index: b, subindex: v, startAngle: w, endAngle: C, value: y, }; } (m[b] = { index: b, startAngle: a, endAngle: o, value: u[b] }), (o += l); } for (c = -1; ++c < h; ) for (d = c - 1; ++d < h; ) { var k = _[d * h + c], x = _[c * h + d]; (k.value || x.value) && p.push( k.value < x.value ? { source: x, target: k } : { source: k, target: x } ); } return n ? p.sort(n) : p; } return ( (r.padAngle = function (t) { return arguments.length ? ((e = Rr(0, t)), r) : e; }), (r.sortGroups = function (e) { return arguments.length ? ((t = e), r) : t; }), (r.sortSubgroups = function (e) { return arguments.length ? ((i = e), r) : i; }), (r.sortChords = function (e) { return arguments.length ? (null == e ? (n = null) : ((n = Pr(e))._ = e), r) : n && n._; }), r ); } var Br = Array.prototype.slice; function Wr(e) { return function () { return e; }; } var Yr = Math.PI, Hr = 2 * Yr, jr = 1e-6, Vr = Hr - jr; function zr() { (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''); } function Ur() { return new zr(); } zr.prototype = Ur.prototype = { constructor: zr, moveTo: function (e, t) { this._ += 'M' + (this._x0 = this._x1 = +e) + ',' + (this._y0 = this._y1 = +t); }, closePath: function () { null !== this._x1 && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += 'Z')); }, lineTo: function (e, t) { this._ += 'L' + (this._x1 = +e) + ',' + (this._y1 = +t); }, quadraticCurveTo: function (e, t, i, n) { this._ += 'Q' + +e + ',' + +t + ',' + (this._x1 = +i) + ',' + (this._y1 = +n); }, bezierCurveTo: function (e, t, i, n, r, s) { this._ += 'C' + +e + ',' + +t + ',' + +i + ',' + +n + ',' + (this._x1 = +r) + ',' + (this._y1 = +s); }, arcTo: function (e, t, i, n, r) { (e = +e), (t = +t), (i = +i), (n = +n), (r = +r); var s = this._x1, o = this._y1, a = i - e, l = n - t, c = s - e, d = o - t, h = c * c + d * d; if (r < 0) throw new Error('negative radius: ' + r); if (null === this._x1) this._ += 'M' + (this._x1 = e) + ',' + (this._y1 = t); else if (h > jr) if (Math.abs(d * a - l * c) > jr && r) { var u = i - s, g = n - o, f = a * a + l * l, p = u * u + g * g, m = Math.sqrt(f), _ = Math.sqrt(h), b = r * Math.tan((Yr - Math.acos((f + h - p) / (2 * m * _))) / 2), v = b / _, y = b / m; Math.abs(v - 1) > jr && (this._ += 'L' + (e + v * c) + ',' + (t + v * d)), (this._ += 'A' + r + ',' + r + ',0,0,' + +(d * u > c * g) + ',' + (this._x1 = e + y * a) + ',' + (this._y1 = t + y * l)); } else this._ += 'L' + (this._x1 = e) + ',' + (this._y1 = t); }, arc: function (e, t, i, n, r, s) { (e = +e), (t = +t), (s = !!s); var o = (i = +i) * Math.cos(n), a = i * Math.sin(n), l = e + o, c = t + a, d = 1 ^ s, h = s ? n - r : r - n; if (i < 0) throw new Error('negative radius: ' + i); null === this._x1 ? (this._ += 'M' + l + ',' + c) : (Math.abs(this._x1 - l) > jr || Math.abs(this._y1 - c) > jr) && (this._ += 'L' + l + ',' + c), i && (h < 0 && (h = (h % Hr) + Hr), h > Vr ? (this._ += 'A' + i + ',' + i + ',0,1,' + d + ',' + (e - o) + ',' + (t - a) + 'A' + i + ',' + i + ',0,1,' + d + ',' + (this._x1 = l) + ',' + (this._y1 = c)) : h > jr && (this._ += 'A' + i + ',' + i + ',0,' + +(h >= Yr) + ',' + d + ',' + (this._x1 = e + i * Math.cos(r)) + ',' + (this._y1 = t + i * Math.sin(r)))); }, rect: function (e, t, i, n) { this._ += 'M' + (this._x0 = this._x1 = +e) + ',' + (this._y0 = this._y1 = +t) + 'h' + +i + 'v' + +n + 'h' + -i + 'Z'; }, toString: function () { return this._; }, }; const $r = Ur; function Kr(e) { return e.source; } function qr(e) { return e.target; } function Gr(e) { return e.radius; } function Zr(e) { return e.startAngle; } function Jr(e) { return e.endAngle; } function Qr() { var e = Kr, t = qr, i = Gr, n = Zr, r = Jr, s = null; function o() { var o, a = Br.call(arguments), l = e.apply(this, a), c = t.apply(this, a), d = +i.apply(this, ((a[0] = l), a)), h = n.apply(this, a) - Or, u = r.apply(this, a) - Or, g = d * Er(h), f = d * Tr(h), p = +i.apply(this, ((a[0] = c), a)), m = n.apply(this, a) - Or, _ = r.apply(this, a) - Or; if ( (s || (s = o = $r()), s.moveTo(g, f), s.arc(0, 0, d, h, u), (h === m && u === _) || (s.quadraticCurveTo(0, 0, p * Er(m), p * Tr(m)), s.arc(0, 0, p, m, _)), s.quadraticCurveTo(0, 0, g, f), s.closePath(), o) ) return (s = null), o + '' || null; } return ( (o.radius = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : Wr(+e)), o) : i; }), (o.startAngle = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : Wr(+e)), o) : n; }), (o.endAngle = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : Wr(+e)), o) : r; }), (o.source = function (t) { return arguments.length ? ((e = t), o) : e; }), (o.target = function (e) { return arguments.length ? ((t = e), o) : t; }), (o.context = function (e) { return arguments.length ? ((s = null == e ? null : e), o) : s; }), o ); } var Xr = '$'; function es() {} function ts(e, t) { var i = new es(); if (e instanceof es) e.each(function (e, t) { i.set(t, e); }); else if (Array.isArray(e)) { var n, r = -1, s = e.length; if (null == t) for (; ++r < s; ) i.set(r, e[r]); else for (; ++r < s; ) i.set(t((n = e[r]), r, e), n); } else if (e) for (var o in e) i.set(o, e[o]); return i; } es.prototype = ts.prototype = { constructor: es, has: function (e) { return Xr + e in this; }, get: function (e) { return this[Xr + e]; }, set: function (e, t) { return (this[Xr + e] = t), this; }, remove: function (e) { var t = Xr + e; return t in this && delete this[t]; }, clear: function () { for (var e in this) e[0] === Xr && delete this[e]; }, keys: function () { var e = []; for (var t in this) t[0] === Xr && e.push(t.slice(1)); return e; }, values: function () { var e = []; for (var t in this) t[0] === Xr && e.push(this[t]); return e; }, entries: function () { var e = []; for (var t in this) t[0] === Xr && e.push({ key: t.slice(1), value: this[t] }); return e; }, size: function () { var e = 0; for (var t in this) t[0] === Xr && ++e; return e; }, empty: function () { for (var e in this) if (e[0] === Xr) return !1; return !0; }, each: function (e) { for (var t in this) t[0] === Xr && e(this[t], t.slice(1), this); }, }; const is = ts; function ns() { var e, t, i, n = [], r = []; function s(i, r, o, a) { if (r >= n.length) return null != e && i.sort(e), null != t ? t(i) : i; for ( var l, c, d, h = -1, u = i.length, g = n[r++], f = is(), p = o(); ++h < u; ) (d = f.get((l = g((c = i[h])) + ''))) ? d.push(c) : f.set(l, [c]); return ( f.each(function (e, t) { a(p, t, s(e, r, o, a)); }), p ); } function o(e, i) { if (++i > n.length) return e; var s, a = r[i - 1]; return ( null != t && i >= n.length ? (s = e.entries()) : ((s = []), e.each(function (e, t) { s.push({ key: t, values: o(e, i) }); })), null != a ? s.sort(function (e, t) { return a(e.key, t.key); }) : s ); } return (i = { object: function (e) { return s(e, 0, rs, ss); }, map: function (e) { return s(e, 0, os, as); }, entries: function (e) { return o(s(e, 0, os, as), 0); }, key: function (e) { return n.push(e), i; }, sortKeys: function (e) { return (r[n.length - 1] = e), i; }, sortValues: function (t) { return (e = t), i; }, rollup: function (e) { return (t = e), i; }, }); } function rs() { return {}; } function ss(e, t, i) { e[t] = i; } function os() { return is(); } function as(e, t, i) { e.set(t, i); } function ls() {} var cs = is.prototype; function ds(e, t) { var i = new ls(); if (e instanceof ls) e.each(function (e) { i.add(e); }); else if (e) { var n = -1, r = e.length; if (null == t) for (; ++n < r; ) i.add(e[n]); else for (; ++n < r; ) i.add(t(e[n], n, e)); } return i; } ls.prototype = ds.prototype = { constructor: ls, has: cs.has, add: function (e) { return (this[Xr + (e += '')] = e), this; }, remove: cs.remove, clear: cs.clear, values: cs.keys, size: cs.size, empty: cs.empty, each: cs.each, }; const hs = ds; function us(e) { var t = []; for (var i in e) t.push(i); return t; } function gs(e) { var t = []; for (var i in e) t.push(e[i]); return t; } function fs(e) { var t = []; for (var i in e) t.push({ key: i, value: e[i] }); return t; } var ps = Math.PI / 180, ms = 180 / Math.PI, _s = 0.96422, bs = 0.82521, vs = 4 / 29, ys = 6 / 29, ws = 3 * ys * ys; function Cs(e) { if (e instanceof xs) return new xs(e.l, e.a, e.b, e.opacity); if (e instanceof Os) return As(e); e instanceof Qt || (e = Zt(e)); var t, i, n = Ns(e.r), r = Ns(e.g), s = Ns(e.b), o = Ls((0.2225045 * n + 0.7168786 * r + 0.0606169 * s) / 1); return ( n === r && r === s ? (t = i = o) : ((t = Ls((0.4360747 * n + 0.3850649 * r + 0.1430804 * s) / _s)), (i = Ls((0.0139322 * n + 0.0971045 * r + 0.7141733 * s) / bs))), new xs(116 * o - 16, 500 * (t - o), 200 * (o - i), e.opacity) ); } function Ss(e, t) { return new xs(e, 0, 0, null == t ? 1 : t); } function ks(e, t, i, n) { return 1 === arguments.length ? Cs(e) : new xs(e, t, i, null == n ? 1 : n); } function xs(e, t, i, n) { (this.l = +e), (this.a = +t), (this.b = +i), (this.opacity = +n); } function Ls(e) { return e > 0.008856451679035631 ? Math.pow(e, 1 / 3) : e / ws + vs; } function Ms(e) { return e > ys ? e * e * e : ws * (e - vs); } function Ds(e) { return ( 255 * (e <= 0.0031308 ? 12.92 * e : 1.055 * Math.pow(e, 1 / 2.4) - 0.055) ); } function Ns(e) { return (e /= 255) <= 0.04045 ? e / 12.92 : Math.pow((e + 0.055) / 1.055, 2.4); } function Es(e) { if (e instanceof Os) return new Os(e.h, e.c, e.l, e.opacity); if ((e instanceof xs || (e = Cs(e)), 0 === e.a && 0 === e.b)) return new Os(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity); var t = Math.atan2(e.b, e.a) * ms; return new Os( t < 0 ? t + 360 : t, Math.sqrt(e.a * e.a + e.b * e.b), e.l, e.opacity ); } function Ts(e, t, i, n) { return 1 === arguments.length ? Es(e) : new Os(i, t, e, null == n ? 1 : n); } function Is(e, t, i, n) { return 1 === arguments.length ? Es(e) : new Os(e, t, i, null == n ? 1 : n); } function Os(e, t, i, n) { (this.h = +e), (this.c = +t), (this.l = +i), (this.opacity = +n); } function As(e) { if (isNaN(e.h)) return new xs(e.l, 0, 0, e.opacity); var t = e.h * ps; return new xs(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity); } Nt( xs, ks, Et(Tt, { brighter: function (e) { return new xs( this.l + 18 * (null == e ? 1 : e), this.a, this.b, this.opacity ); }, darker: function (e) { return new xs( this.l - 18 * (null == e ? 1 : e), this.a, this.b, this.opacity ); }, rgb: function () { var e = (this.l + 16) / 116, t = isNaN(this.a) ? e : e + this.a / 500, i = isNaN(this.b) ? e : e - this.b / 200; return new Qt( Ds( 3.1338561 * (t = _s * Ms(t)) - 1.6168667 * (e = 1 * Ms(e)) - 0.4906146 * (i = bs * Ms(i)) ), Ds(-0.9787684 * t + 1.9161415 * e + 0.033454 * i), Ds(0.0719453 * t - 0.2289914 * e + 1.4052427 * i), this.opacity ); }, }) ), Nt( Os, Is, Et(Tt, { brighter: function (e) { return new Os( this.h, this.c, this.l + 18 * (null == e ? 1 : e), this.opacity ); }, darker: function (e) { return new Os( this.h, this.c, this.l - 18 * (null == e ? 1 : e), this.opacity ); }, rgb: function () { return As(this).rgb(); }, }) ); var Rs = -0.14861, Ps = 1.78277, Fs = -0.29227, Bs = -0.90649, Ws = 1.97294, Ys = Ws * Bs, Hs = Ws * Ps, js = Ps * Fs - Bs * Rs; function Vs(e) { if (e instanceof Us) return new Us(e.h, e.s, e.l, e.opacity); e instanceof Qt || (e = Zt(e)); var t = e.r / 255, i = e.g / 255, n = e.b / 255, r = (js * n + Ys * t - Hs * i) / (js + Ys - Hs), s = n - r, o = (Ws * (i - r) - Fs * s) / Bs, a = Math.sqrt(o * o + s * s) / (Ws * r * (1 - r)), l = a ? Math.atan2(o, s) * ms - 120 : NaN; return new Us(l < 0 ? l + 360 : l, a, r, e.opacity); } function zs(e, t, i, n) { return 1 === arguments.length ? Vs(e) : new Us(e, t, i, null == n ? 1 : n); } function Us(e, t, i, n) { (this.h = +e), (this.s = +t), (this.l = +i), (this.opacity = +n); } Nt( Us, zs, Et(Tt, { brighter: function (e) { return ( (e = null == e ? Ot : Math.pow(Ot, e)), new Us(this.h, this.s, this.l * e, this.opacity) ); }, darker: function (e) { return ( (e = null == e ? It : Math.pow(It, e)), new Us(this.h, this.s, this.l * e, this.opacity) ); }, rgb: function () { var e = isNaN(this.h) ? 0 : (this.h + 120) * ps, t = +this.l, i = isNaN(this.s) ? 0 : this.s * t * (1 - t), n = Math.cos(e), r = Math.sin(e); return new Qt( 255 * (t + i * (Rs * n + Ps * r)), 255 * (t + i * (Fs * n + Bs * r)), 255 * (t + i * (Ws * n)), this.opacity ); }, }) ); var $s = Array.prototype.slice; function Ks(e, t) { return e - t; } function qs(e) { return function () { return e; }; } function Gs(e, t) { for (var i, n = -1, r = t.length; ++n < r; ) if ((i = Zs(e, t[n]))) return i; return 0; } function Zs(e, t) { for ( var i = t[0], n = t[1], r = -1, s = 0, o = e.length, a = o - 1; s < o; a = s++ ) { var l = e[s], c = l[0], d = l[1], h = e[a], u = h[0], g = h[1]; if (Js(l, h, t)) return 0; d > n != g > n && i < ((u - c) * (n - d)) / (g - d) + c && (r = -r); } return r; } function Js(e, t, i) { var n, r, s, o; return ( (function (e, t, i) { return ( (t[0] - e[0]) * (i[1] - e[1]) == (i[0] - e[0]) * (t[1] - e[1]) ); })(e, t, i) && ((r = e[(n = +(e[0] === t[0]))]), (s = i[n]), (o = t[n]), (r <= s && s <= o) || (o <= s && s <= r)) ); } function Qs() {} var Xs = [ [], [ [ [1, 1.5], [0.5, 1], ], ], [ [ [1.5, 1], [1, 1.5], ], ], [ [ [1.5, 1], [0.5, 1], ], ], [ [ [1, 0.5], [1.5, 1], ], ], [ [ [1, 1.5], [0.5, 1], ], [ [1, 0.5], [1.5, 1], ], ], [ [ [1, 0.5], [1, 1.5], ], ], [ [ [1, 0.5], [0.5, 1], ], ], [ [ [0.5, 1], [1, 0.5], ], ], [ [ [1, 1.5], [1, 0.5], ], ], [ [ [0.5, 1], [1, 0.5], ], [ [1.5, 1], [1, 1.5], ], ], [ [ [1.5, 1], [1, 0.5], ], ], [ [ [0.5, 1], [1.5, 1], ], ], [ [ [1, 1.5], [1.5, 1], ], ], [ [ [0.5, 1], [1, 1.5], ], ], [], ]; function eo() { var e = 1, t = 1, i = E, n = a; function r(e) { var t = i(e); if (Array.isArray(t)) t = t.slice().sort(Ks); else { var n = _(e), r = n[0], o = n[1]; (t = N(r, o, t)), (t = S(Math.floor(r / t) * t, Math.floor(o / t) * t, t)); } return t.map(function (t) { return s(e, t); }); } function s(i, r) { var s = [], a = []; return ( (function (i, n, r) { var s, a, l, c, d, h, u = new Array(), g = new Array(); for ( s = a = -1, c = i[0] >= n, Xs[c << 1].forEach(f); ++s < e - 1; ) (l = c), (c = i[s + 1] >= n), Xs[l | (c << 1)].forEach(f); for (Xs[c << 0].forEach(f); ++a < t - 1; ) { for ( s = -1, c = i[a * e + e] >= n, d = i[a * e] >= n, Xs[(c << 1) | (d << 2)].forEach(f); ++s < e - 1; ) (l = c), (c = i[a * e + e + s + 1] >= n), (h = d), (d = i[a * e + s + 1] >= n), Xs[l | (c << 1) | (d << 2) | (h << 3)].forEach(f); Xs[c | (d << 3)].forEach(f); } for ( s = -1, d = i[a * e] >= n, Xs[d << 2].forEach(f); ++s < e - 1; ) (h = d), (d = i[a * e + s + 1] >= n), Xs[(d << 2) | (h << 3)].forEach(f); function f(e) { var t, i, n = [e[0][0] + s, e[0][1] + a], l = [e[1][0] + s, e[1][1] + a], c = o(n), d = o(l); (t = g[c]) ? (i = u[d]) ? (delete g[t.end], delete u[i.start], t === i ? (t.ring.push(l), r(t.ring)) : (u[t.start] = g[i.end] = { start: t.start, end: i.end, ring: t.ring.concat(i.ring), })) : (delete g[t.end], t.ring.push(l), (g[(t.end = d)] = t)) : (t = u[d]) ? (i = g[c]) ? (delete u[t.start], delete g[i.end], t === i ? (t.ring.push(l), r(t.ring)) : (u[i.start] = g[t.end] = { start: i.start, end: t.end, ring: i.ring.concat(t.ring), })) : (delete u[t.start], t.ring.unshift(n), (u[(t.start = c)] = t)) : (u[c] = g[d] = { start: c, end: d, ring: [n, l] }); } Xs[d << 3].forEach(f); })(i, r, function (e) { n(e, i, r), (function (e) { for ( var t = 0, i = e.length, n = e[i - 1][1] * e[0][0] - e[i - 1][0] * e[0][1]; ++t < i; ) n += e[t - 1][1] * e[t][0] - e[t - 1][0] * e[t][1]; return n; })(e) > 0 ? s.push([e]) : a.push(e); }), a.forEach(function (e) { for (var t, i = 0, n = s.length; i < n; ++i) if (-1 !== Gs((t = s[i])[0], e)) return void t.push(e); }), { type: 'MultiPolygon', value: r, coordinates: s } ); } function o(t) { return 2 * t[0] + t[1] * (e + 1) * 4; } function a(i, n, r) { i.forEach(function (i) { var s, o = i[0], a = i[1], l = 0 | o, c = 0 | a, d = n[c * e + l]; o > 0 && o < e && l === o && ((s = n[c * e + l - 1]), (i[0] = o + (r - s) / (d - s) - 0.5)), a > 0 && a < t && c === a && ((s = n[(c - 1) * e + l]), (i[1] = a + (r - s) / (d - s) - 0.5)); }); } return ( (r.contour = s), (r.size = function (i) { if (!arguments.length) return [e, t]; var n = Math.ceil(i[0]), s = Math.ceil(i[1]); if (!(n > 0 && s > 0)) throw new Error('invalid size'); return (e = n), (t = s), r; }), (r.thresholds = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : Array.isArray(e) ? qs($s.call(e)) : qs(e)), r) : i; }), (r.smooth = function (e) { return arguments.length ? ((n = e ? a : Qs), r) : n === a; }), r ); } function to(e, t, i) { for ( var n = e.width, r = e.height, s = 1 + (i << 1), o = 0; o < r; ++o ) for (var a = 0, l = 0; a < n + i; ++a) a < n && (l += e.data[a + o * n]), a >= i && (a >= s && (l -= e.data[a - s + o * n]), (t.data[a - i + o * n] = l / Math.min(a + 1, n - 1 + s - a, s))); } function io(e, t, i) { for ( var n = e.width, r = e.height, s = 1 + (i << 1), o = 0; o < n; ++o ) for (var a = 0, l = 0; a < r + i; ++a) a < r && (l += e.data[o + a * n]), a >= i && (a >= s && (l -= e.data[o + (a - s) * n]), (t.data[o + (a - i) * n] = l / Math.min(a + 1, r - 1 + s - a, s))); } function no(e) { return e[0]; } function ro(e) { return e[1]; } function so() { return 1; } function oo() { var e = no, t = ro, i = so, n = 960, r = 500, s = 20, o = 2, a = 3 * s, l = (n + 2 * a) >> o, c = (r + 2 * a) >> o, d = qs(20); function h(n) { var r = new Float32Array(l * c), h = new Float32Array(l * c); n.forEach(function (n, s, d) { var h = (+e(n, s, d) + a) >> o, u = (+t(n, s, d) + a) >> o, g = +i(n, s, d); h >= 0 && h < l && u >= 0 && u < c && (r[h + u * l] += g); }), to( { width: l, height: c, data: r }, { width: l, height: c, data: h }, s >> o ), io( { width: l, height: c, data: h }, { width: l, height: c, data: r }, s >> o ), to( { width: l, height: c, data: r }, { width: l, height: c, data: h }, s >> o ), io( { width: l, height: c, data: h }, { width: l, height: c, data: r }, s >> o ), to( { width: l, height: c, data: r }, { width: l, height: c, data: h }, s >> o ), io( { width: l, height: c, data: h }, { width: l, height: c, data: r }, s >> o ); var g = d(r); if (!Array.isArray(g)) { var f = R(r); (g = N(0, f, g)), (g = S(0, Math.floor(f / g) * g, g)).shift(); } return eo().thresholds(g).size([l, c])(r).map(u); } function u(e) { return ( (e.value *= Math.pow(2, -2 * o)), e.coordinates.forEach(g), e ); } function g(e) { e.forEach(f); } function f(e) { e.forEach(p); } function p(e) { (e[0] = e[0] * Math.pow(2, o) - a), (e[1] = e[1] * Math.pow(2, o) - a); } function m() { return (l = (n + 2 * (a = 3 * s)) >> o), (c = (r + 2 * a) >> o), h; } return ( (h.x = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : qs(+t)), h) : e; }), (h.y = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : qs(+e)), h) : t; }), (h.weight = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : qs(+e)), h) : i; }), (h.size = function (e) { if (!arguments.length) return [n, r]; var t = Math.ceil(e[0]), i = Math.ceil(e[1]); if (!(t >= 0 || t >= 0)) throw new Error('invalid size'); return (n = t), (r = i), m(); }), (h.cellSize = function (e) { if (!arguments.length) return 1 << o; if (!((e = +e) >= 1)) throw new Error('invalid cell size'); return (o = Math.floor(Math.log(e) / Math.LN2)), m(); }), (h.thresholds = function (e) { return arguments.length ? ((d = 'function' == typeof e ? e : Array.isArray(e) ? qs($s.call(e)) : qs(e)), h) : d; }), (h.bandwidth = function (e) { if (!arguments.length) return Math.sqrt(s * (s + 1)); if (!((e = +e) >= 0)) throw new Error('invalid bandwidth'); return (s = Math.round((Math.sqrt(4 * e * e + 1) - 1) / 2)), m(); }), h ); } function ao(e) { return function () { return e; }; } function lo(e, t, i, n, r, s, o, a, l, c) { (this.target = e), (this.type = t), (this.subject = i), (this.identifier = n), (this.active = r), (this.x = s), (this.y = o), (this.dx = a), (this.dy = l), (this._ = c); } function co() { return !dt.ctrlKey && !dt.button; } function ho() { return this.parentNode; } function uo(e) { return null == e ? { x: dt.x, y: dt.y } : e; } function go() { return navigator.maxTouchPoints || 'ontouchstart' in this; } function fo() { var e, t, i, n, r = co, s = ho, o = uo, a = go, l = {}, c = ue('start', 'drag', 'end'), d = 0, h = 0; function u(e) { e.on('mousedown.drag', g) .filter(a) .on('touchstart.drag', m) .on('touchmove.drag', _) .on('touchend.drag touchcancel.drag', b) .style('touch-action', 'none') .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); } function g() { if (!n && r.apply(this, arguments)) { var o = v('mouse', s.apply(this, arguments), Ii, this, arguments); o && (kt(dt.view) .on('mousemove.drag', f, !0) .on('mouseup.drag', p, !0), Mt(dt.view), xt(), (i = !1), (e = dt.clientX), (t = dt.clientY), o('start')); } } function f() { if ((Lt(), !i)) { var n = dt.clientX - e, r = dt.clientY - t; i = n * n + r * r > h; } l.mouse('drag'); } function p() { kt(dt.view).on('mousemove.drag mouseup.drag', null), Dt(dt.view, i), Lt(), l.mouse('end'); } function m() { if (r.apply(this, arguments)) { var e, t, i = dt.changedTouches, n = s.apply(this, arguments), o = i.length; for (e = 0; e < o; ++e) (t = v(i[e].identifier, n, Ti, this, arguments)) && (xt(), t('start')); } } function _() { var e, t, i = dt.changedTouches, n = i.length; for (e = 0; e < n; ++e) (t = l[i[e].identifier]) && (Lt(), t('drag')); } function b() { var e, t, i = dt.changedTouches, r = i.length; for ( n && clearTimeout(n), n = setTimeout(function () { n = null; }, 500), e = 0; e < r; ++e ) (t = l[i[e].identifier]) && (xt(), t('end')); } function v(e, t, i, n, r) { var s, a, h, g = i(t, e), f = c.copy(); if ( mt( new lo(u, 'beforestart', s, e, d, g[0], g[1], 0, 0, f), function () { return ( null != (dt.subject = s = o.apply(n, r)) && ((a = s.x - g[0] || 0), (h = s.y - g[1] || 0), !0) ); } ) ) return function o(c) { var p, m = g; switch (c) { case 'start': (l[e] = o), (p = d++); break; case 'end': delete l[e], --d; case 'drag': (g = i(t, e)), (p = d); } mt( new lo( u, c, s, e, p, g[0] + a, g[1] + h, g[0] - m[0], g[1] - m[1], f ), f.apply, f, [c, n, r] ); }; } return ( (u.filter = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : ao(!!e)), u) : r; }), (u.container = function (e) { return arguments.length ? ((s = 'function' == typeof e ? e : ao(e)), u) : s; }), (u.subject = function (e) { return arguments.length ? ((o = 'function' == typeof e ? e : ao(e)), u) : o; }), (u.touchable = function (e) { return arguments.length ? ((a = 'function' == typeof e ? e : ao(!!e)), u) : a; }), (u.on = function () { var e = c.on.apply(c, arguments); return e === c ? u : e; }), (u.clickDistance = function (e) { return arguments.length ? ((h = (e = +e) * e), u) : Math.sqrt(h); }), u ); } lo.prototype.on = function () { var e = this._.on.apply(this._, arguments); return e === this._ ? this : e; }; var po = {}, mo = {}; function _o(e) { return new Function( 'd', 'return {' + e .map(function (e, t) { return JSON.stringify(e) + ': d[' + t + '] || ""'; }) .join(',') + '}' ); } function bo(e) { var t = Object.create(null), i = []; return ( e.forEach(function (e) { for (var n in e) n in t || i.push((t[n] = n)); }), i ); } function vo(e, t) { var i = e + '', n = i.length; return n < t ? new Array(t - n + 1).join(0) + i : i; } function yo(e) { var t = new RegExp('["' + e + '\n\r]'), i = e.charCodeAt(0); function n(e, t) { var n, r = [], s = e.length, o = 0, a = 0, l = s <= 0, c = !1; function d() { if (l) return mo; if (c) return (c = !1), po; var t, n, r = o; if (34 === e.charCodeAt(r)) { for ( ; (o++ < s && 34 !== e.charCodeAt(o)) || 34 === e.charCodeAt(++o); ); return ( (t = o) >= s ? (l = !0) : 10 === (n = e.charCodeAt(o++)) ? (c = !0) : 13 === n && ((c = !0), 10 === e.charCodeAt(o) && ++o), e.slice(r + 1, t - 1).replace(/""/g, '"') ); } for (; o < s; ) { if (10 === (n = e.charCodeAt((t = o++)))) c = !0; else if (13 === n) (c = !0), 10 === e.charCodeAt(o) && ++o; else if (n !== i) continue; return e.slice(r, t); } return (l = !0), e.slice(r, s); } for ( 10 === e.charCodeAt(s - 1) && --s, 13 === e.charCodeAt(s - 1) && --s; (n = d()) !== mo; ) { for (var h = []; n !== po && n !== mo; ) h.push(n), (n = d()); (t && null == (h = t(h, a++))) || r.push(h); } return r; } function r(t, i) { return t.map(function (t) { return i .map(function (e) { return o(t[e]); }) .join(e); }); } function s(t) { return t.map(o).join(e); } function o(e) { return null == e ? '' : e instanceof Date ? (function (e) { var t = e.getUTCHours(), i = e.getUTCMinutes(), n = e.getUTCSeconds(), r = e.getUTCMilliseconds(); return isNaN(e) ? 'Invalid Date' : (function (e) { return e < 0 ? '-' + vo(-e, 6) : e > 9999 ? '+' + vo(e, 6) : vo(e, 4); })(e.getUTCFullYear()) + '-' + vo(e.getUTCMonth() + 1, 2) + '-' + vo(e.getUTCDate(), 2) + (r ? 'T' + vo(t, 2) + ':' + vo(i, 2) + ':' + vo(n, 2) + '.' + vo(r, 3) + 'Z' : n ? 'T' + vo(t, 2) + ':' + vo(i, 2) + ':' + vo(n, 2) + 'Z' : i || t ? 'T' + vo(t, 2) + ':' + vo(i, 2) + 'Z' : ''); })(e) : t.test((e += '')) ? '"' + e.replace(/"/g, '""') + '"' : e; } return { parse: function (e, t) { var i, r, s = n(e, function (e, n) { if (i) return i(e, n - 1); (r = e), (i = t ? (function (e, t) { var i = _o(e); return function (n, r) { return t(i(n), r, e); }; })(e, t) : _o(e)); }); return (s.columns = r || []), s; }, parseRows: n, format: function (t, i) { return ( null == i && (i = bo(t)), [i.map(o).join(e)].concat(r(t, i)).join('\n') ); }, formatBody: function (e, t) { return null == t && (t = bo(e)), r(e, t).join('\n'); }, formatRows: function (e) { return e.map(s).join('\n'); }, formatRow: s, formatValue: o, }; } var wo = yo(','), Co = wo.parse, So = wo.parseRows, ko = wo.format, xo = wo.formatBody, Lo = wo.formatRows, Mo = wo.formatRow, Do = wo.formatValue, No = yo('\t'), Eo = No.parse, To = No.parseRows, Io = No.format, Oo = No.formatBody, Ao = No.formatRows, Ro = No.formatRow, Po = No.formatValue; function Fo(e) { for (var t in e) { var i, n, r = e[t].trim(); if (r) if ('true' === r) r = !0; else if ('false' === r) r = !1; else if ('NaN' === r) r = NaN; else if (isNaN((i = +r))) { if ( !(n = r.match( /^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/ )) ) continue; Bo && n[4] && !n[7] && (r = r.replace(/-/g, '/').replace(/T/, ' ')), (r = new Date(r)); } else r = i; else r = null; e[t] = r; } return e; } var Bo = new Date('2019-01-01T00:00').getHours() || new Date('2019-07-01T00:00').getHours(); function Wo(e) { return +e; } function Yo(e) { return e * e; } function Ho(e) { return e * (2 - e); } function jo(e) { return ((e *= 2) <= 1 ? e * e : --e * (2 - e) + 1) / 2; } var Vo = (function e(t) { function i(e) { return Math.pow(e, t); } return (t = +t), (i.exponent = e), i; })(3), zo = (function e(t) { function i(e) { return 1 - Math.pow(1 - e, t); } return (t = +t), (i.exponent = e), i; })(3), Uo = (function e(t) { function i(e) { return ( ((e *= 2) <= 1 ? Math.pow(e, t) : 2 - Math.pow(2 - e, t)) / 2 ); } return (t = +t), (i.exponent = e), i; })(3), $o = Math.PI, Ko = $o / 2; function qo(e) { return 1 - Math.cos(e * Ko); } function Go(e) { return Math.sin(e * Ko); } function Zo(e) { return (1 - Math.cos($o * e)) / 2; } function Jo(e) { return Math.pow(2, 10 * e - 10); } function Qo(e) { return 1 - Math.pow(2, -10 * e); } function Xo(e) { return ( ((e *= 2) <= 1 ? Math.pow(2, 10 * e - 10) : 2 - Math.pow(2, 10 - 10 * e)) / 2 ); } function ea(e) { return 1 - Math.sqrt(1 - e * e); } function ta(e) { return Math.sqrt(1 - --e * e); } function ia(e) { return ( ((e *= 2) <= 1 ? 1 - Math.sqrt(1 - e * e) : Math.sqrt(1 - (e -= 2) * e) + 1) / 2 ); } var na = 7.5625; function ra(e) { return 1 - sa(1 - e); } function sa(e) { return (e = +e) < 0.36363636363636365 ? na * e * e : e < 0.7272727272727273 ? na * (e -= 0.5454545454545454) * e + 0.75 : e < 0.9090909090909091 ? na * (e -= 0.8181818181818182) * e + 0.9375 : na * (e -= 0.9545454545454546) * e + 0.984375; } function oa(e) { return ((e *= 2) <= 1 ? 1 - sa(1 - e) : sa(e - 1) + 1) / 2; } var aa = 1.70158, la = (function e(t) { function i(e) { return e * e * ((t + 1) * e - t); } return (t = +t), (i.overshoot = e), i; })(aa), ca = (function e(t) { function i(e) { return --e * e * ((t + 1) * e + t) + 1; } return (t = +t), (i.overshoot = e), i; })(aa), da = (function e(t) { function i(e) { return ( ((e *= 2) < 1 ? e * e * ((t + 1) * e - t) : (e -= 2) * e * ((t + 1) * e + t) + 2) / 2 ); } return (t = +t), (i.overshoot = e), i; })(aa), ha = 2 * Math.PI, ua = (function e(t, i) { var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); function r(e) { return t * Math.pow(2, 10 * --e) * Math.sin((n - e) / i); } return ( (r.amplitude = function (t) { return e(t, i * ha); }), (r.period = function (i) { return e(t, i); }), r ); })(1, 0.3), ga = (function e(t, i) { var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); function r(e) { return ( 1 - t * Math.pow(2, -10 * (e = +e)) * Math.sin((e + n) / i) ); } return ( (r.amplitude = function (t) { return e(t, i * ha); }), (r.period = function (i) { return e(t, i); }), r ); })(1, 0.3), fa = (function e(t, i) { var n = Math.asin(1 / (t = Math.max(1, t))) * (i /= ha); function r(e) { return ( ((e = 2 * e - 1) < 0 ? t * Math.pow(2, 10 * e) * Math.sin((n - e) / i) : 2 - t * Math.pow(2, -10 * e) * Math.sin((n + e) / i)) / 2 ); } return ( (r.amplitude = function (t) { return e(t, i * ha); }), (r.period = function (i) { return e(t, i); }), r ); })(1, 0.3); function pa(e) { if (!e.ok) throw new Error(e.status + ' ' + e.statusText); return e.blob(); } function ma(e, t) { return fetch(e, t).then(pa); } function _a(e) { if (!e.ok) throw new Error(e.status + ' ' + e.statusText); return e.arrayBuffer(); } function ba(e, t) { return fetch(e, t).then(_a); } function va(e) { if (!e.ok) throw new Error(e.status + ' ' + e.statusText); return e.text(); } function ya(e, t) { return fetch(e, t).then(va); } function wa(e) { return function (t, i, n) { return ( 2 === arguments.length && 'function' == typeof i && ((n = i), (i = void 0)), ya(t, i).then(function (t) { return e(t, n); }) ); }; } function Ca(e, t, i, n) { 3 === arguments.length && 'function' == typeof i && ((n = i), (i = void 0)); var r = yo(e); return ya(t, i).then(function (e) { return r.parse(e, n); }); } var Sa = wa(Co), ka = wa(Eo); function xa(e, t) { return new Promise(function (i, n) { var r = new Image(); for (var s in t) r[s] = t[s]; (r.onerror = n), (r.onload = function () { i(r); }), (r.src = e); }); } function La(e) { if (!e.ok) throw new Error(e.status + ' ' + e.statusText); return e.json(); } function Ma(e, t) { return fetch(e, t).then(La); } function Da(e) { return function (t, i) { return ya(t, i).then(function (t) { return new DOMParser().parseFromString(t, e); }); }; } const Na = Da('application/xml'); var Ea = Da('text/html'), Ta = Da('image/svg+xml'); function Ia(e, t) { var i; function n() { var n, r, s = i.length, o = 0, a = 0; for (n = 0; n < s; ++n) (o += (r = i[n]).x), (a += r.y); for (o = o / s - e, a = a / s - t, n = 0; n < s; ++n) ((r = i[n]).x -= o), (r.y -= a); } return ( null == e && (e = 0), null == t && (t = 0), (n.initialize = function (e) { i = e; }), (n.x = function (t) { return arguments.length ? ((e = +t), n) : e; }), (n.y = function (e) { return arguments.length ? ((t = +e), n) : t; }), n ); } function Oa(e) { return function () { return e; }; } function Aa() { return 1e-6 * (Math.random() - 0.5); } function Ra(e, t, i, n) { if (isNaN(t) || isNaN(i)) return e; var r, s, o, a, l, c, d, h, u, g = e._root, f = { data: n }, p = e._x0, m = e._y0, _ = e._x1, b = e._y1; if (!g) return (e._root = f), e; for (; g.length; ) if ( ((c = t >= (s = (p + _) / 2)) ? (p = s) : (_ = s), (d = i >= (o = (m + b) / 2)) ? (m = o) : (b = o), (r = g), !(g = g[(h = (d << 1) | c)])) ) return (r[h] = f), e; if ( ((a = +e._x.call(null, g.data)), (l = +e._y.call(null, g.data)), t === a && i === l) ) return (f.next = g), r ? (r[h] = f) : (e._root = f), e; do { (r = r ? (r[h] = new Array(4)) : (e._root = new Array(4))), (c = t >= (s = (p + _) / 2)) ? (p = s) : (_ = s), (d = i >= (o = (m + b) / 2)) ? (m = o) : (b = o); } while ((h = (d << 1) | c) == (u = ((l >= o) << 1) | (a >= s))); return (r[u] = g), (r[h] = f), e; } function Pa(e, t, i, n, r) { (this.node = e), (this.x0 = t), (this.y0 = i), (this.x1 = n), (this.y1 = r); } function Fa(e) { return e[0]; } function Ba(e) { return e[1]; } function Wa(e, t, i) { var n = new Ya( null == t ? Fa : t, null == i ? Ba : i, NaN, NaN, NaN, NaN ); return null == e ? n : n.addAll(e); } function Ya(e, t, i, n, r, s) { (this._x = e), (this._y = t), (this._x0 = i), (this._y0 = n), (this._x1 = r), (this._y1 = s), (this._root = void 0); } function Ha(e) { for (var t = { data: e.data }, i = t; (e = e.next); ) i = i.next = { data: e.data }; return t; } var ja = (Wa.prototype = Ya.prototype); function Va(e) { return e.x + e.vx; } function za(e) { return e.y + e.vy; } function Ua(e) { var t, i, n = 1, r = 1; function s() { for (var e, s, a, l, c, d, h, u = t.length, g = 0; g < r; ++g) for (s = Wa(t, Va, za).visitAfter(o), e = 0; e < u; ++e) (a = t[e]), (d = i[a.index]), (h = d * d), (l = a.x + a.vx), (c = a.y + a.vy), s.visit(f); function f(e, t, i, r, s) { var o = e.data, u = e.r, g = d + u; if (!o) return t > l + g || r < l - g || i > c + g || s < c - g; if (o.index > a.index) { var f = l - o.x - o.vx, p = c - o.y - o.vy, m = f * f + p * p; m < g * g && (0 === f && (m += (f = Aa()) * f), 0 === p && (m += (p = Aa()) * p), (m = ((g - (m = Math.sqrt(m))) / m) * n), (a.vx += (f *= m) * (g = (u *= u) / (h + u))), (a.vy += (p *= m) * g), (o.vx -= f * (g = 1 - g)), (o.vy -= p * g)); } } } function o(e) { if (e.data) return (e.r = i[e.data.index]); for (var t = (e.r = 0); t < 4; ++t) e[t] && e[t].r > e.r && (e.r = e[t].r); } function a() { if (t) { var n, r, s = t.length; for (i = new Array(s), n = 0; n < s; ++n) (r = t[n]), (i[r.index] = +e(r, n, t)); } } return ( 'function' != typeof e && (e = Oa(null == e ? 1 : +e)), (s.initialize = function (e) { (t = e), a(); }), (s.iterations = function (e) { return arguments.length ? ((r = +e), s) : r; }), (s.strength = function (e) { return arguments.length ? ((n = +e), s) : n; }), (s.radius = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : Oa(+t)), a(), s) : e; }), s ); } function $a(e) { return e.index; } function Ka(e, t) { var i = e.get(t); if (!i) throw new Error('missing: ' + t); return i; } function qa(e) { var t, i, n, r, s, o = $a, a = function (e) { return 1 / Math.min(r[e.source.index], r[e.target.index]); }, l = Oa(30), c = 1; function d(n) { for (var r = 0, o = e.length; r < c; ++r) for (var a, l, d, h, u, g, f, p = 0; p < o; ++p) (l = (a = e[p]).source), (h = (d = a.target).x + d.vx - l.x - l.vx || Aa()), (u = d.y + d.vy - l.y - l.vy || Aa()), (h *= g = (((g = Math.sqrt(h * h + u * u)) - i[p]) / g) * n * t[p]), (u *= g), (d.vx -= h * (f = s[p])), (d.vy -= u * f), (l.vx += h * (f = 1 - f)), (l.vy += u * f); } function h() { if (n) { var a, l, c = n.length, d = e.length, h = is(n, o); for (a = 0, r = new Array(c); a < d; ++a) ((l = e[a]).index = a), 'object' != typeof l.source && (l.source = Ka(h, l.source)), 'object' != typeof l.target && (l.target = Ka(h, l.target)), (r[l.source.index] = (r[l.source.index] || 0) + 1), (r[l.target.index] = (r[l.target.index] || 0) + 1); for (a = 0, s = new Array(d); a < d; ++a) (l = e[a]), (s[a] = r[l.source.index] / (r[l.source.index] + r[l.target.index])); (t = new Array(d)), u(), (i = new Array(d)), g(); } } function u() { if (n) for (var i = 0, r = e.length; i < r; ++i) t[i] = +a(e[i], i, e); } function g() { if (n) for (var t = 0, r = e.length; t < r; ++t) i[t] = +l(e[t], t, e); } return ( null == e && (e = []), (d.initialize = function (e) { (n = e), h(); }), (d.links = function (t) { return arguments.length ? ((e = t), h(), d) : e; }), (d.id = function (e) { return arguments.length ? ((o = e), d) : o; }), (d.iterations = function (e) { return arguments.length ? ((c = +e), d) : c; }), (d.strength = function (e) { return arguments.length ? ((a = 'function' == typeof e ? e : Oa(+e)), u(), d) : a; }), (d.distance = function (e) { return arguments.length ? ((l = 'function' == typeof e ? e : Oa(+e)), g(), d) : l; }), d ); } function Ga(e) { return e.x; } function Za(e) { return e.y; } (ja.copy = function () { var e, t, i = new Ya( this._x, this._y, this._x0, this._y0, this._x1, this._y1 ), n = this._root; if (!n) return i; if (!n.length) return (i._root = Ha(n)), i; for ( e = [{ source: n, target: (i._root = new Array(4)) }]; (n = e.pop()); ) for (var r = 0; r < 4; ++r) (t = n.source[r]) && (t.length ? e.push({ source: t, target: (n.target[r] = new Array(4)) }) : (n.target[r] = Ha(t))); return i; }), (ja.add = function (e) { var t = +this._x.call(null, e), i = +this._y.call(null, e); return Ra(this.cover(t, i), t, i, e); }), (ja.addAll = function (e) { var t, i, n, r, s = e.length, o = new Array(s), a = new Array(s), l = 1 / 0, c = 1 / 0, d = -1 / 0, h = -1 / 0; for (i = 0; i < s; ++i) isNaN((n = +this._x.call(null, (t = e[i])))) || isNaN((r = +this._y.call(null, t))) || ((o[i] = n), (a[i] = r), n < l && (l = n), n > d && (d = n), r < c && (c = r), r > h && (h = r)); if (l > d || c > h) return this; for (this.cover(l, c).cover(d, h), i = 0; i < s; ++i) Ra(this, o[i], a[i], e[i]); return this; }), (ja.cover = function (e, t) { if (isNaN((e = +e)) || isNaN((t = +t))) return this; var i = this._x0, n = this._y0, r = this._x1, s = this._y1; if (isNaN(i)) (r = (i = Math.floor(e)) + 1), (s = (n = Math.floor(t)) + 1); else { for ( var o, a, l = r - i, c = this._root; i > e || e >= r || n > t || t >= s; ) switch ( ((a = ((t < n) << 1) | (e < i)), ((o = new Array(4))[a] = c), (c = o), (l *= 2), a) ) { case 0: (r = i + l), (s = n + l); break; case 1: (i = r - l), (s = n + l); break; case 2: (r = i + l), (n = s - l); break; case 3: (i = r - l), (n = s - l); } this._root && this._root.length && (this._root = c); } return ( (this._x0 = i), (this._y0 = n), (this._x1 = r), (this._y1 = s), this ); }), (ja.data = function () { var e = []; return ( this.visit(function (t) { if (!t.length) do { e.push(t.data); } while ((t = t.next)); }), e ); }), (ja.extent = function (e) { return arguments.length ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1]) : isNaN(this._x0) ? void 0 : [ [this._x0, this._y0], [this._x1, this._y1], ]; }), (ja.find = function (e, t, i) { var n, r, s, o, a, l, c, d = this._x0, h = this._y0, u = this._x1, g = this._y1, f = [], p = this._root; for ( p && f.push(new Pa(p, d, h, u, g)), null == i ? (i = 1 / 0) : ((d = e - i), (h = t - i), (u = e + i), (g = t + i), (i *= i)); (l = f.pop()); ) if ( !( !(p = l.node) || (r = l.x0) > u || (s = l.y0) > g || (o = l.x1) < d || (a = l.y1) < h ) ) if (p.length) { var m = (r + o) / 2, _ = (s + a) / 2; f.push( new Pa(p[3], m, _, o, a), new Pa(p[2], r, _, m, a), new Pa(p[1], m, s, o, _), new Pa(p[0], r, s, m, _) ), (c = ((t >= _) << 1) | (e >= m)) && ((l = f[f.length - 1]), (f[f.length - 1] = f[f.length - 1 - c]), (f[f.length - 1 - c] = l)); } else { var b = e - +this._x.call(null, p.data), v = t - +this._y.call(null, p.data), y = b * b + v * v; if (y < i) { var w = Math.sqrt((i = y)); (d = e - w), (h = t - w), (u = e + w), (g = t + w), (n = p.data); } } return n; }), (ja.remove = function (e) { if ( isNaN((s = +this._x.call(null, e))) || isNaN((o = +this._y.call(null, e))) ) return this; var t, i, n, r, s, o, a, l, c, d, h, u, g = this._root, f = this._x0, p = this._y0, m = this._x1, _ = this._y1; if (!g) return this; if (g.length) for (;;) { if ( ((c = s >= (a = (f + m) / 2)) ? (f = a) : (m = a), (d = o >= (l = (p + _) / 2)) ? (p = l) : (_ = l), (t = g), !(g = g[(h = (d << 1) | c)])) ) return this; if (!g.length) break; (t[(h + 1) & 3] || t[(h + 2) & 3] || t[(h + 3) & 3]) && ((i = t), (u = h)); } for (; g.data !== e; ) if (((n = g), !(g = g.next))) return this; return ( (r = g.next) && delete g.next, n ? (r ? (n.next = r) : delete n.next, this) : t ? (r ? (t[h] = r) : delete t[h], (g = t[0] || t[1] || t[2] || t[3]) && g === (t[3] || t[2] || t[1] || t[0]) && !g.length && (i ? (i[u] = g) : (this._root = g)), this) : ((this._root = r), this) ); }), (ja.removeAll = function (e) { for (var t = 0, i = e.length; t < i; ++t) this.remove(e[t]); return this; }), (ja.root = function () { return this._root; }), (ja.size = function () { var e = 0; return ( this.visit(function (t) { if (!t.length) do { ++e; } while ((t = t.next)); }), e ); }), (ja.visit = function (e) { var t, i, n, r, s, o, a = [], l = this._root; for ( l && a.push(new Pa(l, this._x0, this._y0, this._x1, this._y1)); (t = a.pop()); ) if ( !e( (l = t.node), (n = t.x0), (r = t.y0), (s = t.x1), (o = t.y1) ) && l.length ) { var c = (n + s) / 2, d = (r + o) / 2; (i = l[3]) && a.push(new Pa(i, c, d, s, o)), (i = l[2]) && a.push(new Pa(i, n, d, c, o)), (i = l[1]) && a.push(new Pa(i, c, r, s, d)), (i = l[0]) && a.push(new Pa(i, n, r, c, d)); } return this; }), (ja.visitAfter = function (e) { var t, i = [], n = []; for ( this._root && i.push( new Pa(this._root, this._x0, this._y0, this._x1, this._y1) ); (t = i.pop()); ) { var r = t.node; if (r.length) { var s, o = t.x0, a = t.y0, l = t.x1, c = t.y1, d = (o + l) / 2, h = (a + c) / 2; (s = r[0]) && i.push(new Pa(s, o, a, d, h)), (s = r[1]) && i.push(new Pa(s, d, a, l, h)), (s = r[2]) && i.push(new Pa(s, o, h, d, c)), (s = r[3]) && i.push(new Pa(s, d, h, l, c)); } n.push(t); } for (; (t = n.pop()); ) e(t.node, t.x0, t.y0, t.x1, t.y1); return this; }), (ja.x = function (e) { return arguments.length ? ((this._x = e), this) : this._x; }), (ja.y = function (e) { return arguments.length ? ((this._y = e), this) : this._y; }); var Ja = Math.PI * (3 - Math.sqrt(5)); function Qa(e) { var t, i = 1, n = 0.001, r = 1 - Math.pow(n, 1 / 300), s = 0, o = 0.6, a = is(), l = $i(d), c = ue('tick', 'end'); function d() { h(), c.call('tick', t), i < n && (l.stop(), c.call('end', t)); } function h(n) { var l, c, d = e.length; void 0 === n && (n = 1); for (var h = 0; h < n; ++h) for ( i += (s - i) * r, a.each(function (e) { e(i); }), l = 0; l < d; ++l ) null == (c = e[l]).fx ? (c.x += c.vx *= o) : ((c.x = c.fx), (c.vx = 0)), null == c.fy ? (c.y += c.vy *= o) : ((c.y = c.fy), (c.vy = 0)); return t; } function u() { for (var t, i = 0, n = e.length; i < n; ++i) { if ( (((t = e[i]).index = i), null != t.fx && (t.x = t.fx), null != t.fy && (t.y = t.fy), isNaN(t.x) || isNaN(t.y)) ) { var r = 10 * Math.sqrt(i), s = i * Ja; (t.x = r * Math.cos(s)), (t.y = r * Math.sin(s)); } (isNaN(t.vx) || isNaN(t.vy)) && (t.vx = t.vy = 0); } } function g(t) { return t.initialize && t.initialize(e), t; } return ( null == e && (e = []), u(), (t = { tick: h, restart: function () { return l.restart(d), t; }, stop: function () { return l.stop(), t; }, nodes: function (i) { return arguments.length ? ((e = i), u(), a.each(g), t) : e; }, alpha: function (e) { return arguments.length ? ((i = +e), t) : i; }, alphaMin: function (e) { return arguments.length ? ((n = +e), t) : n; }, alphaDecay: function (e) { return arguments.length ? ((r = +e), t) : +r; }, alphaTarget: function (e) { return arguments.length ? ((s = +e), t) : s; }, velocityDecay: function (e) { return arguments.length ? ((o = 1 - e), t) : 1 - o; }, force: function (e, i) { return arguments.length > 1 ? (null == i ? a.remove(e) : a.set(e, g(i)), t) : a.get(e); }, find: function (t, i, n) { var r, s, o, a, l, c = 0, d = e.length; for (null == n ? (n = 1 / 0) : (n *= n), c = 0; c < d; ++c) (o = (r = t - (a = e[c]).x) * r + (s = i - a.y) * s) < n && ((l = a), (n = o)); return l; }, on: function (e, i) { return arguments.length > 1 ? (c.on(e, i), t) : c.on(e); }, }) ); } function Xa() { var e, t, i, n, r = Oa(-30), s = 1, o = 1 / 0, a = 0.81; function l(n) { var r, s = e.length, o = Wa(e, Ga, Za).visitAfter(d); for (i = n, r = 0; r < s; ++r) (t = e[r]), o.visit(h); } function c() { if (e) { var t, i, s = e.length; for (n = new Array(s), t = 0; t < s; ++t) (i = e[t]), (n[i.index] = +r(i, t, e)); } } function d(e) { var t, i, r, s, o, a = 0, l = 0; if (e.length) { for (r = s = o = 0; o < 4; ++o) (t = e[o]) && (i = Math.abs(t.value)) && ((a += t.value), (l += i), (r += i * t.x), (s += i * t.y)); (e.x = r / l), (e.y = s / l); } else { ((t = e).x = t.data.x), (t.y = t.data.y); do { a += n[t.data.index]; } while ((t = t.next)); } e.value = a; } function h(e, r, l, c) { if (!e.value) return !0; var d = e.x - t.x, h = e.y - t.y, u = c - r, g = d * d + h * h; if ((u * u) / a < g) return ( g < o && (0 === d && (g += (d = Aa()) * d), 0 === h && (g += (h = Aa()) * h), g < s && (g = Math.sqrt(s * g)), (t.vx += (d * e.value * i) / g), (t.vy += (h * e.value * i) / g)), !0 ); if (!(e.length || g >= o)) { (e.data !== t || e.next) && (0 === d && (g += (d = Aa()) * d), 0 === h && (g += (h = Aa()) * h), g < s && (g = Math.sqrt(s * g))); do { e.data !== t && ((u = (n[e.data.index] * i) / g), (t.vx += d * u), (t.vy += h * u)); } while ((e = e.next)); } } return ( (l.initialize = function (t) { (e = t), c(); }), (l.strength = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : Oa(+e)), c(), l) : r; }), (l.distanceMin = function (e) { return arguments.length ? ((s = e * e), l) : Math.sqrt(s); }), (l.distanceMax = function (e) { return arguments.length ? ((o = e * e), l) : Math.sqrt(o); }), (l.theta = function (e) { return arguments.length ? ((a = e * e), l) : Math.sqrt(a); }), l ); } function el(e, t, i) { var n, r, s, o = Oa(0.1); function a(e) { for (var o = 0, a = n.length; o < a; ++o) { var l = n[o], c = l.x - t || 1e-6, d = l.y - i || 1e-6, h = Math.sqrt(c * c + d * d), u = ((s[o] - h) * r[o] * e) / h; (l.vx += c * u), (l.vy += d * u); } } function l() { if (n) { var t, i = n.length; for (r = new Array(i), s = new Array(i), t = 0; t < i; ++t) (s[t] = +e(n[t], t, n)), (r[t] = isNaN(s[t]) ? 0 : +o(n[t], t, n)); } } return ( 'function' != typeof e && (e = Oa(+e)), null == t && (t = 0), null == i && (i = 0), (a.initialize = function (e) { (n = e), l(); }), (a.strength = function (e) { return arguments.length ? ((o = 'function' == typeof e ? e : Oa(+e)), l(), a) : o; }), (a.radius = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : Oa(+t)), l(), a) : e; }), (a.x = function (e) { return arguments.length ? ((t = +e), a) : t; }), (a.y = function (e) { return arguments.length ? ((i = +e), a) : i; }), a ); } function tl(e) { var t, i, n, r = Oa(0.1); function s(e) { for (var r, s = 0, o = t.length; s < o; ++s) (r = t[s]).vx += (n[s] - r.x) * i[s] * e; } function o() { if (t) { var s, o = t.length; for (i = new Array(o), n = new Array(o), s = 0; s < o; ++s) i[s] = isNaN((n[s] = +e(t[s], s, t))) ? 0 : +r(t[s], s, t); } } return ( 'function' != typeof e && (e = Oa(null == e ? 0 : +e)), (s.initialize = function (e) { (t = e), o(); }), (s.strength = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : Oa(+e)), o(), s) : r; }), (s.x = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : Oa(+t)), o(), s) : e; }), s ); } function il(e) { var t, i, n, r = Oa(0.1); function s(e) { for (var r, s = 0, o = t.length; s < o; ++s) (r = t[s]).vy += (n[s] - r.y) * i[s] * e; } function o() { if (t) { var s, o = t.length; for (i = new Array(o), n = new Array(o), s = 0; s < o; ++s) i[s] = isNaN((n[s] = +e(t[s], s, t))) ? 0 : +r(t[s], s, t); } } return ( 'function' != typeof e && (e = Oa(null == e ? 0 : +e)), (s.initialize = function (e) { (t = e), o(); }), (s.strength = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : Oa(+e)), o(), s) : r; }), (s.y = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : Oa(+t)), o(), s) : e; }), s ); } function nl(e, t) { if ( (i = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf( 'e' )) < 0 ) return null; var i, n = e.slice(0, i); return [n.length > 1 ? n[0] + n.slice(2) : n, +e.slice(i + 1)]; } function rl(e) { return (e = nl(Math.abs(e))) ? e[1] : NaN; } var sl, ol = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; function al(e) { if (!(t = ol.exec(e))) throw new Error('invalid format: ' + e); var t; return new ll({ fill: t[1], align: t[2], sign: t[3], symbol: t[4], zero: t[5], width: t[6], comma: t[7], precision: t[8] && t[8].slice(1), trim: t[9], type: t[10], }); } function ll(e) { (this.fill = void 0 === e.fill ? ' ' : e.fill + ''), (this.align = void 0 === e.align ? '>' : e.align + ''), (this.sign = void 0 === e.sign ? '-' : e.sign + ''), (this.symbol = void 0 === e.symbol ? '' : e.symbol + ''), (this.zero = !!e.zero), (this.width = void 0 === e.width ? void 0 : +e.width), (this.comma = !!e.comma), (this.precision = void 0 === e.precision ? void 0 : +e.precision), (this.trim = !!e.trim), (this.type = void 0 === e.type ? '' : e.type + ''); } function cl(e, t) { var i = nl(e, t); if (!i) return e + ''; var n = i[0], r = i[1]; return r < 0 ? '0.' + new Array(-r).join('0') + n : n.length > r + 1 ? n.slice(0, r + 1) + '.' + n.slice(r + 1) : n + new Array(r - n.length + 2).join('0'); } (al.prototype = ll.prototype), (ll.prototype.toString = function () { return ( this.fill + this.align + this.sign + this.symbol + (this.zero ? '0' : '') + (void 0 === this.width ? '' : Math.max(1, 0 | this.width)) + (this.comma ? ',' : '') + (void 0 === this.precision ? '' : '.' + Math.max(0, 0 | this.precision)) + (this.trim ? '~' : '') + this.type ); }); const dl = { '%': function (e, t) { return (100 * e).toFixed(t); }, b: function (e) { return Math.round(e).toString(2); }, c: function (e) { return e + ''; }, d: function (e) { return Math.round(e).toString(10); }, e: function (e, t) { return e.toExponential(t); }, f: function (e, t) { return e.toFixed(t); }, g: function (e, t) { return e.toPrecision(t); }, o: function (e) { return Math.round(e).toString(8); }, p: function (e, t) { return cl(100 * e, t); }, r: cl, s: function (e, t) { var i = nl(e, t); if (!i) return e + ''; var n = i[0], r = i[1], s = r - (sl = 3 * Math.max(-8, Math.min(8, Math.floor(r / 3)))) + 1, o = n.length; return s === o ? n : s > o ? n + new Array(s - o + 1).join('0') : s > 0 ? n.slice(0, s) + '.' + n.slice(s) : '0.' + new Array(1 - s).join('0') + nl(e, Math.max(0, t + s - 1))[0]; }, X: function (e) { return Math.round(e).toString(16).toUpperCase(); }, x: function (e) { return Math.round(e).toString(16); }, }; function hl(e) { return e; } var ul, gl, fl, pl = Array.prototype.map, ml = [ 'y', 'z', 'a', 'f', 'p', 'n', 'µ', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', ]; function _l(e) { var t, i, n = void 0 === e.grouping || void 0 === e.thousands ? hl : ((t = pl.call(e.grouping, Number)), (i = e.thousands + ''), function (e, n) { for ( var r = e.length, s = [], o = 0, a = t[0], l = 0; r > 0 && a > 0 && (l + a + 1 > n && (a = Math.max(1, n - l)), s.push(e.substring((r -= a), r + a)), !((l += a + 1) > n)); ) a = t[(o = (o + 1) % t.length)]; return s.reverse().join(i); }), r = void 0 === e.currency ? '' : e.currency[0] + '', s = void 0 === e.currency ? '' : e.currency[1] + '', o = void 0 === e.decimal ? '.' : e.decimal + '', a = void 0 === e.numerals ? hl : (function (e) { return function (t) { return t.replace(/[0-9]/g, function (t) { return e[+t]; }); }; })(pl.call(e.numerals, String)), l = void 0 === e.percent ? '%' : e.percent + '', c = void 0 === e.minus ? '-' : e.minus + '', d = void 0 === e.nan ? 'NaN' : e.nan + ''; function h(e) { var t = (e = al(e)).fill, i = e.align, h = e.sign, u = e.symbol, g = e.zero, f = e.width, p = e.comma, m = e.precision, _ = e.trim, b = e.type; 'n' === b ? ((p = !0), (b = 'g')) : dl[b] || (void 0 === m && (m = 12), (_ = !0), (b = 'g')), (g || ('0' === t && '=' === i)) && ((g = !0), (t = '0'), (i = '=')); var v = '$' === u ? r : '#' === u && /[boxX]/.test(b) ? '0' + b.toLowerCase() : '', y = '$' === u ? s : /[%p]/.test(b) ? l : '', w = dl[b], C = /[defgprs%]/.test(b); function S(e) { var r, s, l, u = v, S = y; if ('c' === b) (S = w(e) + S), (e = ''); else { var k = (e = +e) < 0; if ( ((e = isNaN(e) ? d : w(Math.abs(e), m)), _ && (e = (function (e) { e: for (var t, i = e.length, n = 1, r = -1; n < i; ++n) switch (e[n]) { case '.': r = t = n; break; case '0': 0 === r && (r = n), (t = n); break; default: if (r > 0) { if (!+e[n]) break e; r = 0; } } return r > 0 ? e.slice(0, r) + e.slice(t + 1) : e; })(e)), k && 0 == +e && (k = !1), (u = (k ? '(' === h ? h : c : '-' === h || '(' === h ? '' : h) + u), (S = ('s' === b ? ml[8 + sl / 3] : '') + S + (k && '(' === h ? ')' : '')), C) ) for (r = -1, s = e.length; ++r < s; ) if (48 > (l = e.charCodeAt(r)) || l > 57) { (S = (46 === l ? o + e.slice(r + 1) : e.slice(r)) + S), (e = e.slice(0, r)); break; } } p && !g && (e = n(e, 1 / 0)); var x = u.length + e.length + S.length, L = x < f ? new Array(f - x + 1).join(t) : ''; switch ( (p && g && ((e = n(L + e, L.length ? f - S.length : 1 / 0)), (L = '')), i) ) { case '<': e = u + e + S + L; break; case '=': e = u + L + e + S; break; case '^': e = L.slice(0, (x = L.length >> 1)) + u + e + S + L.slice(x); break; default: e = L + u + e + S; } return a(e); } return ( (m = void 0 === m ? 6 : /[gprs]/.test(b) ? Math.max(1, Math.min(21, m)) : Math.max(0, Math.min(20, m))), (S.toString = function () { return e + ''; }), S ); } return { format: h, formatPrefix: function (e, t) { var i = h((((e = al(e)).type = 'f'), e)), n = 3 * Math.max(-8, Math.min(8, Math.floor(rl(t) / 3))), r = Math.pow(10, -n), s = ml[8 + n / 3]; return function (e) { return i(r * e) + s; }; }, }; } function bl(e) { return (ul = _l(e)), (gl = ul.format), (fl = ul.formatPrefix), ul; } function vl(e) { return Math.max(0, -rl(Math.abs(e))); } function yl(e, t) { return Math.max( 0, 3 * Math.max(-8, Math.min(8, Math.floor(rl(t) / 3))) - rl(Math.abs(e)) ); } function wl(e, t) { return ( (e = Math.abs(e)), (t = Math.abs(t) - e), Math.max(0, rl(t) - rl(e)) + 1 ); } function Cl() { return new Sl(); } function Sl() { this.reset(); } bl({ decimal: '.', thousands: ',', grouping: [3], currency: ['$', ''], minus: '-', }), (Sl.prototype = { constructor: Sl, reset: function () { this.s = this.t = 0; }, add: function (e) { xl(kl, e, this.t), xl(this, kl.s, this.s), this.s ? (this.t += kl.t) : (this.s = kl.t); }, valueOf: function () { return this.s; }, }); var kl = new Sl(); function xl(e, t, i) { var n = (e.s = t + i), r = n - t, s = n - r; e.t = t - s + (i - r); } var Ll = 1e-6, Ml = 1e-12, Dl = Math.PI, Nl = Dl / 2, El = Dl / 4, Tl = 2 * Dl, Il = 180 / Dl, Ol = Dl / 180, Al = Math.abs, Rl = Math.atan, Pl = Math.atan2, Fl = Math.cos, Bl = Math.ceil, Wl = Math.exp, Yl = (Math.floor, Math.log), Hl = Math.pow, jl = Math.sin, Vl = Math.sign || function (e) { return e > 0 ? 1 : e < 0 ? -1 : 0; }, zl = Math.sqrt, Ul = Math.tan; function $l(e) { return e > 1 ? 0 : e < -1 ? Dl : Math.acos(e); } function Kl(e) { return e > 1 ? Nl : e < -1 ? -Nl : Math.asin(e); } function ql(e) { return (e = jl(e / 2)) * e; } function Gl() {} function Zl(e, t) { e && Ql.hasOwnProperty(e.type) && Ql[e.type](e, t); } var Jl = { Feature: function (e, t) { Zl(e.geometry, t); }, FeatureCollection: function (e, t) { for (var i = e.features, n = -1, r = i.length; ++n < r; ) Zl(i[n].geometry, t); }, }, Ql = { Sphere: function (e, t) { t.sphere(); }, Point: function (e, t) { (e = e.coordinates), t.point(e[0], e[1], e[2]); }, MultiPoint: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) (e = i[n]), t.point(e[0], e[1], e[2]); }, LineString: function (e, t) { Xl(e.coordinates, t, 0); }, MultiLineString: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) Xl(i[n], t, 0); }, Polygon: function (e, t) { ec(e.coordinates, t); }, MultiPolygon: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) ec(i[n], t); }, GeometryCollection: function (e, t) { for (var i = e.geometries, n = -1, r = i.length; ++n < r; ) Zl(i[n], t); }, }; function Xl(e, t, i) { var n, r = -1, s = e.length - i; for (t.lineStart(); ++r < s; ) (n = e[r]), t.point(n[0], n[1], n[2]); t.lineEnd(); } function ec(e, t) { var i = -1, n = e.length; for (t.polygonStart(); ++i < n; ) Xl(e[i], t, 1); t.polygonEnd(); } function tc(e, t) { e && Jl.hasOwnProperty(e.type) ? Jl[e.type](e, t) : Zl(e, t); } var ic, nc, rc, sc, oc, ac = Cl(), lc = Cl(), cc = { point: Gl, lineStart: Gl, lineEnd: Gl, polygonStart: function () { ac.reset(), (cc.lineStart = dc), (cc.lineEnd = hc); }, polygonEnd: function () { var e = +ac; lc.add(e < 0 ? Tl + e : e), (this.lineStart = this.lineEnd = this.point = Gl); }, sphere: function () { lc.add(Tl); }, }; function dc() { cc.point = uc; } function hc() { gc(ic, nc); } function uc(e, t) { (cc.point = gc), (ic = e), (nc = t), (rc = e *= Ol), (sc = Fl((t = (t *= Ol) / 2 + El))), (oc = jl(t)); } function gc(e, t) { var i = (e *= Ol) - rc, n = i >= 0 ? 1 : -1, r = n * i, s = Fl((t = (t *= Ol) / 2 + El)), o = jl(t), a = oc * o, l = sc * s + a * Fl(r), c = a * n * jl(r); ac.add(Pl(c, l)), (rc = e), (sc = s), (oc = o); } function fc(e) { return lc.reset(), tc(e, cc), 2 * lc; } function pc(e) { return [Pl(e[1], e[0]), Kl(e[2])]; } function mc(e) { var t = e[0], i = e[1], n = Fl(i); return [n * Fl(t), n * jl(t), jl(i)]; } function _c(e, t) { return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]; } function bc(e, t) { return [ e[1] * t[2] - e[2] * t[1], e[2] * t[0] - e[0] * t[2], e[0] * t[1] - e[1] * t[0], ]; } function vc(e, t) { (e[0] += t[0]), (e[1] += t[1]), (e[2] += t[2]); } function yc(e, t) { return [e[0] * t, e[1] * t, e[2] * t]; } function wc(e) { var t = zl(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]); (e[0] /= t), (e[1] /= t), (e[2] /= t); } var Cc, Sc, kc, xc, Lc, Mc, Dc, Nc, Ec, Tc, Ic, Oc, Ac, Rc, Pc, Fc, Bc, Wc, Yc, Hc, jc, Vc, zc, Uc, $c, Kc, qc = Cl(), Gc = { point: Zc, lineStart: Qc, lineEnd: Xc, polygonStart: function () { (Gc.point = ed), (Gc.lineStart = td), (Gc.lineEnd = id), qc.reset(), cc.polygonStart(); }, polygonEnd: function () { cc.polygonEnd(), (Gc.point = Zc), (Gc.lineStart = Qc), (Gc.lineEnd = Xc), ac < 0 ? ((Cc = -(kc = 180)), (Sc = -(xc = 90))) : qc > Ll ? (xc = 90) : qc < -1e-6 && (Sc = -90), (Tc[0] = Cc), (Tc[1] = kc); }, sphere: function () { (Cc = -(kc = 180)), (Sc = -(xc = 90)); }, }; function Zc(e, t) { Ec.push((Tc = [(Cc = e), (kc = e)])), t < Sc && (Sc = t), t > xc && (xc = t); } function Jc(e, t) { var i = mc([e * Ol, t * Ol]); if (Nc) { var n = bc(Nc, i), r = bc([n[1], -n[0], 0], n); wc(r), (r = pc(r)); var s, o = e - Lc, a = o > 0 ? 1 : -1, l = r[0] * Il * a, c = Al(o) > 180; c ^ (a * Lc < l && l < a * e) ? (s = r[1] * Il) > xc && (xc = s) : c ^ (a * Lc < (l = ((l + 360) % 360) - 180) && l < a * e) ? (s = -r[1] * Il) < Sc && (Sc = s) : (t < Sc && (Sc = t), t > xc && (xc = t)), c ? e < Lc ? nd(Cc, e) > nd(Cc, kc) && (kc = e) : nd(e, kc) > nd(Cc, kc) && (Cc = e) : kc >= Cc ? (e < Cc && (Cc = e), e > kc && (kc = e)) : e > Lc ? nd(Cc, e) > nd(Cc, kc) && (kc = e) : nd(e, kc) > nd(Cc, kc) && (Cc = e); } else Ec.push((Tc = [(Cc = e), (kc = e)])); t < Sc && (Sc = t), t > xc && (xc = t), (Nc = i), (Lc = e); } function Qc() { Gc.point = Jc; } function Xc() { (Tc[0] = Cc), (Tc[1] = kc), (Gc.point = Zc), (Nc = null); } function ed(e, t) { if (Nc) { var i = e - Lc; qc.add(Al(i) > 180 ? i + (i > 0 ? 360 : -360) : i); } else (Mc = e), (Dc = t); cc.point(e, t), Jc(e, t); } function td() { cc.lineStart(); } function id() { ed(Mc, Dc), cc.lineEnd(), Al(qc) > Ll && (Cc = -(kc = 180)), (Tc[0] = Cc), (Tc[1] = kc), (Nc = null); } function nd(e, t) { return (t -= e) < 0 ? t + 360 : t; } function rd(e, t) { return e[0] - t[0]; } function sd(e, t) { return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t; } function od(e) { var t, i, n, r, s, o, a; if ( ((xc = kc = -(Cc = Sc = 1 / 0)), (Ec = []), tc(e, Gc), (i = Ec.length)) ) { for (Ec.sort(rd), t = 1, s = [(n = Ec[0])]; t < i; ++t) sd(n, (r = Ec[t])[0]) || sd(n, r[1]) ? (nd(n[0], r[1]) > nd(n[0], n[1]) && (n[1] = r[1]), nd(r[0], n[1]) > nd(n[0], n[1]) && (n[0] = r[0])) : s.push((n = r)); for ( o = -1 / 0, t = 0, n = s[(i = s.length - 1)]; t <= i; n = r, ++t ) (r = s[t]), (a = nd(n[1], r[0])) > o && ((o = a), (Cc = r[0]), (kc = n[1])); } return ( (Ec = Tc = null), Cc === 1 / 0 || Sc === 1 / 0 ? [ [NaN, NaN], [NaN, NaN], ] : [ [Cc, Sc], [kc, xc], ] ); } var ad = { sphere: Gl, point: ld, lineStart: dd, lineEnd: gd, polygonStart: function () { (ad.lineStart = fd), (ad.lineEnd = pd); }, polygonEnd: function () { (ad.lineStart = dd), (ad.lineEnd = gd); }, }; function ld(e, t) { e *= Ol; var i = Fl((t *= Ol)); cd(i * Fl(e), i * jl(e), jl(t)); } function cd(e, t, i) { ++Ic, (Ac += (e - Ac) / Ic), (Rc += (t - Rc) / Ic), (Pc += (i - Pc) / Ic); } function dd() { ad.point = hd; } function hd(e, t) { e *= Ol; var i = Fl((t *= Ol)); (Uc = i * Fl(e)), ($c = i * jl(e)), (Kc = jl(t)), (ad.point = ud), cd(Uc, $c, Kc); } function ud(e, t) { e *= Ol; var i = Fl((t *= Ol)), n = i * Fl(e), r = i * jl(e), s = jl(t), o = Pl( zl( (o = $c * s - Kc * r) * o + (o = Kc * n - Uc * s) * o + (o = Uc * r - $c * n) * o ), Uc * n + $c * r + Kc * s ); (Oc += o), (Fc += o * (Uc + (Uc = n))), (Bc += o * ($c + ($c = r))), (Wc += o * (Kc + (Kc = s))), cd(Uc, $c, Kc); } function gd() { ad.point = ld; } function fd() { ad.point = md; } function pd() { _d(Vc, zc), (ad.point = ld); } function md(e, t) { (Vc = e), (zc = t), (e *= Ol), (t *= Ol), (ad.point = _d); var i = Fl(t); (Uc = i * Fl(e)), ($c = i * jl(e)), (Kc = jl(t)), cd(Uc, $c, Kc); } function _d(e, t) { e *= Ol; var i = Fl((t *= Ol)), n = i * Fl(e), r = i * jl(e), s = jl(t), o = $c * s - Kc * r, a = Kc * n - Uc * s, l = Uc * r - $c * n, c = zl(o * o + a * a + l * l), d = Kl(c), h = c && -d / c; (Yc += h * o), (Hc += h * a), (jc += h * l), (Oc += d), (Fc += d * (Uc + (Uc = n))), (Bc += d * ($c + ($c = r))), (Wc += d * (Kc + (Kc = s))), cd(Uc, $c, Kc); } function bd(e) { (Ic = Oc = Ac = Rc = Pc = Fc = Bc = Wc = Yc = Hc = jc = 0), tc(e, ad); var t = Yc, i = Hc, n = jc, r = t * t + i * i + n * n; return r < Ml && ((t = Fc), (i = Bc), (n = Wc), Oc < Ll && ((t = Ac), (i = Rc), (n = Pc)), (r = t * t + i * i + n * n) < Ml) ? [NaN, NaN] : [Pl(i, t) * Il, Kl(n / zl(r)) * Il]; } function vd(e) { return function () { return e; }; } function yd(e, t) { function i(i, n) { return (i = e(i, n)), t(i[0], i[1]); } return ( e.invert && t.invert && (i.invert = function (i, n) { return (i = t.invert(i, n)) && e.invert(i[0], i[1]); }), i ); } function wd(e, t) { return [Al(e) > Dl ? e + Math.round(-e / Tl) * Tl : e, t]; } function Cd(e, t, i) { return (e %= Tl) ? t || i ? yd(kd(e), xd(t, i)) : kd(e) : t || i ? xd(t, i) : wd; } function Sd(e) { return function (t, i) { return [(t += e) > Dl ? t - Tl : t < -Dl ? t + Tl : t, i]; }; } function kd(e) { var t = Sd(e); return (t.invert = Sd(-e)), t; } function xd(e, t) { var i = Fl(e), n = jl(e), r = Fl(t), s = jl(t); function o(e, t) { var o = Fl(t), a = Fl(e) * o, l = jl(e) * o, c = jl(t), d = c * i + a * n; return [Pl(l * r - d * s, a * i - c * n), Kl(d * r + l * s)]; } return ( (o.invert = function (e, t) { var o = Fl(t), a = Fl(e) * o, l = jl(e) * o, c = jl(t), d = c * r - l * s; return [Pl(l * r + c * s, a * i + d * n), Kl(d * i - a * n)]; }), o ); } function Ld(e) { function t(t) { return ((t = e(t[0] * Ol, t[1] * Ol))[0] *= Il), (t[1] *= Il), t; } return ( (e = Cd(e[0] * Ol, e[1] * Ol, e.length > 2 ? e[2] * Ol : 0)), (t.invert = function (t) { return ( ((t = e.invert(t[0] * Ol, t[1] * Ol))[0] *= Il), (t[1] *= Il), t ); }), t ); } function Md(e, t, i, n, r, s) { if (i) { var o = Fl(t), a = jl(t), l = n * i; null == r ? ((r = t + n * Tl), (s = t - l / 2)) : ((r = Dd(o, r)), (s = Dd(o, s)), (n > 0 ? r < s : r > s) && (r += n * Tl)); for (var c, d = r; n > 0 ? d > s : d < s; d -= l) (c = pc([o, -a * Fl(d), -a * jl(d)])), e.point(c[0], c[1]); } } function Dd(e, t) { ((t = mc(t))[0] -= e), wc(t); var i = $l(-t[1]); return ((-t[2] < 0 ? -i : i) + Tl - Ll) % Tl; } function Nd() { var e, t, i = vd([0, 0]), n = vd(90), r = vd(6), s = { point: function (i, n) { e.push((i = t(i, n))), (i[0] *= Il), (i[1] *= Il); }, }; function o() { var o = i.apply(this, arguments), a = n.apply(this, arguments) * Ol, l = r.apply(this, arguments) * Ol; return ( (e = []), (t = Cd(-o[0] * Ol, -o[1] * Ol, 0).invert), Md(s, a, l, 1), (o = { type: 'Polygon', coordinates: [e] }), (e = t = null), o ); } return ( (o.center = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : vd([+e[0], +e[1]])), o) : i; }), (o.radius = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : vd(+e)), o) : n; }), (o.precision = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : vd(+e)), o) : r; }), o ); } function Ed() { var e, t = []; return { point: function (t, i) { e.push([t, i]); }, lineStart: function () { t.push((e = [])); }, lineEnd: Gl, rejoin: function () { t.length > 1 && t.push(t.pop().concat(t.shift())); }, result: function () { var i = t; return (t = []), (e = null), i; }, }; } function Td(e, t) { return Al(e[0] - t[0]) < Ll && Al(e[1] - t[1]) < Ll; } function Id(e, t, i, n) { (this.x = e), (this.z = t), (this.o = i), (this.e = n), (this.v = !1), (this.n = this.p = null); } function Od(e, t, i, n, r) { var s, o, a = [], l = []; if ( (e.forEach(function (e) { if (!((t = e.length - 1) <= 0)) { var t, i, n = e[0], o = e[t]; if (Td(n, o)) { for (r.lineStart(), s = 0; s < t; ++s) r.point((n = e[s])[0], n[1]); r.lineEnd(); } else a.push((i = new Id(n, e, null, !0))), l.push((i.o = new Id(n, null, i, !1))), a.push((i = new Id(o, e, null, !1))), l.push((i.o = new Id(o, null, i, !0))); } }), a.length) ) { for (l.sort(t), Ad(a), Ad(l), s = 0, o = l.length; s < o; ++s) l[s].e = i = !i; for (var c, d, h = a[0]; ; ) { for (var u = h, g = !0; u.v; ) if ((u = u.n) === h) return; (c = u.z), r.lineStart(); do { if (((u.v = u.o.v = !0), u.e)) { if (g) for (s = 0, o = c.length; s < o; ++s) r.point((d = c[s])[0], d[1]); else n(u.x, u.n.x, 1, r); u = u.n; } else { if (g) for (c = u.p.z, s = c.length - 1; s >= 0; --s) r.point((d = c[s])[0], d[1]); else n(u.x, u.p.x, -1, r); u = u.p; } (c = (u = u.o).z), (g = !g); } while (!u.v); r.lineEnd(); } } } function Ad(e) { if ((t = e.length)) { for (var t, i, n = 0, r = e[0]; ++n < t; ) (r.n = i = e[n]), (i.p = r), (r = i); (r.n = i = e[0]), (i.p = r); } } wd.invert = wd; var Rd = Cl(); function Pd(e) { return Al(e[0]) <= Dl ? e[0] : Vl(e[0]) * (((Al(e[0]) + Dl) % Tl) - Dl); } function Fd(e, t) { var i = Pd(t), n = t[1], r = jl(n), s = [jl(i), -Fl(i), 0], o = 0, a = 0; Rd.reset(), 1 === r ? (n = Nl + Ll) : -1 === r && (n = -Nl - Ll); for (var l = 0, c = e.length; l < c; ++l) if ((h = (d = e[l]).length)) for ( var d, h, u = d[h - 1], g = Pd(u), f = u[1] / 2 + El, p = jl(f), m = Fl(f), _ = 0; _ < h; ++_, g = v, p = w, m = C, u = b ) { var b = d[_], v = Pd(b), y = b[1] / 2 + El, w = jl(y), C = Fl(y), S = v - g, k = S >= 0 ? 1 : -1, x = k * S, L = x > Dl, M = p * w; if ( (Rd.add(Pl(M * k * jl(x), m * C + M * Fl(x))), (o += L ? S + k * Tl : S), L ^ (g >= i) ^ (v >= i)) ) { var D = bc(mc(u), mc(b)); wc(D); var N = bc(s, D); wc(N); var E = (L ^ (S >= 0) ? -1 : 1) * Kl(N[2]); (n > E || (n === E && (D[0] || D[1]))) && (a += L ^ (S >= 0) ? 1 : -1); } } return (o < -1e-6 || (o < Ll && Rd < -1e-6)) ^ (1 & a); } function Bd(e, t, i, n) { return function (r) { var s, o, a, l = t(r), c = Ed(), d = t(c), h = !1, u = { point: g, lineStart: p, lineEnd: m, polygonStart: function () { (u.point = _), (u.lineStart = b), (u.lineEnd = v), (o = []), (s = []); }, polygonEnd: function () { (u.point = g), (u.lineStart = p), (u.lineEnd = m), (o = B(o)); var e = Fd(s, n); o.length ? (h || (r.polygonStart(), (h = !0)), Od(o, Yd, e, i, r)) : e && (h || (r.polygonStart(), (h = !0)), r.lineStart(), i(null, null, 1, r), r.lineEnd()), h && (r.polygonEnd(), (h = !1)), (o = s = null); }, sphere: function () { r.polygonStart(), r.lineStart(), i(null, null, 1, r), r.lineEnd(), r.polygonEnd(); }, }; function g(t, i) { e(t, i) && r.point(t, i); } function f(e, t) { l.point(e, t); } function p() { (u.point = f), l.lineStart(); } function m() { (u.point = g), l.lineEnd(); } function _(e, t) { a.push([e, t]), d.point(e, t); } function b() { d.lineStart(), (a = []); } function v() { _(a[0][0], a[0][1]), d.lineEnd(); var e, t, i, n, l = d.clean(), u = c.result(), g = u.length; if ((a.pop(), s.push(a), (a = null), g)) if (1 & l) { if ((t = (i = u[0]).length - 1) > 0) { for ( h || (r.polygonStart(), (h = !0)), r.lineStart(), e = 0; e < t; ++e ) r.point((n = i[e])[0], n[1]); r.lineEnd(); } } else g > 1 && 2 & l && u.push(u.pop().concat(u.shift())), o.push(u.filter(Wd)); } return u; }; } function Wd(e) { return e.length > 1; } function Yd(e, t) { return ( ((e = e.x)[0] < 0 ? e[1] - Nl - Ll : Nl - e[1]) - ((t = t.x)[0] < 0 ? t[1] - Nl - Ll : Nl - t[1]) ); } const Hd = Bd( function () { return !0; }, function (e) { var t, i = NaN, n = NaN, r = NaN; return { lineStart: function () { e.lineStart(), (t = 1); }, point: function (s, o) { var a = s > 0 ? Dl : -Dl, l = Al(s - i); Al(l - Dl) < Ll ? (e.point(i, (n = (n + o) / 2 > 0 ? Nl : -Nl)), e.point(r, n), e.lineEnd(), e.lineStart(), e.point(a, n), e.point(s, n), (t = 0)) : r !== a && l >= Dl && (Al(i - r) < Ll && (i -= r * Ll), Al(s - a) < Ll && (s -= a * Ll), (n = (function (e, t, i, n) { var r, s, o = jl(e - i); return Al(o) > Ll ? Rl( (jl(t) * (s = Fl(n)) * jl(i) - jl(n) * (r = Fl(t)) * jl(e)) / (r * s * o) ) : (t + n) / 2; })(i, n, s, o)), e.point(r, n), e.lineEnd(), e.lineStart(), e.point(a, n), (t = 0)), e.point((i = s), (n = o)), (r = a); }, lineEnd: function () { e.lineEnd(), (i = n = NaN); }, clean: function () { return 2 - t; }, }; }, function (e, t, i, n) { var r; if (null == e) (r = i * Nl), n.point(-Dl, r), n.point(0, r), n.point(Dl, r), n.point(Dl, 0), n.point(Dl, -r), n.point(0, -r), n.point(-Dl, -r), n.point(-Dl, 0), n.point(-Dl, r); else if (Al(e[0] - t[0]) > Ll) { var s = e[0] < t[0] ? Dl : -Dl; (r = (i * s) / 2), n.point(-s, r), n.point(0, r), n.point(s, r); } else n.point(t[0], t[1]); }, [-Dl, -Nl] ); function jd(e) { var t = Fl(e), i = 6 * Ol, n = t > 0, r = Al(t) > Ll; function s(e, i) { return Fl(e) * Fl(i) > t; } function o(e, i, n) { var r = [1, 0, 0], s = bc(mc(e), mc(i)), o = _c(s, s), a = s[0], l = o - a * a; if (!l) return !n && e; var c = (t * o) / l, d = (-t * a) / l, h = bc(r, s), u = yc(r, c); vc(u, yc(s, d)); var g = h, f = _c(u, g), p = _c(g, g), m = f * f - p * (_c(u, u) - 1); if (!(m < 0)) { var _ = zl(m), b = yc(g, (-f - _) / p); if ((vc(b, u), (b = pc(b)), !n)) return b; var v, y = e[0], w = i[0], C = e[1], S = i[1]; w < y && ((v = y), (y = w), (w = v)); var k = w - y, x = Al(k - Dl) < Ll; if ( (!x && S < C && ((v = C), (C = S), (S = v)), x || k < Ll ? x ? (C + S > 0) ^ (b[1] < (Al(b[0] - y) < Ll ? C : S)) : C <= b[1] && b[1] <= S : (k > Dl) ^ (y <= b[0] && b[0] <= w)) ) { var L = yc(g, (-f + _) / p); return vc(L, u), [b, pc(L)]; } } } function a(t, i) { var r = n ? e : Dl - e, s = 0; return ( t < -r ? (s |= 1) : t > r && (s |= 2), i < -r ? (s |= 4) : i > r && (s |= 8), s ); } return Bd( s, function (e) { var t, i, l, c, d; return { lineStart: function () { (c = l = !1), (d = 1); }, point: function (h, u) { var g, f = [h, u], p = s(h, u), m = n ? p ? 0 : a(h, u) : p ? a(h + (h < 0 ? Dl : -Dl), u) : 0; if ( (!t && (c = l = p) && e.lineStart(), p !== l && (!(g = o(t, f)) || Td(t, g) || Td(f, g)) && ((f[0] += Ll), (f[1] += Ll), (p = s(f[0], f[1]))), p !== l) ) (d = 0), p ? (e.lineStart(), (g = o(f, t)), e.point(g[0], g[1])) : ((g = o(t, f)), e.point(g[0], g[1]), e.lineEnd()), (t = g); else if (r && t && n ^ p) { var _; m & i || !(_ = o(f, t, !0)) || ((d = 0), n ? (e.lineStart(), e.point(_[0][0], _[0][1]), e.point(_[1][0], _[1][1]), e.lineEnd()) : (e.point(_[1][0], _[1][1]), e.lineEnd(), e.lineStart(), e.point(_[0][0], _[0][1]))); } !p || (t && Td(t, f)) || e.point(f[0], f[1]), (t = f), (l = p), (i = m); }, lineEnd: function () { l && e.lineEnd(), (t = null); }, clean: function () { return d | ((c && l) << 1); }, }; }, function (t, n, r, s) { Md(s, e, i, r, t, n); }, n ? [0, -e] : [-Dl, e - Dl] ); } var Vd = 1e9, zd = -Vd; function Ud(e, t, i, n) { function r(r, s) { return e <= r && r <= i && t <= s && s <= n; } function s(r, s, a, c) { var d = 0, h = 0; if ( null == r || (d = o(r, a)) !== (h = o(s, a)) || (l(r, s) < 0) ^ (a > 0) ) do { c.point(0 === d || 3 === d ? e : i, d > 1 ? n : t); } while ((d = (d + a + 4) % 4) !== h); else c.point(s[0], s[1]); } function o(n, r) { return Al(n[0] - e) < Ll ? r > 0 ? 0 : 3 : Al(n[0] - i) < Ll ? r > 0 ? 2 : 1 : Al(n[1] - t) < Ll ? r > 0 ? 1 : 0 : r > 0 ? 3 : 2; } function a(e, t) { return l(e.x, t.x); } function l(e, t) { var i = o(e, 1), n = o(t, 1); return i !== n ? i - n : 0 === i ? t[1] - e[1] : 1 === i ? e[0] - t[0] : 2 === i ? e[1] - t[1] : t[0] - e[0]; } return function (o) { var l, c, d, h, u, g, f, p, m, _, b, v = o, y = Ed(), w = { point: C, lineStart: function () { (w.point = S), c && c.push((d = [])), (_ = !0), (m = !1), (f = p = NaN); }, lineEnd: function () { l && (S(h, u), g && m && y.rejoin(), l.push(y.result())), (w.point = C), m && v.lineEnd(); }, polygonStart: function () { (v = y), (l = []), (c = []), (b = !0); }, polygonEnd: function () { var t = (function () { for (var t = 0, i = 0, r = c.length; i < r; ++i) for ( var s, o, a = c[i], l = 1, d = a.length, h = a[0], u = h[0], g = h[1]; l < d; ++l ) (s = u), (o = g), (u = (h = a[l])[0]), (g = h[1]), o <= n ? g > n && (u - s) * (n - o) > (g - o) * (e - s) && ++t : g <= n && (u - s) * (n - o) < (g - o) * (e - s) && --t; return t; })(), i = b && t, r = (l = B(l)).length; (i || r) && (o.polygonStart(), i && (o.lineStart(), s(null, null, 1, o), o.lineEnd()), r && Od(l, a, t, s, o), o.polygonEnd()), (v = o), (l = c = d = null); }, }; function C(e, t) { r(e, t) && v.point(e, t); } function S(s, o) { var a = r(s, o); if ((c && d.push([s, o]), _)) (h = s), (u = o), (g = a), (_ = !1), a && (v.lineStart(), v.point(s, o)); else if (a && m) v.point(s, o); else { var l = [ (f = Math.max(zd, Math.min(Vd, f))), (p = Math.max(zd, Math.min(Vd, p))), ], y = [ (s = Math.max(zd, Math.min(Vd, s))), (o = Math.max(zd, Math.min(Vd, o))), ]; !(function (e, t, i, n, r, s) { var o, a = e[0], l = e[1], c = 0, d = 1, h = t[0] - a, u = t[1] - l; if (((o = i - a), h || !(o > 0))) { if (((o /= h), h < 0)) { if (o < c) return; o < d && (d = o); } else if (h > 0) { if (o > d) return; o > c && (c = o); } if (((o = r - a), h || !(o < 0))) { if (((o /= h), h < 0)) { if (o > d) return; o > c && (c = o); } else if (h > 0) { if (o < c) return; o < d && (d = o); } if (((o = n - l), u || !(o > 0))) { if (((o /= u), u < 0)) { if (o < c) return; o < d && (d = o); } else if (u > 0) { if (o > d) return; o > c && (c = o); } if (((o = s - l), u || !(o < 0))) { if (((o /= u), u < 0)) { if (o > d) return; o > c && (c = o); } else if (u > 0) { if (o < c) return; o < d && (d = o); } return ( c > 0 && ((e[0] = a + c * h), (e[1] = l + c * u)), d < 1 && ((t[0] = a + d * h), (t[1] = l + d * u)), !0 ); } } } } })(l, y, e, t, i, n) ? a && (v.lineStart(), v.point(s, o), (b = !1)) : (m || (v.lineStart(), v.point(l[0], l[1])), v.point(y[0], y[1]), a || v.lineEnd(), (b = !1)); } (f = s), (p = o), (m = a); } return w; }; } function $d() { var e, t, i, n = 0, r = 0, s = 960, o = 500; return (i = { stream: function (i) { return e && t === i ? e : (e = Ud(n, r, s, o)((t = i))); }, extent: function (a) { return arguments.length ? ((n = +a[0][0]), (r = +a[0][1]), (s = +a[1][0]), (o = +a[1][1]), (e = t = null), i) : [ [n, r], [s, o], ]; }, }); } var Kd, qd, Gd, Zd = Cl(), Jd = { sphere: Gl, point: Gl, lineStart: function () { (Jd.point = Xd), (Jd.lineEnd = Qd); }, lineEnd: Gl, polygonStart: Gl, polygonEnd: Gl, }; function Qd() { Jd.point = Jd.lineEnd = Gl; } function Xd(e, t) { (Kd = e *= Ol), (qd = jl((t *= Ol))), (Gd = Fl(t)), (Jd.point = eh); } function eh(e, t) { e *= Ol; var i = jl((t *= Ol)), n = Fl(t), r = Al(e - Kd), s = Fl(r), o = n * jl(r), a = Gd * i - qd * n * s, l = qd * i + Gd * n * s; Zd.add(Pl(zl(o * o + a * a), l)), (Kd = e), (qd = i), (Gd = n); } function th(e) { return Zd.reset(), tc(e, Jd), +Zd; } var ih = [null, null], nh = { type: 'LineString', coordinates: ih }; function rh(e, t) { return (ih[0] = e), (ih[1] = t), th(nh); } var sh = { Feature: function (e, t) { return ah(e.geometry, t); }, FeatureCollection: function (e, t) { for (var i = e.features, n = -1, r = i.length; ++n < r; ) if (ah(i[n].geometry, t)) return !0; return !1; }, }, oh = { Sphere: function () { return !0; }, Point: function (e, t) { return lh(e.coordinates, t); }, MultiPoint: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) if (lh(i[n], t)) return !0; return !1; }, LineString: function (e, t) { return ch(e.coordinates, t); }, MultiLineString: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) if (ch(i[n], t)) return !0; return !1; }, Polygon: function (e, t) { return dh(e.coordinates, t); }, MultiPolygon: function (e, t) { for (var i = e.coordinates, n = -1, r = i.length; ++n < r; ) if (dh(i[n], t)) return !0; return !1; }, GeometryCollection: function (e, t) { for (var i = e.geometries, n = -1, r = i.length; ++n < r; ) if (ah(i[n], t)) return !0; return !1; }, }; function ah(e, t) { return !(!e || !oh.hasOwnProperty(e.type)) && oh[e.type](e, t); } function lh(e, t) { return 0 === rh(e, t); } function ch(e, t) { for (var i, n, r, s = 0, o = e.length; s < o; s++) { if (0 === (n = rh(e[s], t))) return !0; if ( s > 0 && (r = rh(e[s], e[s - 1])) > 0 && i <= r && n <= r && (i + n - r) * (1 - Math.pow((i - n) / r, 2)) < Ml * r ) return !0; i = n; } return !1; } function dh(e, t) { return !!Fd(e.map(hh), uh(t)); } function hh(e) { return (e = e.map(uh)).pop(), e; } function uh(e) { return [e[0] * Ol, e[1] * Ol]; } function gh(e, t) { return (e && sh.hasOwnProperty(e.type) ? sh[e.type] : ah)(e, t); } function fh(e, t, i) { var n = S(e, t - Ll, i).concat(t); return function (e) { return n.map(function (t) { return [e, t]; }); }; } function ph(e, t, i) { var n = S(e, t - Ll, i).concat(t); return function (e) { return n.map(function (t) { return [t, e]; }); }; } function mh() { var e, t, i, n, r, s, o, a, l, c, d, h, u = 10, g = u, f = 90, p = 360, m = 2.5; function _() { return { type: 'MultiLineString', coordinates: b() }; } function b() { return S(Bl(n / f) * f, i, f) .map(d) .concat(S(Bl(a / p) * p, o, p).map(h)) .concat( S(Bl(t / u) * u, e, u) .filter(function (e) { return Al(e % f) > Ll; }) .map(l) ) .concat( S(Bl(s / g) * g, r, g) .filter(function (e) { return Al(e % p) > Ll; }) .map(c) ); } return ( (_.lines = function () { return b().map(function (e) { return { type: 'LineString', coordinates: e }; }); }), (_.outline = function () { return { type: 'Polygon', coordinates: [ d(n).concat( h(o).slice(1), d(i).reverse().slice(1), h(a).reverse().slice(1) ), ], }; }), (_.extent = function (e) { return arguments.length ? _.extentMajor(e).extentMinor(e) : _.extentMinor(); }), (_.extentMajor = function (e) { return arguments.length ? ((n = +e[0][0]), (i = +e[1][0]), (a = +e[0][1]), (o = +e[1][1]), n > i && ((e = n), (n = i), (i = e)), a > o && ((e = a), (a = o), (o = e)), _.precision(m)) : [ [n, a], [i, o], ]; }), (_.extentMinor = function (i) { return arguments.length ? ((t = +i[0][0]), (e = +i[1][0]), (s = +i[0][1]), (r = +i[1][1]), t > e && ((i = t), (t = e), (e = i)), s > r && ((i = s), (s = r), (r = i)), _.precision(m)) : [ [t, s], [e, r], ]; }), (_.step = function (e) { return arguments.length ? _.stepMajor(e).stepMinor(e) : _.stepMinor(); }), (_.stepMajor = function (e) { return arguments.length ? ((f = +e[0]), (p = +e[1]), _) : [f, p]; }), (_.stepMinor = function (e) { return arguments.length ? ((u = +e[0]), (g = +e[1]), _) : [u, g]; }), (_.precision = function (u) { return arguments.length ? ((m = +u), (l = fh(s, r, 90)), (c = ph(t, e, m)), (d = fh(a, o, 90)), (h = ph(n, i, m)), _) : m; }), _.extentMajor([ [-180, -89.999999], [180, 89.999999], ]).extentMinor([ [-180, -80.000001], [180, 80.000001], ]) ); } function _h() { return mh()(); } function bh(e, t) { var i = e[0] * Ol, n = e[1] * Ol, r = t[0] * Ol, s = t[1] * Ol, o = Fl(n), a = jl(n), l = Fl(s), c = jl(s), d = o * Fl(i), h = o * jl(i), u = l * Fl(r), g = l * jl(r), f = 2 * Kl(zl(ql(s - n) + o * l * ql(r - i))), p = jl(f), m = f ? function (e) { var t = jl((e *= f)) / p, i = jl(f - e) / p, n = i * d + t * u, r = i * h + t * g, s = i * a + t * c; return [Pl(r, n) * Il, Pl(s, zl(n * n + r * r)) * Il]; } : function () { return [i * Il, n * Il]; }; return (m.distance = f), m; } function vh(e) { return e; } var yh, wh, Ch, Sh, kh = Cl(), xh = Cl(), Lh = { point: Gl, lineStart: Gl, lineEnd: Gl, polygonStart: function () { (Lh.lineStart = Mh), (Lh.lineEnd = Eh); }, polygonEnd: function () { (Lh.lineStart = Lh.lineEnd = Lh.point = Gl), kh.add(Al(xh)), xh.reset(); }, result: function () { var e = kh / 2; return kh.reset(), e; }, }; function Mh() { Lh.point = Dh; } function Dh(e, t) { (Lh.point = Nh), (yh = Ch = e), (wh = Sh = t); } function Nh(e, t) { xh.add(Sh * e - Ch * t), (Ch = e), (Sh = t); } function Eh() { Nh(yh, wh); } const Th = Lh; var Ih = 1 / 0, Oh = Ih, Ah = -Ih, Rh = Ah; const Ph = { point: function (e, t) { e < Ih && (Ih = e), e > Ah && (Ah = e), t < Oh && (Oh = t), t > Rh && (Rh = t); }, lineStart: Gl, lineEnd: Gl, polygonStart: Gl, polygonEnd: Gl, result: function () { var e = [ [Ih, Oh], [Ah, Rh], ]; return (Ah = Rh = -(Oh = Ih = 1 / 0)), e; }, }; var Fh, Bh, Wh, Yh, Hh = 0, jh = 0, Vh = 0, zh = 0, Uh = 0, $h = 0, Kh = 0, qh = 0, Gh = 0, Zh = { point: Jh, lineStart: Qh, lineEnd: tu, polygonStart: function () { (Zh.lineStart = iu), (Zh.lineEnd = nu); }, polygonEnd: function () { (Zh.point = Jh), (Zh.lineStart = Qh), (Zh.lineEnd = tu); }, result: function () { var e = Gh ? [Kh / Gh, qh / Gh] : $h ? [zh / $h, Uh / $h] : Vh ? [Hh / Vh, jh / Vh] : [NaN, NaN]; return (Hh = jh = Vh = zh = Uh = $h = Kh = qh = Gh = 0), e; }, }; function Jh(e, t) { (Hh += e), (jh += t), ++Vh; } function Qh() { Zh.point = Xh; } function Xh(e, t) { (Zh.point = eu), Jh((Wh = e), (Yh = t)); } function eu(e, t) { var i = e - Wh, n = t - Yh, r = zl(i * i + n * n); (zh += (r * (Wh + e)) / 2), (Uh += (r * (Yh + t)) / 2), ($h += r), Jh((Wh = e), (Yh = t)); } function tu() { Zh.point = Jh; } function iu() { Zh.point = ru; } function nu() { su(Fh, Bh); } function ru(e, t) { (Zh.point = su), Jh((Fh = Wh = e), (Bh = Yh = t)); } function su(e, t) { var i = e - Wh, n = t - Yh, r = zl(i * i + n * n); (zh += (r * (Wh + e)) / 2), (Uh += (r * (Yh + t)) / 2), ($h += r), (Kh += (r = Yh * e - Wh * t) * (Wh + e)), (qh += r * (Yh + t)), (Gh += 3 * r), Jh((Wh = e), (Yh = t)); } const ou = Zh; function au(e) { this._context = e; } au.prototype = { _radius: 4.5, pointRadius: function (e) { return (this._radius = e), this; }, polygonStart: function () { this._line = 0; }, polygonEnd: function () { this._line = NaN; }, lineStart: function () { this._point = 0; }, lineEnd: function () { 0 === this._line && this._context.closePath(), (this._point = NaN); }, point: function (e, t) { switch (this._point) { case 0: this._context.moveTo(e, t), (this._point = 1); break; case 1: this._context.lineTo(e, t); break; default: this._context.moveTo(e + this._radius, t), this._context.arc(e, t, this._radius, 0, Tl); } }, result: Gl, }; var lu, cu, du, hu, uu, gu = Cl(), fu = { point: Gl, lineStart: function () { fu.point = pu; }, lineEnd: function () { lu && mu(cu, du), (fu.point = Gl); }, polygonStart: function () { lu = !0; }, polygonEnd: function () { lu = null; }, result: function () { var e = +gu; return gu.reset(), e; }, }; function pu(e, t) { (fu.point = mu), (cu = hu = e), (du = uu = t); } function mu(e, t) { (hu -= e), (uu -= t), gu.add(zl(hu * hu + uu * uu)), (hu = e), (uu = t); } const _u = fu; function bu() { this._string = []; } function vu(e) { return ( 'm0,' + e + 'a' + e + ',' + e + ' 0 1,1 0,' + -2 * e + 'a' + e + ',' + e + ' 0 1,1 0,' + 2 * e + 'z' ); } function yu(e, t) { var i, n, r = 4.5; function s(e) { return ( e && ('function' == typeof r && n.pointRadius(+r.apply(this, arguments)), tc(e, i(n))), n.result() ); } return ( (s.area = function (e) { return tc(e, i(Th)), Th.result(); }), (s.measure = function (e) { return tc(e, i(_u)), _u.result(); }), (s.bounds = function (e) { return tc(e, i(Ph)), Ph.result(); }), (s.centroid = function (e) { return tc(e, i(ou)), ou.result(); }), (s.projection = function (t) { return arguments.length ? ((i = null == t ? ((e = null), vh) : (e = t).stream), s) : e; }), (s.context = function (e) { return arguments.length ? ((n = null == e ? ((t = null), new bu()) : new au((t = e))), 'function' != typeof r && n.pointRadius(r), s) : t; }), (s.pointRadius = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : (n.pointRadius(+e), +e)), s) : r; }), s.projection(e).context(t) ); } function wu(e) { return { stream: Cu(e) }; } function Cu(e) { return function (t) { var i = new Su(); for (var n in e) i[n] = e[n]; return (i.stream = t), i; }; } function Su() {} function ku(e, t, i) { var n = e.clipExtent && e.clipExtent(); return ( e.scale(150).translate([0, 0]), null != n && e.clipExtent(null), tc(i, e.stream(Ph)), t(Ph.result()), null != n && e.clipExtent(n), e ); } function xu(e, t, i) { return ku( e, function (i) { var n = t[1][0] - t[0][0], r = t[1][1] - t[0][1], s = Math.min(n / (i[1][0] - i[0][0]), r / (i[1][1] - i[0][1])), o = +t[0][0] + (n - s * (i[1][0] + i[0][0])) / 2, a = +t[0][1] + (r - s * (i[1][1] + i[0][1])) / 2; e.scale(150 * s).translate([o, a]); }, i ); } function Lu(e, t, i) { return xu(e, [[0, 0], t], i); } function Mu(e, t, i) { return ku( e, function (i) { var n = +t, r = n / (i[1][0] - i[0][0]), s = (n - r * (i[1][0] + i[0][0])) / 2, o = -r * i[0][1]; e.scale(150 * r).translate([s, o]); }, i ); } function Du(e, t, i) { return ku( e, function (i) { var n = +t, r = n / (i[1][1] - i[0][1]), s = -r * i[0][0], o = (n - r * (i[1][1] + i[0][1])) / 2; e.scale(150 * r).translate([s, o]); }, i ); } (bu.prototype = { _radius: 4.5, _circle: vu(4.5), pointRadius: function (e) { return ( (e = +e) !== this._radius && ((this._radius = e), (this._circle = null)), this ); }, polygonStart: function () { this._line = 0; }, polygonEnd: function () { this._line = NaN; }, lineStart: function () { this._point = 0; }, lineEnd: function () { 0 === this._line && this._string.push('Z'), (this._point = NaN); }, point: function (e, t) { switch (this._point) { case 0: this._string.push('M', e, ',', t), (this._point = 1); break; case 1: this._string.push('L', e, ',', t); break; default: null == this._circle && (this._circle = vu(this._radius)), this._string.push('M', e, ',', t, this._circle); } }, result: function () { if (this._string.length) { var e = this._string.join(''); return (this._string = []), e; } return null; }, }), (Su.prototype = { constructor: Su, point: function (e, t) { this.stream.point(e, t); }, sphere: function () { this.stream.sphere(); }, lineStart: function () { this.stream.lineStart(); }, lineEnd: function () { this.stream.lineEnd(); }, polygonStart: function () { this.stream.polygonStart(); }, polygonEnd: function () { this.stream.polygonEnd(); }, }); var Nu = Fl(30 * Ol); function Eu(e, t) { return +t ? (function (e, t) { function i(n, r, s, o, a, l, c, d, h, u, g, f, p, m) { var _ = c - n, b = d - r, v = _ * _ + b * b; if (v > 4 * t && p--) { var y = o + u, w = a + g, C = l + f, S = zl(y * y + w * w + C * C), k = Kl((C /= S)), x = Al(Al(C) - 1) < Ll || Al(s - h) < Ll ? (s + h) / 2 : Pl(w, y), L = e(x, k), M = L[0], D = L[1], N = M - n, E = D - r, T = b * N - _ * E; ((T * T) / v > t || Al((_ * N + b * E) / v - 0.5) > 0.3 || o * u + a * g + l * f < Nu) && (i( n, r, s, o, a, l, M, D, x, (y /= S), (w /= S), C, p, m ), m.point(M, D), i(M, D, x, y, w, C, c, d, h, u, g, f, p, m)); } } return function (t) { var n, r, s, o, a, l, c, d, h, u, g, f, p = { point: m, lineStart: _, lineEnd: v, polygonStart: function () { t.polygonStart(), (p.lineStart = y); }, polygonEnd: function () { t.polygonEnd(), (p.lineStart = _); }, }; function m(i, n) { (i = e(i, n)), t.point(i[0], i[1]); } function _() { (d = NaN), (p.point = b), t.lineStart(); } function b(n, r) { var s = mc([n, r]), o = e(n, r); i( d, h, c, u, g, f, (d = o[0]), (h = o[1]), (c = n), (u = s[0]), (g = s[1]), (f = s[2]), 16, t ), t.point(d, h); } function v() { (p.point = m), t.lineEnd(); } function y() { _(), (p.point = w), (p.lineEnd = C); } function w(e, t) { b((n = e), t), (r = d), (s = h), (o = u), (a = g), (l = f), (p.point = b); } function C() { i(d, h, c, u, g, f, r, s, n, o, a, l, 16, t), (p.lineEnd = v), v(); } return p; }; })(e, t) : (function (e) { return Cu({ point: function (t, i) { (t = e(t, i)), this.stream.point(t[0], t[1]); }, }); })(e); } var Tu = Cu({ point: function (e, t) { this.stream.point(e * Ol, t * Ol); }, }); function Iu(e, t, i) { function n(n, r) { return [t + e * n, i - e * r]; } return ( (n.invert = function (n, r) { return [(n - t) / e, (i - r) / e]; }), n ); } function Ou(e, t, i, n) { var r = Fl(n), s = jl(n), o = r * e, a = s * e, l = r / e, c = s / e, d = (s * i - r * t) / e, h = (s * t + r * i) / e; function u(e, n) { return [o * e - a * n + t, i - a * e - o * n]; } return ( (u.invert = function (e, t) { return [l * e - c * t + d, h - c * e - l * t]; }), u ); } function Au(e) { return Ru(function () { return e; })(); } function Ru(e) { var t, i, n, r, s, o, a, l, c, d, h = 150, u = 480, g = 250, f = 0, p = 0, m = 0, _ = 0, b = 0, v = 0, y = null, w = Hd, C = null, S = vh, k = 0.5; function x(e) { return l(e[0] * Ol, e[1] * Ol); } function L(e) { return (e = l.invert(e[0], e[1])) && [e[0] * Il, e[1] * Il]; } function M() { var e = Ou(h, 0, 0, v).apply(null, t(f, p)), n = (v ? Ou : Iu)(h, u - e[0], g - e[1], v); return ( (i = Cd(m, _, b)), (a = yd(t, n)), (l = yd(i, a)), (o = Eu(a, k)), D() ); } function D() { return (c = d = null), x; } return ( (x.stream = function (e) { return c && d === e ? c : (c = Tu( (function (e) { return Cu({ point: function (t, i) { var n = e(t, i); return this.stream.point(n[0], n[1]); }, }); })(i)(w(o(S((d = e))))) )); }), (x.preclip = function (e) { return arguments.length ? ((w = e), (y = void 0), D()) : w; }), (x.postclip = function (e) { return arguments.length ? ((S = e), (C = n = r = s = null), D()) : S; }), (x.clipAngle = function (e) { return arguments.length ? ((w = +e ? jd((y = e * Ol)) : ((y = null), Hd)), D()) : y * Il; }), (x.clipExtent = function (e) { return arguments.length ? ((S = null == e ? ((C = n = r = s = null), vh) : Ud( (C = +e[0][0]), (n = +e[0][1]), (r = +e[1][0]), (s = +e[1][1]) )), D()) : null == C ? null : [ [C, n], [r, s], ]; }), (x.scale = function (e) { return arguments.length ? ((h = +e), M()) : h; }), (x.translate = function (e) { return arguments.length ? ((u = +e[0]), (g = +e[1]), M()) : [u, g]; }), (x.center = function (e) { return arguments.length ? ((f = (e[0] % 360) * Ol), (p = (e[1] % 360) * Ol), M()) : [f * Il, p * Il]; }), (x.rotate = function (e) { return arguments.length ? ((m = (e[0] % 360) * Ol), (_ = (e[1] % 360) * Ol), (b = e.length > 2 ? (e[2] % 360) * Ol : 0), M()) : [m * Il, _ * Il, b * Il]; }), (x.angle = function (e) { return arguments.length ? ((v = (e % 360) * Ol), M()) : v * Il; }), (x.precision = function (e) { return arguments.length ? ((o = Eu(a, (k = e * e))), D()) : zl(k); }), (x.fitExtent = function (e, t) { return xu(x, e, t); }), (x.fitSize = function (e, t) { return Lu(x, e, t); }), (x.fitWidth = function (e, t) { return Mu(x, e, t); }), (x.fitHeight = function (e, t) { return Du(x, e, t); }), function () { return ( (t = e.apply(this, arguments)), (x.invert = t.invert && L), M() ); } ); } function Pu(e) { var t = 0, i = Dl / 3, n = Ru(e), r = n(t, i); return ( (r.parallels = function (e) { return arguments.length ? n((t = e[0] * Ol), (i = e[1] * Ol)) : [t * Il, i * Il]; }), r ); } function Fu(e, t) { var i = jl(e), n = (i + jl(t)) / 2; if (Al(n) < Ll) return (function (e) { var t = Fl(e); function i(e, i) { return [e * t, jl(i) / t]; } return ( (i.invert = function (e, i) { return [e / t, Kl(i * t)]; }), i ); })(e); var r = 1 + i * (2 * n - i), s = zl(r) / n; function o(e, t) { var i = zl(r - 2 * n * jl(t)) / n; return [i * jl((e *= n)), s - i * Fl(e)]; } return ( (o.invert = function (e, t) { var i = s - t; return [ (Pl(e, Al(i)) / n) * Vl(i), Kl((r - (e * e + i * i) * n * n) / (2 * n)), ]; }), o ); } function Bu() { return Pu(Fu).scale(155.424).center([0, 33.6442]); } function Wu() { return Bu() .parallels([29.5, 45.5]) .scale(1070) .translate([480, 250]) .rotate([96, 0]) .center([-0.6, 38.7]); } function Yu() { var e, t, i, n, r, s, o = Wu(), a = Bu().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), l = Bu().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), c = { point: function (e, t) { s = [e, t]; }, }; function d(e) { var t = e[0], o = e[1]; return ( (s = null), i.point(t, o), s || (n.point(t, o), s) || (r.point(t, o), s) ); } function h() { return (e = t = null), d; } return ( (d.invert = function (e) { var t = o.scale(), i = o.translate(), n = (e[0] - i[0]) / t, r = (e[1] - i[1]) / t; return (r >= 0.12 && r < 0.234 && n >= -0.425 && n < -0.214 ? a : r >= 0.166 && r < 0.234 && n >= -0.214 && n < -0.115 ? l : o ).invert(e); }), (d.stream = function (i) { return e && t === i ? e : ((n = [o.stream((t = i)), a.stream(i), l.stream(i)]), (r = n.length), (e = { point: function (e, t) { for (var i = -1; ++i < r; ) n[i].point(e, t); }, sphere: function () { for (var e = -1; ++e < r; ) n[e].sphere(); }, lineStart: function () { for (var e = -1; ++e < r; ) n[e].lineStart(); }, lineEnd: function () { for (var e = -1; ++e < r; ) n[e].lineEnd(); }, polygonStart: function () { for (var e = -1; ++e < r; ) n[e].polygonStart(); }, polygonEnd: function () { for (var e = -1; ++e < r; ) n[e].polygonEnd(); }, })); var n, r; }), (d.precision = function (e) { return arguments.length ? (o.precision(e), a.precision(e), l.precision(e), h()) : o.precision(); }), (d.scale = function (e) { return arguments.length ? (o.scale(e), a.scale(0.35 * e), l.scale(e), d.translate(o.translate())) : o.scale(); }), (d.translate = function (e) { if (!arguments.length) return o.translate(); var t = o.scale(), s = +e[0], d = +e[1]; return ( (i = o .translate(e) .clipExtent([ [s - 0.455 * t, d - 0.238 * t], [s + 0.455 * t, d + 0.238 * t], ]) .stream(c)), (n = a .translate([s - 0.307 * t, d + 0.201 * t]) .clipExtent([ [s - 0.425 * t + Ll, d + 0.12 * t + Ll], [s - 0.214 * t - Ll, d + 0.234 * t - Ll], ]) .stream(c)), (r = l .translate([s - 0.205 * t, d + 0.212 * t]) .clipExtent([ [s - 0.214 * t + Ll, d + 0.166 * t + Ll], [s - 0.115 * t - Ll, d + 0.234 * t - Ll], ]) .stream(c)), h() ); }), (d.fitExtent = function (e, t) { return xu(d, e, t); }), (d.fitSize = function (e, t) { return Lu(d, e, t); }), (d.fitWidth = function (e, t) { return Mu(d, e, t); }), (d.fitHeight = function (e, t) { return Du(d, e, t); }), d.scale(1070) ); } function Hu(e) { return function (t, i) { var n = Fl(t), r = Fl(i), s = e(n * r); return [s * r * jl(t), s * jl(i)]; }; } function ju(e) { return function (t, i) { var n = zl(t * t + i * i), r = e(n), s = jl(r), o = Fl(r); return [Pl(t * s, n * o), Kl(n && (i * s) / n)]; }; } var Vu = Hu(function (e) { return zl(2 / (1 + e)); }); function zu() { return Au(Vu).scale(124.75).clipAngle(179.999); } Vu.invert = ju(function (e) { return 2 * Kl(e / 2); }); var Uu = Hu(function (e) { return (e = $l(e)) && e / jl(e); }); function $u() { return Au(Uu).scale(79.4188).clipAngle(179.999); } function Ku(e, t) { return [e, Yl(Ul((Nl + t) / 2))]; } function qu() { return Gu(Ku).scale(961 / Tl); } function Gu(e) { var t, i, n, r = Au(e), s = r.center, o = r.scale, a = r.translate, l = r.clipExtent, c = null; function d() { var s = Dl * o(), a = r(Ld(r.rotate()).invert([0, 0])); return l( null == c ? [ [a[0] - s, a[1] - s], [a[0] + s, a[1] + s], ] : e === Ku ? [ [Math.max(a[0] - s, c), t], [Math.min(a[0] + s, i), n], ] : [ [c, Math.max(a[1] - s, t)], [i, Math.min(a[1] + s, n)], ] ); } return ( (r.scale = function (e) { return arguments.length ? (o(e), d()) : o(); }), (r.translate = function (e) { return arguments.length ? (a(e), d()) : a(); }), (r.center = function (e) { return arguments.length ? (s(e), d()) : s(); }), (r.clipExtent = function (e) { return arguments.length ? (null == e ? (c = t = i = n = null) : ((c = +e[0][0]), (t = +e[0][1]), (i = +e[1][0]), (n = +e[1][1])), d()) : null == c ? null : [ [c, t], [i, n], ]; }), d() ); } function Zu(e) { return Ul((Nl + e) / 2); } function Ju(e, t) { var i = Fl(e), n = e === t ? jl(e) : Yl(i / Fl(t)) / Yl(Zu(t) / Zu(e)), r = (i * Hl(Zu(e), n)) / n; if (!n) return Ku; function s(e, t) { r > 0 ? t < -Nl + Ll && (t = -Nl + Ll) : t > Nl - Ll && (t = Nl - Ll); var i = r / Hl(Zu(t), n); return [i * jl(n * e), r - i * Fl(n * e)]; } return ( (s.invert = function (e, t) { var i = r - t, s = Vl(n) * zl(e * e + i * i); return [ (Pl(e, Al(i)) / n) * Vl(i), 2 * Rl(Hl(r / s, 1 / n)) - Nl, ]; }), s ); } function Qu() { return Pu(Ju).scale(109.5).parallels([30, 30]); } function Xu(e, t) { return [e, t]; } function eg() { return Au(Xu).scale(152.63); } function tg(e, t) { var i = Fl(e), n = e === t ? jl(e) : (i - Fl(t)) / (t - e), r = i / n + e; if (Al(n) < Ll) return Xu; function s(e, t) { var i = r - t, s = n * e; return [i * jl(s), r - i * Fl(s)]; } return ( (s.invert = function (e, t) { var i = r - t; return [ (Pl(e, Al(i)) / n) * Vl(i), r - Vl(n) * zl(e * e + i * i), ]; }), s ); } function ig() { return Pu(tg).scale(131.154).center([0, 13.9389]); } (Uu.invert = ju(function (e) { return e; })), (Ku.invert = function (e, t) { return [e, 2 * Rl(Wl(t)) - Nl]; }), (Xu.invert = Xu); var ng = 1.340264, rg = -0.081106, sg = 893e-6, og = 0.003796, ag = zl(3) / 2; function lg(e, t) { var i = Kl(ag * jl(t)), n = i * i, r = n * n * n; return [ (e * Fl(i)) / (ag * (ng + 3 * rg * n + r * (7 * sg + 9 * og * n))), i * (ng + rg * n + r * (sg + og * n)), ]; } function cg() { return Au(lg).scale(177.158); } function dg(e, t) { var i = Fl(t), n = Fl(e) * i; return [(i * jl(e)) / n, jl(t) / n]; } function hg() { return Au(dg).scale(144.049).clipAngle(60); } function ug(e, t, i, n) { return 1 === e && 1 === t && 0 === i && 0 === n ? vh : Cu({ point: function (r, s) { this.stream.point(r * e + i, s * t + n); }, }); } function gg() { var e, t, i, n, r, s, o = 1, a = 0, l = 0, c = 1, d = 1, h = vh, u = null, g = vh; function f() { return (n = r = null), s; } return (s = { stream: function (e) { return n && r === e ? n : (n = h(g((r = e)))); }, postclip: function (n) { return arguments.length ? ((g = n), (u = e = t = i = null), f()) : g; }, clipExtent: function (n) { return arguments.length ? ((g = null == n ? ((u = e = t = i = null), vh) : Ud( (u = +n[0][0]), (e = +n[0][1]), (t = +n[1][0]), (i = +n[1][1]) )), f()) : null == u ? null : [ [u, e], [t, i], ]; }, scale: function (e) { return arguments.length ? ((h = ug((o = +e) * c, o * d, a, l)), f()) : o; }, translate: function (e) { return arguments.length ? ((h = ug(o * c, o * d, (a = +e[0]), (l = +e[1]))), f()) : [a, l]; }, reflectX: function (e) { return arguments.length ? ((h = ug(o * (c = e ? -1 : 1), o * d, a, l)), f()) : c < 0; }, reflectY: function (e) { return arguments.length ? ((h = ug(o * c, o * (d = e ? -1 : 1), a, l)), f()) : d < 0; }, fitExtent: function (e, t) { return xu(s, e, t); }, fitSize: function (e, t) { return Lu(s, e, t); }, fitWidth: function (e, t) { return Mu(s, e, t); }, fitHeight: function (e, t) { return Du(s, e, t); }, }); } function fg(e, t) { var i = t * t, n = i * i; return [ e * (0.8707 - 0.131979 * i + n * (n * (0.003971 * i - 0.001529 * n) - 0.013791)), t * (1.007226 + i * (0.015085 + n * (0.028874 * i - 0.044475 - 0.005916 * n))), ]; } function pg() { return Au(fg).scale(175.295); } function mg(e, t) { return [Fl(t) * jl(e), jl(t)]; } function _g() { return Au(mg).scale(249.5).clipAngle(90.000001); } function bg(e, t) { var i = Fl(t), n = 1 + Fl(e) * i; return [(i * jl(e)) / n, jl(t) / n]; } function vg() { return Au(bg).scale(250).clipAngle(142); } function yg(e, t) { return [Yl(Ul((Nl + t) / 2)), -e]; } function wg() { var e = Gu(yg), t = e.center, i = e.rotate; return ( (e.center = function (e) { return arguments.length ? t([-e[1], e[0]]) : [(e = t())[1], -e[0]]; }), (e.rotate = function (e) { return arguments.length ? i([e[0], e[1], e.length > 2 ? e[2] + 90 : 90]) : [(e = i())[0], e[1], e[2] - 90]; }), i([0, 0, 90]).scale(159.155) ); } function Cg(e, t) { return e.parent === t.parent ? 1 : 2; } function Sg(e, t) { return e + t.x; } function kg(e, t) { return Math.max(e, t.y); } function xg() { var e = Cg, t = 1, i = 1, n = !1; function r(r) { var s, o = 0; r.eachAfter(function (t) { var i = t.children; i ? ((t.x = (function (e) { return e.reduce(Sg, 0) / e.length; })(i)), (t.y = (function (e) { return 1 + e.reduce(kg, 0); })(i))) : ((t.x = s ? (o += e(t, s)) : 0), (t.y = 0), (s = t)); }); var a = (function (e) { for (var t; (t = e.children); ) e = t[0]; return e; })(r), l = (function (e) { for (var t; (t = e.children); ) e = t[t.length - 1]; return e; })(r), c = a.x - e(a, l) / 2, d = l.x + e(l, a) / 2; return r.eachAfter( n ? function (e) { (e.x = (e.x - r.x) * t), (e.y = (r.y - e.y) * i); } : function (e) { (e.x = ((e.x - c) / (d - c)) * t), (e.y = (1 - (r.y ? e.y / r.y : 1)) * i); } ); } return ( (r.separation = function (t) { return arguments.length ? ((e = t), r) : e; }), (r.size = function (e) { return arguments.length ? ((n = !1), (t = +e[0]), (i = +e[1]), r) : n ? null : [t, i]; }), (r.nodeSize = function (e) { return arguments.length ? ((n = !0), (t = +e[0]), (i = +e[1]), r) : n ? [t, i] : null; }), r ); } function Lg(e) { var t = 0, i = e.children, n = i && i.length; if (n) for (; --n >= 0; ) t += i[n].value; else t = 1; e.value = t; } function Mg(e, t) { var i, n, r, s, o, a = new Tg(e), l = +e.value && (a.value = e.value), c = [a]; for (null == t && (t = Dg); (i = c.pop()); ) if ( (l && (i.value = +i.data.value), (r = t(i.data)) && (o = r.length)) ) for (i.children = new Array(o), s = o - 1; s >= 0; --s) c.push((n = i.children[s] = new Tg(r[s]))), (n.parent = i), (n.depth = i.depth + 1); return a.eachBefore(Eg); } function Dg(e) { return e.children; } function Ng(e) { e.data = e.data.data; } function Eg(e) { var t = 0; do { e.height = t; } while ((e = e.parent) && e.height < ++t); } function Tg(e) { (this.data = e), (this.depth = this.height = 0), (this.parent = null); } (lg.invert = function (e, t) { for ( var i, n = t, r = n * n, s = r * r * r, o = 0; o < 12 && ((s = (r = (n -= i = (n * (ng + rg * r + s * (sg + og * r)) - t) / (ng + 3 * rg * r + s * (7 * sg + 9 * og * r))) * n) * r * r), !(Al(i) < Ml)); ++o ); return [ (ag * e * (ng + 3 * rg * r + s * (7 * sg + 9 * og * r))) / Fl(n), Kl(jl(n) / ag), ]; }), (dg.invert = ju(Rl)), (fg.invert = function (e, t) { var i, n = t, r = 25; do { var s = n * n, o = s * s; n -= i = (n * (1.007226 + s * (0.015085 + o * (0.028874 * s - 0.044475 - 0.005916 * o))) - t) / (1.007226 + s * (0.045255 + o * (0.259866 * s - 0.311325 - 0.005916 * 11 * o))); } while (Al(i) > Ll && --r > 0); return [ e / (0.8707 + (s = n * n) * (s * (s * s * s * (0.003971 - 0.001529 * s) - 0.013791) - 0.131979)), n, ]; }), (mg.invert = ju(Kl)), (bg.invert = ju(function (e) { return 2 * Rl(e); })), (yg.invert = function (e, t) { return [-t, 2 * Rl(Wl(e)) - Nl]; }), (Tg.prototype = Mg.prototype = { constructor: Tg, count: function () { return this.eachAfter(Lg); }, each: function (e) { var t, i, n, r, s = this, o = [s]; do { for (t = o.reverse(), o = []; (s = t.pop()); ) if ((e(s), (i = s.children))) for (n = 0, r = i.length; n < r; ++n) o.push(i[n]); } while (o.length); return this; }, eachAfter: function (e) { for (var t, i, n, r = this, s = [r], o = []; (r = s.pop()); ) if ((o.push(r), (t = r.children))) for (i = 0, n = t.length; i < n; ++i) s.push(t[i]); for (; (r = o.pop()); ) e(r); return this; }, eachBefore: function (e) { for (var t, i, n = this, r = [n]; (n = r.pop()); ) if ((e(n), (t = n.children))) for (i = t.length - 1; i >= 0; --i) r.push(t[i]); return this; }, sum: function (e) { return this.eachAfter(function (t) { for ( var i = +e(t.data) || 0, n = t.children, r = n && n.length; --r >= 0; ) i += n[r].value; t.value = i; }); }, sort: function (e) { return this.eachBefore(function (t) { t.children && t.children.sort(e); }); }, path: function (e) { for ( var t = this, i = (function (e, t) { if (e === t) return e; var i = e.ancestors(), n = t.ancestors(), r = null; for (e = i.pop(), t = n.pop(); e === t; ) (r = e), (e = i.pop()), (t = n.pop()); return r; })(t, e), n = [t]; t !== i; ) (t = t.parent), n.push(t); for (var r = n.length; e !== i; ) n.splice(r, 0, e), (e = e.parent); return n; }, ancestors: function () { for (var e = this, t = [e]; (e = e.parent); ) t.push(e); return t; }, descendants: function () { var e = []; return ( this.each(function (t) { e.push(t); }), e ); }, leaves: function () { var e = []; return ( this.eachBefore(function (t) { t.children || e.push(t); }), e ); }, links: function () { var e = this, t = []; return ( e.each(function (i) { i !== e && t.push({ source: i.parent, target: i }); }), t ); }, copy: function () { return Mg(this).eachBefore(Ng); }, }); var Ig = Array.prototype.slice; function Og(e) { for ( var t, i, n = 0, r = (e = (function (e) { for (var t, i, n = e.length; n; ) (i = (Math.random() * n--) | 0), (t = e[n]), (e[n] = e[i]), (e[i] = t); return e; })(Ig.call(e))).length, s = []; n < r; ) (t = e[n]), i && Pg(i, t) ? ++n : ((i = Bg((s = Ag(s, t)))), (n = 0)); return i; } function Ag(e, t) { var i, n; if (Fg(t, e)) return [t]; for (i = 0; i < e.length; ++i) if (Rg(t, e[i]) && Fg(Wg(e[i], t), e)) return [e[i], t]; for (i = 0; i < e.length - 1; ++i) for (n = i + 1; n < e.length; ++n) if ( Rg(Wg(e[i], e[n]), t) && Rg(Wg(e[i], t), e[n]) && Rg(Wg(e[n], t), e[i]) && Fg(Yg(e[i], e[n], t), e) ) return [e[i], e[n], t]; throw new Error(); } function Rg(e, t) { var i = e.r - t.r, n = t.x - e.x, r = t.y - e.y; return i < 0 || i * i < n * n + r * r; } function Pg(e, t) { var i = e.r - t.r + 1e-6, n = t.x - e.x, r = t.y - e.y; return i > 0 && i * i > n * n + r * r; } function Fg(e, t) { for (var i = 0; i < t.length; ++i) if (!Pg(e, t[i])) return !1; return !0; } function Bg(e) { switch (e.length) { case 1: return (function (e) { return { x: e.x, y: e.y, r: e.r }; })(e[0]); case 2: return Wg(e[0], e[1]); case 3: return Yg(e[0], e[1], e[2]); } } function Wg(e, t) { var i = e.x, n = e.y, r = e.r, s = t.x, o = t.y, a = t.r, l = s - i, c = o - n, d = a - r, h = Math.sqrt(l * l + c * c); return { x: (i + s + (l / h) * d) / 2, y: (n + o + (c / h) * d) / 2, r: (h + r + a) / 2, }; } function Yg(e, t, i) { var n = e.x, r = e.y, s = e.r, o = t.x, a = t.y, l = t.r, c = i.x, d = i.y, h = i.r, u = n - o, g = n - c, f = r - a, p = r - d, m = l - s, _ = h - s, b = n * n + r * r - s * s, v = b - o * o - a * a + l * l, y = b - c * c - d * d + h * h, w = g * f - u * p, C = (f * y - p * v) / (2 * w) - n, S = (p * m - f * _) / w, k = (g * v - u * y) / (2 * w) - r, x = (u * _ - g * m) / w, L = S * S + x * x - 1, M = 2 * (s + C * S + k * x), D = C * C + k * k - s * s, N = -(L ? (M + Math.sqrt(M * M - 4 * L * D)) / (2 * L) : D / M); return { x: n + C + S * N, y: r + k + x * N, r: N }; } function Hg(e, t, i) { var n, r, s, o, a = e.x - t.x, l = e.y - t.y, c = a * a + l * l; c ? ((r = t.r + i.r), (r *= r), (o = e.r + i.r), r > (o *= o) ? ((n = (c + o - r) / (2 * c)), (s = Math.sqrt(Math.max(0, o / c - n * n))), (i.x = e.x - n * a - s * l), (i.y = e.y - n * l + s * a)) : ((n = (c + r - o) / (2 * c)), (s = Math.sqrt(Math.max(0, r / c - n * n))), (i.x = t.x + n * a - s * l), (i.y = t.y + n * l + s * a))) : ((i.x = t.x + i.r), (i.y = t.y)); } function jg(e, t) { var i = e.r + t.r - 1e-6, n = t.x - e.x, r = t.y - e.y; return i > 0 && i * i > n * n + r * r; } function Vg(e) { var t = e._, i = e.next._, n = t.r + i.r, r = (t.x * i.r + i.x * t.r) / n, s = (t.y * i.r + i.y * t.r) / n; return r * r + s * s; } function zg(e) { (this._ = e), (this.next = null), (this.previous = null); } function Ug(e) { if (!(r = e.length)) return 0; var t, i, n, r, s, o, a, l, c, d, h; if ((((t = e[0]).x = 0), (t.y = 0), !(r > 1))) return t.r; if (((i = e[1]), (t.x = -i.r), (i.x = t.r), (i.y = 0), !(r > 2))) return t.r + i.r; Hg(i, t, (n = e[2])), (t = new zg(t)), (i = new zg(i)), (n = new zg(n)), (t.next = n.previous = i), (i.next = t.previous = n), (n.next = i.previous = t); e: for (a = 3; a < r; ++a) { Hg(t._, i._, (n = e[a])), (n = new zg(n)), (l = i.next), (c = t.previous), (d = i._.r), (h = t._.r); do { if (d <= h) { if (jg(l._, n._)) { (i = l), (t.next = i), (i.previous = t), --a; continue e; } (d += l._.r), (l = l.next); } else { if (jg(c._, n._)) { ((t = c).next = i), (i.previous = t), --a; continue e; } (h += c._.r), (c = c.previous); } } while (l !== c.next); for ( n.previous = t, n.next = i, t.next = i.previous = i = n, s = Vg(t); (n = n.next) !== i; ) (o = Vg(n)) < s && ((t = n), (s = o)); i = t.next; } for (t = [i._], n = i; (n = n.next) !== i; ) t.push(n._); for (n = Og(t), a = 0; a < r; ++a) ((t = e[a]).x -= n.x), (t.y -= n.y); return n.r; } function $g(e) { return Ug(e), e; } function Kg(e) { return null == e ? null : qg(e); } function qg(e) { if ('function' != typeof e) throw new Error(); return e; } function Gg() { return 0; } function Zg(e) { return function () { return e; }; } function Jg(e) { return Math.sqrt(e.value); } function Qg() { var e = null, t = 1, i = 1, n = Gg; function r(r) { return ( (r.x = t / 2), (r.y = i / 2), e ? r.eachBefore(Xg(e)).eachAfter(ef(n, 0.5)).eachBefore(tf(1)) : r .eachBefore(Xg(Jg)) .eachAfter(ef(Gg, 1)) .eachAfter(ef(n, r.r / Math.min(t, i))) .eachBefore(tf(Math.min(t, i) / (2 * r.r))), r ); } return ( (r.radius = function (t) { return arguments.length ? ((e = Kg(t)), r) : e; }), (r.size = function (e) { return arguments.length ? ((t = +e[0]), (i = +e[1]), r) : [t, i]; }), (r.padding = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : Zg(+e)), r) : n; }), r ); } function Xg(e) { return function (t) { t.children || (t.r = Math.max(0, +e(t) || 0)); }; } function ef(e, t) { return function (i) { if ((n = i.children)) { var n, r, s, o = n.length, a = e(i) * t || 0; if (a) for (r = 0; r < o; ++r) n[r].r += a; if (((s = Ug(n)), a)) for (r = 0; r < o; ++r) n[r].r -= a; i.r = s + a; } }; } function tf(e) { return function (t) { var i = t.parent; (t.r *= e), i && ((t.x = i.x + e * t.x), (t.y = i.y + e * t.y)); }; } function nf(e) { (e.x0 = Math.round(e.x0)), (e.y0 = Math.round(e.y0)), (e.x1 = Math.round(e.x1)), (e.y1 = Math.round(e.y1)); } function rf(e, t, i, n, r) { for ( var s, o = e.children, a = -1, l = o.length, c = e.value && (n - t) / e.value; ++a < l; ) ((s = o[a]).y0 = i), (s.y1 = r), (s.x0 = t), (s.x1 = t += s.value * c); } function sf() { var e = 1, t = 1, i = 0, n = !1; function r(r) { var s = r.height + 1; return ( (r.x0 = r.y0 = i), (r.x1 = e), (r.y1 = t / s), r.eachBefore( (function (e, t) { return function (n) { n.children && rf( n, n.x0, (e * (n.depth + 1)) / t, n.x1, (e * (n.depth + 2)) / t ); var r = n.x0, s = n.y0, o = n.x1 - i, a = n.y1 - i; o < r && (r = o = (r + o) / 2), a < s && (s = a = (s + a) / 2), (n.x0 = r), (n.y0 = s), (n.x1 = o), (n.y1 = a); }; })(t, s) ), n && r.eachBefore(nf), r ); } return ( (r.round = function (e) { return arguments.length ? ((n = !!e), r) : n; }), (r.size = function (i) { return arguments.length ? ((e = +i[0]), (t = +i[1]), r) : [e, t]; }), (r.padding = function (e) { return arguments.length ? ((i = +e), r) : i; }), r ); } var of = { depth: -1 }, af = {}; function lf(e) { return e.id; } function cf(e) { return e.parentId; } function df() { var e = lf, t = cf; function i(i) { var n, r, s, o, a, l, c, d = i.length, h = new Array(d), u = {}; for (r = 0; r < d; ++r) (n = i[r]), (a = h[r] = new Tg(n)), null != (l = e(n, r, i)) && (l += '') && (u[(c = '$' + (a.id = l))] = c in u ? af : a); for (r = 0; r < d; ++r) if (((a = h[r]), null != (l = t(i[r], r, i)) && (l += ''))) { if (!(o = u['$' + l])) throw new Error('missing: ' + l); if (o === af) throw new Error('ambiguous: ' + l); o.children ? o.children.push(a) : (o.children = [a]), (a.parent = o); } else { if (s) throw new Error('multiple roots'); s = a; } if (!s) throw new Error('no root'); if ( ((s.parent = of), s .eachBefore(function (e) { (e.depth = e.parent.depth + 1), --d; }) .eachBefore(Eg), (s.parent = null), d > 0) ) throw new Error('cycle'); return s; } return ( (i.id = function (t) { return arguments.length ? ((e = qg(t)), i) : e; }), (i.parentId = function (e) { return arguments.length ? ((t = qg(e)), i) : t; }), i ); } function hf(e, t) { return e.parent === t.parent ? 1 : 2; } function uf(e) { var t = e.children; return t ? t[0] : e.t; } function gf(e) { var t = e.children; return t ? t[t.length - 1] : e.t; } function ff(e, t, i) { var n = i / (t.i - e.i); (t.c -= n), (t.s += i), (e.c += n), (t.z += i), (t.m += i); } function pf(e, t, i) { return e.a.parent === t.parent ? e.a : i; } function mf(e, t) { (this._ = e), (this.parent = null), (this.children = null), (this.A = null), (this.a = this), (this.z = 0), (this.m = 0), (this.c = 0), (this.s = 0), (this.t = null), (this.i = t); } function _f() { var e = hf, t = 1, i = 1, n = null; function r(r) { var l = (function (e) { for ( var t, i, n, r, s, o = new mf(e, 0), a = [o]; (t = a.pop()); ) if ((n = t._.children)) for ( t.children = new Array((s = n.length)), r = s - 1; r >= 0; --r ) a.push((i = t.children[r] = new mf(n[r], r))), (i.parent = t); return ((o.parent = new mf(null, 0)).children = [o]), o; })(r); if ((l.eachAfter(s), (l.parent.m = -l.z), l.eachBefore(o), n)) r.eachBefore(a); else { var c = r, d = r, h = r; r.eachBefore(function (e) { e.x < c.x && (c = e), e.x > d.x && (d = e), e.depth > h.depth && (h = e); }); var u = c === d ? 1 : e(c, d) / 2, g = u - c.x, f = t / (d.x + u + g), p = i / (h.depth || 1); r.eachBefore(function (e) { (e.x = (e.x + g) * f), (e.y = e.depth * p); }); } return r; } function s(t) { var i = t.children, n = t.parent.children, r = t.i ? n[t.i - 1] : null; if (i) { !(function (e) { for ( var t, i = 0, n = 0, r = e.children, s = r.length; --s >= 0; ) ((t = r[s]).z += i), (t.m += i), (i += t.s + (n += t.c)); })(t); var s = (i[0].z + i[i.length - 1].z) / 2; r ? ((t.z = r.z + e(t._, r._)), (t.m = t.z - s)) : (t.z = s); } else r && (t.z = r.z + e(t._, r._)); t.parent.A = (function (t, i, n) { if (i) { for ( var r, s = t, o = t, a = i, l = s.parent.children[0], c = s.m, d = o.m, h = a.m, u = l.m; (a = gf(a)), (s = uf(s)), a && s; ) (l = uf(l)), ((o = gf(o)).a = t), (r = a.z + h - s.z - c + e(a._, s._)) > 0 && (ff(pf(a, t, n), t, r), (c += r), (d += r)), (h += a.m), (c += s.m), (u += l.m), (d += o.m); a && !gf(o) && ((o.t = a), (o.m += h - d)), s && !uf(l) && ((l.t = s), (l.m += c - u), (n = t)); } return n; })(t, r, t.parent.A || n[0]); } function o(e) { (e._.x = e.z + e.parent.m), (e.m += e.parent.m); } function a(e) { (e.x *= t), (e.y = e.depth * i); } return ( (r.separation = function (t) { return arguments.length ? ((e = t), r) : e; }), (r.size = function (e) { return arguments.length ? ((n = !1), (t = +e[0]), (i = +e[1]), r) : n ? null : [t, i]; }), (r.nodeSize = function (e) { return arguments.length ? ((n = !0), (t = +e[0]), (i = +e[1]), r) : n ? [t, i] : null; }), r ); } function bf(e, t, i, n, r) { for ( var s, o = e.children, a = -1, l = o.length, c = e.value && (r - i) / e.value; ++a < l; ) ((s = o[a]).x0 = t), (s.x1 = n), (s.y0 = i), (s.y1 = i += s.value * c); } mf.prototype = Object.create(Tg.prototype); var vf = (1 + Math.sqrt(5)) / 2; function yf(e, t, i, n, r, s) { for ( var o, a, l, c, d, h, u, g, f, p, m, _ = [], b = t.children, v = 0, y = 0, w = b.length, C = t.value; v < w; ) { (l = r - i), (c = s - n); do { d = b[y++].value; } while (!d && y < w); for ( h = u = d, m = d * d * (p = Math.max(c / l, l / c) / (C * e)), f = Math.max(u / m, m / h); y < w; ++y ) { if ( ((d += a = b[y].value), a < h && (h = a), a > u && (u = a), (m = d * d * p), (g = Math.max(u / m, m / h)) > f) ) { d -= a; break; } f = g; } _.push((o = { value: d, dice: l < c, children: b.slice(v, y) })), o.dice ? rf(o, i, n, r, C ? (n += (c * d) / C) : s) : bf(o, i, n, C ? (i += (l * d) / C) : r, s), (C -= d), (v = y); } return _; } const wf = (function e(t) { function i(e, i, n, r, s) { yf(t, e, i, n, r, s); } return ( (i.ratio = function (t) { return e((t = +t) > 1 ? t : 1); }), i ); })(vf); function Cf() { var e = wf, t = !1, i = 1, n = 1, r = [0], s = Gg, o = Gg, a = Gg, l = Gg, c = Gg; function d(e) { return ( (e.x0 = e.y0 = 0), (e.x1 = i), (e.y1 = n), e.eachBefore(h), (r = [0]), t && e.eachBefore(nf), e ); } function h(t) { var i = r[t.depth], n = t.x0 + i, d = t.y0 + i, h = t.x1 - i, u = t.y1 - i; h < n && (n = h = (n + h) / 2), u < d && (d = u = (d + u) / 2), (t.x0 = n), (t.y0 = d), (t.x1 = h), (t.y1 = u), t.children && ((i = r[t.depth + 1] = s(t) / 2), (n += c(t) - i), (d += o(t) - i), (h -= a(t) - i) < n && (n = h = (n + h) / 2), (u -= l(t) - i) < d && (d = u = (d + u) / 2), e(t, n, d, h, u)); } return ( (d.round = function (e) { return arguments.length ? ((t = !!e), d) : t; }), (d.size = function (e) { return arguments.length ? ((i = +e[0]), (n = +e[1]), d) : [i, n]; }), (d.tile = function (t) { return arguments.length ? ((e = qg(t)), d) : e; }), (d.padding = function (e) { return arguments.length ? d.paddingInner(e).paddingOuter(e) : d.paddingInner(); }), (d.paddingInner = function (e) { return arguments.length ? ((s = 'function' == typeof e ? e : Zg(+e)), d) : s; }), (d.paddingOuter = function (e) { return arguments.length ? d .paddingTop(e) .paddingRight(e) .paddingBottom(e) .paddingLeft(e) : d.paddingTop(); }), (d.paddingTop = function (e) { return arguments.length ? ((o = 'function' == typeof e ? e : Zg(+e)), d) : o; }), (d.paddingRight = function (e) { return arguments.length ? ((a = 'function' == typeof e ? e : Zg(+e)), d) : a; }), (d.paddingBottom = function (e) { return arguments.length ? ((l = 'function' == typeof e ? e : Zg(+e)), d) : l; }), (d.paddingLeft = function (e) { return arguments.length ? ((c = 'function' == typeof e ? e : Zg(+e)), d) : c; }), d ); } function Sf(e, t, i, n, r) { var s, o, a = e.children, l = a.length, c = new Array(l + 1); for (c[0] = o = s = 0; s < l; ++s) c[s + 1] = o += a[s].value; !(function e(t, i, n, r, s, o, l) { if (t >= i - 1) { var d = a[t]; return (d.x0 = r), (d.y0 = s), (d.x1 = o), void (d.y1 = l); } for (var h = c[t], u = n / 2 + h, g = t + 1, f = i - 1; g < f; ) { var p = (g + f) >>> 1; c[p] < u ? (g = p + 1) : (f = p); } u - c[g - 1] < c[g] - u && t + 1 < g && --g; var m = c[g] - h, _ = n - m; if (o - r > l - s) { var b = (r * _ + o * m) / n; e(t, g, m, r, s, b, l), e(g, i, _, b, s, o, l); } else { var v = (s * _ + l * m) / n; e(t, g, m, r, s, o, v), e(g, i, _, r, v, o, l); } })(0, l, e.value, t, i, n, r); } function kf(e, t, i, n, r) { (1 & e.depth ? bf : rf)(e, t, i, n, r); } const xf = (function e(t) { function i(e, i, n, r, s) { if ((o = e._squarify) && o.ratio === t) for ( var o, a, l, c, d, h = -1, u = o.length, g = e.value; ++h < u; ) { for ( l = (a = o[h]).children, c = a.value = 0, d = l.length; c < d; ++c ) a.value += l[c].value; a.dice ? rf(a, i, n, r, (n += ((s - n) * a.value) / g)) : bf(a, i, n, (i += ((r - i) * a.value) / g), s), (g -= a.value); } else (e._squarify = o = yf(t, e, i, n, r, s)), (o.ratio = t); } return ( (i.ratio = function (t) { return e((t = +t) > 1 ? t : 1); }), i ); })(vf); function Lf(e) { var t = e.length; return function (i) { return e[Math.max(0, Math.min(t - 1, Math.floor(i * t)))]; }; } function Mf(e, t) { var i = ui(+e, +t); return function (e) { var t = i(e); return t - 360 * Math.floor(t / 360); }; } function Df(e, t) { return ( (e = +e), (t = +t), function (i) { return Math.round(e * (1 - i) + t * i); } ); } var Nf = Math.SQRT2; function Ef(e) { return ((e = Math.exp(e)) + 1 / e) / 2; } function Tf(e, t) { var i, n, r = e[0], s = e[1], o = e[2], a = t[0], l = t[1], c = t[2], d = a - r, h = l - s, u = d * d + h * h; if (u < 1e-12) (n = Math.log(c / o) / Nf), (i = function (e) { return [r + e * d, s + e * h, o * Math.exp(Nf * e * n)]; }); else { var g = Math.sqrt(u), f = (c * c - o * o + 4 * u) / (2 * o * 2 * g), p = (c * c - o * o - 4 * u) / (2 * c * 2 * g), m = Math.log(Math.sqrt(f * f + 1) - f), _ = Math.log(Math.sqrt(p * p + 1) - p); (n = (_ - m) / Nf), (i = function (e) { var t, i = e * n, a = Ef(m), l = (o / (2 * g)) * (a * ((t = Nf * i + m), ((t = Math.exp(2 * t)) - 1) / (t + 1)) - (function (e) { return ((e = Math.exp(e)) - 1 / e) / 2; })(m)); return [r + l * d, s + l * h, (o * a) / Ef(Nf * i + m)]; }); } return (i.duration = 1e3 * n), i; } function If(e) { return function (t, i) { var n = e((t = ri(t)).h, (i = ri(i)).h), r = gi(t.s, i.s), s = gi(t.l, i.l), o = gi(t.opacity, i.opacity); return function (e) { return ( (t.h = n(e)), (t.s = r(e)), (t.l = s(e)), (t.opacity = o(e)), t + '' ); }; }; } const Of = If(ui); var Af = If(gi); function Rf(e, t) { var i = gi((e = ks(e)).l, (t = ks(t)).l), n = gi(e.a, t.a), r = gi(e.b, t.b), s = gi(e.opacity, t.opacity); return function (t) { return ( (e.l = i(t)), (e.a = n(t)), (e.b = r(t)), (e.opacity = s(t)), e + '' ); }; } function Pf(e) { return function (t, i) { var n = e((t = Is(t)).h, (i = Is(i)).h), r = gi(t.c, i.c), s = gi(t.l, i.l), o = gi(t.opacity, i.opacity); return function (e) { return ( (t.h = n(e)), (t.c = r(e)), (t.l = s(e)), (t.opacity = o(e)), t + '' ); }; }; } const Ff = Pf(ui); var Bf = Pf(gi); function Wf(e) { return (function t(i) { function n(t, n) { var r = e((t = zs(t)).h, (n = zs(n)).h), s = gi(t.s, n.s), o = gi(t.l, n.l), a = gi(t.opacity, n.opacity); return function (e) { return ( (t.h = r(e)), (t.s = s(e)), (t.l = o(Math.pow(e, i))), (t.opacity = a(e)), t + '' ); }; } return (i = +i), (n.gamma = t), n; })(1); } const Yf = Wf(ui); var Hf = Wf(gi); function jf(e, t) { for ( var i = 0, n = t.length - 1, r = t[0], s = new Array(n < 0 ? 0 : n); i < n; ) s[i] = e(r, (r = t[++i])); return function (e) { var t = Math.max(0, Math.min(n - 1, Math.floor((e *= n)))); return s[t](e - t); }; } function Vf(e, t) { for (var i = new Array(t), n = 0; n < t; ++n) i[n] = e(n / (t - 1)); return i; } function zf(e) { for (var t, i = -1, n = e.length, r = e[n - 1], s = 0; ++i < n; ) (t = r), (r = e[i]), (s += t[1] * r[0] - t[0] * r[1]); return s / 2; } function Uf(e) { for ( var t, i, n = -1, r = e.length, s = 0, o = 0, a = e[r - 1], l = 0; ++n < r; ) (t = a), (a = e[n]), (l += i = t[0] * a[1] - a[0] * t[1]), (s += (t[0] + a[0]) * i), (o += (t[1] + a[1]) * i); return [s / (l *= 3), o / l]; } function $f(e, t, i) { return (t[0] - e[0]) * (i[1] - e[1]) - (t[1] - e[1]) * (i[0] - e[0]); } function Kf(e, t) { return e[0] - t[0] || e[1] - t[1]; } function qf(e) { for (var t = e.length, i = [0, 1], n = 2, r = 2; r < t; ++r) { for (; n > 1 && $f(e[i[n - 2]], e[i[n - 1]], e[r]) <= 0; ) --n; i[n++] = r; } return i.slice(0, n); } function Gf(e) { if ((i = e.length) < 3) return null; var t, i, n = new Array(i), r = new Array(i); for (t = 0; t < i; ++t) n[t] = [+e[t][0], +e[t][1], t]; for (n.sort(Kf), t = 0; t < i; ++t) r[t] = [n[t][0], -n[t][1]]; var s = qf(n), o = qf(r), a = o[0] === s[0], l = o[o.length - 1] === s[s.length - 1], c = []; for (t = s.length - 1; t >= 0; --t) c.push(e[n[s[t]][2]]); for (t = +a; t < o.length - l; ++t) c.push(e[n[o[t]][2]]); return c; } function Zf(e, t) { for ( var i, n, r = e.length, s = e[r - 1], o = t[0], a = t[1], l = s[0], c = s[1], d = !1, h = 0; h < r; ++h ) (i = (s = e[h])[0]), (n = s[1]) > a != c > a && o < ((l - i) * (a - n)) / (c - n) + i && (d = !d), (l = i), (c = n); return d; } function Jf(e) { for ( var t, i, n = -1, r = e.length, s = e[r - 1], o = s[0], a = s[1], l = 0; ++n < r; ) (t = o), (i = a), (t -= o = (s = e[n])[0]), (i -= a = s[1]), (l += Math.sqrt(t * t + i * i)); return l; } function Qf() { return Math.random(); } const Xf = (function e(t) { function i(e, i) { return ( (e = null == e ? 0 : +e), (i = null == i ? 1 : +i), 1 === arguments.length ? ((i = e), (e = 0)) : (i -= e), function () { return t() * i + e; } ); } return (i.source = e), i; })(Qf), ep = (function e(t) { function i(e, i) { var n, r; return ( (e = null == e ? 0 : +e), (i = null == i ? 1 : +i), function () { var s; if (null != n) (s = n), (n = null); else do { (n = 2 * t() - 1), (s = 2 * t() - 1), (r = n * n + s * s); } while (!r || r > 1); return e + i * s * Math.sqrt((-2 * Math.log(r)) / r); } ); } return (i.source = e), i; })(Qf), tp = (function e(t) { function i() { var e = ep.source(t).apply(this, arguments); return function () { return Math.exp(e()); }; } return (i.source = e), i; })(Qf), ip = (function e(t) { function i(e) { return function () { for (var i = 0, n = 0; n < e; ++n) i += t(); return i; }; } return (i.source = e), i; })(Qf), np = (function e(t) { function i(e) { var i = ip.source(t)(e); return function () { return i() / e; }; } return (i.source = e), i; })(Qf), rp = (function e(t) { function i(e) { return function () { return -Math.log(1 - t()) / e; }; } return (i.source = e), i; })(Qf); function sp(e, t) { switch (arguments.length) { case 0: break; case 1: this.range(e); break; default: this.range(t).domain(e); } return this; } function op(e, t) { switch (arguments.length) { case 0: break; case 1: this.interpolator(e); break; default: this.interpolator(t).domain(e); } return this; } var ap = Array.prototype, lp = ap.map, cp = ap.slice, dp = { name: 'implicit' }; function hp() { var e = is(), t = [], i = [], n = dp; function r(r) { var s = r + '', o = e.get(s); if (!o) { if (n !== dp) return n; e.set(s, (o = t.push(r))); } return i[(o - 1) % i.length]; } return ( (r.domain = function (i) { if (!arguments.length) return t.slice(); (t = []), (e = is()); for (var n, s, o = -1, a = i.length; ++o < a; ) e.has((s = (n = i[o]) + '')) || e.set(s, t.push(n)); return r; }), (r.range = function (e) { return arguments.length ? ((i = cp.call(e)), r) : i.slice(); }), (r.unknown = function (e) { return arguments.length ? ((n = e), r) : n; }), (r.copy = function () { return hp(t, i).unknown(n); }), sp.apply(r, arguments), r ); } function up() { var e, t, i = hp().unknown(void 0), n = i.domain, r = i.range, s = [0, 1], o = !1, a = 0, l = 0, c = 0.5; function d() { var i = n().length, d = s[1] < s[0], h = s[d - 0], u = s[1 - d]; (e = (u - h) / Math.max(1, i - a + 2 * l)), o && (e = Math.floor(e)), (h += (u - h - e * (i - a)) * c), (t = e * (1 - a)), o && ((h = Math.round(h)), (t = Math.round(t))); var g = S(i).map(function (t) { return h + e * t; }); return r(d ? g.reverse() : g); } return ( delete i.unknown, (i.domain = function (e) { return arguments.length ? (n(e), d()) : n(); }), (i.range = function (e) { return arguments.length ? ((s = [+e[0], +e[1]]), d()) : s.slice(); }), (i.rangeRound = function (e) { return (s = [+e[0], +e[1]]), (o = !0), d(); }), (i.bandwidth = function () { return t; }), (i.step = function () { return e; }), (i.round = function (e) { return arguments.length ? ((o = !!e), d()) : o; }), (i.padding = function (e) { return arguments.length ? ((a = Math.min(1, (l = +e))), d()) : a; }), (i.paddingInner = function (e) { return arguments.length ? ((a = Math.min(1, e)), d()) : a; }), (i.paddingOuter = function (e) { return arguments.length ? ((l = +e), d()) : l; }), (i.align = function (e) { return arguments.length ? ((c = Math.max(0, Math.min(1, e))), d()) : c; }), (i.copy = function () { return up(n(), s) .round(o) .paddingInner(a) .paddingOuter(l) .align(c); }), sp.apply(d(), arguments) ); } function gp(e) { var t = e.copy; return ( (e.padding = e.paddingOuter), delete e.paddingInner, delete e.paddingOuter, (e.copy = function () { return gp(t()); }), e ); } function fp() { return gp(up.apply(null, arguments).paddingInner(1)); } function pp(e) { return +e; } var mp = [0, 1]; function _p(e) { return e; } function bp(e, t) { return (t -= e = +e) ? function (i) { return (i - e) / t; } : ((i = isNaN(t) ? NaN : 0.5), function () { return i; }); var i; } function vp(e) { var t, i = e[0], n = e[e.length - 1]; return ( i > n && ((t = i), (i = n), (n = t)), function (e) { return Math.max(i, Math.min(n, e)); } ); } function yp(e, t, i) { var n = e[0], r = e[1], s = t[0], o = t[1]; return ( r < n ? ((n = bp(r, n)), (s = i(o, s))) : ((n = bp(n, r)), (s = i(s, o))), function (e) { return s(n(e)); } ); } function wp(e, t, i) { var n = Math.min(e.length, t.length) - 1, r = new Array(n), s = new Array(n), o = -1; for ( e[n] < e[0] && ((e = e.slice().reverse()), (t = t.slice().reverse())); ++o < n; ) (r[o] = bp(e[o], e[o + 1])), (s[o] = i(t[o], t[o + 1])); return function (t) { var i = c(e, t, 1, n) - 1; return s[i](r[i](t)); }; } function Cp(e, t) { return t .domain(e.domain()) .range(e.range()) .interpolate(e.interpolate()) .clamp(e.clamp()) .unknown(e.unknown()); } function Sp() { var e, t, i, n, r, s, o = mp, a = mp, l = Di, c = _p; function d() { return ( (n = Math.min(o.length, a.length) > 2 ? wp : yp), (r = s = null), h ); } function h(t) { return isNaN((t = +t)) ? i : (r || (r = n(o.map(e), a, l)))(e(c(t))); } return ( (h.invert = function (i) { return c(t((s || (s = n(a, o.map(e), Si)))(i))); }), (h.domain = function (e) { return arguments.length ? ((o = lp.call(e, pp)), c === _p || (c = vp(o)), d()) : o.slice(); }), (h.range = function (e) { return arguments.length ? ((a = cp.call(e)), d()) : a.slice(); }), (h.rangeRound = function (e) { return (a = cp.call(e)), (l = Df), d(); }), (h.clamp = function (e) { return arguments.length ? ((c = e ? vp(o) : _p), h) : c !== _p; }), (h.interpolate = function (e) { return arguments.length ? ((l = e), d()) : l; }), (h.unknown = function (e) { return arguments.length ? ((i = e), h) : i; }), function (i, n) { return (e = i), (t = n), d(); } ); } function kp(e, t) { return Sp()(e, t); } function xp(e, t, i, n) { var r, s = N(e, t, i); switch ((n = al(null == n ? ',f' : n)).type) { case 's': var o = Math.max(Math.abs(e), Math.abs(t)); return ( null != n.precision || isNaN((r = yl(s, o))) || (n.precision = r), fl(n, o) ); case '': case 'e': case 'g': case 'p': case 'r': null != n.precision || isNaN((r = wl(s, Math.max(Math.abs(e), Math.abs(t))))) || (n.precision = r - ('e' === n.type)); break; case 'f': case '%': null != n.precision || isNaN((r = vl(s))) || (n.precision = r - 2 * ('%' === n.type)); } return gl(n); } function Lp(e) { var t = e.domain; return ( (e.ticks = function (e) { var i = t(); return M(i[0], i[i.length - 1], null == e ? 10 : e); }), (e.tickFormat = function (e, i) { var n = t(); return xp(n[0], n[n.length - 1], null == e ? 10 : e, i); }), (e.nice = function (i) { null == i && (i = 10); var n, r = t(), s = 0, o = r.length - 1, a = r[s], l = r[o]; return ( l < a && ((n = a), (a = l), (l = n), (n = s), (s = o), (o = n)), (n = D(a, l, i)) > 0 ? (n = D( (a = Math.floor(a / n) * n), (l = Math.ceil(l / n) * n), i )) : n < 0 && (n = D( (a = Math.ceil(a * n) / n), (l = Math.floor(l * n) / n), i )), n > 0 ? ((r[s] = Math.floor(a / n) * n), (r[o] = Math.ceil(l / n) * n), t(r)) : n < 0 && ((r[s] = Math.ceil(a * n) / n), (r[o] = Math.floor(l * n) / n), t(r)), e ); }), e ); } function Mp() { var e = kp(_p, _p); return ( (e.copy = function () { return Cp(e, Mp()); }), sp.apply(e, arguments), Lp(e) ); } function Dp(e) { var t; function i(e) { return isNaN((e = +e)) ? t : e; } return ( (i.invert = i), (i.domain = i.range = function (t) { return arguments.length ? ((e = lp.call(t, pp)), i) : e.slice(); }), (i.unknown = function (e) { return arguments.length ? ((t = e), i) : t; }), (i.copy = function () { return Dp(e).unknown(t); }), (e = arguments.length ? lp.call(e, pp) : [0, 1]), Lp(i) ); } function Np(e, t) { var i, n = 0, r = (e = e.slice()).length - 1, s = e[n], o = e[r]; return ( o < s && ((i = n), (n = r), (r = i), (i = s), (s = o), (o = i)), (e[n] = t.floor(s)), (e[r] = t.ceil(o)), e ); } function Ep(e) { return Math.log(e); } function Tp(e) { return Math.exp(e); } function Ip(e) { return -Math.log(-e); } function Op(e) { return -Math.exp(-e); } function Ap(e) { return isFinite(e) ? +('1e' + e) : e < 0 ? 0 : e; } function Rp(e) { return function (t) { return -e(-t); }; } function Pp(e) { var t, i, n = e(Ep, Tp), r = n.domain, s = 10; function o() { return ( (t = (function (e) { return e === Math.E ? Math.log : (10 === e && Math.log10) || (2 === e && Math.log2) || ((e = Math.log(e)), function (t) { return Math.log(t) / e; }); })(s)), (i = (function (e) { return 10 === e ? Ap : e === Math.E ? Math.exp : function (t) { return Math.pow(e, t); }; })(s)), r()[0] < 0 ? ((t = Rp(t)), (i = Rp(i)), e(Ip, Op)) : e(Ep, Tp), n ); } return ( (n.base = function (e) { return arguments.length ? ((s = +e), o()) : s; }), (n.domain = function (e) { return arguments.length ? (r(e), o()) : r(); }), (n.ticks = function (e) { var n, o = r(), a = o[0], l = o[o.length - 1]; (n = l < a) && ((u = a), (a = l), (l = u)); var c, d, h, u = t(a), g = t(l), f = null == e ? 10 : +e, p = []; if (!(s % 1) && g - u < f) { if (((u = Math.round(u) - 1), (g = Math.round(g) + 1), a > 0)) { for (; u < g; ++u) for (d = 1, c = i(u); d < s; ++d) if (!((h = c * d) < a)) { if (h > l) break; p.push(h); } } else for (; u < g; ++u) for (d = s - 1, c = i(u); d >= 1; --d) if (!((h = c * d) < a)) { if (h > l) break; p.push(h); } } else p = M(u, g, Math.min(g - u, f)).map(i); return n ? p.reverse() : p; }), (n.tickFormat = function (e, r) { if ( (null == r && (r = 10 === s ? '.0e' : ','), 'function' != typeof r && (r = gl(r)), e === 1 / 0) ) return r; null == e && (e = 10); var o = Math.max(1, (s * e) / n.ticks().length); return function (e) { var n = e / i(Math.round(t(e))); return n * s < s - 0.5 && (n *= s), n <= o ? r(e) : ''; }; }), (n.nice = function () { return r( Np(r(), { floor: function (e) { return i(Math.floor(t(e))); }, ceil: function (e) { return i(Math.ceil(t(e))); }, }) ); }), n ); } function Fp() { var e = Pp(Sp()).domain([1, 10]); return ( (e.copy = function () { return Cp(e, Fp()).base(e.base()); }), sp.apply(e, arguments), e ); } function Bp(e) { return function (t) { return Math.sign(t) * Math.log1p(Math.abs(t / e)); }; } function Wp(e) { return function (t) { return Math.sign(t) * Math.expm1(Math.abs(t)) * e; }; } function Yp(e) { var t = 1, i = e(Bp(t), Wp(t)); return ( (i.constant = function (i) { return arguments.length ? e(Bp((t = +i)), Wp(t)) : t; }), Lp(i) ); } function Hp() { var e = Yp(Sp()); return ( (e.copy = function () { return Cp(e, Hp()).constant(e.constant()); }), sp.apply(e, arguments) ); } function jp(e) { return function (t) { return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e); }; } function Vp(e) { return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e); } function zp(e) { return e < 0 ? -e * e : e * e; } function Up(e) { var t = e(_p, _p), i = 1; function n() { return 1 === i ? e(_p, _p) : 0.5 === i ? e(Vp, zp) : e(jp(i), jp(1 / i)); } return ( (t.exponent = function (e) { return arguments.length ? ((i = +e), n()) : i; }), Lp(t) ); } function $p() { var e = Up(Sp()); return ( (e.copy = function () { return Cp(e, $p()).exponent(e.exponent()); }), sp.apply(e, arguments), e ); } function Kp() { return $p.apply(null, arguments).exponent(0.5); } function qp() { var e, t = [], i = [], n = []; function s() { var e = 0, r = Math.max(1, i.length); for (n = new Array(r - 1); ++e < r; ) n[e - 1] = I(t, e / r); return o; } function o(t) { return isNaN((t = +t)) ? e : i[c(n, t)]; } return ( (o.invertExtent = function (e) { var r = i.indexOf(e); return r < 0 ? [NaN, NaN] : [ r > 0 ? n[r - 1] : t[0], r < n.length ? n[r] : t[t.length - 1], ]; }), (o.domain = function (e) { if (!arguments.length) return t.slice(); t = []; for (var i, n = 0, o = e.length; n < o; ++n) null == (i = e[n]) || isNaN((i = +i)) || t.push(i); return t.sort(r), s(); }), (o.range = function (e) { return arguments.length ? ((i = cp.call(e)), s()) : i.slice(); }), (o.unknown = function (t) { return arguments.length ? ((e = t), o) : e; }), (o.quantiles = function () { return n.slice(); }), (o.copy = function () { return qp().domain(t).range(i).unknown(e); }), sp.apply(o, arguments) ); } function Gp() { var e, t = 0, i = 1, n = 1, r = [0.5], s = [0, 1]; function o(t) { return t <= t ? s[c(r, t, 0, n)] : e; } function a() { var e = -1; for (r = new Array(n); ++e < n; ) r[e] = ((e + 1) * i - (e - n) * t) / (n + 1); return o; } return ( (o.domain = function (e) { return arguments.length ? ((t = +e[0]), (i = +e[1]), a()) : [t, i]; }), (o.range = function (e) { return arguments.length ? ((n = (s = cp.call(e)).length - 1), a()) : s.slice(); }), (o.invertExtent = function (e) { var o = s.indexOf(e); return o < 0 ? [NaN, NaN] : o < 1 ? [t, r[0]] : o >= n ? [r[n - 1], i] : [r[o - 1], r[o]]; }), (o.unknown = function (t) { return arguments.length ? ((e = t), o) : o; }), (o.thresholds = function () { return r.slice(); }), (o.copy = function () { return Gp().domain([t, i]).range(s).unknown(e); }), sp.apply(Lp(o), arguments) ); } function Zp() { var e, t = [0.5], i = [0, 1], n = 1; function r(r) { return r <= r ? i[c(t, r, 0, n)] : e; } return ( (r.domain = function (e) { return arguments.length ? ((t = cp.call(e)), (n = Math.min(t.length, i.length - 1)), r) : t.slice(); }), (r.range = function (e) { return arguments.length ? ((i = cp.call(e)), (n = Math.min(t.length, i.length - 1)), r) : i.slice(); }), (r.invertExtent = function (e) { var n = i.indexOf(e); return [t[n - 1], t[n]]; }), (r.unknown = function (t) { return arguments.length ? ((e = t), r) : e; }), (r.copy = function () { return Zp().domain(t).range(i).unknown(e); }), sp.apply(r, arguments) ); } var Jp = new Date(), Qp = new Date(); function Xp(e, t, i, n) { function r(t) { return ( e((t = 0 === arguments.length ? new Date() : new Date(+t))), t ); } return ( (r.floor = function (t) { return e((t = new Date(+t))), t; }), (r.ceil = function (i) { return e((i = new Date(i - 1))), t(i, 1), e(i), i; }), (r.round = function (e) { var t = r(e), i = r.ceil(e); return e - t < i - e ? t : i; }), (r.offset = function (e, i) { return t((e = new Date(+e)), null == i ? 1 : Math.floor(i)), e; }), (r.range = function (i, n, s) { var o, a = []; if ( ((i = r.ceil(i)), (s = null == s ? 1 : Math.floor(s)), !(i < n && s > 0)) ) return a; do { a.push((o = new Date(+i))), t(i, s), e(i); } while (o < i && i < n); return a; }), (r.filter = function (i) { return Xp( function (t) { if (t >= t) for (; e(t), !i(t); ) t.setTime(t - 1); }, function (e, n) { if (e >= e) if (n < 0) for (; ++n <= 0; ) for (; t(e, -1), !i(e); ); else for (; --n >= 0; ) for (; t(e, 1), !i(e); ); } ); }), i && ((r.count = function (t, n) { return ( Jp.setTime(+t), Qp.setTime(+n), e(Jp), e(Qp), Math.floor(i(Jp, Qp)) ); }), (r.every = function (e) { return ( (e = Math.floor(e)), isFinite(e) && e > 0 ? e > 1 ? r.filter( n ? function (t) { return n(t) % e == 0; } : function (t) { return r.count(0, t) % e == 0; } ) : r : null ); })), r ); } var em = Xp( function (e) { e.setMonth(0, 1), e.setHours(0, 0, 0, 0); }, function (e, t) { e.setFullYear(e.getFullYear() + t); }, function (e, t) { return t.getFullYear() - e.getFullYear(); }, function (e) { return e.getFullYear(); } ); em.every = function (e) { return isFinite((e = Math.floor(e))) && e > 0 ? Xp( function (t) { t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0); }, function (t, i) { t.setFullYear(t.getFullYear() + i * e); } ) : null; }; const tm = em; var im = em.range, nm = Xp( function (e) { e.setDate(1), e.setHours(0, 0, 0, 0); }, function (e, t) { e.setMonth(e.getMonth() + t); }, function (e, t) { return ( t.getMonth() - e.getMonth() + 12 * (t.getFullYear() - e.getFullYear()) ); }, function (e) { return e.getMonth(); } ); const rm = nm; var sm = nm.range, om = 1e3, am = 6e4, lm = 36e5, cm = 864e5, dm = 6048e5; function hm(e) { return Xp( function (t) { t.setDate(t.getDate() - ((t.getDay() + 7 - e) % 7)), t.setHours(0, 0, 0, 0); }, function (e, t) { e.setDate(e.getDate() + 7 * t); }, function (e, t) { return ( (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * am) / dm ); } ); } var um = hm(0), gm = hm(1), fm = hm(2), pm = hm(3), mm = hm(4), _m = hm(5), bm = hm(6), vm = um.range, ym = gm.range, wm = fm.range, Cm = pm.range, Sm = mm.range, km = _m.range, xm = bm.range, Lm = Xp( function (e) { e.setHours(0, 0, 0, 0); }, function (e, t) { e.setDate(e.getDate() + t); }, function (e, t) { return ( (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * am) / cm ); }, function (e) { return e.getDate() - 1; } ); const Mm = Lm; var Dm = Lm.range, Nm = Xp( function (e) { e.setTime( e - e.getMilliseconds() - e.getSeconds() * om - e.getMinutes() * am ); }, function (e, t) { e.setTime(+e + t * lm); }, function (e, t) { return (t - e) / lm; }, function (e) { return e.getHours(); } ); const Em = Nm; var Tm = Nm.range, Im = Xp( function (e) { e.setTime(e - e.getMilliseconds() - e.getSeconds() * om); }, function (e, t) { e.setTime(+e + t * am); }, function (e, t) { return (t - e) / am; }, function (e) { return e.getMinutes(); } ); const Om = Im; var Am = Im.range, Rm = Xp( function (e) { e.setTime(e - e.getMilliseconds()); }, function (e, t) { e.setTime(+e + t * om); }, function (e, t) { return (t - e) / om; }, function (e) { return e.getUTCSeconds(); } ); const Pm = Rm; var Fm = Rm.range, Bm = Xp( function () {}, function (e, t) { e.setTime(+e + t); }, function (e, t) { return t - e; } ); Bm.every = function (e) { return ( (e = Math.floor(e)), isFinite(e) && e > 0 ? e > 1 ? Xp( function (t) { t.setTime(Math.floor(t / e) * e); }, function (t, i) { t.setTime(+t + i * e); }, function (t, i) { return (i - t) / e; } ) : Bm : null ); }; const Wm = Bm; var Ym = Bm.range; function Hm(e) { return Xp( function (t) { t.setUTCDate(t.getUTCDate() - ((t.getUTCDay() + 7 - e) % 7)), t.setUTCHours(0, 0, 0, 0); }, function (e, t) { e.setUTCDate(e.getUTCDate() + 7 * t); }, function (e, t) { return (t - e) / dm; } ); } var jm = Hm(0), Vm = Hm(1), zm = Hm(2), Um = Hm(3), $m = Hm(4), Km = Hm(5), qm = Hm(6), Gm = jm.range, Zm = Vm.range, Jm = zm.range, Qm = Um.range, Xm = $m.range, e_ = Km.range, t_ = qm.range, i_ = Xp( function (e) { e.setUTCHours(0, 0, 0, 0); }, function (e, t) { e.setUTCDate(e.getUTCDate() + t); }, function (e, t) { return (t - e) / cm; }, function (e) { return e.getUTCDate() - 1; } ); const n_ = i_; var r_ = i_.range, s_ = Xp( function (e) { e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0); }, function (e, t) { e.setUTCFullYear(e.getUTCFullYear() + t); }, function (e, t) { return t.getUTCFullYear() - e.getUTCFullYear(); }, function (e) { return e.getUTCFullYear(); } ); s_.every = function (e) { return isFinite((e = Math.floor(e))) && e > 0 ? Xp( function (t) { t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); }, function (t, i) { t.setUTCFullYear(t.getUTCFullYear() + i * e); } ) : null; }; const o_ = s_; var a_ = s_.range; function l_(e) { if (0 <= e.y && e.y < 100) { var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L); return t.setFullYear(e.y), t; } return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L); } function c_(e) { if (0 <= e.y && e.y < 100) { var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L)); return t.setUTCFullYear(e.y), t; } return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L)); } function d_(e, t, i) { return { y: e, m: t, d: i, H: 0, M: 0, S: 0, L: 0 }; } function h_(e) { var t = e.dateTime, i = e.date, n = e.time, r = e.periods, s = e.days, o = e.shortDays, a = e.months, l = e.shortMonths, c = S_(r), d = k_(r), h = S_(s), u = k_(s), g = S_(o), f = k_(o), p = S_(a), m = k_(a), _ = S_(l), b = k_(l), v = { a: function (e) { return o[e.getDay()]; }, A: function (e) { return s[e.getDay()]; }, b: function (e) { return l[e.getMonth()]; }, B: function (e) { return a[e.getMonth()]; }, c: null, d: U_, e: U_, f: Z_, H: $_, I: K_, j: q_, L: G_, m: J_, M: Q_, p: function (e) { return r[+(e.getHours() >= 12)]; }, q: function (e) { return 1 + ~~(e.getMonth() / 3); }, Q: Lb, s: Mb, S: X_, u: eb, U: tb, V: ib, w: nb, W: rb, x: null, X: null, y: sb, Y: ob, Z: ab, '%': xb, }, y = { a: function (e) { return o[e.getUTCDay()]; }, A: function (e) { return s[e.getUTCDay()]; }, b: function (e) { return l[e.getUTCMonth()]; }, B: function (e) { return a[e.getUTCMonth()]; }, c: null, d: lb, e: lb, f: gb, H: cb, I: db, j: hb, L: ub, m: fb, M: pb, p: function (e) { return r[+(e.getUTCHours() >= 12)]; }, q: function (e) { return 1 + ~~(e.getUTCMonth() / 3); }, Q: Lb, s: Mb, S: mb, u: _b, U: bb, V: vb, w: yb, W: wb, x: null, X: null, y: Cb, Y: Sb, Z: kb, '%': xb, }, w = { a: function (e, t, i) { var n = g.exec(t.slice(i)); return n ? ((e.w = f[n[0].toLowerCase()]), i + n[0].length) : -1; }, A: function (e, t, i) { var n = h.exec(t.slice(i)); return n ? ((e.w = u[n[0].toLowerCase()]), i + n[0].length) : -1; }, b: function (e, t, i) { var n = _.exec(t.slice(i)); return n ? ((e.m = b[n[0].toLowerCase()]), i + n[0].length) : -1; }, B: function (e, t, i) { var n = p.exec(t.slice(i)); return n ? ((e.m = m[n[0].toLowerCase()]), i + n[0].length) : -1; }, c: function (e, i, n) { return k(e, t, i, n); }, d: R_, e: R_, f: H_, H: F_, I: F_, j: P_, L: Y_, m: A_, M: B_, p: function (e, t, i) { var n = c.exec(t.slice(i)); return n ? ((e.p = d[n[0].toLowerCase()]), i + n[0].length) : -1; }, q: O_, Q: V_, s: z_, S: W_, u: L_, U: M_, V: D_, w: x_, W: N_, x: function (e, t, n) { return k(e, i, t, n); }, X: function (e, t, i) { return k(e, n, t, i); }, y: T_, Y: E_, Z: I_, '%': j_, }; function C(e, t) { return function (i) { var n, r, s, o = [], a = -1, l = 0, c = e.length; for (i instanceof Date || (i = new Date(+i)); ++a < c; ) 37 === e.charCodeAt(a) && (o.push(e.slice(l, a)), null != (r = __[(n = e.charAt(++a))]) ? (n = e.charAt(++a)) : (r = 'e' === n ? ' ' : '0'), (s = t[n]) && (n = s(i, r)), o.push(n), (l = a + 1)); return o.push(e.slice(l, a)), o.join(''); }; } function S(e, t) { return function (i) { var n, r, s = d_(1900, void 0, 1); if (k(s, e, (i += ''), 0) != i.length) return null; if ('Q' in s) return new Date(s.Q); if ('s' in s) return new Date(1e3 * s.s + ('L' in s ? s.L : 0)); if ( (t && !('Z' in s) && (s.Z = 0), 'p' in s && (s.H = (s.H % 12) + 12 * s.p), void 0 === s.m && (s.m = 'q' in s ? s.q : 0), 'V' in s) ) { if (s.V < 1 || s.V > 53) return null; 'w' in s || (s.w = 1), 'Z' in s ? ((r = (n = c_(d_(s.y, 0, 1))).getUTCDay()), (n = r > 4 || 0 === r ? Vm.ceil(n) : Vm(n)), (n = n_.offset(n, 7 * (s.V - 1))), (s.y = n.getUTCFullYear()), (s.m = n.getUTCMonth()), (s.d = n.getUTCDate() + ((s.w + 6) % 7))) : ((r = (n = l_(d_(s.y, 0, 1))).getDay()), (n = r > 4 || 0 === r ? gm.ceil(n) : gm(n)), (n = Mm.offset(n, 7 * (s.V - 1))), (s.y = n.getFullYear()), (s.m = n.getMonth()), (s.d = n.getDate() + ((s.w + 6) % 7))); } else ('W' in s || 'U' in s) && ('w' in s || (s.w = 'u' in s ? s.u % 7 : 'W' in s ? 1 : 0), (r = 'Z' in s ? c_(d_(s.y, 0, 1)).getUTCDay() : l_(d_(s.y, 0, 1)).getDay()), (s.m = 0), (s.d = 'W' in s ? ((s.w + 6) % 7) + 7 * s.W - ((r + 5) % 7) : s.w + 7 * s.U - ((r + 6) % 7))); return 'Z' in s ? ((s.H += (s.Z / 100) | 0), (s.M += s.Z % 100), c_(s)) : l_(s); }; } function k(e, t, i, n) { for (var r, s, o = 0, a = t.length, l = i.length; o < a; ) { if (n >= l) return -1; if (37 === (r = t.charCodeAt(o++))) { if ( ((r = t.charAt(o++)), !(s = w[r in __ ? t.charAt(o++) : r]) || (n = s(e, i, n)) < 0) ) return -1; } else if (r != i.charCodeAt(n++)) return -1; } return n; } return ( (v.x = C(i, v)), (v.X = C(n, v)), (v.c = C(t, v)), (y.x = C(i, y)), (y.X = C(n, y)), (y.c = C(t, y)), { format: function (e) { var t = C((e += ''), v); return ( (t.toString = function () { return e; }), t ); }, parse: function (e) { var t = S((e += ''), !1); return ( (t.toString = function () { return e; }), t ); }, utcFormat: function (e) { var t = C((e += ''), y); return ( (t.toString = function () { return e; }), t ); }, utcParse: function (e) { var t = S((e += ''), !0); return ( (t.toString = function () { return e; }), t ); }, } ); } var u_, g_, f_, p_, m_, __ = { '-': '', _: ' ', 0: '0' }, b_ = /^\s*\d+/, v_ = /^%/, y_ = /[\\^$*+?|[\]().{}]/g; function w_(e, t, i) { var n = e < 0 ? '-' : '', r = (n ? -e : e) + '', s = r.length; return n + (s < i ? new Array(i - s + 1).join(t) + r : r); } function C_(e) { return e.replace(y_, '\\$&'); } function S_(e) { return new RegExp('^(?:' + e.map(C_).join('|') + ')', 'i'); } function k_(e) { for (var t = {}, i = -1, n = e.length; ++i < n; ) t[e[i].toLowerCase()] = i; return t; } function x_(e, t, i) { var n = b_.exec(t.slice(i, i + 1)); return n ? ((e.w = +n[0]), i + n[0].length) : -1; } function L_(e, t, i) { var n = b_.exec(t.slice(i, i + 1)); return n ? ((e.u = +n[0]), i + n[0].length) : -1; } function M_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.U = +n[0]), i + n[0].length) : -1; } function D_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.V = +n[0]), i + n[0].length) : -1; } function N_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.W = +n[0]), i + n[0].length) : -1; } function E_(e, t, i) { var n = b_.exec(t.slice(i, i + 4)); return n ? ((e.y = +n[0]), i + n[0].length) : -1; } function T_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), i + n[0].length) : -1; } function I_(e, t, i) { var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(i, i + 6)); return n ? ((e.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), i + n[0].length) : -1; } function O_(e, t, i) { var n = b_.exec(t.slice(i, i + 1)); return n ? ((e.q = 3 * n[0] - 3), i + n[0].length) : -1; } function A_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.m = n[0] - 1), i + n[0].length) : -1; } function R_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.d = +n[0]), i + n[0].length) : -1; } function P_(e, t, i) { var n = b_.exec(t.slice(i, i + 3)); return n ? ((e.m = 0), (e.d = +n[0]), i + n[0].length) : -1; } function F_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.H = +n[0]), i + n[0].length) : -1; } function B_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.M = +n[0]), i + n[0].length) : -1; } function W_(e, t, i) { var n = b_.exec(t.slice(i, i + 2)); return n ? ((e.S = +n[0]), i + n[0].length) : -1; } function Y_(e, t, i) { var n = b_.exec(t.slice(i, i + 3)); return n ? ((e.L = +n[0]), i + n[0].length) : -1; } function H_(e, t, i) { var n = b_.exec(t.slice(i, i + 6)); return n ? ((e.L = Math.floor(n[0] / 1e3)), i + n[0].length) : -1; } function j_(e, t, i) { var n = v_.exec(t.slice(i, i + 1)); return n ? i + n[0].length : -1; } function V_(e, t, i) { var n = b_.exec(t.slice(i)); return n ? ((e.Q = +n[0]), i + n[0].length) : -1; } function z_(e, t, i) { var n = b_.exec(t.slice(i)); return n ? ((e.s = +n[0]), i + n[0].length) : -1; } function U_(e, t) { return w_(e.getDate(), t, 2); } function $_(e, t) { return w_(e.getHours(), t, 2); } function K_(e, t) { return w_(e.getHours() % 12 || 12, t, 2); } function q_(e, t) { return w_(1 + Mm.count(tm(e), e), t, 3); } function G_(e, t) { return w_(e.getMilliseconds(), t, 3); } function Z_(e, t) { return G_(e, t) + '000'; } function J_(e, t) { return w_(e.getMonth() + 1, t, 2); } function Q_(e, t) { return w_(e.getMinutes(), t, 2); } function X_(e, t) { return w_(e.getSeconds(), t, 2); } function eb(e) { var t = e.getDay(); return 0 === t ? 7 : t; } function tb(e, t) { return w_(um.count(tm(e) - 1, e), t, 2); } function ib(e, t) { var i = e.getDay(); return ( (e = i >= 4 || 0 === i ? mm(e) : mm.ceil(e)), w_(mm.count(tm(e), e) + (4 === tm(e).getDay()), t, 2) ); } function nb(e) { return e.getDay(); } function rb(e, t) { return w_(gm.count(tm(e) - 1, e), t, 2); } function sb(e, t) { return w_(e.getFullYear() % 100, t, 2); } function ob(e, t) { return w_(e.getFullYear() % 1e4, t, 4); } function ab(e) { var t = e.getTimezoneOffset(); return ( (t > 0 ? '-' : ((t *= -1), '+')) + w_((t / 60) | 0, '0', 2) + w_(t % 60, '0', 2) ); } function lb(e, t) { return w_(e.getUTCDate(), t, 2); } function cb(e, t) { return w_(e.getUTCHours(), t, 2); } function db(e, t) { return w_(e.getUTCHours() % 12 || 12, t, 2); } function hb(e, t) { return w_(1 + n_.count(o_(e), e), t, 3); } function ub(e, t) { return w_(e.getUTCMilliseconds(), t, 3); } function gb(e, t) { return ub(e, t) + '000'; } function fb(e, t) { return w_(e.getUTCMonth() + 1, t, 2); } function pb(e, t) { return w_(e.getUTCMinutes(), t, 2); } function mb(e, t) { return w_(e.getUTCSeconds(), t, 2); } function _b(e) { var t = e.getUTCDay(); return 0 === t ? 7 : t; } function bb(e, t) { return w_(jm.count(o_(e) - 1, e), t, 2); } function vb(e, t) { var i = e.getUTCDay(); return ( (e = i >= 4 || 0 === i ? $m(e) : $m.ceil(e)), w_($m.count(o_(e), e) + (4 === o_(e).getUTCDay()), t, 2) ); } function yb(e) { return e.getUTCDay(); } function wb(e, t) { return w_(Vm.count(o_(e) - 1, e), t, 2); } function Cb(e, t) { return w_(e.getUTCFullYear() % 100, t, 2); } function Sb(e, t) { return w_(e.getUTCFullYear() % 1e4, t, 4); } function kb() { return '+0000'; } function xb() { return '%'; } function Lb(e) { return +e; } function Mb(e) { return Math.floor(+e / 1e3); } function Db(e) { return ( (u_ = h_(e)), (g_ = u_.format), (f_ = u_.parse), (p_ = u_.utcFormat), (m_ = u_.utcParse), u_ ); } Db({ dateTime: '%x, %X', date: '%-m/%-d/%Y', time: '%-I:%M:%S %p', periods: ['AM', 'PM'], days: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', ], shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], months: [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ], shortMonths: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', ], }); var Nb = 31536e6; function Eb(e) { return new Date(e); } function Tb(e) { return e instanceof Date ? +e : +new Date(+e); } function Ib(e, t, i, n, r, o, a, l, c) { var d = kp(_p, _p), h = d.invert, u = d.domain, g = c('.%L'), f = c(':%S'), p = c('%I:%M'), m = c('%I %p'), _ = c('%a %d'), b = c('%b %d'), v = c('%B'), y = c('%Y'), w = [ [a, 1, 1e3], [a, 5, 5e3], [a, 15, 15e3], [a, 30, 3e4], [o, 1, 6e4], [o, 5, 3e5], [o, 15, 9e5], [o, 30, 18e5], [r, 1, 36e5], [r, 3, 108e5], [r, 6, 216e5], [r, 12, 432e5], [n, 1, 864e5], [n, 2, 1728e5], [i, 1, 6048e5], [t, 1, 2592e6], [t, 3, 7776e6], [e, 1, Nb], ]; function C(s) { return (a(s) < s ? g : o(s) < s ? f : r(s) < s ? p : n(s) < s ? m : t(s) < s ? i(s) < s ? _ : b : e(s) < s ? v : y)(s); } function S(t, i, n, r) { if ((null == t && (t = 10), 'number' == typeof t)) { var o = Math.abs(n - i) / t, a = s(function (e) { return e[2]; }).right(w, o); a === w.length ? ((r = N(i / Nb, n / Nb, t)), (t = e)) : a ? ((r = (a = w[o / w[a - 1][2] < w[a][2] / o ? a - 1 : a])[1]), (t = a[0])) : ((r = Math.max(N(i, n, t), 1)), (t = l)); } return null == r ? t : t.every(r); } return ( (d.invert = function (e) { return new Date(h(e)); }), (d.domain = function (e) { return arguments.length ? u(lp.call(e, Tb)) : u().map(Eb); }), (d.ticks = function (e, t) { var i, n = u(), r = n[0], s = n[n.length - 1], o = s < r; return ( o && ((i = r), (r = s), (s = i)), (i = (i = S(e, r, s, t)) ? i.range(r, s + 1) : []), o ? i.reverse() : i ); }), (d.tickFormat = function (e, t) { return null == t ? C : c(t); }), (d.nice = function (e, t) { var i = u(); return (e = S(e, i[0], i[i.length - 1], t)) ? u(Np(i, e)) : d; }), (d.copy = function () { return Cp(d, Ib(e, t, i, n, r, o, a, l, c)); }), d ); } function Ob() { return sp.apply( Ib(tm, rm, um, Mm, Em, Om, Pm, Wm, g_).domain([ new Date(2e3, 0, 1), new Date(2e3, 0, 2), ]), arguments ); } var Ab = Xp( function (e) { e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0); }, function (e, t) { e.setUTCMonth(e.getUTCMonth() + t); }, function (e, t) { return ( t.getUTCMonth() - e.getUTCMonth() + 12 * (t.getUTCFullYear() - e.getUTCFullYear()) ); }, function (e) { return e.getUTCMonth(); } ); const Rb = Ab; var Pb = Ab.range, Fb = Xp( function (e) { e.setUTCMinutes(0, 0, 0); }, function (e, t) { e.setTime(+e + t * lm); }, function (e, t) { return (t - e) / lm; }, function (e) { return e.getUTCHours(); } ); const Bb = Fb; var Wb = Fb.range, Yb = Xp( function (e) { e.setUTCSeconds(0, 0); }, function (e, t) { e.setTime(+e + t * am); }, function (e, t) { return (t - e) / am; }, function (e) { return e.getUTCMinutes(); } ); const Hb = Yb; var jb = Yb.range; function Vb() { return sp.apply( Ib(o_, Rb, jm, n_, Bb, Hb, Pm, Wm, p_).domain([ Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2), ]), arguments ); } function zb() { var e, t, i, n, r, s = 0, o = 1, a = _p, l = !1; function c(t) { return isNaN((t = +t)) ? r : a( 0 === i ? 0.5 : ((t = (n(t) - e) * i), l ? Math.max(0, Math.min(1, t)) : t) ); } return ( (c.domain = function (r) { return arguments.length ? ((e = n((s = +r[0]))), (t = n((o = +r[1]))), (i = e === t ? 0 : 1 / (t - e)), c) : [s, o]; }), (c.clamp = function (e) { return arguments.length ? ((l = !!e), c) : l; }), (c.interpolator = function (e) { return arguments.length ? ((a = e), c) : a; }), (c.unknown = function (e) { return arguments.length ? ((r = e), c) : r; }), function (r) { return ( (n = r), (e = r(s)), (t = r(o)), (i = e === t ? 0 : 1 / (t - e)), c ); } ); } function Ub(e, t) { return t .domain(e.domain()) .interpolator(e.interpolator()) .clamp(e.clamp()) .unknown(e.unknown()); } function $b() { var e = Lp(zb()(_p)); return ( (e.copy = function () { return Ub(e, $b()); }), op.apply(e, arguments) ); } function Kb() { var e = Pp(zb()).domain([1, 10]); return ( (e.copy = function () { return Ub(e, Kb()).base(e.base()); }), op.apply(e, arguments) ); } function qb() { var e = Yp(zb()); return ( (e.copy = function () { return Ub(e, qb()).constant(e.constant()); }), op.apply(e, arguments) ); } function Gb() { var e = Up(zb()); return ( (e.copy = function () { return Ub(e, Gb()).exponent(e.exponent()); }), op.apply(e, arguments) ); } function Zb() { return Gb.apply(null, arguments).exponent(0.5); } function Jb() { var e = [], t = _p; function i(i) { if (!isNaN((i = +i))) return t((c(e, i) - 1) / (e.length - 1)); } return ( (i.domain = function (t) { if (!arguments.length) return e.slice(); e = []; for (var n, s = 0, o = t.length; s < o; ++s) null == (n = t[s]) || isNaN((n = +n)) || e.push(n); return e.sort(r), i; }), (i.interpolator = function (e) { return arguments.length ? ((t = e), i) : t; }), (i.copy = function () { return Jb(t).domain(e); }), op.apply(i, arguments) ); } function Qb() { var e, t, i, n, r, s, o, a = 0, l = 0.5, c = 1, d = _p, h = !1; function u(e) { return isNaN((e = +e)) ? o : ((e = 0.5 + ((e = +s(e)) - t) * (e < t ? n : r)), d(h ? Math.max(0, Math.min(1, e)) : e)); } return ( (u.domain = function (o) { return arguments.length ? ((e = s((a = +o[0]))), (t = s((l = +o[1]))), (i = s((c = +o[2]))), (n = e === t ? 0 : 0.5 / (t - e)), (r = t === i ? 0 : 0.5 / (i - t)), u) : [a, l, c]; }), (u.clamp = function (e) { return arguments.length ? ((h = !!e), u) : h; }), (u.interpolator = function (e) { return arguments.length ? ((d = e), u) : d; }), (u.unknown = function (e) { return arguments.length ? ((o = e), u) : o; }), function (o) { return ( (s = o), (e = o(a)), (t = o(l)), (i = o(c)), (n = e === t ? 0 : 0.5 / (t - e)), (r = t === i ? 0 : 0.5 / (i - t)), u ); } ); } function Xb() { var e = Lp(Qb()(_p)); return ( (e.copy = function () { return Ub(e, Xb()); }), op.apply(e, arguments) ); } function ev() { var e = Pp(Qb()).domain([0.1, 1, 10]); return ( (e.copy = function () { return Ub(e, ev()).base(e.base()); }), op.apply(e, arguments) ); } function tv() { var e = Yp(Qb()); return ( (e.copy = function () { return Ub(e, tv()).constant(e.constant()); }), op.apply(e, arguments) ); } function iv() { var e = Up(Qb()); return ( (e.copy = function () { return Ub(e, iv()).exponent(e.exponent()); }), op.apply(e, arguments) ); } function nv() { return iv.apply(null, arguments).exponent(0.5); } function rv(e) { for (var t = (e.length / 6) | 0, i = new Array(t), n = 0; n < t; ) i[n] = '#' + e.slice(6 * n, 6 * ++n); return i; } const sv = rv( '1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf' ), ov = rv('7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666'), av = rv('1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666'), lv = rv( 'a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928' ), cv = rv('fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2'), dv = rv('b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc'), hv = rv('e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999'), uv = rv('66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3'), gv = rv( '8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f' ), fv = rv( '4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab' ); function pv(e) { return mi(e[e.length - 1]); } var mv = new Array(3) .concat( 'd8b365f5f5f55ab4ac', 'a6611adfc27d80cdc1018571', 'a6611adfc27df5f5f580cdc1018571', '8c510ad8b365f6e8c3c7eae55ab4ac01665e', '8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e', '8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e', '8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e', '5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30', '5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30' ) .map(rv); const _v = pv(mv); var bv = new Array(3) .concat( 'af8dc3f7f7f77fbf7b', '7b3294c2a5cfa6dba0008837', '7b3294c2a5cff7f7f7a6dba0008837', '762a83af8dc3e7d4e8d9f0d37fbf7b1b7837', '762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837', '762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837', '762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837', '40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b', '40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b' ) .map(rv); const vv = pv(bv); var yv = new Array(3) .concat( 'e9a3c9f7f7f7a1d76a', 'd01c8bf1b6dab8e1864dac26', 'd01c8bf1b6daf7f7f7b8e1864dac26', 'c51b7de9a3c9fde0efe6f5d0a1d76a4d9221', 'c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221', 'c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221', 'c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221', '8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419', '8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419' ) .map(rv); const wv = pv(yv); var Cv = new Array(3) .concat( '998ec3f7f7f7f1a340', '5e3c99b2abd2fdb863e66101', '5e3c99b2abd2f7f7f7fdb863e66101', '542788998ec3d8daebfee0b6f1a340b35806', '542788998ec3d8daebf7f7f7fee0b6f1a340b35806', '5427888073acb2abd2d8daebfee0b6fdb863e08214b35806', '5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806', '2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08', '2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08' ) .map(rv); const Sv = pv(Cv); var kv = new Array(3) .concat( 'ef8a62f7f7f767a9cf', 'ca0020f4a58292c5de0571b0', 'ca0020f4a582f7f7f792c5de0571b0', 'b2182bef8a62fddbc7d1e5f067a9cf2166ac', 'b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac', 'b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac', 'b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac', '67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061', '67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061' ) .map(rv); const xv = pv(kv); var Lv = new Array(3) .concat( 'ef8a62ffffff999999', 'ca0020f4a582bababa404040', 'ca0020f4a582ffffffbababa404040', 'b2182bef8a62fddbc7e0e0e09999994d4d4d', 'b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d', 'b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d', 'b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d', '67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a', '67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a' ) .map(rv); const Mv = pv(Lv); var Dv = new Array(3) .concat( 'fc8d59ffffbf91bfdb', 'd7191cfdae61abd9e92c7bb6', 'd7191cfdae61ffffbfabd9e92c7bb6', 'd73027fc8d59fee090e0f3f891bfdb4575b4', 'd73027fc8d59fee090ffffbfe0f3f891bfdb4575b4', 'd73027f46d43fdae61fee090e0f3f8abd9e974add14575b4', 'd73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4', 'a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695', 'a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695' ) .map(rv); const Nv = pv(Dv); var Ev = new Array(3) .concat( 'fc8d59ffffbf91cf60', 'd7191cfdae61a6d96a1a9641', 'd7191cfdae61ffffbfa6d96a1a9641', 'd73027fc8d59fee08bd9ef8b91cf601a9850', 'd73027fc8d59fee08bffffbfd9ef8b91cf601a9850', 'd73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850', 'd73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850', 'a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837', 'a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837' ) .map(rv); const Tv = pv(Ev); var Iv = new Array(3) .concat( 'fc8d59ffffbf99d594', 'd7191cfdae61abdda42b83ba', 'd7191cfdae61ffffbfabdda42b83ba', 'd53e4ffc8d59fee08be6f59899d5943288bd', 'd53e4ffc8d59fee08bffffbfe6f59899d5943288bd', 'd53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd', 'd53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd', '9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2', '9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2' ) .map(rv); const Ov = pv(Iv); var Av = new Array(3) .concat( 'e5f5f999d8c92ca25f', 'edf8fbb2e2e266c2a4238b45', 'edf8fbb2e2e266c2a42ca25f006d2c', 'edf8fbccece699d8c966c2a42ca25f006d2c', 'edf8fbccece699d8c966c2a441ae76238b45005824', 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824', 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b' ) .map(rv); const Rv = pv(Av); var Pv = new Array(3) .concat( 'e0ecf49ebcda8856a7', 'edf8fbb3cde38c96c688419d', 'edf8fbb3cde38c96c68856a7810f7c', 'edf8fbbfd3e69ebcda8c96c68856a7810f7c', 'edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b', 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b', 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b' ) .map(rv); const Fv = pv(Pv); var Bv = new Array(3) .concat( 'e0f3dba8ddb543a2ca', 'f0f9e8bae4bc7bccc42b8cbe', 'f0f9e8bae4bc7bccc443a2ca0868ac', 'f0f9e8ccebc5a8ddb57bccc443a2ca0868ac', 'f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e', 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e', 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081' ) .map(rv); const Wv = pv(Bv); var Yv = new Array(3) .concat( 'fee8c8fdbb84e34a33', 'fef0d9fdcc8afc8d59d7301f', 'fef0d9fdcc8afc8d59e34a33b30000', 'fef0d9fdd49efdbb84fc8d59e34a33b30000', 'fef0d9fdd49efdbb84fc8d59ef6548d7301f990000', 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000', 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000' ) .map(rv); const Hv = pv(Yv); var jv = new Array(3) .concat( 'ece2f0a6bddb1c9099', 'f6eff7bdc9e167a9cf02818a', 'f6eff7bdc9e167a9cf1c9099016c59', 'f6eff7d0d1e6a6bddb67a9cf1c9099016c59', 'f6eff7d0d1e6a6bddb67a9cf3690c002818a016450', 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450', 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636' ) .map(rv); const Vv = pv(jv); var zv = new Array(3) .concat( 'ece7f2a6bddb2b8cbe', 'f1eef6bdc9e174a9cf0570b0', 'f1eef6bdc9e174a9cf2b8cbe045a8d', 'f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d', 'f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b', 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b', 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858' ) .map(rv); const Uv = pv(zv); var $v = new Array(3) .concat( 'e7e1efc994c7dd1c77', 'f1eef6d7b5d8df65b0ce1256', 'f1eef6d7b5d8df65b0dd1c77980043', 'f1eef6d4b9dac994c7df65b0dd1c77980043', 'f1eef6d4b9dac994c7df65b0e7298ace125691003f', 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f', 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f' ) .map(rv); const Kv = pv($v); var qv = new Array(3) .concat( 'fde0ddfa9fb5c51b8a', 'feebe2fbb4b9f768a1ae017e', 'feebe2fbb4b9f768a1c51b8a7a0177', 'feebe2fcc5c0fa9fb5f768a1c51b8a7a0177', 'feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177', 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177', 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a' ) .map(rv); const Gv = pv(qv); var Zv = new Array(3) .concat( 'edf8b17fcdbb2c7fb8', 'ffffcca1dab441b6c4225ea8', 'ffffcca1dab441b6c42c7fb8253494', 'ffffccc7e9b47fcdbb41b6c42c7fb8253494', 'ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84', 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84', 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58' ) .map(rv); const Jv = pv(Zv); var Qv = new Array(3) .concat( 'f7fcb9addd8e31a354', 'ffffccc2e69978c679238443', 'ffffccc2e69978c67931a354006837', 'ffffccd9f0a3addd8e78c67931a354006837', 'ffffccd9f0a3addd8e78c67941ab5d238443005a32', 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32', 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529' ) .map(rv); const Xv = pv(Qv); var ey = new Array(3) .concat( 'fff7bcfec44fd95f0e', 'ffffd4fed98efe9929cc4c02', 'ffffd4fed98efe9929d95f0e993404', 'ffffd4fee391fec44ffe9929d95f0e993404', 'ffffd4fee391fec44ffe9929ec7014cc4c028c2d04', 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04', 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506' ) .map(rv); const ty = pv(ey); var iy = new Array(3) .concat( 'ffeda0feb24cf03b20', 'ffffb2fecc5cfd8d3ce31a1c', 'ffffb2fecc5cfd8d3cf03b20bd0026', 'ffffb2fed976feb24cfd8d3cf03b20bd0026', 'ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026', 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026', 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026' ) .map(rv); const ny = pv(iy); var ry = new Array(3) .concat( 'deebf79ecae13182bd', 'eff3ffbdd7e76baed62171b5', 'eff3ffbdd7e76baed63182bd08519c', 'eff3ffc6dbef9ecae16baed63182bd08519c', 'eff3ffc6dbef9ecae16baed64292c62171b5084594', 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594', 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b' ) .map(rv); const sy = pv(ry); var oy = new Array(3) .concat( 'e5f5e0a1d99b31a354', 'edf8e9bae4b374c476238b45', 'edf8e9bae4b374c47631a354006d2c', 'edf8e9c7e9c0a1d99b74c47631a354006d2c', 'edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32', 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32', 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b' ) .map(rv); const ay = pv(oy); var ly = new Array(3) .concat( 'f0f0f0bdbdbd636363', 'f7f7f7cccccc969696525252', 'f7f7f7cccccc969696636363252525', 'f7f7f7d9d9d9bdbdbd969696636363252525', 'f7f7f7d9d9d9bdbdbd969696737373525252252525', 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525', 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000' ) .map(rv); const cy = pv(ly); var dy = new Array(3) .concat( 'efedf5bcbddc756bb1', 'f2f0f7cbc9e29e9ac86a51a3', 'f2f0f7cbc9e29e9ac8756bb154278f', 'f2f0f7dadaebbcbddc9e9ac8756bb154278f', 'f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486', 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486', 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d' ) .map(rv); const hy = pv(dy); var uy = new Array(3) .concat( 'fee0d2fc9272de2d26', 'fee5d9fcae91fb6a4acb181d', 'fee5d9fcae91fb6a4ade2d26a50f15', 'fee5d9fcbba1fc9272fb6a4ade2d26a50f15', 'fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d', 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d', 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d' ) .map(rv); const gy = pv(uy); var fy = new Array(3) .concat( 'fee6cefdae6be6550d', 'feeddefdbe85fd8d3cd94701', 'feeddefdbe85fd8d3ce6550da63603', 'feeddefdd0a2fdae6bfd8d3ce6550da63603', 'feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04', 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04', 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704' ) .map(rv); const py = pv(fy); function my(e) { return ( (e = Math.max(0, Math.min(1, e))), 'rgb(' + Math.max( 0, Math.min( 255, Math.round( -4.54 - e * (35.34 - e * (2381.73 - e * (6402.7 - e * (7024.72 - 2710.57 * e)))) ) ) ) + ', ' + Math.max( 0, Math.min( 255, Math.round( 32.49 + e * (170.73 + e * (52.82 - e * (131.46 - e * (176.58 - 67.37 * e)))) ) ) ) + ', ' + Math.max( 0, Math.min( 255, Math.round( 81.24 + e * (442.36 - e * (2482.43 - e * (6167.24 - e * (6614.94 - 2475.67 * e)))) ) ) ) + ')' ); } const _y = Hf(zs(300, 0.5, 0), zs(-240, 0.5, 1)); var by = Hf(zs(-100, 0.75, 0.35), zs(80, 1.5, 0.8)), vy = Hf(zs(260, 0.75, 0.35), zs(80, 1.5, 0.8)), yy = zs(); function wy(e) { (e < 0 || e > 1) && (e -= Math.floor(e)); var t = Math.abs(e - 0.5); return ( (yy.h = 360 * e - 100), (yy.s = 1.5 - 1.5 * t), (yy.l = 0.8 - 0.9 * t), yy + '' ); } var Cy = Jt(), Sy = Math.PI / 3, ky = (2 * Math.PI) / 3; function xy(e) { var t; return ( (e = (0.5 - e) * Math.PI), (Cy.r = 255 * (t = Math.sin(e)) * t), (Cy.g = 255 * (t = Math.sin(e + Sy)) * t), (Cy.b = 255 * (t = Math.sin(e + ky)) * t), Cy + '' ); } function Ly(e) { return ( (e = Math.max(0, Math.min(1, e))), 'rgb(' + Math.max( 0, Math.min( 255, Math.round( 34.61 + e * (1172.33 - e * (10793.56 - e * (33300.12 - e * (38394.49 - 14825.05 * e)))) ) ) ) + ', ' + Math.max( 0, Math.min( 255, Math.round( 23.31 + e * (557.33 + e * (1225.33 - e * (3574.96 - e * (1073.77 + 707.56 * e)))) ) ) ) + ', ' + Math.max( 0, Math.min( 255, Math.round( 27.2 + e * (3211.1 - e * (15327.97 - e * (27814 - e * (22569.18 - 6838.66 * e)))) ) ) ) + ')' ); } function My(e) { var t = e.length; return function (i) { return e[Math.max(0, Math.min(t - 1, Math.floor(i * t)))]; }; } const Dy = My( rv( '44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725' ) ); var Ny = My( rv( '00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf' ) ), Ey = My( rv( '00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4' ) ), Ty = My( rv( '0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921' ) ); function Iy(e) { return kt(rt(e).call(document.documentElement)); } var Oy = 0; function Ay() { return new Ry(); } function Ry() { this._ = '@' + (++Oy).toString(36); } function Py(e) { return 'string' == typeof e ? new wt([document.querySelectorAll(e)], [document.documentElement]) : new wt([null == e ? [] : e], yt); } function Fy(e, t) { null == t && (t = Ni().touches); for (var i = 0, n = t ? t.length : 0, r = new Array(n); i < n; ++i) r[i] = Ei(e, t[i]); return r; } function By(e) { return function () { return e; }; } Ry.prototype = Ay.prototype = { constructor: Ry, get: function (e) { for (var t = this._; !(t in e); ) if (!(e = e.parentNode)) return; return e[t]; }, set: function (e, t) { return (e[this._] = t); }, remove: function (e) { return this._ in e && delete e[this._]; }, toString: function () { return this._; }, }; var Wy = Math.abs, Yy = Math.atan2, Hy = Math.cos, jy = Math.max, Vy = Math.min, zy = Math.sin, Uy = Math.sqrt, $y = 1e-12, Ky = Math.PI, qy = Ky / 2, Gy = 2 * Ky; function Zy(e) { return e > 1 ? 0 : e < -1 ? Ky : Math.acos(e); } function Jy(e) { return e >= 1 ? qy : e <= -1 ? -qy : Math.asin(e); } function Qy(e) { return e.innerRadius; } function Xy(e) { return e.outerRadius; } function ew(e) { return e.startAngle; } function tw(e) { return e.endAngle; } function iw(e) { return e && e.padAngle; } function nw(e, t, i, n, r, s, o, a) { var l = i - e, c = n - t, d = o - r, h = a - s, u = h * l - d * c; if (!(u * u < $y)) return [e + (u = (d * (t - s) - h * (e - r)) / u) * l, t + u * c]; } function rw(e, t, i, n, r, s, o) { var a = e - i, l = t - n, c = (o ? s : -s) / Uy(a * a + l * l), d = c * l, h = -c * a, u = e + d, g = t + h, f = i + d, p = n + h, m = (u + f) / 2, _ = (g + p) / 2, b = f - u, v = p - g, y = b * b + v * v, w = r - s, C = u * p - f * g, S = (v < 0 ? -1 : 1) * Uy(jy(0, w * w * y - C * C)), k = (C * v - b * S) / y, x = (-C * b - v * S) / y, L = (C * v + b * S) / y, M = (-C * b + v * S) / y, D = k - m, N = x - _, E = L - m, T = M - _; return ( D * D + N * N > E * E + T * T && ((k = L), (x = M)), { cx: k, cy: x, x01: -d, y01: -h, x11: k * (r / w - 1), y11: x * (r / w - 1), } ); } function sw() { var e = Qy, t = Xy, i = By(0), n = null, r = ew, s = tw, o = iw, a = null; function l() { var l, c, d = +e.apply(this, arguments), h = +t.apply(this, arguments), u = r.apply(this, arguments) - qy, g = s.apply(this, arguments) - qy, f = Wy(g - u), p = g > u; if ( (a || (a = l = $r()), h < d && ((c = h), (h = d), (d = c)), h > $y) ) if (f > Gy - $y) a.moveTo(h * Hy(u), h * zy(u)), a.arc(0, 0, h, u, g, !p), d > $y && (a.moveTo(d * Hy(g), d * zy(g)), a.arc(0, 0, d, g, u, p)); else { var m, _, b = u, v = g, y = u, w = g, C = f, S = f, k = o.apply(this, arguments) / 2, x = k > $y && (n ? +n.apply(this, arguments) : Uy(d * d + h * h)), L = Vy(Wy(h - d) / 2, +i.apply(this, arguments)), M = L, D = L; if (x > $y) { var N = Jy((x / d) * zy(k)), E = Jy((x / h) * zy(k)); (C -= 2 * N) > $y ? ((y += N *= p ? 1 : -1), (w -= N)) : ((C = 0), (y = w = (u + g) / 2)), (S -= 2 * E) > $y ? ((b += E *= p ? 1 : -1), (v -= E)) : ((S = 0), (b = v = (u + g) / 2)); } var T = h * Hy(b), I = h * zy(b), O = d * Hy(w), A = d * zy(w); if (L > $y) { var R, P = h * Hy(v), F = h * zy(v), B = d * Hy(y), W = d * zy(y); if (f < Ky && (R = nw(T, I, B, W, P, F, O, A))) { var Y = T - R[0], H = I - R[1], j = P - R[0], V = F - R[1], z = 1 / zy( Zy( (Y * j + H * V) / (Uy(Y * Y + H * H) * Uy(j * j + V * V)) ) / 2 ), U = Uy(R[0] * R[0] + R[1] * R[1]); (M = Vy(L, (d - U) / (z - 1))), (D = Vy(L, (h - U) / (z + 1))); } } S > $y ? D > $y ? ((m = rw(B, W, T, I, h, D, p)), (_ = rw(P, F, O, A, h, D, p)), a.moveTo(m.cx + m.x01, m.cy + m.y01), D < L ? a.arc( m.cx, m.cy, D, Yy(m.y01, m.x01), Yy(_.y01, _.x01), !p ) : (a.arc( m.cx, m.cy, D, Yy(m.y01, m.x01), Yy(m.y11, m.x11), !p ), a.arc( 0, 0, h, Yy(m.cy + m.y11, m.cx + m.x11), Yy(_.cy + _.y11, _.cx + _.x11), !p ), a.arc( _.cx, _.cy, D, Yy(_.y11, _.x11), Yy(_.y01, _.x01), !p ))) : (a.moveTo(T, I), a.arc(0, 0, h, b, v, !p)) : a.moveTo(T, I), d > $y && C > $y ? M > $y ? ((m = rw(O, A, P, F, d, -M, p)), (_ = rw(T, I, B, W, d, -M, p)), a.lineTo(m.cx + m.x01, m.cy + m.y01), M < L ? a.arc( m.cx, m.cy, M, Yy(m.y01, m.x01), Yy(_.y01, _.x01), !p ) : (a.arc( m.cx, m.cy, M, Yy(m.y01, m.x01), Yy(m.y11, m.x11), !p ), a.arc( 0, 0, d, Yy(m.cy + m.y11, m.cx + m.x11), Yy(_.cy + _.y11, _.cx + _.x11), p ), a.arc( _.cx, _.cy, M, Yy(_.y11, _.x11), Yy(_.y01, _.x01), !p ))) : a.arc(0, 0, d, w, y, p) : a.lineTo(O, A); } else a.moveTo(0, 0); if ((a.closePath(), l)) return (a = null), l + '' || null; } return ( (l.centroid = function () { var i = (+e.apply(this, arguments) + +t.apply(this, arguments)) / 2, n = (+r.apply(this, arguments) + +s.apply(this, arguments)) / 2 - Ky / 2; return [Hy(n) * i, zy(n) * i]; }), (l.innerRadius = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(+t)), l) : e; }), (l.outerRadius = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : By(+e)), l) : t; }), (l.cornerRadius = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : By(+e)), l) : i; }), (l.padRadius = function (e) { return arguments.length ? ((n = null == e ? null : 'function' == typeof e ? e : By(+e)), l) : n; }), (l.startAngle = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : By(+e)), l) : r; }), (l.endAngle = function (e) { return arguments.length ? ((s = 'function' == typeof e ? e : By(+e)), l) : s; }), (l.padAngle = function (e) { return arguments.length ? ((o = 'function' == typeof e ? e : By(+e)), l) : o; }), (l.context = function (e) { return arguments.length ? ((a = null == e ? null : e), l) : a; }), l ); } function ow(e) { this._context = e; } function aw(e) { return new ow(e); } function lw(e) { return e[0]; } function cw(e) { return e[1]; } function dw() { var e = lw, t = cw, i = By(!0), n = null, r = aw, s = null; function o(o) { var a, l, c, d = o.length, h = !1; for (null == n && (s = r((c = $r()))), a = 0; a <= d; ++a) !(a < d && i((l = o[a]), a, o)) === h && ((h = !h) ? s.lineStart() : s.lineEnd()), h && s.point(+e(l, a, o), +t(l, a, o)); if (c) return (s = null), c + '' || null; } return ( (o.x = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(+t)), o) : e; }), (o.y = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : By(+e)), o) : t; }), (o.defined = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : By(!!e)), o) : i; }), (o.curve = function (e) { return arguments.length ? ((r = e), null != n && (s = r(n)), o) : r; }), (o.context = function (e) { return arguments.length ? (null == e ? (n = s = null) : (s = r((n = e))), o) : n; }), o ); } function hw() { var e = lw, t = null, i = By(0), n = cw, r = By(!0), s = null, o = aw, a = null; function l(l) { var c, d, h, u, g, f = l.length, p = !1, m = new Array(f), _ = new Array(f); for (null == s && (a = o((g = $r()))), c = 0; c <= f; ++c) { if (!(c < f && r((u = l[c]), c, l)) === p) if ((p = !p)) (d = c), a.areaStart(), a.lineStart(); else { for (a.lineEnd(), a.lineStart(), h = c - 1; h >= d; --h) a.point(m[h], _[h]); a.lineEnd(), a.areaEnd(); } p && ((m[c] = +e(u, c, l)), (_[c] = +i(u, c, l)), a.point(t ? +t(u, c, l) : m[c], n ? +n(u, c, l) : _[c])); } if (g) return (a = null), g + '' || null; } function c() { return dw().defined(r).curve(o).context(s); } return ( (l.x = function (i) { return arguments.length ? ((e = 'function' == typeof i ? i : By(+i)), (t = null), l) : e; }), (l.x0 = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(+t)), l) : e; }), (l.x1 = function (e) { return arguments.length ? ((t = null == e ? null : 'function' == typeof e ? e : By(+e)), l) : t; }), (l.y = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : By(+e)), (n = null), l) : i; }), (l.y0 = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : By(+e)), l) : i; }), (l.y1 = function (e) { return arguments.length ? ((n = null == e ? null : 'function' == typeof e ? e : By(+e)), l) : n; }), (l.lineX0 = l.lineY0 = function () { return c().x(e).y(i); }), (l.lineY1 = function () { return c().x(e).y(n); }), (l.lineX1 = function () { return c().x(t).y(i); }), (l.defined = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : By(!!e)), l) : r; }), (l.curve = function (e) { return arguments.length ? ((o = e), null != s && (a = o(s)), l) : o; }), (l.context = function (e) { return arguments.length ? (null == e ? (s = a = null) : (a = o((s = e))), l) : s; }), l ); } function uw(e, t) { return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function gw(e) { return e; } function fw() { var e = gw, t = uw, i = null, n = By(0), r = By(Gy), s = By(0); function o(o) { var a, l, c, d, h, u = o.length, g = 0, f = new Array(u), p = new Array(u), m = +n.apply(this, arguments), _ = Math.min(Gy, Math.max(-Gy, r.apply(this, arguments) - m)), b = Math.min(Math.abs(_) / u, s.apply(this, arguments)), v = b * (_ < 0 ? -1 : 1); for (a = 0; a < u; ++a) (h = p[(f[a] = a)] = +e(o[a], a, o)) > 0 && (g += h); for ( null != t ? f.sort(function (e, i) { return t(p[e], p[i]); }) : null != i && f.sort(function (e, t) { return i(o[e], o[t]); }), a = 0, c = g ? (_ - u * v) / g : 0; a < u; ++a, m = d ) (l = f[a]), (d = m + ((h = p[l]) > 0 ? h * c : 0) + v), (p[l] = { data: o[l], index: a, value: h, startAngle: m, endAngle: d, padAngle: b, }); return p; } return ( (o.value = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(+t)), o) : e; }), (o.sortValues = function (e) { return arguments.length ? ((t = e), (i = null), o) : t; }), (o.sort = function (e) { return arguments.length ? ((i = e), (t = null), o) : i; }), (o.startAngle = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : By(+e)), o) : n; }), (o.endAngle = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : By(+e)), o) : r; }), (o.padAngle = function (e) { return arguments.length ? ((s = 'function' == typeof e ? e : By(+e)), o) : s; }), o ); } ow.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { this._point = 0; }, lineEnd: function () { (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: this._point = 2; default: this._context.lineTo(e, t); } }, }; var pw = _w(aw); function mw(e) { this._curve = e; } function _w(e) { function t(t) { return new mw(e(t)); } return (t._curve = e), t; } function bw(e) { var t = e.curve; return ( (e.angle = e.x), delete e.x, (e.radius = e.y), delete e.y, (e.curve = function (e) { return arguments.length ? t(_w(e)) : t()._curve; }), e ); } function vw() { return bw(dw().curve(pw)); } function yw() { var e = hw().curve(pw), t = e.curve, i = e.lineX0, n = e.lineX1, r = e.lineY0, s = e.lineY1; return ( (e.angle = e.x), delete e.x, (e.startAngle = e.x0), delete e.x0, (e.endAngle = e.x1), delete e.x1, (e.radius = e.y), delete e.y, (e.innerRadius = e.y0), delete e.y0, (e.outerRadius = e.y1), delete e.y1, (e.lineStartAngle = function () { return bw(i()); }), delete e.lineX0, (e.lineEndAngle = function () { return bw(n()); }), delete e.lineX1, (e.lineInnerRadius = function () { return bw(r()); }), delete e.lineY0, (e.lineOuterRadius = function () { return bw(s()); }), delete e.lineY1, (e.curve = function (e) { return arguments.length ? t(_w(e)) : t()._curve; }), e ); } function ww(e, t) { return [(t = +t) * Math.cos((e -= Math.PI / 2)), t * Math.sin(e)]; } mw.prototype = { areaStart: function () { this._curve.areaStart(); }, areaEnd: function () { this._curve.areaEnd(); }, lineStart: function () { this._curve.lineStart(); }, lineEnd: function () { this._curve.lineEnd(); }, point: function (e, t) { this._curve.point(t * Math.sin(e), t * -Math.cos(e)); }, }; var Cw = Array.prototype.slice; function Sw(e) { return e.source; } function kw(e) { return e.target; } function xw(e) { var t = Sw, i = kw, n = lw, r = cw, s = null; function o() { var o, a = Cw.call(arguments), l = t.apply(this, a), c = i.apply(this, a); if ( (s || (s = o = $r()), e( s, +n.apply(this, ((a[0] = l), a)), +r.apply(this, a), +n.apply(this, ((a[0] = c), a)), +r.apply(this, a) ), o) ) return (s = null), o + '' || null; } return ( (o.source = function (e) { return arguments.length ? ((t = e), o) : t; }), (o.target = function (e) { return arguments.length ? ((i = e), o) : i; }), (o.x = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : By(+e)), o) : n; }), (o.y = function (e) { return arguments.length ? ((r = 'function' == typeof e ? e : By(+e)), o) : r; }), (o.context = function (e) { return arguments.length ? ((s = null == e ? null : e), o) : s; }), o ); } function Lw(e, t, i, n, r) { e.moveTo(t, i), e.bezierCurveTo((t = (t + n) / 2), i, t, r, n, r); } function Mw(e, t, i, n, r) { e.moveTo(t, i), e.bezierCurveTo(t, (i = (i + r) / 2), n, i, n, r); } function Dw(e, t, i, n, r) { var s = ww(t, i), o = ww(t, (i = (i + r) / 2)), a = ww(n, i), l = ww(n, r); e.moveTo(s[0], s[1]), e.bezierCurveTo(o[0], o[1], a[0], a[1], l[0], l[1]); } function Nw() { return xw(Lw); } function Ew() { return xw(Mw); } function Tw() { var e = xw(Dw); return (e.angle = e.x), delete e.x, (e.radius = e.y), delete e.y, e; } const Iw = { draw: function (e, t) { var i = Math.sqrt(t / Ky); e.moveTo(i, 0), e.arc(0, 0, i, 0, Gy); }, }, Ow = { draw: function (e, t) { var i = Math.sqrt(t / 5) / 2; e.moveTo(-3 * i, -i), e.lineTo(-i, -i), e.lineTo(-i, -3 * i), e.lineTo(i, -3 * i), e.lineTo(i, -i), e.lineTo(3 * i, -i), e.lineTo(3 * i, i), e.lineTo(i, i), e.lineTo(i, 3 * i), e.lineTo(-i, 3 * i), e.lineTo(-i, i), e.lineTo(-3 * i, i), e.closePath(); }, }; var Aw = Math.sqrt(1 / 3), Rw = 2 * Aw; const Pw = { draw: function (e, t) { var i = Math.sqrt(t / Rw), n = i * Aw; e.moveTo(0, -i), e.lineTo(n, 0), e.lineTo(0, i), e.lineTo(-n, 0), e.closePath(); }, }; var Fw = Math.sin(Ky / 10) / Math.sin((7 * Ky) / 10), Bw = Math.sin(Gy / 10) * Fw, Ww = -Math.cos(Gy / 10) * Fw; const Yw = { draw: function (e, t) { var i = Math.sqrt(0.8908130915292852 * t), n = Bw * i, r = Ww * i; e.moveTo(0, -i), e.lineTo(n, r); for (var s = 1; s < 5; ++s) { var o = (Gy * s) / 5, a = Math.cos(o), l = Math.sin(o); e.lineTo(l * i, -a * i), e.lineTo(a * n - l * r, l * n + a * r); } e.closePath(); }, }, Hw = { draw: function (e, t) { var i = Math.sqrt(t), n = -i / 2; e.rect(n, n, i, i); }, }; var jw = Math.sqrt(3); const Vw = { draw: function (e, t) { var i = -Math.sqrt(t / (3 * jw)); e.moveTo(0, 2 * i), e.lineTo(-jw * i, -i), e.lineTo(jw * i, -i), e.closePath(); }, }; var zw = -0.5, Uw = Math.sqrt(3) / 2, $w = 1 / Math.sqrt(12), Kw = 3 * ($w / 2 + 1); const qw = { draw: function (e, t) { var i = Math.sqrt(t / Kw), n = i / 2, r = i * $w, s = n, o = i * $w + i, a = -s, l = o; e.moveTo(n, r), e.lineTo(s, o), e.lineTo(a, l), e.lineTo(zw * n - Uw * r, Uw * n + zw * r), e.lineTo(zw * s - Uw * o, Uw * s + zw * o), e.lineTo(zw * a - Uw * l, Uw * a + zw * l), e.lineTo(zw * n + Uw * r, zw * r - Uw * n), e.lineTo(zw * s + Uw * o, zw * o - Uw * s), e.lineTo(zw * a + Uw * l, zw * l - Uw * a), e.closePath(); }, }; var Gw = [Iw, Ow, Pw, Hw, Yw, Vw, qw]; function Zw() { var e = By(Iw), t = By(64), i = null; function n() { var n; if ( (i || (i = n = $r()), e.apply(this, arguments).draw(i, +t.apply(this, arguments)), n) ) return (i = null), n + '' || null; } return ( (n.type = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(t)), n) : e; }), (n.size = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : By(+e)), n) : t; }), (n.context = function (e) { return arguments.length ? ((i = null == e ? null : e), n) : i; }), n ); } function Jw() {} function Qw(e, t, i) { e._context.bezierCurveTo( (2 * e._x0 + e._x1) / 3, (2 * e._y0 + e._y1) / 3, (e._x0 + 2 * e._x1) / 3, (e._y0 + 2 * e._y1) / 3, (e._x0 + 4 * e._x1 + t) / 6, (e._y0 + 4 * e._y1 + i) / 6 ); } function Xw(e) { this._context = e; } function eC(e) { return new Xw(e); } function tC(e) { this._context = e; } function iC(e) { return new tC(e); } function nC(e) { this._context = e; } function rC(e) { return new nC(e); } function sC(e, t) { (this._basis = new Xw(e)), (this._beta = t); } (Xw.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); }, lineEnd: function () { switch (this._point) { case 3: Qw(this, this._x1, this._y1); case 2: this._context.lineTo(this._x1, this._y1); } (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: this._point = 2; break; case 2: (this._point = 3), this._context.lineTo( (5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6 ); default: Qw(this, e, t); } (this._x0 = this._x1), (this._x1 = e), (this._y0 = this._y1), (this._y1 = t); }, }), (tC.prototype = { areaStart: Jw, areaEnd: Jw, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN), (this._point = 0); }, lineEnd: function () { switch (this._point) { case 1: this._context.moveTo(this._x2, this._y2), this._context.closePath(); break; case 2: this._context.moveTo( (this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3 ), this._context.lineTo( (this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3 ), this._context.closePath(); break; case 3: this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); } }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), (this._x2 = e), (this._y2 = t); break; case 1: (this._point = 2), (this._x3 = e), (this._y3 = t); break; case 2: (this._point = 3), (this._x4 = e), (this._y4 = t), this._context.moveTo( (this._x0 + 4 * this._x1 + e) / 6, (this._y0 + 4 * this._y1 + t) / 6 ); break; default: Qw(this, e, t); } (this._x0 = this._x1), (this._x1 = e), (this._y0 = this._y1), (this._y1 = t); }, }), (nC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0); }, lineEnd: function () { (this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3; var i = (this._x0 + 4 * this._x1 + e) / 6, n = (this._y0 + 4 * this._y1 + t) / 6; this._line ? this._context.lineTo(i, n) : this._context.moveTo(i, n); break; case 3: this._point = 4; default: Qw(this, e, t); } (this._x0 = this._x1), (this._x1 = e), (this._y0 = this._y1), (this._y1 = t); }, }), (sC.prototype = { lineStart: function () { (this._x = []), (this._y = []), this._basis.lineStart(); }, lineEnd: function () { var e = this._x, t = this._y, i = e.length - 1; if (i > 0) for ( var n, r = e[0], s = t[0], o = e[i] - r, a = t[i] - s, l = -1; ++l <= i; ) (n = l / i), this._basis.point( this._beta * e[l] + (1 - this._beta) * (r + n * o), this._beta * t[l] + (1 - this._beta) * (s + n * a) ); (this._x = this._y = null), this._basis.lineEnd(); }, point: function (e, t) { this._x.push(+e), this._y.push(+t); }, }); const oC = (function e(t) { function i(e) { return 1 === t ? new Xw(e) : new sC(e, t); } return ( (i.beta = function (t) { return e(+t); }), i ); })(0.85); function aC(e, t, i) { e._context.bezierCurveTo( e._x1 + e._k * (e._x2 - e._x0), e._y1 + e._k * (e._y2 - e._y0), e._x2 + e._k * (e._x1 - t), e._y2 + e._k * (e._y1 - i), e._x2, e._y2 ); } function lC(e, t) { (this._context = e), (this._k = (1 - t) / 6); } lC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: aC(this, this._x1, this._y1); } (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: (this._point = 2), (this._x1 = e), (this._y1 = t); break; case 2: this._point = 3; default: aC(this, e, t); } (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const cC = (function e(t) { function i(e) { return new lC(e, t); } return ( (i.tension = function (t) { return e(+t); }), i ); })(0); function dC(e, t) { (this._context = e), (this._k = (1 - t) / 6); } dC.prototype = { areaStart: Jw, areaEnd: Jw, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN), (this._point = 0); }, lineEnd: function () { switch (this._point) { case 1: this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; case 2: this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; case 3: this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); } }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), (this._x3 = e), (this._y3 = t); break; case 1: (this._point = 2), this._context.moveTo((this._x4 = e), (this._y4 = t)); break; case 2: (this._point = 3), (this._x5 = e), (this._y5 = t); break; default: aC(this, e, t); } (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const hC = (function e(t) { function i(e) { return new dC(e, t); } return ( (i.tension = function (t) { return e(+t); }), i ); })(0); function uC(e, t) { (this._context = e), (this._k = (1 - t) / 6); } uC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0); }, lineEnd: function () { (this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: (this._point = 3), this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: aC(this, e, t); } (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const gC = (function e(t) { function i(e) { return new uC(e, t); } return ( (i.tension = function (t) { return e(+t); }), i ); })(0); function fC(e, t, i) { var n = e._x1, r = e._y1, s = e._x2, o = e._y2; if (e._l01_a > $y) { var a = 2 * e._l01_2a + 3 * e._l01_a * e._l12_a + e._l12_2a, l = 3 * e._l01_a * (e._l01_a + e._l12_a); (n = (n * a - e._x0 * e._l12_2a + e._x2 * e._l01_2a) / l), (r = (r * a - e._y0 * e._l12_2a + e._y2 * e._l01_2a) / l); } if (e._l23_a > $y) { var c = 2 * e._l23_2a + 3 * e._l23_a * e._l12_a + e._l12_2a, d = 3 * e._l23_a * (e._l23_a + e._l12_a); (s = (s * c + e._x1 * e._l23_2a - t * e._l12_2a) / d), (o = (o * c + e._y1 * e._l23_2a - i * e._l12_2a) / d); } e._context.bezierCurveTo(n, r, s, o, e._x2, e._y2); } function pC(e, t) { (this._context = e), (this._alpha = t); } pC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x2, this._y2); break; case 3: this.point(this._x2, this._y2); } (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { if (((e = +e), (t = +t), this._point)) { var i = this._x2 - e, n = this._y2 - t; this._l23_a = Math.sqrt( (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) ); } switch (this._point) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: this._point = 2; break; case 2: this._point = 3; default: fC(this, e, t); } (this._l01_a = this._l12_a), (this._l12_a = this._l23_a), (this._l01_2a = this._l12_2a), (this._l12_2a = this._l23_2a), (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const mC = (function e(t) { function i(e) { return t ? new pC(e, t) : new lC(e, 0); } return ( (i.alpha = function (t) { return e(+t); }), i ); })(0.5); function _C(e, t) { (this._context = e), (this._alpha = t); } _C.prototype = { areaStart: Jw, areaEnd: Jw, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN), (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); }, lineEnd: function () { switch (this._point) { case 1: this._context.moveTo(this._x3, this._y3), this._context.closePath(); break; case 2: this._context.lineTo(this._x3, this._y3), this._context.closePath(); break; case 3: this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5); } }, point: function (e, t) { if (((e = +e), (t = +t), this._point)) { var i = this._x2 - e, n = this._y2 - t; this._l23_a = Math.sqrt( (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) ); } switch (this._point) { case 0: (this._point = 1), (this._x3 = e), (this._y3 = t); break; case 1: (this._point = 2), this._context.moveTo((this._x4 = e), (this._y4 = t)); break; case 2: (this._point = 3), (this._x5 = e), (this._y5 = t); break; default: fC(this, e, t); } (this._l01_a = this._l12_a), (this._l12_a = this._l23_a), (this._l01_2a = this._l12_2a), (this._l12_2a = this._l23_2a), (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const bC = (function e(t) { function i(e) { return t ? new _C(e, t) : new dC(e, 0); } return ( (i.alpha = function (t) { return e(+t); }), i ); })(0.5); function vC(e, t) { (this._context = e), (this._alpha = t); } vC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0); }, lineEnd: function () { (this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { if (((e = +e), (t = +t), this._point)) { var i = this._x2 - e, n = this._y2 - t; this._l23_a = Math.sqrt( (this._l23_2a = Math.pow(i * i + n * n, this._alpha)) ); } switch (this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: (this._point = 3), this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break; case 3: this._point = 4; default: fC(this, e, t); } (this._l01_a = this._l12_a), (this._l12_a = this._l23_a), (this._l01_2a = this._l12_2a), (this._l12_2a = this._l23_2a), (this._x0 = this._x1), (this._x1 = this._x2), (this._x2 = e), (this._y0 = this._y1), (this._y1 = this._y2), (this._y2 = t); }, }; const yC = (function e(t) { function i(e) { return t ? new vC(e, t) : new uC(e, 0); } return ( (i.alpha = function (t) { return e(+t); }), i ); })(0.5); function wC(e) { this._context = e; } function CC(e) { return new wC(e); } function SC(e) { return e < 0 ? -1 : 1; } function kC(e, t, i) { var n = e._x1 - e._x0, r = t - e._x1, s = (e._y1 - e._y0) / (n || (r < 0 && -0)), o = (i - e._y1) / (r || (n < 0 && -0)), a = (s * r + o * n) / (n + r); return ( (SC(s) + SC(o)) * Math.min(Math.abs(s), Math.abs(o), 0.5 * Math.abs(a)) || 0 ); } function xC(e, t) { var i = e._x1 - e._x0; return i ? ((3 * (e._y1 - e._y0)) / i - t) / 2 : t; } function LC(e, t, i) { var n = e._x0, r = e._y0, s = e._x1, o = e._y1, a = (s - n) / 3; e._context.bezierCurveTo(n + a, r + a * t, s - a, o - a * i, s, o); } function MC(e) { this._context = e; } function DC(e) { this._context = new NC(e); } function NC(e) { this._context = e; } function EC(e) { return new MC(e); } function TC(e) { return new DC(e); } function IC(e) { this._context = e; } function OC(e) { var t, i, n = e.length - 1, r = new Array(n), s = new Array(n), o = new Array(n); for ( r[0] = 0, s[0] = 2, o[0] = e[0] + 2 * e[1], t = 1; t < n - 1; ++t ) (r[t] = 1), (s[t] = 4), (o[t] = 4 * e[t] + 2 * e[t + 1]); for ( r[n - 1] = 2, s[n - 1] = 7, o[n - 1] = 8 * e[n - 1] + e[n], t = 1; t < n; ++t ) (i = r[t] / s[t - 1]), (s[t] -= i), (o[t] -= i * o[t - 1]); for (r[n - 1] = o[n - 1] / s[n - 1], t = n - 2; t >= 0; --t) r[t] = (o[t] - r[t + 1]) / s[t]; for (s[n - 1] = (e[n] + r[n - 1]) / 2, t = 0; t < n - 1; ++t) s[t] = 2 * e[t + 1] - r[t + 1]; return [r, s]; } function AC(e) { return new IC(e); } function RC(e, t) { (this._context = e), (this._t = t); } function PC(e) { return new RC(e, 0.5); } function FC(e) { return new RC(e, 0); } function BC(e) { return new RC(e, 1); } function WC(e, t) { if ((r = e.length) > 1) for (var i, n, r, s = 1, o = e[t[0]], a = o.length; s < r; ++s) for (n = o, o = e[t[s]], i = 0; i < a; ++i) o[i][1] += o[i][0] = isNaN(n[i][1]) ? n[i][0] : n[i][1]; } function YC(e) { for (var t = e.length, i = new Array(t); --t >= 0; ) i[t] = t; return i; } function HC(e, t) { return e[t]; } function jC() { var e = By([]), t = YC, i = WC, n = HC; function r(r) { var s, o, a = e.apply(this, arguments), l = r.length, c = a.length, d = new Array(c); for (s = 0; s < c; ++s) { for ( var h, u = a[s], g = (d[s] = new Array(l)), f = 0; f < l; ++f ) (g[f] = h = [0, +n(r[f], u, f, r)]), (h.data = r[f]); g.key = u; } for (s = 0, o = t(d); s < c; ++s) d[o[s]].index = s; return i(d, o), d; } return ( (r.keys = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : By(Cw.call(t))), r) : e; }), (r.value = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : By(+e)), r) : n; }), (r.order = function (e) { return arguments.length ? ((t = null == e ? YC : 'function' == typeof e ? e : By(Cw.call(e))), r) : t; }), (r.offset = function (e) { return arguments.length ? ((i = null == e ? WC : e), r) : i; }), r ); } function VC(e, t) { if ((n = e.length) > 0) { for (var i, n, r, s = 0, o = e[0].length; s < o; ++s) { for (r = i = 0; i < n; ++i) r += e[i][s][1] || 0; if (r) for (i = 0; i < n; ++i) e[i][s][1] /= r; } WC(e, t); } } function zC(e, t) { if ((a = e.length) > 0) for (var i, n, r, s, o, a, l = 0, c = e[t[0]].length; l < c; ++l) for (s = o = 0, i = 0; i < a; ++i) (r = (n = e[t[i]][l])[1] - n[0]) > 0 ? ((n[0] = s), (n[1] = s += r)) : r < 0 ? ((n[1] = o), (n[0] = o += r)) : ((n[0] = 0), (n[1] = r)); } function UC(e, t) { if ((i = e.length) > 0) { for (var i, n = 0, r = e[t[0]], s = r.length; n < s; ++n) { for (var o = 0, a = 0; o < i; ++o) a += e[o][n][1] || 0; r[n][1] += r[n][0] = -a / 2; } WC(e, t); } } function $C(e, t) { if ((r = e.length) > 0 && (n = (i = e[t[0]]).length) > 0) { for (var i, n, r, s = 0, o = 1; o < n; ++o) { for (var a = 0, l = 0, c = 0; a < r; ++a) { for ( var d = e[t[a]], h = d[o][1] || 0, u = (h - (d[o - 1][1] || 0)) / 2, g = 0; g < a; ++g ) { var f = e[t[g]]; u += (f[o][1] || 0) - (f[o - 1][1] || 0); } (l += h), (c += u * h); } (i[o - 1][1] += i[o - 1][0] = s), l && (s -= c / l); } (i[o - 1][1] += i[o - 1][0] = s), WC(e, t); } } function KC(e) { var t = e.map(qC); return YC(e).sort(function (e, i) { return t[e] - t[i]; }); } function qC(e) { for (var t, i = -1, n = 0, r = e.length, s = -1 / 0; ++i < r; ) (t = +e[i][1]) > s && ((s = t), (n = i)); return n; } function GC(e) { var t = e.map(ZC); return YC(e).sort(function (e, i) { return t[e] - t[i]; }); } function ZC(e) { for (var t, i = 0, n = -1, r = e.length; ++n < r; ) (t = +e[n][1]) && (i += t); return i; } function JC(e) { return GC(e).reverse(); } function QC(e) { var t, i, n = e.length, r = e.map(ZC), s = KC(e), o = 0, a = 0, l = [], c = []; for (t = 0; t < n; ++t) (i = s[t]), o < a ? ((o += r[i]), l.push(i)) : ((a += r[i]), c.push(i)); return c.reverse().concat(l); } function XC(e) { return YC(e).reverse(); } (wC.prototype = { areaStart: Jw, areaEnd: Jw, lineStart: function () { this._point = 0; }, lineEnd: function () { this._point && this._context.closePath(); }, point: function (e, t) { (e = +e), (t = +t), this._point ? this._context.lineTo(e, t) : ((this._point = 1), this._context.moveTo(e, t)); }, }), (MC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0); }, lineEnd: function () { switch (this._point) { case 2: this._context.lineTo(this._x1, this._y1); break; case 3: LC(this, this._t0, xC(this, this._t0)); } (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), (this._line = 1 - this._line); }, point: function (e, t) { var i = NaN; if (((t = +t), (e = +e) !== this._x1 || t !== this._y1)) { switch (this._point) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: this._point = 2; break; case 2: (this._point = 3), LC(this, xC(this, (i = kC(this, e, t))), i); break; default: LC(this, this._t0, (i = kC(this, e, t))); } (this._x0 = this._x1), (this._x1 = e), (this._y0 = this._y1), (this._y1 = t), (this._t0 = i); } }, }), ((DC.prototype = Object.create(MC.prototype)).point = function ( e, t ) { MC.prototype.point.call(this, t, e); }), (NC.prototype = { moveTo: function (e, t) { this._context.moveTo(t, e); }, closePath: function () { this._context.closePath(); }, lineTo: function (e, t) { this._context.lineTo(t, e); }, bezierCurveTo: function (e, t, i, n, r, s) { this._context.bezierCurveTo(t, e, n, i, s, r); }, }), (IC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x = []), (this._y = []); }, lineEnd: function () { var e = this._x, t = this._y, i = e.length; if (i) if ( (this._line ? this._context.lineTo(e[0], t[0]) : this._context.moveTo(e[0], t[0]), 2 === i) ) this._context.lineTo(e[1], t[1]); else for (var n = OC(e), r = OC(t), s = 0, o = 1; o < i; ++s, ++o) this._context.bezierCurveTo( n[0][s], r[0][s], n[1][s], r[1][s], e[o], t[o] ); (this._line || (0 !== this._line && 1 === i)) && this._context.closePath(), (this._line = 1 - this._line), (this._x = this._y = null); }, point: function (e, t) { this._x.push(+e), this._y.push(+t); }, }), (RC.prototype = { areaStart: function () { this._line = 0; }, areaEnd: function () { this._line = NaN; }, lineStart: function () { (this._x = this._y = NaN), (this._point = 0); }, lineEnd: function () { 0 < this._t && this._t < 1 && 2 === this._point && this._context.lineTo(this._x, this._y), (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)); }, point: function (e, t) { switch (((e = +e), (t = +t), this._point)) { case 0: (this._point = 1), this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t); break; case 1: this._point = 2; default: if (this._t <= 0) this._context.lineTo(this._x, t), this._context.lineTo(e, t); else { var i = this._x * (1 - this._t) + e * this._t; this._context.lineTo(i, this._y), this._context.lineTo(i, t); } } (this._x = e), (this._y = t); }, }); var eS = '%Y-%m-%dT%H:%M:%S.%LZ'; const tS = Date.prototype.toISOString ? function (e) { return e.toISOString(); } : p_(eS), iS = +new Date('2000-01-01T00:00:00.000Z') ? function (e) { var t = new Date(e); return isNaN(t) ? null : t; } : m_(eS); function nS(e, t, i) { var n = new Ui(), r = t; return null == t ? (n.restart(e, t, i), n) : ((t = +t), (i = null == i ? Vi() : +i), n.restart( function s(o) { (o += r), n.restart(s, (r += t), i), e(o); }, t, i ), n); } function rS(e) { return function () { return e; }; } function sS(e) { return e[0]; } function oS(e) { return e[1]; } function aS() { this._ = null; } function lS(e) { e.U = e.C = e.L = e.R = e.P = e.N = null; } function cS(e, t) { var i = t, n = t.R, r = i.U; r ? (r.L === i ? (r.L = n) : (r.R = n)) : (e._ = n), (n.U = r), (i.U = n), (i.R = n.L), i.R && (i.R.U = i), (n.L = i); } function dS(e, t) { var i = t, n = t.L, r = i.U; r ? (r.L === i ? (r.L = n) : (r.R = n)) : (e._ = n), (n.U = r), (i.U = n), (i.L = n.R), i.L && (i.L.U = i), (n.R = i); } function hS(e) { for (; e.L; ) e = e.L; return e; } aS.prototype = { constructor: aS, insert: function (e, t) { var i, n, r; if (e) { if ( ((t.P = e), (t.N = e.N), e.N && (e.N.P = t), (e.N = t), e.R) ) { for (e = e.R; e.L; ) e = e.L; e.L = t; } else e.R = t; i = e; } else this._ ? ((e = hS(this._)), (t.P = null), (t.N = e), (e.P = e.L = t), (i = e)) : ((t.P = t.N = null), (this._ = t), (i = null)); for (t.L = t.R = null, t.U = i, t.C = !0, e = t; i && i.C; ) i === (n = i.U).L ? (r = n.R) && r.C ? ((i.C = r.C = !1), (n.C = !0), (e = n)) : (e === i.R && (cS(this, i), (i = (e = i).U)), (i.C = !1), (n.C = !0), dS(this, n)) : (r = n.L) && r.C ? ((i.C = r.C = !1), (n.C = !0), (e = n)) : (e === i.L && (dS(this, i), (i = (e = i).U)), (i.C = !1), (n.C = !0), cS(this, n)), (i = e.U); this._.C = !1; }, remove: function (e) { e.N && (e.N.P = e.P), e.P && (e.P.N = e.N), (e.N = e.P = null); var t, i, n, r = e.U, s = e.L, o = e.R; if ( ((i = s ? (o ? hS(o) : s) : o), r ? (r.L === e ? (r.L = i) : (r.R = i)) : (this._ = i), s && o ? ((n = i.C), (i.C = e.C), (i.L = s), (s.U = i), i !== o ? ((r = i.U), (i.U = e.U), (e = i.R), (r.L = e), (i.R = o), (o.U = i)) : ((i.U = r), (r = i), (e = i.R))) : ((n = e.C), (e = i)), e && (e.U = r), !n) ) if (e && e.C) e.C = !1; else { do { if (e === this._) break; if (e === r.L) { if ( ((t = r.R).C && ((t.C = !1), (r.C = !0), cS(this, r), (t = r.R)), (t.L && t.L.C) || (t.R && t.R.C)) ) { (t.R && t.R.C) || ((t.L.C = !1), (t.C = !0), dS(this, t), (t = r.R)), (t.C = r.C), (r.C = t.R.C = !1), cS(this, r), (e = this._); break; } } else if ( ((t = r.L).C && ((t.C = !1), (r.C = !0), dS(this, r), (t = r.L)), (t.L && t.L.C) || (t.R && t.R.C)) ) { (t.L && t.L.C) || ((t.R.C = !1), (t.C = !0), cS(this, t), (t = r.L)), (t.C = r.C), (r.C = t.L.C = !1), dS(this, r), (e = this._); break; } (t.C = !0), (e = r), (r = r.U); } while (!e.C); e && (e.C = !1); } }, }; const uS = aS; function gS(e, t, i, n) { var r = [null, null], s = FS.push(r) - 1; return ( (r.left = e), (r.right = t), i && pS(r, e, t, i), n && pS(r, t, e, n), RS[e.index].halfedges.push(s), RS[t.index].halfedges.push(s), r ); } function fS(e, t, i) { var n = [t, i]; return (n.left = e), n; } function pS(e, t, i, n) { e[0] || e[1] ? e.left === i ? (e[1] = n) : (e[0] = n) : ((e[0] = n), (e.left = t), (e.right = i)); } function mS(e, t, i, n, r) { var s, o = e[0], a = e[1], l = o[0], c = o[1], d = 0, h = 1, u = a[0] - l, g = a[1] - c; if (((s = t - l), u || !(s > 0))) { if (((s /= u), u < 0)) { if (s < d) return; s < h && (h = s); } else if (u > 0) { if (s > h) return; s > d && (d = s); } if (((s = n - l), u || !(s < 0))) { if (((s /= u), u < 0)) { if (s > h) return; s > d && (d = s); } else if (u > 0) { if (s < d) return; s < h && (h = s); } if (((s = i - c), g || !(s > 0))) { if (((s /= g), g < 0)) { if (s < d) return; s < h && (h = s); } else if (g > 0) { if (s > h) return; s > d && (d = s); } if (((s = r - c), g || !(s < 0))) { if (((s /= g), g < 0)) { if (s > h) return; s > d && (d = s); } else if (g > 0) { if (s < d) return; s < h && (h = s); } return ( !(d > 0 || h < 1) || (d > 0 && (e[0] = [l + d * u, c + d * g]), h < 1 && (e[1] = [l + h * u, c + h * g]), !0) ); } } } } } function _S(e, t, i, n, r) { var s = e[1]; if (s) return !0; var o, a, l = e[0], c = e.left, d = e.right, h = c[0], u = c[1], g = d[0], f = d[1], p = (h + g) / 2, m = (u + f) / 2; if (f === u) { if (p < t || p >= n) return; if (h > g) { if (l) { if (l[1] >= r) return; } else l = [p, i]; s = [p, r]; } else { if (l) { if (l[1] < i) return; } else l = [p, r]; s = [p, i]; } } else if (((a = m - (o = (h - g) / (f - u)) * p), o < -1 || o > 1)) if (h > g) { if (l) { if (l[1] >= r) return; } else l = [(i - a) / o, i]; s = [(r - a) / o, r]; } else { if (l) { if (l[1] < i) return; } else l = [(r - a) / o, r]; s = [(i - a) / o, i]; } else if (u < f) { if (l) { if (l[0] >= n) return; } else l = [t, o * t + a]; s = [n, o * n + a]; } else { if (l) { if (l[0] < t) return; } else l = [n, o * n + a]; s = [t, o * t + a]; } return (e[0] = l), (e[1] = s), !0; } function bS(e, t) { var i = e.site, n = t.left, r = t.right; return ( i === r && ((r = n), (n = i)), r ? Math.atan2(r[1] - n[1], r[0] - n[0]) : (i === n ? ((n = t[1]), (r = t[0])) : ((n = t[0]), (r = t[1])), Math.atan2(n[0] - r[0], r[1] - n[1])) ); } function vS(e, t) { return t[+(t.left !== e.site)]; } function yS(e, t) { return t[+(t.left === e.site)]; } var wS, CS = []; function SS() { lS(this), (this.x = this.y = this.arc = this.site = this.cy = null); } function kS(e) { var t = e.P, i = e.N; if (t && i) { var n = t.site, r = e.site, s = i.site; if (n !== s) { var o = r[0], a = r[1], l = n[0] - o, c = n[1] - a, d = s[0] - o, h = s[1] - a, u = 2 * (l * h - c * d); if (!(u >= -WS)) { var g = l * l + c * c, f = d * d + h * h, p = (h * g - c * f) / u, m = (l * f - d * g) / u, _ = CS.pop() || new SS(); (_.arc = e), (_.site = r), (_.x = p + o), (_.y = (_.cy = m + a) + Math.sqrt(p * p + m * m)), (e.circle = _); for (var b = null, v = PS._; v; ) if (_.y < v.y || (_.y === v.y && _.x <= v.x)) { if (!v.L) { b = v.P; break; } v = v.L; } else { if (!v.R) { b = v; break; } v = v.R; } PS.insert(b, _), b || (wS = _); } } } } function xS(e) { var t = e.circle; t && (t.P || (wS = t.N), PS.remove(t), CS.push(t), lS(t), (e.circle = null)); } var LS = []; function MS() { lS(this), (this.edge = this.site = this.circle = null); } function DS(e) { var t = LS.pop() || new MS(); return (t.site = e), t; } function NS(e) { xS(e), AS.remove(e), LS.push(e), lS(e); } function ES(e) { var t = e.circle, i = t.x, n = t.cy, r = [i, n], s = e.P, o = e.N, a = [e]; NS(e); for ( var l = s; l.circle && Math.abs(i - l.circle.x) < BS && Math.abs(n - l.circle.cy) < BS; ) (s = l.P), a.unshift(l), NS(l), (l = s); a.unshift(l), xS(l); for ( var c = o; c.circle && Math.abs(i - c.circle.x) < BS && Math.abs(n - c.circle.cy) < BS; ) (o = c.N), a.push(c), NS(c), (c = o); a.push(c), xS(c); var d, h = a.length; for (d = 1; d < h; ++d) (c = a[d]), (l = a[d - 1]), pS(c.edge, l.site, c.site, r); (l = a[0]), ((c = a[h - 1]).edge = gS(l.site, c.site, null, r)), kS(l), kS(c); } function TS(e) { for (var t, i, n, r, s = e[0], o = e[1], a = AS._; a; ) if ((n = IS(a, o) - s) > BS) a = a.L; else { if (!((r = s - OS(a, o)) > BS)) { n > -BS ? ((t = a.P), (i = a)) : r > -BS ? ((t = a), (i = a.N)) : (t = i = a); break; } if (!a.R) { t = a; break; } a = a.R; } !(function (e) { RS[e.index] = { site: e, halfedges: [] }; })(e); var l = DS(e); if ((AS.insert(t, l), t || i)) { if (t === i) return ( xS(t), (i = DS(t.site)), AS.insert(l, i), (l.edge = i.edge = gS(t.site, l.site)), kS(t), void kS(i) ); if (i) { xS(t), xS(i); var c = t.site, d = c[0], h = c[1], u = e[0] - d, g = e[1] - h, f = i.site, p = f[0] - d, m = f[1] - h, _ = 2 * (u * m - g * p), b = u * u + g * g, v = p * p + m * m, y = [(m * b - g * v) / _ + d, (u * v - p * b) / _ + h]; pS(i.edge, c, f, y), (l.edge = gS(c, e, null, y)), (i.edge = gS(e, f, null, y)), kS(t), kS(i); } else l.edge = gS(t.site, l.site); } } function IS(e, t) { var i = e.site, n = i[0], r = i[1], s = r - t; if (!s) return n; var o = e.P; if (!o) return -1 / 0; var a = (i = o.site)[0], l = i[1], c = l - t; if (!c) return a; var d = a - n, h = 1 / s - 1 / c, u = d / c; return h ? (-u + Math.sqrt( u * u - 2 * h * ((d * d) / (-2 * c) - l + c / 2 + r - s / 2) )) / h + n : (n + a) / 2; } function OS(e, t) { var i = e.N; if (i) return IS(i, t); var n = e.site; return n[1] === t ? n[0] : 1 / 0; } var AS, RS, PS, FS, BS = 1e-6, WS = 1e-12; function YS(e, t, i) { return (e[0] - i[0]) * (t[1] - e[1]) - (e[0] - t[0]) * (i[1] - e[1]); } function HS(e, t) { return t[1] - e[1] || t[0] - e[0]; } function jS(e, t) { var i, n, r, s = e.sort(HS).pop(); for ( FS = [], RS = new Array(e.length), AS = new uS(), PS = new uS(); ; ) if ( ((r = wS), s && (!r || s[1] < r.y || (s[1] === r.y && s[0] < r.x))) ) (s[0] === i && s[1] === n) || (TS(s), (i = s[0]), (n = s[1])), (s = e.pop()); else { if (!r) break; ES(r.arc); } if ( ((function () { for (var e, t, i, n, r = 0, s = RS.length; r < s; ++r) if ((e = RS[r]) && (n = (t = e.halfedges).length)) { var o = new Array(n), a = new Array(n); for (i = 0; i < n; ++i) (o[i] = i), (a[i] = bS(e, FS[t[i]])); for ( o.sort(function (e, t) { return a[t] - a[e]; }), i = 0; i < n; ++i ) a[i] = t[o[i]]; for (i = 0; i < n; ++i) t[i] = a[i]; } })(), t) ) { var o = +t[0][0], a = +t[0][1], l = +t[1][0], c = +t[1][1]; !(function (e, t, i, n) { for (var r, s = FS.length; s--; ) (_S((r = FS[s]), e, t, i, n) && mS(r, e, t, i, n) && (Math.abs(r[0][0] - r[1][0]) > BS || Math.abs(r[0][1] - r[1][1]) > BS)) || delete FS[s]; })(o, a, l, c), (function (e, t, i, n) { var r, s, o, a, l, c, d, h, u, g, f, p, m = RS.length, _ = !0; for (r = 0; r < m; ++r) if ((s = RS[r])) { for (o = s.site, a = (l = s.halfedges).length; a--; ) FS[l[a]] || l.splice(a, 1); for (a = 0, c = l.length; a < c; ) (f = (g = yS(s, FS[l[a]]))[0]), (p = g[1]), (h = (d = vS(s, FS[l[++a % c]]))[0]), (u = d[1]), (Math.abs(f - h) > BS || Math.abs(p - u) > BS) && (l.splice( a, 0, FS.push( fS( o, g, Math.abs(f - e) < BS && n - p > BS ? [e, Math.abs(h - e) < BS ? u : n] : Math.abs(p - n) < BS && i - f > BS ? [Math.abs(u - n) < BS ? h : i, n] : Math.abs(f - i) < BS && p - t > BS ? [i, Math.abs(h - i) < BS ? u : t] : Math.abs(p - t) < BS && f - e > BS ? [Math.abs(u - t) < BS ? h : e, t] : null ) ) - 1 ), ++c); c && (_ = !1); } if (_) { var b, v, y, w = 1 / 0; for (r = 0, _ = null; r < m; ++r) (s = RS[r]) && (y = (b = (o = s.site)[0] - e) * b + (v = o[1] - t) * v) < w && ((w = y), (_ = s)); if (_) { var C = [e, t], S = [e, n], k = [i, n], x = [i, t]; _.halfedges.push( FS.push(fS((o = _.site), C, S)) - 1, FS.push(fS(o, S, k)) - 1, FS.push(fS(o, k, x)) - 1, FS.push(fS(o, x, C)) - 1 ); } } for (r = 0; r < m; ++r) (s = RS[r]) && (s.halfedges.length || delete RS[r]); })(o, a, l, c); } (this.edges = FS), (this.cells = RS), (AS = PS = FS = RS = null); } function VS() { var e = sS, t = oS, i = null; function n(n) { return new jS( n.map(function (i, r) { var s = [ Math.round(e(i, r, n) / BS) * BS, Math.round(t(i, r, n) / BS) * BS, ]; return (s.index = r), (s.data = i), s; }), i ); } return ( (n.polygons = function (e) { return n(e).polygons(); }), (n.links = function (e) { return n(e).links(); }), (n.triangles = function (e) { return n(e).triangles(); }), (n.x = function (t) { return arguments.length ? ((e = 'function' == typeof t ? t : rS(+t)), n) : e; }), (n.y = function (e) { return arguments.length ? ((t = 'function' == typeof e ? e : rS(+e)), n) : t; }), (n.extent = function (e) { return arguments.length ? ((i = null == e ? null : [ [+e[0][0], +e[0][1]], [+e[1][0], +e[1][1]], ]), n) : i && [ [i[0][0], i[0][1]], [i[1][0], i[1][1]], ]; }), (n.size = function (e) { return arguments.length ? ((i = null == e ? null : [ [0, 0], [+e[0], +e[1]], ]), n) : i && [i[1][0] - i[0][0], i[1][1] - i[0][1]]; }), n ); } function zS(e) { return function () { return e; }; } function US(e, t, i) { (this.target = e), (this.type = t), (this.transform = i); } function $S(e, t, i) { (this.k = e), (this.x = t), (this.y = i); } (jS.prototype = { constructor: jS, polygons: function () { var e = this.edges; return this.cells.map(function (t) { var i = t.halfedges.map(function (i) { return vS(t, e[i]); }); return (i.data = t.site.data), i; }); }, triangles: function () { var e = [], t = this.edges; return ( this.cells.forEach(function (i, n) { if ((s = (r = i.halfedges).length)) for ( var r, s, o, a = i.site, l = -1, c = t[r[s - 1]], d = c.left === a ? c.right : c.left; ++l < s; ) (o = d), (d = (c = t[r[l]]).left === a ? c.right : c.left), o && d && n < o.index && n < d.index && YS(a, o, d) < 0 && e.push([a.data, o.data, d.data]); }), e ); }, links: function () { return this.edges .filter(function (e) { return e.right; }) .map(function (e) { return { source: e.left.data, target: e.right.data }; }); }, find: function (e, t, i) { for ( var n, r, s = this, o = s._found || 0, a = s.cells.length; !(r = s.cells[o]); ) if (++o >= a) return null; var l = e - r.site[0], c = t - r.site[1], d = l * l + c * c; do { (r = s.cells[(n = o)]), (o = null), r.halfedges.forEach(function (i) { var n = s.edges[i], a = n.left; if ((a !== r.site && a) || (a = n.right)) { var l = e - a[0], c = t - a[1], h = l * l + c * c; h < d && ((d = h), (o = a.index)); } }); } while (null !== o); return (s._found = n), null == i || d <= i * i ? r.site : null; }, }), ($S.prototype = { constructor: $S, scale: function (e) { return 1 === e ? this : new $S(this.k * e, this.x, this.y); }, translate: function (e, t) { return (0 === e) & (0 === t) ? this : new $S(this.k, this.x + this.k * e, this.y + this.k * t); }, apply: function (e) { return [e[0] * this.k + this.x, e[1] * this.k + this.y]; }, applyX: function (e) { return e * this.k + this.x; }, applyY: function (e) { return e * this.k + this.y; }, invert: function (e) { return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k]; }, invertX: function (e) { return (e - this.x) / this.k; }, invertY: function (e) { return (e - this.y) / this.k; }, rescaleX: function (e) { return e .copy() .domain(e.range().map(this.invertX, this).map(e.invert, e)); }, rescaleY: function (e) { return e .copy() .domain(e.range().map(this.invertY, this).map(e.invert, e)); }, toString: function () { return ( 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')' ); }, }); var KS = new $S(1, 0, 0); function qS(e) { for (; !e.__zoom; ) if (!(e = e.parentNode)) return KS; return e.__zoom; } function GS() { dt.stopImmediatePropagation(); } function ZS() { dt.preventDefault(), dt.stopImmediatePropagation(); } function JS() { return !dt.ctrlKey && !dt.button; } function QS() { var e = this; return e instanceof SVGElement ? (e = e.ownerSVGElement || e).hasAttribute('viewBox') ? [ [(e = e.viewBox.baseVal).x, e.y], [e.x + e.width, e.y + e.height], ] : [ [0, 0], [e.width.baseVal.value, e.height.baseVal.value], ] : [ [0, 0], [e.clientWidth, e.clientHeight], ]; } function XS() { return this.__zoom || KS; } function ek() { return ( -dt.deltaY * (1 === dt.deltaMode ? 0.05 : dt.deltaMode ? 1 : 0.002) ); } function tk() { return navigator.maxTouchPoints || 'ontouchstart' in this; } function ik(e, t, i) { var n = e.invertX(t[0][0]) - i[0][0], r = e.invertX(t[1][0]) - i[1][0], s = e.invertY(t[0][1]) - i[0][1], o = e.invertY(t[1][1]) - i[1][1]; return e.translate( r > n ? (n + r) / 2 : Math.min(0, n) || Math.max(0, r), o > s ? (s + o) / 2 : Math.min(0, s) || Math.max(0, o) ); } function nk() { var e, t, i = JS, n = QS, r = ik, s = ek, o = tk, a = [0, 1 / 0], l = [ [-1 / 0, -1 / 0], [1 / 0, 1 / 0], ], c = 250, d = Tf, h = ue('start', 'zoom', 'end'), u = 500, g = 0; function f(e) { e.property('__zoom', XS) .on('wheel.zoom', w) .on('mousedown.zoom', C) .on('dblclick.zoom', S) .filter(o) .on('touchstart.zoom', k) .on('touchmove.zoom', x) .on('touchend.zoom touchcancel.zoom', L) .style('touch-action', 'none') .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)'); } function p(e, t) { return (t = Math.max(a[0], Math.min(a[1], t))) === e.k ? e : new $S(t, e.x, e.y); } function m(e, t, i) { var n = t[0] - i[0] * e.k, r = t[1] - i[1] * e.k; return n === e.x && r === e.y ? e : new $S(e.k, n, r); } function _(e) { return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2]; } function b(e, t, i) { e.on('start.zoom', function () { v(this, arguments).start(); }) .on('interrupt.zoom end.zoom', function () { v(this, arguments).end(); }) .tween('zoom', function () { var e = this, r = arguments, s = v(e, r), o = n.apply(e, r), a = null == i ? _(o) : 'function' == typeof i ? i.apply(e, r) : i, l = Math.max(o[1][0] - o[0][0], o[1][1] - o[0][1]), c = e.__zoom, h = 'function' == typeof t ? t.apply(e, r) : t, u = d( c.invert(a).concat(l / c.k), h.invert(a).concat(l / h.k) ); return function (e) { if (1 === e) e = h; else { var t = u(e), i = l / t[2]; e = new $S(i, a[0] - t[0] * i, a[1] - t[1] * i); } s.zoom(null, e); }; }); } function v(e, t, i) { return (!i && e.__zooming) || new y(e, t); } function y(e, t) { (this.that = e), (this.args = t), (this.active = 0), (this.extent = n.apply(e, t)), (this.taps = 0); } function w() { if (i.apply(this, arguments)) { var e = v(this, arguments), t = this.__zoom, n = Math.max( a[0], Math.min(a[1], t.k * Math.pow(2, s.apply(this, arguments))) ), o = Ii(this); if (e.wheel) (e.mouse[0][0] === o[0] && e.mouse[0][1] === o[1]) || (e.mouse[1] = t.invert((e.mouse[0] = o))), clearTimeout(e.wheel); else { if (t.k === n) return; (e.mouse = [o, t.invert(o)]), sn(this), e.start(); } ZS(), (e.wheel = setTimeout(c, 150)), e.zoom( 'mouse', r(m(p(t, n), e.mouse[0], e.mouse[1]), e.extent, l) ); } function c() { (e.wheel = null), e.end(); } } function C() { if (!t && i.apply(this, arguments)) { var e = v(this, arguments, !0), n = kt(dt.view) .on('mousemove.zoom', c, !0) .on('mouseup.zoom', d, !0), s = Ii(this), o = dt.clientX, a = dt.clientY; Mt(dt.view), GS(), (e.mouse = [s, this.__zoom.invert(s)]), sn(this), e.start(); } function c() { if ((ZS(), !e.moved)) { var t = dt.clientX - o, i = dt.clientY - a; e.moved = t * t + i * i > g; } e.zoom( 'mouse', r( m(e.that.__zoom, (e.mouse[0] = Ii(e.that)), e.mouse[1]), e.extent, l ) ); } function d() { n.on('mousemove.zoom mouseup.zoom', null), Dt(dt.view, e.moved), ZS(), e.end(); } } function S() { if (i.apply(this, arguments)) { var e = this.__zoom, t = Ii(this), s = e.invert(t), o = e.k * (dt.shiftKey ? 0.5 : 2), a = r(m(p(e, o), t, s), n.apply(this, arguments), l); ZS(), c > 0 ? kt(this).transition().duration(c).call(b, a, t) : kt(this).call(f.transform, a); } } function k() { if (i.apply(this, arguments)) { var t, n, r, s, o = dt.touches, a = o.length, l = v(this, arguments, dt.changedTouches.length === a); for (GS(), n = 0; n < a; ++n) (s = [ (s = Ti(this, o, (r = o[n]).identifier)), this.__zoom.invert(s), r.identifier, ]), l.touch0 ? l.touch1 || l.touch0[2] === s[2] || ((l.touch1 = s), (l.taps = 0)) : ((l.touch0 = s), (t = !0), (l.taps = 1 + !!e)); e && (e = clearTimeout(e)), t && (l.taps < 2 && (e = setTimeout(function () { e = null; }, u)), sn(this), l.start()); } } function x() { if (this.__zooming) { var t, i, n, s, o = v(this, arguments), a = dt.changedTouches, c = a.length; for ( ZS(), e && (e = clearTimeout(e)), o.taps = 0, t = 0; t < c; ++t ) (n = Ti(this, a, (i = a[t]).identifier)), o.touch0 && o.touch0[2] === i.identifier ? (o.touch0[0] = n) : o.touch1 && o.touch1[2] === i.identifier && (o.touch1[0] = n); if (((i = o.that.__zoom), o.touch1)) { var d = o.touch0[0], h = o.touch0[1], u = o.touch1[0], g = o.touch1[1], f = (f = u[0] - d[0]) * f + (f = u[1] - d[1]) * f, _ = (_ = g[0] - h[0]) * _ + (_ = g[1] - h[1]) * _; (i = p(i, Math.sqrt(f / _))), (n = [(d[0] + u[0]) / 2, (d[1] + u[1]) / 2]), (s = [(h[0] + g[0]) / 2, (h[1] + g[1]) / 2]); } else { if (!o.touch0) return; (n = o.touch0[0]), (s = o.touch0[1]); } o.zoom('touch', r(m(i, n, s), o.extent, l)); } } function L() { if (this.__zooming) { var e, i, n = v(this, arguments), r = dt.changedTouches, s = r.length; for ( GS(), t && clearTimeout(t), t = setTimeout(function () { t = null; }, u), e = 0; e < s; ++e ) (i = r[e]), n.touch0 && n.touch0[2] === i.identifier ? delete n.touch0 : n.touch1 && n.touch1[2] === i.identifier && delete n.touch1; if ( (n.touch1 && !n.touch0 && ((n.touch0 = n.touch1), delete n.touch1), n.touch0) ) n.touch0[1] = this.__zoom.invert(n.touch0[0]); else if ((n.end(), 2 === n.taps)) { var o = kt(this).on('dblclick.zoom'); o && o.apply(this, arguments); } } } return ( (f.transform = function (e, t, i) { var n = e.selection ? e.selection() : e; n.property('__zoom', XS), e !== n ? b(e, t, i) : n.interrupt().each(function () { v(this, arguments) .start() .zoom( null, 'function' == typeof t ? t.apply(this, arguments) : t ) .end(); }); }), (f.scaleBy = function (e, t, i) { f.scaleTo( e, function () { var e = this.__zoom.k, i = 'function' == typeof t ? t.apply(this, arguments) : t; return e * i; }, i ); }), (f.scaleTo = function (e, t, i) { f.transform( e, function () { var e = n.apply(this, arguments), s = this.__zoom, o = null == i ? _(e) : 'function' == typeof i ? i.apply(this, arguments) : i, a = s.invert(o), c = 'function' == typeof t ? t.apply(this, arguments) : t; return r(m(p(s, c), o, a), e, l); }, i ); }), (f.translateBy = function (e, t, i) { f.transform(e, function () { return r( this.__zoom.translate( 'function' == typeof t ? t.apply(this, arguments) : t, 'function' == typeof i ? i.apply(this, arguments) : i ), n.apply(this, arguments), l ); }); }), (f.translateTo = function (e, t, i, s) { f.transform( e, function () { var e = n.apply(this, arguments), o = this.__zoom, a = null == s ? _(e) : 'function' == typeof s ? s.apply(this, arguments) : s; return r( KS.translate(a[0], a[1]) .scale(o.k) .translate( 'function' == typeof t ? -t.apply(this, arguments) : -t, 'function' == typeof i ? -i.apply(this, arguments) : -i ), e, l ); }, s ); }), (y.prototype = { start: function () { return ( 1 == ++this.active && ((this.that.__zooming = this), this.emit('start')), this ); }, zoom: function (e, t) { return ( this.mouse && 'mouse' !== e && (this.mouse[1] = t.invert(this.mouse[0])), this.touch0 && 'touch' !== e && (this.touch0[1] = t.invert(this.touch0[0])), this.touch1 && 'touch' !== e && (this.touch1[1] = t.invert(this.touch1[0])), (this.that.__zoom = t), this.emit('zoom'), this ); }, end: function () { return ( 0 == --this.active && (delete this.that.__zooming, this.emit('end')), this ); }, emit: function (e) { mt(new US(f, e, this.that.__zoom), h.apply, h, [ e, this.that, this.args, ]); }, }), (f.wheelDelta = function (e) { return arguments.length ? ((s = 'function' == typeof e ? e : zS(+e)), f) : s; }), (f.filter = function (e) { return arguments.length ? ((i = 'function' == typeof e ? e : zS(!!e)), f) : i; }), (f.touchable = function (e) { return arguments.length ? ((o = 'function' == typeof e ? e : zS(!!e)), f) : o; }), (f.extent = function (e) { return arguments.length ? ((n = 'function' == typeof e ? e : zS([ [+e[0][0], +e[0][1]], [+e[1][0], +e[1][1]], ])), f) : n; }), (f.scaleExtent = function (e) { return arguments.length ? ((a[0] = +e[0]), (a[1] = +e[1]), f) : [a[0], a[1]]; }), (f.translateExtent = function (e) { return arguments.length ? ((l[0][0] = +e[0][0]), (l[1][0] = +e[1][0]), (l[0][1] = +e[0][1]), (l[1][1] = +e[1][1]), f) : [ [l[0][0], l[0][1]], [l[1][0], l[1][1]], ]; }), (f.constrain = function (e) { return arguments.length ? ((r = e), f) : r; }), (f.duration = function (e) { return arguments.length ? ((c = +e), f) : c; }), (f.interpolate = function (e) { return arguments.length ? ((d = e), f) : d; }), (f.on = function () { var e = h.on.apply(h, arguments); return e === h ? f : e; }), (f.clickDistance = function (e) { return arguments.length ? ((g = (e = +e) * e), f) : Math.sqrt(g); }), f ); } qS.prototype = $S.prototype; }, 44949: (e, t, i) => { e.exports = { graphlib: i(66614), dagre: i(51463), intersect: i(78114), render: i(95787), util: i(28355), version: i(55689), }; }, 39144: (e, t, i) => { var n = i(28355); function r(e, t, i, r) { var s = e .append('marker') .attr('id', t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'strokeWidth') .attr('markerWidth', 8) .attr('markerHeight', 6) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 10 5 L 0 10 z') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); n.applyStyle(s, i[r + 'Style']), i[r + 'Class'] && s.attr('class', i[r + 'Class']); } e.exports = { default: r, normal: r, vee: function (e, t, i, r) { var s = e .append('marker') .attr('id', t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'strokeWidth') .attr('markerWidth', 8) .attr('markerHeight', 6) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 10 5 L 0 10 L 4 5 z') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); n.applyStyle(s, i[r + 'Style']), i[r + 'Class'] && s.attr('class', i[r + 'Class']); }, undirected: function (e, t, i, r) { var s = e .append('marker') .attr('id', t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'strokeWidth') .attr('markerWidth', 8) .attr('markerHeight', 6) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 5 L 10 5') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); n.applyStyle(s, i[r + 'Style']), i[r + 'Class'] && s.attr('class', i[r + 'Class']); }, }; }, 85632: (e, t, i) => { var n = i(28355), r = i(24322), s = i(61322); e.exports = function (e, t) { var i, o = t.nodes().filter(function (e) { return n.isSubgraph(t, e); }), a = e.selectAll('g.cluster').data(o, function (e) { return e; }); return ( a.selectAll('*').remove(), a .enter() .append('g') .attr('class', 'cluster') .attr('id', function (e) { return t.node(e).id; }) .style('opacity', 0), (a = e.selectAll('g.cluster')), n.applyTransition(a, t).style('opacity', 1), a.each(function (e) { var i = t.node(e), n = r.select(this); r.select(this).append('rect'); var o = n.append('g').attr('class', 'label'); s(o, i, i.clusterLabelPos); }), a.selectAll('rect').each(function (e) { var i = t.node(e), s = r.select(this); n.applyStyle(s, i.style); }), (i = a.exit ? a.exit() : a.selectAll(null)), n.applyTransition(i, t).style('opacity', 0).remove(), a ); }; }, 16315: (e, t, i) => { 'use strict'; var n = i(91034), r = i(61322), s = i(28355), o = i(24322); e.exports = function (e, t) { var i, a = e .selectAll('g.edgeLabel') .data(t.edges(), function (e) { return s.edgeToId(e); }) .classed('update', !0); return ( a.exit().remove(), a.enter().append('g').classed('edgeLabel', !0).style('opacity', 0), (a = e.selectAll('g.edgeLabel')).each(function (e) { var i = o.select(this); i.select('.label').remove(); var s = t.edge(e), a = r(i, t.edge(e), 0, 0).classed('label', !0), l = a.node().getBBox(); s.labelId && a.attr('id', s.labelId), n.has(s, 'width') || (s.width = l.width), n.has(s, 'height') || (s.height = l.height); }), (i = a.exit ? a.exit() : a.selectAll(null)), s.applyTransition(i, t).style('opacity', 0).remove(), a ); }; }, 70940: (e, t, i) => { 'use strict'; var n = i(91034), r = i(13042), s = i(28355), o = i(24322); function a(e, t) { var i = (o.line || o.svg.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }); return (i.curve || i.interpolate)(e.curve), i(t); } e.exports = function (e, t, i) { var l = e .selectAll('g.edgePath') .data(t.edges(), function (e) { return s.edgeToId(e); }) .classed('update', !0), c = (function (e, t) { var i = e .enter() .append('g') .attr('class', 'edgePath') .style('opacity', 0); return ( i .append('path') .attr('class', 'path') .attr('d', function (e) { var i = t.edge(e), r = t.node(e.v).elem; return a( i, n.range(i.points.length).map(function () { return ( (t = (e = r).getBBox()), { x: (i = e.ownerSVGElement .getScreenCTM() .inverse() .multiply(e.getScreenCTM()) .translate(t.width / 2, t.height / 2)).e, y: i.f, } ); var e, t, i; }) ); }), i.append('defs'), i ); })(l, t); !(function (e, t) { var i = e.exit(); s.applyTransition(i, t).style('opacity', 0).remove(); })(l, t); var d = void 0 !== l.merge ? l.merge(c) : l; return ( s.applyTransition(d, t).style('opacity', 1), d.each(function (e) { var i = o.select(this), n = t.edge(e); (n.elem = this), n.id && i.attr('id', n.id), s.applyClass( i, n.class, (i.classed('update') ? 'update ' : '') + 'edgePath' ); }), d.selectAll('path.path').each(function (e) { var i = t.edge(e); i.arrowheadId = n.uniqueId('arrowhead'); var l = o .select(this) .attr('marker-end', function () { return ( 'url(' + ((e = location.href), (t = i.arrowheadId), e.split('#')[0] + '#' + t + ')') ); var e, t; }) .style('fill', 'none'); s.applyTransition(l, t).attr('d', function (e) { return (function (e, t) { var i = e.edge(t), n = e.node(t.v), s = e.node(t.w), o = i.points.slice(1, i.points.length - 1); return ( o.unshift(r(n, o[0])), o.push(r(s, o[o.length - 1])), a(i, o) ); })(t, e); }), s.applyStyle(l, i.style); }), d.selectAll('defs *').remove(), d.selectAll('defs').each(function (e) { var n = t.edge(e); (0, i[n.arrowhead])(o.select(this), n.arrowheadId, n, 'arrowhead'); }), d ); }; }, 10607: (e, t, i) => { 'use strict'; var n = i(91034), r = i(61322), s = i(28355), o = i(24322); e.exports = function (e, t, i) { var a, l = t.nodes().filter(function (e) { return !s.isSubgraph(t, e); }), c = e .selectAll('g.node') .data(l, function (e) { return e; }) .classed('update', !0); return ( c.exit().remove(), c.enter().append('g').attr('class', 'node').style('opacity', 0), (c = e.selectAll('g.node')).each(function (e) { var a = t.node(e), l = o.select(this); s.applyClass( l, a.class, (l.classed('update') ? 'update ' : '') + 'node' ), l.select('g.label').remove(); var c = l.append('g').attr('class', 'label'), d = r(c, a), h = i[a.shape], u = n.pick(d.node().getBBox(), 'width', 'height'); (a.elem = this), a.id && l.attr('id', a.id), a.labelId && c.attr('id', a.labelId), n.has(a, 'width') && (u.width = a.width), n.has(a, 'height') && (u.height = a.height), (u.width += a.paddingLeft + a.paddingRight), (u.height += a.paddingTop + a.paddingBottom), c.attr( 'transform', 'translate(' + (a.paddingLeft - a.paddingRight) / 2 + ',' + (a.paddingTop - a.paddingBottom) / 2 + ')' ); var g = o.select(this); g.select('.label-container').remove(); var f = h(g, u, a).classed('label-container', !0); s.applyStyle(f, a.style); var p = f.node().getBBox(); (a.width = p.width), (a.height = p.height); }), (a = c.exit ? c.exit() : c.selectAll(null)), s.applyTransition(a, t).style('opacity', 0).remove(), c ); }; }, 24322: (e, t, i) => { var n; if (!n) try { n = i(69362); } catch (e) {} n || (n = window.d3), (e.exports = n); }, 51463: (e, t, i) => { var n; try { n = i(72135); } catch (e) {} n || (n = window.dagre), (e.exports = n); }, 66614: (e, t, i) => { var n; try { n = i(79550); } catch (e) {} n || (n = window.graphlib), (e.exports = n); }, 78114: (e, t, i) => { e.exports = { node: i(13042), circle: i(56587), ellipse: i(3260), polygon: i(5337), rect: i(98049), }; }, 56587: (e, t, i) => { var n = i(3260); e.exports = function (e, t, i) { return n(e, t, t, i); }; }, 3260: (e) => { e.exports = function (e, t, i, n) { var r = e.x, s = e.y, o = r - n.x, a = s - n.y, l = Math.sqrt(t * t * a * a + i * i * o * o), c = Math.abs((t * i * o) / l); n.x < r && (c = -c); var d = Math.abs((t * i * a) / l); return n.y < s && (d = -d), { x: r + c, y: s + d }; }; }, 36808: (e) => { function t(e, t) { return e * t > 0; } e.exports = function (e, i, n, r) { var s, o, a, l, c, d, h, u, g, f, p, m, _; if ( !((s = i.y - e.y), (a = e.x - i.x), (c = i.x * e.y - e.x * i.y), (g = s * n.x + a * n.y + c), (f = s * r.x + a * r.y + c), (0 !== g && 0 !== f && t(g, f)) || ((o = r.y - n.y), (l = n.x - r.x), (d = r.x * n.y - n.x * r.y), (h = o * e.x + l * e.y + d), (u = o * i.x + l * i.y + d), (0 !== h && 0 !== u && t(h, u)) || 0 == (p = s * l - o * a))) ) return ( (m = Math.abs(p / 2)), { x: (_ = a * d - l * c) < 0 ? (_ - m) / p : (_ + m) / p, y: (_ = o * c - s * d) < 0 ? (_ - m) / p : (_ + m) / p, } ); }; }, 13042: (e) => { e.exports = function (e, t) { return e.intersect(t); }; }, 5337: (e, t, i) => { var n = i(36808); e.exports = function (e, t, i) { var r = e.x, s = e.y, o = [], a = Number.POSITIVE_INFINITY, l = Number.POSITIVE_INFINITY; t.forEach(function (e) { (a = Math.min(a, e.x)), (l = Math.min(l, e.y)); }); for ( var c = r - e.width / 2 - a, d = s - e.height / 2 - l, h = 0; h < t.length; h++ ) { var u = t[h], g = t[h < t.length - 1 ? h + 1 : 0], f = n( e, i, { x: c + u.x, y: d + u.y }, { x: c + g.x, y: d + g.y } ); f && o.push(f); } return o.length ? (o.length > 1 && o.sort(function (e, t) { var n = e.x - i.x, r = e.y - i.y, s = Math.sqrt(n * n + r * r), o = t.x - i.x, a = t.y - i.y, l = Math.sqrt(o * o + a * a); return s < l ? -1 : s === l ? 0 : 1; }), o[0]) : (console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', e), e); }; }, 98049: (e) => { e.exports = function (e, t) { var i, n, r = e.x, s = e.y, o = t.x - r, a = t.y - s, l = e.width / 2, c = e.height / 2; return ( Math.abs(a) * l > Math.abs(o) * c ? (a < 0 && (c = -c), (i = 0 === a ? 0 : (c * o) / a), (n = c)) : (o < 0 && (l = -l), (i = l), (n = 0 === o ? 0 : (l * a) / o)), { x: r + i, y: s + n } ); }; }, 88284: (e, t, i) => { var n = i(28355); e.exports = function (e, t) { var i = e.append('foreignObject').attr('width', '100000'), r = i.append('xhtml:div'); r.attr('xmlns', 'http://www.w3.org/1999/xhtml'); var s = t.label; switch (typeof s) { case 'function': r.insert(s); break; case 'object': r.insert(function () { return s; }); break; default: r.html(s); } n.applyStyle(r, t.labelStyle), r.style('display', 'inline-block'), r.style('white-space', 'nowrap'); var o = r.node().getBoundingClientRect(); return i.attr('width', o.width).attr('height', o.height), i; }; }, 61322: (e, t, i) => { var n = i(67318), r = i(88284), s = i(98287); e.exports = function (e, t, i) { var o = t.label, a = e.append('g'); 'svg' === t.labelType ? s(a, t) : 'string' != typeof o || 'html' === t.labelType ? r(a, t) : n(a, t); var l, c = a.node().getBBox(); switch (i) { case 'top': l = -t.height / 2; break; case 'bottom': l = t.height / 2 - c.height; break; default: l = -c.height / 2; } return ( a.attr('transform', 'translate(' + -c.width / 2 + ',' + l + ')'), a ); }; }, 98287: (e, t, i) => { var n = i(28355); e.exports = function (e, t) { var i = e; return ( i.node().appendChild(t.label), n.applyStyle(i, t.labelStyle), i ); }; }, 67318: (e, t, i) => { var n = i(28355); e.exports = function (e, t) { for ( var i = e.append('text'), r = (function (e) { for (var t, i = '', n = !1, r = 0; r < e.length; ++r) if (((t = e[r]), n)) { switch (t) { case 'n': i += '\n'; break; default: i += t; } n = !1; } else '\\' === t ? (n = !0) : (i += t); return i; })(t.label).split('\n'), s = 0; s < r.length; s++ ) i.append('tspan') .attr('xml:space', 'preserve') .attr('dy', '1em') .attr('x', '1') .text(r[s]); return n.applyStyle(i, t.labelStyle), i; }; }, 91034: (e, t, i) => { var n; try { n = { defaults: i(91747), each: i(66073), isFunction: i(23560), isPlainObject: i(68630), pick: i(78718), has: i(18721), range: i(96026), uniqueId: i(73955), }; } catch (e) {} n || (n = window._), (e.exports = n); }, 26381: (e, t, i) => { 'use strict'; var n = i(28355), r = i(24322); e.exports = function (e, t) { var i = e.filter(function () { return !r.select(this).classed('update'); }); function s(e) { var i = t.node(e); return 'translate(' + i.x + ',' + i.y + ')'; } i.attr('transform', s), n.applyTransition(e, t).style('opacity', 1).attr('transform', s), n .applyTransition(i.selectAll('rect'), t) .attr('width', function (e) { return t.node(e).width; }) .attr('height', function (e) { return t.node(e).height; }) .attr('x', function (e) { return -t.node(e).width / 2; }) .attr('y', function (e) { return -t.node(e).height / 2; }); }; }, 44577: (e, t, i) => { 'use strict'; var n = i(28355), r = i(24322), s = i(91034); e.exports = function (e, t) { function i(e) { var i = t.edge(e); return s.has(i, 'x') ? 'translate(' + i.x + ',' + i.y + ')' : ''; } e .filter(function () { return !r.select(this).classed('update'); }) .attr('transform', i), n.applyTransition(e, t).style('opacity', 1).attr('transform', i); }; }, 54849: (e, t, i) => { 'use strict'; var n = i(28355), r = i(24322); e.exports = function (e, t) { function i(e) { var i = t.node(e); return 'translate(' + i.x + ',' + i.y + ')'; } e .filter(function () { return !r.select(this).classed('update'); }) .attr('transform', i), n.applyTransition(e, t).style('opacity', 1).attr('transform', i); }; }, 95787: (e, t, i) => { var n = i(91034), r = i(24322), s = i(51463).layout; e.exports = function () { var e = i(10607), t = i(85632), r = i(16315), c = i(70940), d = i(54849), h = i(44577), u = i(26381), g = i(54418), f = i(39144), p = function (i, p) { !(function (e) { e.nodes().forEach(function (t) { var i = e.node(t); n.has(i, 'label') || e.children(t).length || (i.label = t), n.has(i, 'paddingX') && n.defaults(i, { paddingLeft: i.paddingX, paddingRight: i.paddingX, }), n.has(i, 'paddingY') && n.defaults(i, { paddingTop: i.paddingY, paddingBottom: i.paddingY, }), n.has(i, 'padding') && n.defaults(i, { paddingLeft: i.padding, paddingRight: i.padding, paddingTop: i.padding, paddingBottom: i.padding, }), n.defaults(i, o), n.each( [ 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', ], function (e) { i[e] = Number(i[e]); } ), n.has(i, 'width') && (i._prevWidth = i.width), n.has(i, 'height') && (i._prevHeight = i.height); }), e.edges().forEach(function (t) { var i = e.edge(t); n.has(i, 'label') || (i.label = ''), n.defaults(i, a); }); })(p); var m = l(i, 'output'), _ = l(m, 'clusters'), b = l(m, 'edgePaths'), v = r(l(m, 'edgeLabels'), p), y = e(l(m, 'nodes'), p, g); s(p), d(y, p), h(v, p), c(b, p, f); var w = t(_, p); u(w, p), (function (e) { n.each(e.nodes(), function (t) { var i = e.node(t); n.has(i, '_prevWidth') ? (i.width = i._prevWidth) : delete i.width, n.has(i, '_prevHeight') ? (i.height = i._prevHeight) : delete i.height, delete i._prevWidth, delete i._prevHeight; }); })(p); }; return ( (p.createNodes = function (t) { return arguments.length ? ((e = t), p) : e; }), (p.createClusters = function (e) { return arguments.length ? ((t = e), p) : t; }), (p.createEdgeLabels = function (e) { return arguments.length ? ((r = e), p) : r; }), (p.createEdgePaths = function (e) { return arguments.length ? ((c = e), p) : c; }), (p.shapes = function (e) { return arguments.length ? ((g = e), p) : g; }), (p.arrows = function (e) { return arguments.length ? ((f = e), p) : f; }), p ); }; var o = { paddingLeft: 10, paddingRight: 10, paddingTop: 10, paddingBottom: 10, rx: 0, ry: 0, shape: 'rect', }, a = { arrowhead: 'normal', curve: r.curveLinear }; function l(e, t) { var i = e.select('g.' + t); return i.empty() && (i = e.append('g').attr('class', t)), i; } }, 54418: (e, t, i) => { 'use strict'; var n = i(98049), r = i(3260), s = i(56587), o = i(5337); e.exports = { rect: function (e, t, i) { var r = e .insert('rect', ':first-child') .attr('rx', i.rx) .attr('ry', i.ry) .attr('x', -t.width / 2) .attr('y', -t.height / 2) .attr('width', t.width) .attr('height', t.height); return ( (i.intersect = function (e) { return n(i, e); }), r ); }, ellipse: function (e, t, i) { var n = t.width / 2, s = t.height / 2, o = e .insert('ellipse', ':first-child') .attr('x', -t.width / 2) .attr('y', -t.height / 2) .attr('rx', n) .attr('ry', s); return ( (i.intersect = function (e) { return r(i, n, s, e); }), o ); }, circle: function (e, t, i) { var n = Math.max(t.width, t.height) / 2, r = e .insert('circle', ':first-child') .attr('x', -t.width / 2) .attr('y', -t.height / 2) .attr('r', n); return ( (i.intersect = function (e) { return s(i, n, e); }), r ); }, diamond: function (e, t, i) { var n = (t.width * Math.SQRT2) / 2, r = (t.height * Math.SQRT2) / 2, s = [ { x: 0, y: -r }, { x: -n, y: 0 }, { x: 0, y: r }, { x: n, y: 0 }, ], a = e.insert('polygon', ':first-child').attr( 'points', s .map(function (e) { return e.x + ',' + e.y; }) .join(' ') ); return ( (i.intersect = function (e) { return o(i, s, e); }), a ); }, }; }, 28355: (e, t, i) => { var n = i(91034); e.exports = { isSubgraph: function (e, t) { return !!e.children(t).length; }, edgeToId: function (e) { return s(e.v) + ':' + s(e.w) + ':' + s(e.name); }, applyStyle: function (e, t) { t && e.attr('style', t); }, applyClass: function (e, t, i) { t && e.attr('class', t).attr('class', i + ' ' + e.attr('class')); }, applyTransition: function (e, t) { var i = t.graph(); if (n.isPlainObject(i)) { var r = i.transition; if (n.isFunction(r)) return r(e); } return e; }, }; var r = /:/g; function s(e) { return e ? String(e).replace(r, '\\:') : ''; } }, 55689: (e) => { e.exports = '0.6.4'; }, 72135: (e, t, i) => { e.exports = { graphlib: i(33653), layout: i(23946), debug: i(76181), util: { time: i(65029).time, notime: i(65029).notime }, version: i(96350), }; }, 33717: (e, t, i) => { 'use strict'; var n = i(29603), r = i(16487); e.exports = { run: function (e) { var t = 'greedy' === e.graph().acyclicer ? r( e, (function (e) { return function (t) { return e.edge(t).weight; }; })(e) ) : (function (e) { var t = [], i = {}, r = {}; return ( n.forEach(e.nodes(), function s(o) { n.has(r, o) || ((r[o] = !0), (i[o] = !0), n.forEach(e.outEdges(o), function (e) { n.has(i, e.w) ? t.push(e) : s(e.w); }), delete i[o]); }), t ); })(e); n.forEach(t, function (t) { var i = e.edge(t); e.removeEdge(t), (i.forwardName = t.name), (i.reversed = !0), e.setEdge(t.w, t.v, i, n.uniqueId('rev')); }); }, undo: function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (i.reversed) { e.removeEdge(t); var n = i.forwardName; delete i.reversed, delete i.forwardName, e.setEdge(t.w, t.v, i, n); } }); }, }; }, 52226: (e, t, i) => { var n = i(29603), r = i(65029); function s(e, t, i, n, s, o) { var a = { width: 0, height: 0, rank: o, borderType: t }, l = s[t][o - 1], c = r.addDummyNode(e, 'border', a, i); (s[t][o] = c), e.setParent(c, n), l && e.setEdge(l, c, { weight: 1 }); } e.exports = function (e) { n.forEach(e.children(), function t(i) { var r = e.children(i), o = e.node(i); if ((r.length && n.forEach(r, t), n.has(o, 'minRank'))) { (o.borderLeft = []), (o.borderRight = []); for (var a = o.minRank, l = o.maxRank + 1; a < l; ++a) s(e, 'borderLeft', '_bl', i, o, a), s(e, 'borderRight', '_br', i, o, a); } }); }; }, 64181: (e, t, i) => { 'use strict'; var n = i(29603); function r(e) { n.forEach(e.nodes(), function (t) { s(e.node(t)); }), n.forEach(e.edges(), function (t) { s(e.edge(t)); }); } function s(e) { var t = e.width; (e.width = e.height), (e.height = t); } function o(e) { e.y = -e.y; } function a(e) { var t = e.x; (e.x = e.y), (e.y = t); } e.exports = { adjust: function (e) { var t = e.graph().rankdir.toLowerCase(); ('lr' !== t && 'rl' !== t) || r(e); }, undo: function (e) { var t = e.graph().rankdir.toLowerCase(); ('bt' !== t && 'rl' !== t) || (function (e) { n.forEach(e.nodes(), function (t) { o(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.forEach(i.points, o), n.has(i, 'y') && o(i); }); })(e), ('lr' !== t && 'rl' !== t) || ((function (e) { n.forEach(e.nodes(), function (t) { a(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.forEach(i.points, a), n.has(i, 'x') && a(i); }); })(e), r(e)); }, }; }, 21210: (e) => { function t() { var e = {}; (e._next = e._prev = e), (this._sentinel = e); } function i(e) { (e._prev._next = e._next), (e._next._prev = e._prev), delete e._next, delete e._prev; } function n(e, t) { if ('_next' !== e && '_prev' !== e) return t; } (e.exports = t), (t.prototype.dequeue = function () { var e = this._sentinel, t = e._prev; if (t !== e) return i(t), t; }), (t.prototype.enqueue = function (e) { var t = this._sentinel; e._prev && e._next && i(e), (e._next = t._next), (t._next._prev = e), (t._next = e), (e._prev = t); }), (t.prototype.toString = function () { for (var e = [], t = this._sentinel, i = t._prev; i !== t; ) e.push(JSON.stringify(i, n)), (i = i._prev); return '[' + e.join(', ') + ']'; }); }, 76181: (e, t, i) => { var n = i(29603), r = i(65029), s = i(33653).Graph; e.exports = { debugOrdering: function (e) { var t = r.buildLayerMatrix(e), i = new s({ compound: !0, multigraph: !0 }).setGraph({}); return ( n.forEach(e.nodes(), function (t) { i.setNode(t, { label: t }), i.setParent(t, 'layer' + e.node(t).rank); }), n.forEach(e.edges(), function (e) { i.setEdge(e.v, e.w, {}, e.name); }), n.forEach(t, function (e, t) { var r = 'layer' + t; i.setNode(r, { rank: 'same' }), n.reduce(e, function (e, t) { return i.setEdge(e, t, { style: 'invis' }), t; }); }), i ); }, }; }, 33653: (e, t, i) => { var n; try { n = i(79550); } catch (e) {} n || (n = window.graphlib), (e.exports = n); }, 16487: (e, t, i) => { var n = i(29603), r = i(33653).Graph, s = i(21210); e.exports = function (e, t) { if (e.nodeCount() <= 1) return []; var i = (function (e, t) { var i = new r(), o = 0, a = 0; n.forEach(e.nodes(), function (e) { i.setNode(e, { v: e, in: 0, out: 0 }); }), n.forEach(e.edges(), function (e) { var n = i.edge(e.v, e.w) || 0, r = t(e), s = n + r; i.setEdge(e.v, e.w, s), (a = Math.max(a, (i.node(e.v).out += r))), (o = Math.max(o, (i.node(e.w).in += r))); }); var c = n.range(a + o + 3).map(function () { return new s(); }), d = o + 1; return ( n.forEach(i.nodes(), function (e) { l(c, d, i.node(e)); }), { graph: i, buckets: c, zeroIdx: d } ); })(e, t || o), c = (function (e, t, i) { for ( var n, r = [], s = t[t.length - 1], o = t[0]; e.nodeCount(); ) { for (; (n = o.dequeue()); ) a(e, t, i, n); for (; (n = s.dequeue()); ) a(e, t, i, n); if (e.nodeCount()) for (var l = t.length - 2; l > 0; --l) if ((n = t[l].dequeue())) { r = r.concat(a(e, t, i, n, !0)); break; } } return r; })(i.graph, i.buckets, i.zeroIdx); return n.flatten( n.map(c, function (t) { return e.outEdges(t.v, t.w); }), !0 ); }; var o = n.constant(1); function a(e, t, i, r, s) { var o = s ? [] : void 0; return ( n.forEach(e.inEdges(r.v), function (n) { var r = e.edge(n), a = e.node(n.v); s && o.push({ v: n.v, w: n.w }), (a.out -= r), l(t, i, a); }), n.forEach(e.outEdges(r.v), function (n) { var r = e.edge(n), s = n.w, o = e.node(s); (o.in -= r), l(t, i, o); }), e.removeNode(r.v), o ); } function l(e, t, i) { i.out ? i.in ? e[i.out - i.in + t].enqueue(i) : e[e.length - 1].enqueue(i) : e[0].enqueue(i); } }, 23946: (e, t, i) => { 'use strict'; var n = i(29603), r = i(33717), s = i(75399), o = i(26833), a = i(65029).normalizeRanks, l = i(65891), c = i(65029).removeEmptyRanks, d = i(33956), h = i(52226), u = i(64181), g = i(18095), f = i(86587), p = i(65029), m = i(33653).Graph; e.exports = function (e, t) { var i = t && t.debugTiming ? p.time : p.notime; i('layout', function () { var t = i(' buildLayoutGraph', function () { return (function (e) { var t = new m({ multigraph: !0, compound: !0 }), i = L(e.graph()); return ( t.setGraph(n.merge({}, b, x(i, _), n.pick(i, v))), n.forEach(e.nodes(), function (i) { var r = L(e.node(i)); t.setNode(i, n.defaults(x(r, y), w)), t.setParent(i, e.parent(i)); }), n.forEach(e.edges(), function (i) { var r = L(e.edge(i)); t.setEdge(i, n.merge({}, S, x(r, C), n.pick(r, k))); }), t ); })(e); }); i(' runLayout', function () { !(function (e, t) { t(' makeSpaceForEdgeLabels', function () { !(function (e) { var t = e.graph(); (t.ranksep /= 2), n.forEach(e.edges(), function (i) { var n = e.edge(i); (n.minlen *= 2), 'c' !== n.labelpos.toLowerCase() && ('TB' === t.rankdir || 'BT' === t.rankdir ? (n.width += n.labeloffset) : (n.height += n.labeloffset)); }); })(e); }), t(' removeSelfEdges', function () { !(function (e) { n.forEach(e.edges(), function (t) { if (t.v === t.w) { var i = e.node(t.v); i.selfEdges || (i.selfEdges = []), i.selfEdges.push({ e: t, label: e.edge(t) }), e.removeEdge(t); } }); })(e); }), t(' acyclic', function () { r.run(e); }), t(' nestingGraph.run', function () { d.run(e); }), t(' rank', function () { o(p.asNonCompoundGraph(e)); }), t(' injectEdgeLabelProxies', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (i.width && i.height) { var n = e.node(t.v), r = { rank: (e.node(t.w).rank - n.rank) / 2 + n.rank, e: t, }; p.addDummyNode(e, 'edge-proxy', r, '_ep'); } }); })(e); }), t(' removeEmptyRanks', function () { c(e); }), t(' nestingGraph.cleanup', function () { d.cleanup(e); }), t(' normalizeRanks', function () { a(e); }), t(' assignRankMinMax', function () { !(function (e) { var t = 0; n.forEach(e.nodes(), function (i) { var r = e.node(i); r.borderTop && ((r.minRank = e.node(r.borderTop).rank), (r.maxRank = e.node(r.borderBottom).rank), (t = n.max(t, r.maxRank))); }), (e.graph().maxRank = t); })(e); }), t(' removeEdgeLabelProxies', function () { !(function (e) { n.forEach(e.nodes(), function (t) { var i = e.node(t); 'edge-proxy' === i.dummy && ((e.edge(i.e).labelRank = i.rank), e.removeNode(t)); }); })(e); }), t(' normalize.run', function () { s.run(e); }), t(' parentDummyChains', function () { l(e); }), t(' addBorderSegments', function () { h(e); }), t(' order', function () { g(e); }), t(' insertSelfEdges', function () { !(function (e) { var t = p.buildLayerMatrix(e); n.forEach(t, function (t) { var i = 0; n.forEach(t, function (t, r) { var s = e.node(t); (s.order = r + i), n.forEach(s.selfEdges, function (t) { p.addDummyNode( e, 'selfedge', { width: t.label.width, height: t.label.height, rank: s.rank, order: r + ++i, e: t.e, label: t.label, }, '_se' ); }), delete s.selfEdges; }); }); })(e); }), t(' adjustCoordinateSystem', function () { u.adjust(e); }), t(' position', function () { f(e); }), t(' positionSelfEdges', function () { !(function (e) { n.forEach(e.nodes(), function (t) { var i = e.node(t); if ('selfedge' === i.dummy) { var n = e.node(i.e.v), r = n.x + n.width / 2, s = n.y, o = i.x - r, a = n.height / 2; e.setEdge(i.e, i.label), e.removeNode(t), (i.label.points = [ { x: r + (2 * o) / 3, y: s - a }, { x: r + (5 * o) / 6, y: s - a }, { x: r + o, y: s }, { x: r + (5 * o) / 6, y: s + a }, { x: r + (2 * o) / 3, y: s + a }, ]), (i.label.x = i.x), (i.label.y = i.y); } }); })(e); }), t(' removeBorderNodes', function () { !(function (e) { n.forEach(e.nodes(), function (t) { if (e.children(t).length) { var i = e.node(t), r = e.node(i.borderTop), s = e.node(i.borderBottom), o = e.node(n.last(i.borderLeft)), a = e.node(n.last(i.borderRight)); (i.width = Math.abs(a.x - o.x)), (i.height = Math.abs(s.y - r.y)), (i.x = o.x + i.width / 2), (i.y = r.y + i.height / 2); } }), n.forEach(e.nodes(), function (t) { 'border' === e.node(t).dummy && e.removeNode(t); }); })(e); }), t(' normalize.undo', function () { s.undo(e); }), t(' fixupEdgeLabelCoords', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (n.has(i, 'x')) switch ( (('l' !== i.labelpos && 'r' !== i.labelpos) || (i.width -= i.labeloffset), i.labelpos) ) { case 'l': i.x -= i.width / 2 + i.labeloffset; break; case 'r': i.x += i.width / 2 + i.labeloffset; } }); })(e); }), t(' undoCoordinateSystem', function () { u.undo(e); }), t(' translateGraph', function () { !(function (e) { var t = Number.POSITIVE_INFINITY, i = 0, r = Number.POSITIVE_INFINITY, s = 0, o = e.graph(), a = o.marginx || 0, l = o.marginy || 0; function c(e) { var n = e.x, o = e.y, a = e.width, l = e.height; (t = Math.min(t, n - a / 2)), (i = Math.max(i, n + a / 2)), (r = Math.min(r, o - l / 2)), (s = Math.max(s, o + l / 2)); } n.forEach(e.nodes(), function (t) { c(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.has(i, 'x') && c(i); }), (t -= a), (r -= l), n.forEach(e.nodes(), function (i) { var n = e.node(i); (n.x -= t), (n.y -= r); }), n.forEach(e.edges(), function (i) { var s = e.edge(i); n.forEach(s.points, function (e) { (e.x -= t), (e.y -= r); }), n.has(s, 'x') && (s.x -= t), n.has(s, 'y') && (s.y -= r); }), (o.width = i - t + a), (o.height = s - r + l); })(e); }), t(' assignNodeIntersects', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i, n, r = e.edge(t), s = e.node(t.v), o = e.node(t.w); r.points ? ((i = r.points[0]), (n = r.points[r.points.length - 1])) : ((r.points = []), (i = o), (n = s)), r.points.unshift(p.intersectRect(s, i)), r.points.push(p.intersectRect(o, n)); }); })(e); }), t(' reversePoints', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); i.reversed && i.points.reverse(); }); })(e); }), t(' acyclic.undo', function () { r.undo(e); }); })(t, i); }), i(' updateInputGraph', function () { !(function (e, t) { n.forEach(e.nodes(), function (i) { var n = e.node(i), r = t.node(i); n && ((n.x = r.x), (n.y = r.y), t.children(i).length && ((n.width = r.width), (n.height = r.height))); }), n.forEach(e.edges(), function (i) { var r = e.edge(i), s = t.edge(i); (r.points = s.points), n.has(s, 'x') && ((r.x = s.x), (r.y = s.y)); }), (e.graph().width = t.graph().width), (e.graph().height = t.graph().height); })(e, t); }); }); }; var _ = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'], b = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }, v = ['acyclicer', 'ranker', 'rankdir', 'align'], y = ['width', 'height'], w = { width: 0, height: 0 }, C = ['minlen', 'weight', 'width', 'height', 'labeloffset'], S = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: 'r', }, k = ['labelpos']; function x(e, t) { return n.mapValues(n.pick(e, t), Number); } function L(e) { var t = {}; return ( n.forEach(e, function (e, i) { t[i.toLowerCase()] = e; }), t ); } }, 29603: (e, t, i) => { var n; try { n = { cloneDeep: i(50361), constant: i(75703), defaults: i(91747), each: i(66073), filter: i(63105), find: i(13311), flatten: i(85564), forEach: i(84486), forIn: i(62620), has: i(18721), isUndefined: i(52353), last: i(10928), map: i(35161), mapValues: i(66604), max: i(6162), merge: i(82492), min: i(53632), minBy: i(22762), now: i(7771), pick: i(78718), range: i(96026), reduce: i(54061), sortBy: i(89734), uniqueId: i(73955), values: i(52628), zipObject: i(7287), }; } catch (e) {} n || (n = window._), (e.exports = n); }, 33956: (e, t, i) => { var n = i(29603), r = i(65029); function s(e, t, i, o, a, l, c) { var d = e.children(c); if (d.length) { var h = r.addBorderNode(e, '_bt'), u = r.addBorderNode(e, '_bb'), g = e.node(c); e.setParent(h, c), (g.borderTop = h), e.setParent(u, c), (g.borderBottom = u), n.forEach(d, function (n) { s(e, t, i, o, a, l, n); var r = e.node(n), d = r.borderTop ? r.borderTop : n, g = r.borderBottom ? r.borderBottom : n, f = r.borderTop ? o : 2 * o, p = d !== g ? 1 : a - l[c] + 1; e.setEdge(h, d, { weight: f, minlen: p, nestingEdge: !0 }), e.setEdge(g, u, { weight: f, minlen: p, nestingEdge: !0 }); }), e.parent(c) || e.setEdge(t, h, { weight: 0, minlen: a + l[c] }); } else c !== t && e.setEdge(t, c, { weight: 0, minlen: i }); } e.exports = { run: function (e) { var t = r.addDummyNode(e, 'root', {}, '_root'), i = (function (e) { var t = {}; function i(r, s) { var o = e.children(r); o && o.length && n.forEach(o, function (e) { i(e, s + 1); }), (t[r] = s); } return ( n.forEach(e.children(), function (e) { i(e, 1); }), t ); })(e), o = n.max(n.values(i)) - 1, a = 2 * o + 1; (e.graph().nestingRoot = t), n.forEach(e.edges(), function (t) { e.edge(t).minlen *= a; }); var l = (function (e) { return n.reduce( e.edges(), function (t, i) { return t + e.edge(i).weight; }, 0 ); })(e) + 1; n.forEach(e.children(), function (n) { s(e, t, a, l, o, i, n); }), (e.graph().nodeRankFactor = a); }, cleanup: function (e) { var t = e.graph(); e.removeNode(t.nestingRoot), delete t.nestingRoot, n.forEach(e.edges(), function (t) { e.edge(t).nestingEdge && e.removeEdge(t); }); }, }; }, 75399: (e, t, i) => { 'use strict'; var n = i(29603), r = i(65029); e.exports = { run: function (e) { (e.graph().dummyChains = []), n.forEach(e.edges(), function (t) { !(function (e, t) { var i, n, s, o = t.v, a = e.node(o).rank, l = t.w, c = e.node(l).rank, d = t.name, h = e.edge(t), u = h.labelRank; if (c !== a + 1) { for (e.removeEdge(t), s = 0, ++a; a < c; ++s, ++a) (h.points = []), (n = { width: 0, height: 0, edgeLabel: h, edgeObj: t, rank: a, }), (i = r.addDummyNode(e, 'edge', n, '_d')), a === u && ((n.width = h.width), (n.height = h.height), (n.dummy = 'edge-label'), (n.labelpos = h.labelpos)), e.setEdge(o, i, { weight: h.weight }, d), 0 === s && e.graph().dummyChains.push(i), (o = i); e.setEdge(o, l, { weight: h.weight }, d); } })(e, t); }); }, undo: function (e) { n.forEach(e.graph().dummyChains, function (t) { var i, n = e.node(t), r = n.edgeLabel; for (e.setEdge(n.edgeObj, r); n.dummy; ) (i = e.successors(t)[0]), e.removeNode(t), r.points.push({ x: n.x, y: n.y }), 'edge-label' === n.dummy && ((r.x = n.x), (r.y = n.y), (r.width = n.width), (r.height = n.height)), (t = i), (n = e.node(t)); }); }, }; }, 67266: (e, t, i) => { var n = i(29603); e.exports = function (e, t, i) { var r, s = {}; n.forEach(i, function (i) { for (var n, o, a = e.parent(i); a; ) { if ( ((n = e.parent(a)) ? ((o = s[n]), (s[n] = a)) : ((o = r), (r = a)), o && o !== a) ) return void t.setEdge(o, a); a = n; } }); }; }, 57210: (e, t, i) => { var n = i(29603); e.exports = function (e, t) { return n.map(t, function (t) { var i = e.inEdges(t); if (i.length) { var r = n.reduce( i, function (t, i) { var n = e.edge(i), r = e.node(i.v); return { sum: t.sum + n.weight * r.order, weight: t.weight + n.weight, }; }, { sum: 0, weight: 0 } ); return { v: t, barycenter: r.sum / r.weight, weight: r.weight }; } return { v: t }; }); }; }, 78007: (e, t, i) => { var n = i(29603), r = i(33653).Graph; e.exports = function (e, t, i) { var s = (function (e) { for (var t; e.hasNode((t = n.uniqueId('_root'))); ); return t; })(e), o = new r({ compound: !0 }) .setGraph({ root: s }) .setDefaultNodeLabel(function (t) { return e.node(t); }); return ( n.forEach(e.nodes(), function (r) { var a = e.node(r), l = e.parent(r); (a.rank === t || (a.minRank <= t && t <= a.maxRank)) && (o.setNode(r), o.setParent(r, l || s), n.forEach(e[i](r), function (t) { var i = t.v === r ? t.w : t.v, s = o.edge(i, r), a = n.isUndefined(s) ? 0 : s.weight; o.setEdge(i, r, { weight: e.edge(t).weight + a }); }), n.has(a, 'minRank') && o.setNode(r, { borderLeft: a.borderLeft[t], borderRight: a.borderRight[t], })); }), o ); }; }, 20434: (e, t, i) => { 'use strict'; var n = i(29603); function r(e, t, i) { for ( var r = n.zipObject( i, n.map(i, function (e, t) { return t; }) ), s = n.flatten( n.map(t, function (t) { return n.sortBy( n.map(e.outEdges(t), function (t) { return { pos: r[t.w], weight: e.edge(t).weight }; }), 'pos' ); }), !0 ), o = 1; o < i.length; ) o <<= 1; var a = 2 * o - 1; o -= 1; var l = n.map(new Array(a), function () { return 0; }), c = 0; return ( n.forEach( s.forEach(function (e) { var t = e.pos + o; l[t] += e.weight; for (var i = 0; t > 0; ) t % 2 && (i += l[t + 1]), (l[(t = (t - 1) >> 1)] += e.weight); c += e.weight * i; }) ), c ); } e.exports = function (e, t) { for (var i = 0, n = 1; n < t.length; ++n) i += r(e, t[n - 1], t[n]); return i; }; }, 18095: (e, t, i) => { 'use strict'; var n = i(29603), r = i(48559), s = i(20434), o = i(40373), a = i(78007), l = i(67266), c = i(33653).Graph, d = i(65029); function h(e, t, i) { return n.map(t, function (t) { return a(e, t, i); }); } function u(e, t) { var i = new c(); n.forEach(e, function (e) { var r = e.graph().root, s = o(e, r, i, t); n.forEach(s.vs, function (t, i) { e.node(t).order = i; }), l(e, i, s.vs); }); } function g(e, t) { n.forEach(t, function (t) { n.forEach(t, function (t, i) { e.node(t).order = i; }); }); } e.exports = function (e) { var t = d.maxRank(e), i = h(e, n.range(1, t + 1), 'inEdges'), o = h(e, n.range(t - 1, -1, -1), 'outEdges'), a = r(e); g(e, a); for ( var l, c = Number.POSITIVE_INFINITY, f = 0, p = 0; p < 4; ++f, ++p ) { u(f % 2 ? i : o, f % 4 >= 2), (a = d.buildLayerMatrix(e)); var m = s(e, a); m < c && ((p = 0), (l = n.cloneDeep(a)), (c = m)); } g(e, l); }; }, 48559: (e, t, i) => { 'use strict'; var n = i(29603); e.exports = function (e) { var t = {}, i = n.filter(e.nodes(), function (t) { return !e.children(t).length; }), r = n.max( n.map(i, function (t) { return e.node(t).rank; }) ), s = n.map(n.range(r + 1), function () { return []; }), o = n.sortBy(i, function (t) { return e.node(t).rank; }); return ( n.forEach(o, function i(r) { if (!n.has(t, r)) { t[r] = !0; var o = e.node(r); s[o.rank].push(r), n.forEach(e.successors(r), i); } }), s ); }; }, 91058: (e, t, i) => { 'use strict'; var n = i(29603); e.exports = function (e, t) { var i = {}; return ( n.forEach(e, function (e, t) { var r = (i[e.v] = { indegree: 0, in: [], out: [], vs: [e.v], i: t, }); n.isUndefined(e.barycenter) || ((r.barycenter = e.barycenter), (r.weight = e.weight)); }), n.forEach(t.edges(), function (e) { var t = i[e.v], r = i[e.w]; n.isUndefined(t) || n.isUndefined(r) || (r.indegree++, t.out.push(i[e.w])); }), (function (e) { var t = []; function i(e) { return function (t) { var i, r, s, o; t.merged || ((n.isUndefined(t.barycenter) || n.isUndefined(e.barycenter) || t.barycenter >= e.barycenter) && ((r = t), (s = 0), (o = 0), (i = e).weight && ((s += i.barycenter * i.weight), (o += i.weight)), r.weight && ((s += r.barycenter * r.weight), (o += r.weight)), (i.vs = r.vs.concat(i.vs)), (i.barycenter = s / o), (i.weight = o), (i.i = Math.min(r.i, i.i)), (r.merged = !0))); }; } function r(t) { return function (i) { i.in.push(t), 0 == --i.indegree && e.push(i); }; } for (; e.length; ) { var s = e.pop(); t.push(s), n.forEach(s.in.reverse(), i(s)), n.forEach(s.out, r(s)); } return n.map( n.filter(t, function (e) { return !e.merged; }), function (e) { return n.pick(e, ['vs', 'i', 'barycenter', 'weight']); } ); })( n.filter(i, function (e) { return !e.indegree; }) ) ); }; }, 40373: (e, t, i) => { var n = i(29603), r = i(57210), s = i(91058), o = i(96779); e.exports = function e(t, i, a, l) { var c = t.children(i), d = t.node(i), h = d ? d.borderLeft : void 0, u = d ? d.borderRight : void 0, g = {}; h && (c = n.filter(c, function (e) { return e !== h && e !== u; })); var f = r(t, c); n.forEach(f, function (i) { if (t.children(i.v).length) { var r = e(t, i.v, a, l); (g[i.v] = r), n.has(r, 'barycenter') && ((s = i), (o = r), n.isUndefined(s.barycenter) ? ((s.barycenter = o.barycenter), (s.weight = o.weight)) : ((s.barycenter = (s.barycenter * s.weight + o.barycenter * o.weight) / (s.weight + o.weight)), (s.weight += o.weight))); } var s, o; }); var p = s(f, a); !(function (e, t) { n.forEach(e, function (e) { e.vs = n.flatten( e.vs.map(function (e) { return t[e] ? t[e].vs : e; }), !0 ); }); })(p, g); var m = o(p, l); if ( h && ((m.vs = n.flatten([h, m.vs, u], !0)), t.predecessors(h).length) ) { var _ = t.node(t.predecessors(h)[0]), b = t.node(t.predecessors(u)[0]); n.has(m, 'barycenter') || ((m.barycenter = 0), (m.weight = 0)), (m.barycenter = (m.barycenter * m.weight + _.order + b.order) / (m.weight + 2)), (m.weight += 2); } return m; }; }, 96779: (e, t, i) => { var n = i(29603), r = i(65029); function s(e, t, i) { for (var r; t.length && (r = n.last(t)).i <= i; ) t.pop(), e.push(r.vs), i++; return i; } e.exports = function (e, t) { var i, o = r.partition(e, function (e) { return n.has(e, 'barycenter'); }), a = o.lhs, l = n.sortBy(o.rhs, function (e) { return -e.i; }), c = [], d = 0, h = 0, u = 0; a.sort( ((i = !!t), function (e, t) { return e.barycenter < t.barycenter ? -1 : e.barycenter > t.barycenter ? 1 : i ? t.i - e.i : e.i - t.i; }) ), (u = s(c, l, u)), n.forEach(a, function (e) { (u += e.vs.length), c.push(e.vs), (d += e.barycenter * e.weight), (h += e.weight), (u = s(c, l, u)); }); var g = { vs: n.flatten(c, !0) }; return h && ((g.barycenter = d / h), (g.weight = h)), g; }; }, 65891: (e, t, i) => { var n = i(29603); e.exports = function (e) { var t = (function (e) { var t = {}, i = 0; return ( n.forEach(e.children(), function r(s) { var o = i; n.forEach(e.children(s), r), (t[s] = { low: o, lim: i++ }); }), t ); })(e); n.forEach(e.graph().dummyChains, function (i) { for ( var n = e.node(i), r = n.edgeObj, s = (function (e, t, i, n) { var r, s, o = [], a = [], l = Math.min(t[i].low, t[n].low), c = Math.max(t[i].lim, t[n].lim); r = i; do { (r = e.parent(r)), o.push(r); } while (r && (t[r].low > l || c > t[r].lim)); for (s = r, r = n; (r = e.parent(r)) !== s; ) a.push(r); return { path: o.concat(a.reverse()), lca: s }; })(e, t, r.v, r.w), o = s.path, a = s.lca, l = 0, c = o[l], d = !0; i !== r.w; ) { if (((n = e.node(i)), d)) { for (; (c = o[l]) !== a && e.node(c).maxRank < n.rank; ) l++; c === a && (d = !1); } if (!d) { for ( ; l < o.length - 1 && e.node((c = o[l + 1])).minRank <= n.rank; ) l++; c = o[l]; } e.setParent(i, c), (i = e.successors(i)[0]); } }); }; }, 19998: (e, t, i) => { 'use strict'; var n = i(29603), r = i(33653).Graph, s = i(65029); function o(e, t) { var i = {}; return ( n.reduce(t, function (t, r) { var s = 0, o = 0, a = t.length, c = n.last(r); return ( n.forEach(r, function (t, d) { var h = (function (e, t) { if (e.node(t).dummy) return n.find(e.predecessors(t), function (t) { return e.node(t).dummy; }); })(e, t), u = h ? e.node(h).order : a; (h || t === c) && (n.forEach(r.slice(o, d + 1), function (t) { n.forEach(e.predecessors(t), function (n) { var r = e.node(n), o = r.order; !(o < s || u < o) || (r.dummy && e.node(t).dummy) || l(i, n, t); }); }), (o = d + 1), (s = u)); }), r ); }), i ); } function a(e, t) { var i = {}; function r(t, r, s, o, a) { var c; n.forEach(n.range(r, s), function (r) { (c = t[r]), e.node(c).dummy && n.forEach(e.predecessors(c), function (t) { var n = e.node(t); n.dummy && (n.order < o || n.order > a) && l(i, t, c); }); }); } return ( n.reduce(t, function (t, i) { var s, o = -1, a = 0; return ( n.forEach(i, function (n, l) { if ('border' === e.node(n).dummy) { var c = e.predecessors(n); c.length && ((s = e.node(c[0]).order), r(i, a, l, o, s), (a = l), (o = s)); } r(i, a, i.length, s, t.length); }), i ); }), i ); } function l(e, t, i) { if (t > i) { var n = t; (t = i), (i = n); } var r = e[t]; r || (e[t] = r = {}), (r[i] = !0); } function c(e, t, i) { if (t > i) { var r = t; (t = i), (i = r); } return n.has(e[t], i); } function d(e, t, i, r) { var s = {}, o = {}, a = {}; return ( n.forEach(t, function (e) { n.forEach(e, function (e, t) { (s[e] = e), (o[e] = e), (a[e] = t); }); }), n.forEach(t, function (e) { var t = -1; n.forEach(e, function (e) { var l = r(e); if (l.length) for ( var d = ((l = n.sortBy(l, function (e) { return a[e]; })).length - 1) / 2, h = Math.floor(d), u = Math.ceil(d); h <= u; ++h ) { var g = l[h]; o[e] === e && t < a[g] && !c(i, e, g) && ((o[g] = e), (o[e] = s[e] = s[g]), (t = a[g])); } }); }), { root: s, align: o } ); } function h(e, t, i, s, o) { var a = {}, l = (function (e, t, i, s) { var o = new r(), a = e.graph(), l = (function (e, t, i) { return function (r, s, o) { var a, l = r.node(s), c = r.node(o), d = 0; if (((d += l.width / 2), n.has(l, 'labelpos'))) switch (l.labelpos.toLowerCase()) { case 'l': a = -l.width / 2; break; case 'r': a = l.width / 2; } if ( (a && (d += i ? a : -a), (a = 0), (d += (l.dummy ? t : e) / 2), (d += (c.dummy ? t : e) / 2), (d += c.width / 2), n.has(c, 'labelpos')) ) switch (c.labelpos.toLowerCase()) { case 'l': a = c.width / 2; break; case 'r': a = -c.width / 2; } return a && (d += i ? a : -a), (a = 0), d; }; })(a.nodesep, a.edgesep, s); return ( n.forEach(t, function (t) { var r; n.forEach(t, function (t) { var n = i[t]; if ((o.setNode(n), r)) { var s = i[r], a = o.edge(s, n); o.setEdge(s, n, Math.max(l(e, t, r), a || 0)); } r = t; }); }), o ); })(e, t, i, o), c = o ? 'borderLeft' : 'borderRight'; function d(e, t) { for (var i = l.nodes(), n = i.pop(), r = {}; n; ) r[n] ? e(n) : ((r[n] = !0), i.push(n), (i = i.concat(t(n)))), (n = i.pop()); } return ( d(function (e) { a[e] = l.inEdges(e).reduce(function (e, t) { return Math.max(e, a[t.v] + l.edge(t)); }, 0); }, l.predecessors.bind(l)), d(function (t) { var i = l.outEdges(t).reduce(function (e, t) { return Math.min(e, a[t.w] - l.edge(t)); }, Number.POSITIVE_INFINITY), n = e.node(t); i !== Number.POSITIVE_INFINITY && n.borderType !== c && (a[t] = Math.max(a[t], i)); }, l.successors.bind(l)), n.forEach(s, function (e) { a[e] = a[i[e]]; }), a ); } function u(e, t) { return n.minBy(n.values(t), function (t) { var i = Number.NEGATIVE_INFINITY, r = Number.POSITIVE_INFINITY; return ( n.forIn(t, function (t, n) { var s = (function (e, t) { return e.node(t).width; })(e, n) / 2; (i = Math.max(t + s, i)), (r = Math.min(t - s, r)); }), i - r ); }); } function g(e, t) { var i = n.values(t), r = n.min(i), s = n.max(i); n.forEach(['u', 'd'], function (i) { n.forEach(['l', 'r'], function (o) { var a, l = i + o, c = e[l]; if (c !== t) { var d = n.values(c); (a = 'l' === o ? r - n.min(d) : s - n.max(d)) && (e[l] = n.mapValues(c, function (e) { return e + a; })); } }); }); } function f(e, t) { return n.mapValues(e.ul, function (i, r) { if (t) return e[t.toLowerCase()][r]; var s = n.sortBy(n.map(e, r)); return (s[1] + s[2]) / 2; }); } e.exports = { positionX: function (e) { var t, i = s.buildLayerMatrix(e), r = n.merge(o(e, i), a(e, i)), l = {}; n.forEach(['u', 'd'], function (s) { (t = 'u' === s ? i : n.values(i).reverse()), n.forEach(['l', 'r'], function (i) { 'r' === i && (t = n.map(t, function (e) { return n.values(e).reverse(); })); var o = ('u' === s ? e.predecessors : e.successors).bind(e), a = d(0, t, r, o), c = h(e, t, a.root, a.align, 'r' === i); 'r' === i && (c = n.mapValues(c, function (e) { return -e; })), (l[s + i] = c); }); }); var c = u(e, l); return g(l, c), f(l, e.graph().align); }, findType1Conflicts: o, findType2Conflicts: a, addConflict: l, hasConflict: c, verticalAlignment: d, horizontalCompaction: h, alignCoordinates: g, findSmallestWidthAlignment: u, balance: f, }; }, 86587: (e, t, i) => { 'use strict'; var n = i(29603), r = i(65029), s = i(19998).positionX; e.exports = function (e) { (function (e) { var t = r.buildLayerMatrix(e), i = e.graph().ranksep, s = 0; n.forEach(t, function (t) { var r = n.max( n.map(t, function (t) { return e.node(t).height; }) ); n.forEach(t, function (t) { e.node(t).y = s + r / 2; }), (s += r + i); }); })((e = r.asNonCompoundGraph(e))), n.forEach(s(e), function (t, i) { e.node(i).x = t; }); }; }, 54434: (e, t, i) => { 'use strict'; var n = i(29603), r = i(33653).Graph, s = i(90697).slack; function o(e, t) { return ( n.forEach(e.nodes(), function i(r) { n.forEach(t.nodeEdges(r), function (n) { var o = n.v, a = r === o ? n.w : o; e.hasNode(a) || s(t, n) || (e.setNode(a, {}), e.setEdge(r, a, {}), i(a)); }); }), e.nodeCount() ); } function a(e, t) { return n.minBy(t.edges(), function (i) { if (e.hasNode(i.v) !== e.hasNode(i.w)) return s(t, i); }); } function l(e, t, i) { n.forEach(e.nodes(), function (e) { t.node(e).rank += i; }); } e.exports = function (e) { var t, i, n = new r({ directed: !1 }), c = e.nodes()[0], d = e.nodeCount(); for (n.setNode(c, {}); o(n, e) < d; ) (t = a(n, e)), (i = n.hasNode(t.v) ? s(e, t) : -s(e, t)), l(n, e, i); return n; }; }, 26833: (e, t, i) => { 'use strict'; var n = i(90697).longestPath, r = i(54434), s = i(33288); e.exports = function (e) { switch (e.graph().ranker) { case 'network-simplex': a(e); break; case 'tight-tree': !(function (e) { n(e), r(e); })(e); break; case 'longest-path': o(e); break; default: a(e); } }; var o = n; function a(e) { s(e); } }, 33288: (e, t, i) => { 'use strict'; var n = i(29603), r = i(54434), s = i(90697).slack, o = i(90697).longestPath, a = i(33653).alg.preorder, l = i(33653).alg.postorder, c = i(65029).simplify; function d(e) { (e = c(e)), o(e); var t, i = r(e); for (g(i), h(i, e); (t = p(i)); ) _(i, e, t, m(i, e, t)); } function h(e, t) { var i = l(e, e.nodes()); (i = i.slice(0, i.length - 1)), n.forEach(i, function (i) { !(function (e, t, i) { var n = e.node(i).parent; e.edge(i, n).cutvalue = u(e, t, i); })(e, t, i); }); } function u(e, t, i) { var r = e.node(i).parent, s = !0, o = t.edge(i, r), a = 0; return ( o || ((s = !1), (o = t.edge(r, i))), (a = o.weight), n.forEach(t.nodeEdges(i), function (n) { var o, l, c = n.v === i, d = c ? n.w : n.v; if (d !== r) { var h = c === s, u = t.edge(n).weight; if (((a += h ? u : -u), (o = i), (l = d), e.hasEdge(o, l))) { var g = e.edge(i, d).cutvalue; a += h ? -g : g; } } }), a ); } function g(e, t) { arguments.length < 2 && (t = e.nodes()[0]), f(e, {}, 1, t); } function f(e, t, i, r, s) { var o = i, a = e.node(r); return ( (t[r] = !0), n.forEach(e.neighbors(r), function (s) { n.has(t, s) || (i = f(e, t, i, s, r)); }), (a.low = o), (a.lim = i++), s ? (a.parent = s) : delete a.parent, i ); } function p(e) { return n.find(e.edges(), function (t) { return e.edge(t).cutvalue < 0; }); } function m(e, t, i) { var r = i.v, o = i.w; t.hasEdge(r, o) || ((r = i.w), (o = i.v)); var a = e.node(r), l = e.node(o), c = a, d = !1; a.lim > l.lim && ((c = l), (d = !0)); var h = n.filter(t.edges(), function (t) { return d === b(0, e.node(t.v), c) && d !== b(0, e.node(t.w), c); }); return n.minBy(h, function (e) { return s(t, e); }); } function _(e, t, i, r) { var s = i.v, o = i.w; e.removeEdge(s, o), e.setEdge(r.v, r.w, {}), g(e), h(e, t), (function (e, t) { var i = n.find(e.nodes(), function (e) { return !t.node(e).parent; }), r = a(e, i); (r = r.slice(1)), n.forEach(r, function (i) { var n = e.node(i).parent, r = t.edge(i, n), s = !1; r || ((r = t.edge(n, i)), (s = !0)), (t.node(i).rank = t.node(n).rank + (s ? r.minlen : -r.minlen)); }); })(e, t); } function b(e, t, i) { return i.low <= t.lim && t.lim <= i.lim; } (e.exports = d), (d.initLowLimValues = g), (d.initCutValues = h), (d.calcCutValue = u), (d.leaveEdge = p), (d.enterEdge = m), (d.exchangeEdges = _); }, 90697: (e, t, i) => { 'use strict'; var n = i(29603); e.exports = { longestPath: function (e) { var t = {}; n.forEach(e.sources(), function i(r) { var s = e.node(r); if (n.has(t, r)) return s.rank; t[r] = !0; var o = n.min( n.map(e.outEdges(r), function (t) { return i(t.w) - e.edge(t).minlen; }) ); return ( (o !== Number.POSITIVE_INFINITY && null != o) || (o = 0), (s.rank = o) ); }); }, slack: function (e, t) { return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen; }, }; }, 65029: (e, t, i) => { 'use strict'; var n = i(29603), r = i(33653).Graph; function s(e, t, i, r) { var s; do { s = n.uniqueId(r); } while (e.hasNode(s)); return (i.dummy = t), e.setNode(s, i), s; } function o(e) { return n.max( n.map(e.nodes(), function (t) { var i = e.node(t).rank; if (!n.isUndefined(i)) return i; }) ); } e.exports = { addDummyNode: s, simplify: function (e) { var t = new r().setGraph(e.graph()); return ( n.forEach(e.nodes(), function (i) { t.setNode(i, e.node(i)); }), n.forEach(e.edges(), function (i) { var n = t.edge(i.v, i.w) || { weight: 0, minlen: 1 }, r = e.edge(i); t.setEdge(i.v, i.w, { weight: n.weight + r.weight, minlen: Math.max(n.minlen, r.minlen), }); }), t ); }, asNonCompoundGraph: function (e) { var t = new r({ multigraph: e.isMultigraph() }).setGraph(e.graph()); return ( n.forEach(e.nodes(), function (i) { e.children(i).length || t.setNode(i, e.node(i)); }), n.forEach(e.edges(), function (i) { t.setEdge(i, e.edge(i)); }), t ); }, successorWeights: function (e) { var t = n.map(e.nodes(), function (t) { var i = {}; return ( n.forEach(e.outEdges(t), function (t) { i[t.w] = (i[t.w] || 0) + e.edge(t).weight; }), i ); }); return n.zipObject(e.nodes(), t); }, predecessorWeights: function (e) { var t = n.map(e.nodes(), function (t) { var i = {}; return ( n.forEach(e.inEdges(t), function (t) { i[t.v] = (i[t.v] || 0) + e.edge(t).weight; }), i ); }); return n.zipObject(e.nodes(), t); }, intersectRect: function (e, t) { var i, n, r = e.x, s = e.y, o = t.x - r, a = t.y - s, l = e.width / 2, c = e.height / 2; if (!o && !a) throw new Error( 'Not possible to find intersection inside of the rectangle' ); return ( Math.abs(a) * l > Math.abs(o) * c ? (a < 0 && (c = -c), (i = (c * o) / a), (n = c)) : (o < 0 && (l = -l), (i = l), (n = (l * a) / o)), { x: r + i, y: s + n } ); }, buildLayerMatrix: function (e) { var t = n.map(n.range(o(e) + 1), function () { return []; }); return ( n.forEach(e.nodes(), function (i) { var r = e.node(i), s = r.rank; n.isUndefined(s) || (t[s][r.order] = i); }), t ); }, normalizeRanks: function (e) { var t = n.min( n.map(e.nodes(), function (t) { return e.node(t).rank; }) ); n.forEach(e.nodes(), function (i) { var r = e.node(i); n.has(r, 'rank') && (r.rank -= t); }); }, removeEmptyRanks: function (e) { var t = n.min( n.map(e.nodes(), function (t) { return e.node(t).rank; }) ), i = []; n.forEach(e.nodes(), function (n) { var r = e.node(n).rank - t; i[r] || (i[r] = []), i[r].push(n); }); var r = 0, s = e.graph().nodeRankFactor; n.forEach(i, function (t, i) { n.isUndefined(t) && i % s != 0 ? --r : r && n.forEach(t, function (t) { e.node(t).rank += r; }); }); }, addBorderNode: function (e, t, i, n) { var r = { width: 0, height: 0 }; return ( arguments.length >= 4 && ((r.rank = i), (r.order = n)), s(e, 'border', r, t) ); }, maxRank: o, partition: function (e, t) { var i = { lhs: [], rhs: [] }; return ( n.forEach(e, function (e) { t(e) ? i.lhs.push(e) : i.rhs.push(e); }), i ); }, time: function (e, t) { var i = n.now(); try { return t(); } finally { console.log(e + ' time: ' + (n.now() - i) + 'ms'); } }, notime: function (e, t) { return t(); }, }; }, 96350: (e) => { e.exports = '0.8.5'; }, 79550: (e, t, i) => { var n = i(86496); e.exports = { Graph: n.Graph, json: i(72159), alg: i(95725), version: n.version, }; }, 35318: (e, t, i) => { var n = i(23270); e.exports = function (e) { var t, i = {}, r = []; function s(r) { n.has(i, r) || ((i[r] = !0), t.push(r), n.each(e.successors(r), s), n.each(e.predecessors(r), s)); } return ( n.each(e.nodes(), function (e) { (t = []), s(e), t.length && r.push(t); }), r ); }; }, 1012: (e, t, i) => { var n = i(23270); function r(e, t, i, s, o, a) { n.has(s, t) || ((s[t] = !0), i || a.push(t), n.each(o(t), function (t) { r(e, t, i, s, o, a); }), i && a.push(t)); } e.exports = function (e, t, i) { n.isArray(t) || (t = [t]); var s = (e.isDirected() ? e.successors : e.neighbors).bind(e), o = [], a = {}; return ( n.each(t, function (t) { if (!e.hasNode(t)) throw new Error('Graph does not have node: ' + t); r(e, t, 'post' === i, a, s, o); }), o ); }; }, 60796: (e, t, i) => { var n = i(68013), r = i(23270); e.exports = function (e, t, i) { return r.transform( e.nodes(), function (r, s) { r[s] = n(e, s, t, i); }, {} ); }; }, 68013: (e, t, i) => { var n = i(23270), r = i(43552); e.exports = function (e, t, i, n) { return (function (e, t, i, n) { var s, o, a = {}, l = new r(), c = function (e) { var t = e.v !== s ? e.v : e.w, n = a[t], r = i(e), c = o.distance + r; if (r < 0) throw new Error( 'dijkstra does not allow negative edge weights. Bad edge: ' + e + ' Weight: ' + r ); c < n.distance && ((n.distance = c), (n.predecessor = s), l.decrease(t, c)); }; for ( e.nodes().forEach(function (e) { var i = e === t ? 0 : Number.POSITIVE_INFINITY; (a[e] = { distance: i }), l.add(e, i); }); l.size() > 0 && ((s = l.removeMin()), (o = a[s]).distance !== Number.POSITIVE_INFINITY); ) n(s).forEach(c); return a; })( e, String(t), i || s, n || function (t) { return e.outEdges(t); } ); }; var s = n.constant(1); }, 43647: (e, t, i) => { var n = i(23270), r = i(72109); e.exports = function (e) { return n.filter(r(e), function (t) { return t.length > 1 || (1 === t.length && e.hasEdge(t[0], t[0])); }); }; }, 61511: (e, t, i) => { var n = i(23270); e.exports = function (e, t, i) { return (function (e, t, i) { var n = {}, r = e.nodes(); return ( r.forEach(function (e) { (n[e] = {}), (n[e][e] = { distance: 0 }), r.forEach(function (t) { e !== t && (n[e][t] = { distance: Number.POSITIVE_INFINITY }); }), i(e).forEach(function (i) { var r = i.v === e ? i.w : i.v, s = t(i); n[e][r] = { distance: s, predecessor: e }; }); }), r.forEach(function (e) { var t = n[e]; r.forEach(function (i) { var s = n[i]; r.forEach(function (i) { var n = s[e], r = t[i], o = s[i], a = n.distance + r.distance; a < o.distance && ((o.distance = a), (o.predecessor = r.predecessor)); }); }); }), n ); })( e, t || r, i || function (t) { return e.outEdges(t); } ); }; var r = n.constant(1); }, 95725: (e, t, i) => { e.exports = { components: i(35318), dijkstra: i(68013), dijkstraAll: i(60796), findCycles: i(43647), floydWarshall: i(61511), isAcyclic: i(42330), postorder: i(70126), preorder: i(74613), prim: i(70646), tarjan: i(72109), topsort: i(71469), }; }, 42330: (e, t, i) => { var n = i(71469); e.exports = function (e) { try { n(e); } catch (e) { if (e instanceof n.CycleException) return !1; throw e; } return !0; }; }, 70126: (e, t, i) => { var n = i(1012); e.exports = function (e, t) { return n(e, t, 'post'); }; }, 74613: (e, t, i) => { var n = i(1012); e.exports = function (e, t) { return n(e, t, 'pre'); }; }, 70646: (e, t, i) => { var n = i(23270), r = i(81380), s = i(43552); e.exports = function (e, t) { var i, o = new r(), a = {}, l = new s(); function c(e) { var n = e.v === i ? e.w : e.v, r = l.priority(n); if (void 0 !== r) { var s = t(e); s < r && ((a[n] = i), l.decrease(n, s)); } } if (0 === e.nodeCount()) return o; n.each(e.nodes(), function (e) { l.add(e, Number.POSITIVE_INFINITY), o.setNode(e); }), l.decrease(e.nodes()[0], 0); for (var d = !1; l.size() > 0; ) { if (((i = l.removeMin()), n.has(a, i))) o.setEdge(i, a[i]); else { if (d) throw new Error('Input graph is not connected: ' + e); d = !0; } e.nodeEdges(i).forEach(c); } return o; }; }, 72109: (e, t, i) => { var n = i(23270); e.exports = function (e) { var t = 0, i = [], r = {}, s = []; function o(a) { var l = (r[a] = { onStack: !0, lowlink: t, index: t++ }); if ( (i.push(a), e.successors(a).forEach(function (e) { n.has(r, e) ? r[e].onStack && (l.lowlink = Math.min(l.lowlink, r[e].index)) : (o(e), (l.lowlink = Math.min(l.lowlink, r[e].lowlink))); }), l.lowlink === l.index) ) { var c, d = []; do { (c = i.pop()), (r[c].onStack = !1), d.push(c); } while (a !== c); s.push(d); } } return ( e.nodes().forEach(function (e) { n.has(r, e) || o(e); }), s ); }; }, 71469: (e, t, i) => { var n = i(23270); function r(e) { var t = {}, i = {}, r = []; if ( (n.each(e.sinks(), function o(a) { if (n.has(i, a)) throw new s(); n.has(t, a) || ((i[a] = !0), (t[a] = !0), n.each(e.predecessors(a), o), delete i[a], r.push(a)); }), n.size(t) !== e.nodeCount()) ) throw new s(); return r; } function s() {} (e.exports = r), (r.CycleException = s), (s.prototype = new Error()); }, 43552: (e, t, i) => { var n = i(23270); function r() { (this._arr = []), (this._keyIndices = {}); } (e.exports = r), (r.prototype.size = function () { return this._arr.length; }), (r.prototype.keys = function () { return this._arr.map(function (e) { return e.key; }); }), (r.prototype.has = function (e) { return n.has(this._keyIndices, e); }), (r.prototype.priority = function (e) { var t = this._keyIndices[e]; if (void 0 !== t) return this._arr[t].priority; }), (r.prototype.min = function () { if (0 === this.size()) throw new Error('Queue underflow'); return this._arr[0].key; }), (r.prototype.add = function (e, t) { var i = this._keyIndices; if (((e = String(e)), !n.has(i, e))) { var r = this._arr, s = r.length; return ( (i[e] = s), r.push({ key: e, priority: t }), this._decrease(s), !0 ); } return !1; }), (r.prototype.removeMin = function () { this._swap(0, this._arr.length - 1); var e = this._arr.pop(); return delete this._keyIndices[e.key], this._heapify(0), e.key; }), (r.prototype.decrease = function (e, t) { var i = this._keyIndices[e]; if (t > this._arr[i].priority) throw new Error( 'New priority is greater than current priority. Key: ' + e + ' Old: ' + this._arr[i].priority + ' New: ' + t ); (this._arr[i].priority = t), this._decrease(i); }), (r.prototype._heapify = function (e) { var t = this._arr, i = 2 * e, n = i + 1, r = e; i < t.length && ((r = t[i].priority < t[r].priority ? i : r), n < t.length && (r = t[n].priority < t[r].priority ? n : r), r !== e && (this._swap(e, r), this._heapify(r))); }), (r.prototype._decrease = function (e) { for ( var t, i = this._arr, n = i[e].priority; 0 !== e && !(i[(t = e >> 1)].priority < n); ) this._swap(e, t), (e = t); }), (r.prototype._swap = function (e, t) { var i = this._arr, n = this._keyIndices, r = i[e], s = i[t]; (i[e] = s), (i[t] = r), (n[s.key] = e), (n[r.key] = t); }); }, 81380: (e, t, i) => { 'use strict'; var n = i(23270); e.exports = s; var r = '\0'; function s(e) { (this._isDirected = !n.has(e, 'directed') || e.directed), (this._isMultigraph = !!n.has(e, 'multigraph') && e.multigraph), (this._isCompound = !!n.has(e, 'compound') && e.compound), (this._label = void 0), (this._defaultNodeLabelFn = n.constant(void 0)), (this._defaultEdgeLabelFn = n.constant(void 0)), (this._nodes = {}), this._isCompound && ((this._parent = {}), (this._children = {}), (this._children['\0'] = {})), (this._in = {}), (this._preds = {}), (this._out = {}), (this._sucs = {}), (this._edgeObjs = {}), (this._edgeLabels = {}); } function o(e, t) { e[t] ? e[t]++ : (e[t] = 1); } function a(e, t) { --e[t] || delete e[t]; } function l(e, t, i, r) { var s = '' + t, o = '' + i; if (!e && s > o) { var a = s; (s = o), (o = a); } return s + '' + o + '' + (n.isUndefined(r) ? '\0' : r); } function c(e, t, i, n) { var r = '' + t, s = '' + i; if (!e && r > s) { var o = r; (r = s), (s = o); } var a = { v: r, w: s }; return n && (a.name = n), a; } function d(e, t) { return l(e, t.v, t.w, t.name); } (s.prototype._nodeCount = 0), (s.prototype._edgeCount = 0), (s.prototype.isDirected = function () { return this._isDirected; }), (s.prototype.isMultigraph = function () { return this._isMultigraph; }), (s.prototype.isCompound = function () { return this._isCompound; }), (s.prototype.setGraph = function (e) { return (this._label = e), this; }), (s.prototype.graph = function () { return this._label; }), (s.prototype.setDefaultNodeLabel = function (e) { return ( n.isFunction(e) || (e = n.constant(e)), (this._defaultNodeLabelFn = e), this ); }), (s.prototype.nodeCount = function () { return this._nodeCount; }), (s.prototype.nodes = function () { return n.keys(this._nodes); }), (s.prototype.sources = function () { var e = this; return n.filter(this.nodes(), function (t) { return n.isEmpty(e._in[t]); }); }), (s.prototype.sinks = function () { var e = this; return n.filter(this.nodes(), function (t) { return n.isEmpty(e._out[t]); }); }), (s.prototype.setNodes = function (e, t) { var i = arguments, r = this; return ( n.each(e, function (e) { i.length > 1 ? r.setNode(e, t) : r.setNode(e); }), this ); }), (s.prototype.setNode = function (e, t) { return n.has(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = t), this) : ((this._nodes[e] = arguments.length > 1 ? t : this._defaultNodeLabelFn(e)), this._isCompound && ((this._parent[e] = r), (this._children[e] = {}), (this._children['\0'][e] = !0)), (this._in[e] = {}), (this._preds[e] = {}), (this._out[e] = {}), (this._sucs[e] = {}), ++this._nodeCount, this); }), (s.prototype.node = function (e) { return this._nodes[e]; }), (s.prototype.hasNode = function (e) { return n.has(this._nodes, e); }), (s.prototype.removeNode = function (e) { var t = this; if (n.has(this._nodes, e)) { var i = function (e) { t.removeEdge(t._edgeObjs[e]); }; delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], n.each(this.children(e), function (e) { t.setParent(e); }), delete this._children[e]), n.each(n.keys(this._in[e]), i), delete this._in[e], delete this._preds[e], n.each(n.keys(this._out[e]), i), delete this._out[e], delete this._sucs[e], --this._nodeCount; } return this; }), (s.prototype.setParent = function (e, t) { if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph'); if (n.isUndefined(t)) t = r; else { for (var i = (t += ''); !n.isUndefined(i); i = this.parent(i)) if (i === e) throw new Error( 'Setting ' + t + ' as parent of ' + e + ' would create a cycle' ); this.setNode(t); } return ( this.setNode(e), this._removeFromParentsChildList(e), (this._parent[e] = t), (this._children[t][e] = !0), this ); }), (s.prototype._removeFromParentsChildList = function (e) { delete this._children[this._parent[e]][e]; }), (s.prototype.parent = function (e) { if (this._isCompound) { var t = this._parent[e]; if (t !== r) return t; } }), (s.prototype.children = function (e) { if ((n.isUndefined(e) && (e = r), this._isCompound)) { var t = this._children[e]; if (t) return n.keys(t); } else { if (e === r) return this.nodes(); if (this.hasNode(e)) return []; } }), (s.prototype.predecessors = function (e) { var t = this._preds[e]; if (t) return n.keys(t); }), (s.prototype.successors = function (e) { var t = this._sucs[e]; if (t) return n.keys(t); }), (s.prototype.neighbors = function (e) { var t = this.predecessors(e); if (t) return n.union(t, this.successors(e)); }), (s.prototype.isLeaf = function (e) { return ( 0 === (this.isDirected() ? this.successors(e) : this.neighbors(e)) .length ); }), (s.prototype.filterNodes = function (e) { var t = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound, }); t.setGraph(this.graph()); var i = this; n.each(this._nodes, function (i, n) { e(n) && t.setNode(n, i); }), n.each(this._edgeObjs, function (e) { t.hasNode(e.v) && t.hasNode(e.w) && t.setEdge(e, i.edge(e)); }); var r = {}; function s(e) { var n = i.parent(e); return void 0 === n || t.hasNode(n) ? ((r[e] = n), n) : n in r ? r[n] : s(n); } return ( this._isCompound && n.each(t.nodes(), function (e) { t.setParent(e, s(e)); }), t ); }), (s.prototype.setDefaultEdgeLabel = function (e) { return ( n.isFunction(e) || (e = n.constant(e)), (this._defaultEdgeLabelFn = e), this ); }), (s.prototype.edgeCount = function () { return this._edgeCount; }), (s.prototype.edges = function () { return n.values(this._edgeObjs); }), (s.prototype.setPath = function (e, t) { var i = this, r = arguments; return ( n.reduce(e, function (e, n) { return r.length > 1 ? i.setEdge(e, n, t) : i.setEdge(e, n), n; }), this ); }), (s.prototype.setEdge = function () { var e, t, i, r, s = !1, a = arguments[0]; 'object' == typeof a && null !== a && 'v' in a ? ((e = a.v), (t = a.w), (i = a.name), 2 === arguments.length && ((r = arguments[1]), (s = !0))) : ((e = a), (t = arguments[1]), (i = arguments[3]), arguments.length > 2 && ((r = arguments[2]), (s = !0))), (e = '' + e), (t = '' + t), n.isUndefined(i) || (i = '' + i); var d = l(this._isDirected, e, t, i); if (n.has(this._edgeLabels, d)) return s && (this._edgeLabels[d] = r), this; if (!n.isUndefined(i) && !this._isMultigraph) throw new Error( 'Cannot set a named edge when isMultigraph = false' ); this.setNode(e), this.setNode(t), (this._edgeLabels[d] = s ? r : this._defaultEdgeLabelFn(e, t, i)); var h = c(this._isDirected, e, t, i); return ( (e = h.v), (t = h.w), Object.freeze(h), (this._edgeObjs[d] = h), o(this._preds[t], e), o(this._sucs[e], t), (this._in[t][d] = h), (this._out[e][d] = h), this._edgeCount++, this ); }), (s.prototype.edge = function (e, t, i) { var n = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i); return this._edgeLabels[n]; }), (s.prototype.hasEdge = function (e, t, i) { var r = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i); return n.has(this._edgeLabels, r); }), (s.prototype.removeEdge = function (e, t, i) { var n = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i), r = this._edgeObjs[n]; return ( r && ((e = r.v), (t = r.w), delete this._edgeLabels[n], delete this._edgeObjs[n], a(this._preds[t], e), a(this._sucs[e], t), delete this._in[t][n], delete this._out[e][n], this._edgeCount--), this ); }), (s.prototype.inEdges = function (e, t) { var i = this._in[e]; if (i) { var r = n.values(i); return t ? n.filter(r, function (e) { return e.v === t; }) : r; } }), (s.prototype.outEdges = function (e, t) { var i = this._out[e]; if (i) { var r = n.values(i); return t ? n.filter(r, function (e) { return e.w === t; }) : r; } }), (s.prototype.nodeEdges = function (e, t) { var i = this.inEdges(e, t); if (i) return i.concat(this.outEdges(e, t)); }); }, 86496: (e, t, i) => { e.exports = { Graph: i(81380), version: i(52389) }; }, 72159: (e, t, i) => { var n = i(23270), r = i(81380); function s(e) { return n.map(e.nodes(), function (t) { var i = e.node(t), r = e.parent(t), s = { v: t }; return ( n.isUndefined(i) || (s.value = i), n.isUndefined(r) || (s.parent = r), s ); }); } function o(e) { return n.map(e.edges(), function (t) { var i = e.edge(t), r = { v: t.v, w: t.w }; return ( n.isUndefined(t.name) || (r.name = t.name), n.isUndefined(i) || (r.value = i), r ); }); } e.exports = { write: function (e) { var t = { options: { directed: e.isDirected(), multigraph: e.isMultigraph(), compound: e.isCompound(), }, nodes: s(e), edges: o(e), }; return ( n.isUndefined(e.graph()) || (t.value = n.clone(e.graph())), t ); }, read: function (e) { var t = new r(e.options).setGraph(e.value); return ( n.each(e.nodes, function (e) { t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent); }), n.each(e.edges, function (e) { t.setEdge({ v: e.v, w: e.w, name: e.name }, e.value); }), t ); }, }; }, 23270: (e, t, i) => { var n; try { n = { clone: i(66678), constant: i(75703), each: i(66073), filter: i(63105), has: i(18721), isArray: i(1469), isEmpty: i(41609), isFunction: i(23560), isUndefined: i(52353), keys: i(3674), map: i(35161), reduce: i(54061), size: i(84238), transform: i(68718), union: i(93386), values: i(52628), }; } catch (e) {} n || (n = window._), (e.exports = n); }, 52389: (e) => { e.exports = '2.1.8'; }, 70681: (e, t, i) => { e.exports = { graphlib: i(70574), layout: i(98123), debug: i(27570), util: { time: i(11138).time, notime: i(11138).notime }, version: i(88177), }; }, 92188: (e, t, i) => { 'use strict'; var n = i(38436), r = i(74079); e.exports = { run: function (e) { var t = 'greedy' === e.graph().acyclicer ? r( e, (function (e) { return function (t) { return e.edge(t).weight; }; })(e) ) : (function (e) { var t = [], i = {}, r = {}; return ( n.forEach(e.nodes(), function s(o) { n.has(r, o) || ((r[o] = !0), (i[o] = !0), n.forEach(e.outEdges(o), function (e) { n.has(i, e.w) ? t.push(e) : s(e.w); }), delete i[o]); }), t ); })(e); n.forEach(t, function (t) { var i = e.edge(t); e.removeEdge(t), (i.forwardName = t.name), (i.reversed = !0), e.setEdge(t.w, t.v, i, n.uniqueId('rev')); }); }, undo: function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (i.reversed) { e.removeEdge(t); var n = i.forwardName; delete i.reversed, delete i.forwardName, e.setEdge(t.w, t.v, i, n); } }); }, }; }, 61133: (e, t, i) => { var n = i(38436), r = i(11138); function s(e, t, i, n, s, o) { var a = { width: 0, height: 0, rank: o, borderType: t }, l = s[t][o - 1], c = r.addDummyNode(e, 'border', a, i); (s[t][o] = c), e.setParent(c, n), l && e.setEdge(l, c, { weight: 1 }); } e.exports = function (e) { n.forEach(e.children(), function t(i) { var r = e.children(i), o = e.node(i); if ((r.length && n.forEach(r, t), n.has(o, 'minRank'))) { (o.borderLeft = []), (o.borderRight = []); for (var a = o.minRank, l = o.maxRank + 1; a < l; ++a) s(e, 'borderLeft', '_bl', i, o, a), s(e, 'borderRight', '_br', i, o, a); } }); }; }, 53258: (e, t, i) => { 'use strict'; var n = i(38436); function r(e) { n.forEach(e.nodes(), function (t) { s(e.node(t)); }), n.forEach(e.edges(), function (t) { s(e.edge(t)); }); } function s(e) { var t = e.width; (e.width = e.height), (e.height = t); } function o(e) { e.y = -e.y; } function a(e) { var t = e.x; (e.x = e.y), (e.y = t); } e.exports = { adjust: function (e) { var t = e.graph().rankdir.toLowerCase(); ('lr' !== t && 'rl' !== t) || r(e); }, undo: function (e) { var t = e.graph().rankdir.toLowerCase(); ('bt' !== t && 'rl' !== t) || (function (e) { n.forEach(e.nodes(), function (t) { o(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.forEach(i.points, o), n.has(i, 'y') && o(i); }); })(e), ('lr' !== t && 'rl' !== t) || ((function (e) { n.forEach(e.nodes(), function (t) { a(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.forEach(i.points, a), n.has(i, 'x') && a(i); }); })(e), r(e)); }, }; }, 77822: (e) => { function t() { var e = {}; (e._next = e._prev = e), (this._sentinel = e); } function i(e) { (e._prev._next = e._next), (e._next._prev = e._prev), delete e._next, delete e._prev; } function n(e, t) { if ('_next' !== e && '_prev' !== e) return t; } (e.exports = t), (t.prototype.dequeue = function () { var e = this._sentinel, t = e._prev; if (t !== e) return i(t), t; }), (t.prototype.enqueue = function (e) { var t = this._sentinel; e._prev && e._next && i(e), (e._next = t._next), (t._next._prev = e), (t._next = e), (e._prev = t); }), (t.prototype.toString = function () { for (var e = [], t = this._sentinel, i = t._prev; i !== t; ) e.push(JSON.stringify(i, n)), (i = i._prev); return '[' + e.join(', ') + ']'; }); }, 27570: (e, t, i) => { var n = i(38436), r = i(11138), s = i(70574).Graph; e.exports = { debugOrdering: function (e) { var t = r.buildLayerMatrix(e), i = new s({ compound: !0, multigraph: !0 }).setGraph({}); return ( n.forEach(e.nodes(), function (t) { i.setNode(t, { label: t }), i.setParent(t, 'layer' + e.node(t).rank); }), n.forEach(e.edges(), function (e) { i.setEdge(e.v, e.w, {}, e.name); }), n.forEach(t, function (e, t) { var r = 'layer' + t; i.setNode(r, { rank: 'same' }), n.reduce(e, function (e, t) { return i.setEdge(e, t, { style: 'invis' }), t; }); }), i ); }, }; }, 70574: (e, t, i) => { var n; try { n = i(28282); } catch (e) {} n || (n = window.graphlib), (e.exports = n); }, 74079: (e, t, i) => { var n = i(38436), r = i(70574).Graph, s = i(77822); e.exports = function (e, t) { if (e.nodeCount() <= 1) return []; var i = (function (e, t) { var i = new r(), o = 0, a = 0; n.forEach(e.nodes(), function (e) { i.setNode(e, { v: e, in: 0, out: 0 }); }), n.forEach(e.edges(), function (e) { var n = i.edge(e.v, e.w) || 0, r = t(e), s = n + r; i.setEdge(e.v, e.w, s), (a = Math.max(a, (i.node(e.v).out += r))), (o = Math.max(o, (i.node(e.w).in += r))); }); var c = n.range(a + o + 3).map(function () { return new s(); }), d = o + 1; return ( n.forEach(i.nodes(), function (e) { l(c, d, i.node(e)); }), { graph: i, buckets: c, zeroIdx: d } ); })(e, t || o), c = (function (e, t, i) { for ( var n, r = [], s = t[t.length - 1], o = t[0]; e.nodeCount(); ) { for (; (n = o.dequeue()); ) a(e, t, i, n); for (; (n = s.dequeue()); ) a(e, t, i, n); if (e.nodeCount()) for (var l = t.length - 2; l > 0; --l) if ((n = t[l].dequeue())) { r = r.concat(a(e, t, i, n, !0)); break; } } return r; })(i.graph, i.buckets, i.zeroIdx); return n.flatten( n.map(c, function (t) { return e.outEdges(t.v, t.w); }), !0 ); }; var o = n.constant(1); function a(e, t, i, r, s) { var o = s ? [] : void 0; return ( n.forEach(e.inEdges(r.v), function (n) { var r = e.edge(n), a = e.node(n.v); s && o.push({ v: n.v, w: n.w }), (a.out -= r), l(t, i, a); }), n.forEach(e.outEdges(r.v), function (n) { var r = e.edge(n), s = n.w, o = e.node(s); (o.in -= r), l(t, i, o); }), e.removeNode(r.v), o ); } function l(e, t, i) { i.out ? i.in ? e[i.out - i.in + t].enqueue(i) : e[e.length - 1].enqueue(i) : e[0].enqueue(i); } }, 98123: (e, t, i) => { 'use strict'; var n = i(38436), r = i(92188), s = i(45995), o = i(78093), a = i(11138).normalizeRanks, l = i(24219), c = i(11138).removeEmptyRanks, d = i(72981), h = i(61133), u = i(53258), g = i(53408), f = i(17873), p = i(11138), m = i(70574).Graph; e.exports = function (e, t) { var i = t && t.debugTiming ? p.time : p.notime; i('layout', function () { var t = i(' buildLayoutGraph', function () { return (function (e) { var t = new m({ multigraph: !0, compound: !0 }), i = L(e.graph()); return ( t.setGraph(n.merge({}, b, x(i, _), n.pick(i, v))), n.forEach(e.nodes(), function (i) { var r = L(e.node(i)); t.setNode(i, n.defaults(x(r, y), w)), t.setParent(i, e.parent(i)); }), n.forEach(e.edges(), function (i) { var r = L(e.edge(i)); t.setEdge(i, n.merge({}, S, x(r, C), n.pick(r, k))); }), t ); })(e); }); i(' runLayout', function () { !(function (e, t) { t(' makeSpaceForEdgeLabels', function () { !(function (e) { var t = e.graph(); (t.ranksep /= 2), n.forEach(e.edges(), function (i) { var n = e.edge(i); (n.minlen *= 2), 'c' !== n.labelpos.toLowerCase() && ('TB' === t.rankdir || 'BT' === t.rankdir ? (n.width += n.labeloffset) : (n.height += n.labeloffset)); }); })(e); }), t(' removeSelfEdges', function () { !(function (e) { n.forEach(e.edges(), function (t) { if (t.v === t.w) { var i = e.node(t.v); i.selfEdges || (i.selfEdges = []), i.selfEdges.push({ e: t, label: e.edge(t) }), e.removeEdge(t); } }); })(e); }), t(' acyclic', function () { r.run(e); }), t(' nestingGraph.run', function () { d.run(e); }), t(' rank', function () { o(p.asNonCompoundGraph(e)); }), t(' injectEdgeLabelProxies', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (i.width && i.height) { var n = e.node(t.v), r = { rank: (e.node(t.w).rank - n.rank) / 2 + n.rank, e: t, }; p.addDummyNode(e, 'edge-proxy', r, '_ep'); } }); })(e); }), t(' removeEmptyRanks', function () { c(e); }), t(' nestingGraph.cleanup', function () { d.cleanup(e); }), t(' normalizeRanks', function () { a(e); }), t(' assignRankMinMax', function () { !(function (e) { var t = 0; n.forEach(e.nodes(), function (i) { var r = e.node(i); r.borderTop && ((r.minRank = e.node(r.borderTop).rank), (r.maxRank = e.node(r.borderBottom).rank), (t = n.max(t, r.maxRank))); }), (e.graph().maxRank = t); })(e); }), t(' removeEdgeLabelProxies', function () { !(function (e) { n.forEach(e.nodes(), function (t) { var i = e.node(t); 'edge-proxy' === i.dummy && ((e.edge(i.e).labelRank = i.rank), e.removeNode(t)); }); })(e); }), t(' normalize.run', function () { s.run(e); }), t(' parentDummyChains', function () { l(e); }), t(' addBorderSegments', function () { h(e); }), t(' order', function () { g(e); }), t(' insertSelfEdges', function () { !(function (e) { var t = p.buildLayerMatrix(e); n.forEach(t, function (t) { var i = 0; n.forEach(t, function (t, r) { var s = e.node(t); (s.order = r + i), n.forEach(s.selfEdges, function (t) { p.addDummyNode( e, 'selfedge', { width: t.label.width, height: t.label.height, rank: s.rank, order: r + ++i, e: t.e, label: t.label, }, '_se' ); }), delete s.selfEdges; }); }); })(e); }), t(' adjustCoordinateSystem', function () { u.adjust(e); }), t(' position', function () { f(e); }), t(' positionSelfEdges', function () { !(function (e) { n.forEach(e.nodes(), function (t) { var i = e.node(t); if ('selfedge' === i.dummy) { var n = e.node(i.e.v), r = n.x + n.width / 2, s = n.y, o = i.x - r, a = n.height / 2; e.setEdge(i.e, i.label), e.removeNode(t), (i.label.points = [ { x: r + (2 * o) / 3, y: s - a }, { x: r + (5 * o) / 6, y: s - a }, { x: r + o, y: s }, { x: r + (5 * o) / 6, y: s + a }, { x: r + (2 * o) / 3, y: s + a }, ]), (i.label.x = i.x), (i.label.y = i.y); } }); })(e); }), t(' removeBorderNodes', function () { !(function (e) { n.forEach(e.nodes(), function (t) { if (e.children(t).length) { var i = e.node(t), r = e.node(i.borderTop), s = e.node(i.borderBottom), o = e.node(n.last(i.borderLeft)), a = e.node(n.last(i.borderRight)); (i.width = Math.abs(a.x - o.x)), (i.height = Math.abs(s.y - r.y)), (i.x = o.x + i.width / 2), (i.y = r.y + i.height / 2); } }), n.forEach(e.nodes(), function (t) { 'border' === e.node(t).dummy && e.removeNode(t); }); })(e); }), t(' normalize.undo', function () { s.undo(e); }), t(' fixupEdgeLabelCoords', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); if (n.has(i, 'x')) switch ( (('l' !== i.labelpos && 'r' !== i.labelpos) || (i.width -= i.labeloffset), i.labelpos) ) { case 'l': i.x -= i.width / 2 + i.labeloffset; break; case 'r': i.x += i.width / 2 + i.labeloffset; } }); })(e); }), t(' undoCoordinateSystem', function () { u.undo(e); }), t(' translateGraph', function () { !(function (e) { var t = Number.POSITIVE_INFINITY, i = 0, r = Number.POSITIVE_INFINITY, s = 0, o = e.graph(), a = o.marginx || 0, l = o.marginy || 0; function c(e) { var n = e.x, o = e.y, a = e.width, l = e.height; (t = Math.min(t, n - a / 2)), (i = Math.max(i, n + a / 2)), (r = Math.min(r, o - l / 2)), (s = Math.max(s, o + l / 2)); } n.forEach(e.nodes(), function (t) { c(e.node(t)); }), n.forEach(e.edges(), function (t) { var i = e.edge(t); n.has(i, 'x') && c(i); }), (t -= a), (r -= l), n.forEach(e.nodes(), function (i) { var n = e.node(i); (n.x -= t), (n.y -= r); }), n.forEach(e.edges(), function (i) { var s = e.edge(i); n.forEach(s.points, function (e) { (e.x -= t), (e.y -= r); }), n.has(s, 'x') && (s.x -= t), n.has(s, 'y') && (s.y -= r); }), (o.width = i - t + a), (o.height = s - r + l); })(e); }), t(' assignNodeIntersects', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i, n, r = e.edge(t), s = e.node(t.v), o = e.node(t.w); r.points ? ((i = r.points[0]), (n = r.points[r.points.length - 1])) : ((r.points = []), (i = o), (n = s)), r.points.unshift(p.intersectRect(s, i)), r.points.push(p.intersectRect(o, n)); }); })(e); }), t(' reversePoints', function () { !(function (e) { n.forEach(e.edges(), function (t) { var i = e.edge(t); i.reversed && i.points.reverse(); }); })(e); }), t(' acyclic.undo', function () { r.undo(e); }); })(t, i); }), i(' updateInputGraph', function () { !(function (e, t) { n.forEach(e.nodes(), function (i) { var n = e.node(i), r = t.node(i); n && ((n.x = r.x), (n.y = r.y), t.children(i).length && ((n.width = r.width), (n.height = r.height))); }), n.forEach(e.edges(), function (i) { var r = e.edge(i), s = t.edge(i); (r.points = s.points), n.has(s, 'x') && ((r.x = s.x), (r.y = s.y)); }), (e.graph().width = t.graph().width), (e.graph().height = t.graph().height); })(e, t); }); }); }; var _ = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'], b = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' }, v = ['acyclicer', 'ranker', 'rankdir', 'align'], y = ['width', 'height'], w = { width: 0, height: 0 }, C = ['minlen', 'weight', 'width', 'height', 'labeloffset'], S = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: 'r', }, k = ['labelpos']; function x(e, t) { return n.mapValues(n.pick(e, t), Number); } function L(e) { var t = {}; return ( n.forEach(e, function (e, i) { t[i.toLowerCase()] = e; }), t ); } }, 38436: (e, t, i) => { var n; try { n = { cloneDeep: i(50361), constant: i(75703), defaults: i(91747), each: i(66073), filter: i(63105), find: i(13311), flatten: i(85564), forEach: i(84486), forIn: i(62620), has: i(18721), isUndefined: i(52353), last: i(10928), map: i(35161), mapValues: i(66604), max: i(6162), merge: i(82492), min: i(53632), minBy: i(22762), now: i(7771), pick: i(78718), range: i(96026), reduce: i(54061), sortBy: i(89734), uniqueId: i(73955), values: i(52628), zipObject: i(7287), }; } catch (e) {} n || (n = window._), (e.exports = n); }, 72981: (e, t, i) => { var n = i(38436), r = i(11138); function s(e, t, i, o, a, l, c) { var d = e.children(c); if (d.length) { var h = r.addBorderNode(e, '_bt'), u = r.addBorderNode(e, '_bb'), g = e.node(c); e.setParent(h, c), (g.borderTop = h), e.setParent(u, c), (g.borderBottom = u), n.forEach(d, function (n) { s(e, t, i, o, a, l, n); var r = e.node(n), d = r.borderTop ? r.borderTop : n, g = r.borderBottom ? r.borderBottom : n, f = r.borderTop ? o : 2 * o, p = d !== g ? 1 : a - l[c] + 1; e.setEdge(h, d, { weight: f, minlen: p, nestingEdge: !0 }), e.setEdge(g, u, { weight: f, minlen: p, nestingEdge: !0 }); }), e.parent(c) || e.setEdge(t, h, { weight: 0, minlen: a + l[c] }); } else c !== t && e.setEdge(t, c, { weight: 0, minlen: i }); } e.exports = { run: function (e) { var t = r.addDummyNode(e, 'root', {}, '_root'), i = (function (e) { var t = {}; function i(r, s) { var o = e.children(r); o && o.length && n.forEach(o, function (e) { i(e, s + 1); }), (t[r] = s); } return ( n.forEach(e.children(), function (e) { i(e, 1); }), t ); })(e), o = n.max(n.values(i)) - 1, a = 2 * o + 1; (e.graph().nestingRoot = t), n.forEach(e.edges(), function (t) { e.edge(t).minlen *= a; }); var l = (function (e) { return n.reduce( e.edges(), function (t, i) { return t + e.edge(i).weight; }, 0 ); })(e) + 1; n.forEach(e.children(), function (n) { s(e, t, a, l, o, i, n); }), (e.graph().nodeRankFactor = a); }, cleanup: function (e) { var t = e.graph(); e.removeNode(t.nestingRoot), delete t.nestingRoot, n.forEach(e.edges(), function (t) { e.edge(t).nestingEdge && e.removeEdge(t); }); }, }; }, 45995: (e, t, i) => { 'use strict'; var n = i(38436), r = i(11138); e.exports = { run: function (e) { (e.graph().dummyChains = []), n.forEach(e.edges(), function (t) { !(function (e, t) { var i, n, s, o = t.v, a = e.node(o).rank, l = t.w, c = e.node(l).rank, d = t.name, h = e.edge(t), u = h.labelRank; if (c !== a + 1) { for (e.removeEdge(t), s = 0, ++a; a < c; ++s, ++a) (h.points = []), (n = { width: 0, height: 0, edgeLabel: h, edgeObj: t, rank: a, }), (i = r.addDummyNode(e, 'edge', n, '_d')), a === u && ((n.width = h.width), (n.height = h.height), (n.dummy = 'edge-label'), (n.labelpos = h.labelpos)), e.setEdge(o, i, { weight: h.weight }, d), 0 === s && e.graph().dummyChains.push(i), (o = i); e.setEdge(o, l, { weight: h.weight }, d); } })(e, t); }); }, undo: function (e) { n.forEach(e.graph().dummyChains, function (t) { var i, n = e.node(t), r = n.edgeLabel; for (e.setEdge(n.edgeObj, r); n.dummy; ) (i = e.successors(t)[0]), e.removeNode(t), r.points.push({ x: n.x, y: n.y }), 'edge-label' === n.dummy && ((r.x = n.x), (r.y = n.y), (r.width = n.width), (r.height = n.height)), (t = i), (n = e.node(t)); }); }, }; }, 55093: (e, t, i) => { var n = i(38436); e.exports = function (e, t, i) { var r, s = {}; n.forEach(i, function (i) { for (var n, o, a = e.parent(i); a; ) { if ( ((n = e.parent(a)) ? ((o = s[n]), (s[n] = a)) : ((o = r), (r = a)), o && o !== a) ) return void t.setEdge(o, a); a = n; } }); }; }, 35439: (e, t, i) => { var n = i(38436); e.exports = function (e, t) { return n.map(t, function (t) { var i = e.inEdges(t); if (i.length) { var r = n.reduce( i, function (t, i) { var n = e.edge(i), r = e.node(i.v); return { sum: t.sum + n.weight * r.order, weight: t.weight + n.weight, }; }, { sum: 0, weight: 0 } ); return { v: t, barycenter: r.sum / r.weight, weight: r.weight }; } return { v: t }; }); }; }, 23128: (e, t, i) => { var n = i(38436), r = i(70574).Graph; e.exports = function (e, t, i) { var s = (function (e) { for (var t; e.hasNode((t = n.uniqueId('_root'))); ); return t; })(e), o = new r({ compound: !0 }) .setGraph({ root: s }) .setDefaultNodeLabel(function (t) { return e.node(t); }); return ( n.forEach(e.nodes(), function (r) { var a = e.node(r), l = e.parent(r); (a.rank === t || (a.minRank <= t && t <= a.maxRank)) && (o.setNode(r), o.setParent(r, l || s), n.forEach(e[i](r), function (t) { var i = t.v === r ? t.w : t.v, s = o.edge(i, r), a = n.isUndefined(s) ? 0 : s.weight; o.setEdge(i, r, { weight: e.edge(t).weight + a }); }), n.has(a, 'minRank') && o.setNode(r, { borderLeft: a.borderLeft[t], borderRight: a.borderRight[t], })); }), o ); }; }, 56630: (e, t, i) => { 'use strict'; var n = i(38436); function r(e, t, i) { for ( var r = n.zipObject( i, n.map(i, function (e, t) { return t; }) ), s = n.flatten( n.map(t, function (t) { return n.sortBy( n.map(e.outEdges(t), function (t) { return { pos: r[t.w], weight: e.edge(t).weight }; }), 'pos' ); }), !0 ), o = 1; o < i.length; ) o <<= 1; var a = 2 * o - 1; o -= 1; var l = n.map(new Array(a), function () { return 0; }), c = 0; return ( n.forEach( s.forEach(function (e) { var t = e.pos + o; l[t] += e.weight; for (var i = 0; t > 0; ) t % 2 && (i += l[t + 1]), (l[(t = (t - 1) >> 1)] += e.weight); c += e.weight * i; }) ), c ); } e.exports = function (e, t) { for (var i = 0, n = 1; n < t.length; ++n) i += r(e, t[n - 1], t[n]); return i; }; }, 53408: (e, t, i) => { 'use strict'; var n = i(38436), r = i(2588), s = i(56630), o = i(61026), a = i(23128), l = i(55093), c = i(70574).Graph, d = i(11138); function h(e, t, i) { return n.map(t, function (t) { return a(e, t, i); }); } function u(e, t) { var i = new c(); n.forEach(e, function (e) { var r = e.graph().root, s = o(e, r, i, t); n.forEach(s.vs, function (t, i) { e.node(t).order = i; }), l(e, i, s.vs); }); } function g(e, t) { n.forEach(t, function (t) { n.forEach(t, function (t, i) { e.node(t).order = i; }); }); } e.exports = function (e) { var t = d.maxRank(e), i = h(e, n.range(1, t + 1), 'inEdges'), o = h(e, n.range(t - 1, -1, -1), 'outEdges'), a = r(e); g(e, a); for ( var l, c = Number.POSITIVE_INFINITY, f = 0, p = 0; p < 4; ++f, ++p ) { u(f % 2 ? i : o, f % 4 >= 2), (a = d.buildLayerMatrix(e)); var m = s(e, a); m < c && ((p = 0), (l = n.cloneDeep(a)), (c = m)); } g(e, l); }; }, 2588: (e, t, i) => { 'use strict'; var n = i(38436); e.exports = function (e) { var t = {}, i = n.filter(e.nodes(), function (t) { return !e.children(t).length; }), r = n.max( n.map(i, function (t) { return e.node(t).rank; }) ), s = n.map(n.range(r + 1), function () { return []; }), o = n.sortBy(i, function (t) { return e.node(t).rank; }); return ( n.forEach(o, function i(r) { if (!n.has(t, r)) { t[r] = !0; var o = e.node(r); s[o.rank].push(r), n.forEach(e.successors(r), i); } }), s ); }; }, 83678: (e, t, i) => { 'use strict'; var n = i(38436); e.exports = function (e, t) { var i = {}; return ( n.forEach(e, function (e, t) { var r = (i[e.v] = { indegree: 0, in: [], out: [], vs: [e.v], i: t, }); n.isUndefined(e.barycenter) || ((r.barycenter = e.barycenter), (r.weight = e.weight)); }), n.forEach(t.edges(), function (e) { var t = i[e.v], r = i[e.w]; n.isUndefined(t) || n.isUndefined(r) || (r.indegree++, t.out.push(i[e.w])); }), (function (e) { var t = []; function i(e) { return function (t) { var i, r, s, o; t.merged || ((n.isUndefined(t.barycenter) || n.isUndefined(e.barycenter) || t.barycenter >= e.barycenter) && ((r = t), (s = 0), (o = 0), (i = e).weight && ((s += i.barycenter * i.weight), (o += i.weight)), r.weight && ((s += r.barycenter * r.weight), (o += r.weight)), (i.vs = r.vs.concat(i.vs)), (i.barycenter = s / o), (i.weight = o), (i.i = Math.min(r.i, i.i)), (r.merged = !0))); }; } function r(t) { return function (i) { i.in.push(t), 0 == --i.indegree && e.push(i); }; } for (; e.length; ) { var s = e.pop(); t.push(s), n.forEach(s.in.reverse(), i(s)), n.forEach(s.out, r(s)); } return n.map( n.filter(t, function (e) { return !e.merged; }), function (e) { return n.pick(e, ['vs', 'i', 'barycenter', 'weight']); } ); })( n.filter(i, function (e) { return !e.indegree; }) ) ); }; }, 61026: (e, t, i) => { var n = i(38436), r = i(35439), s = i(83678), o = i(87304); e.exports = function e(t, i, a, l) { var c = t.children(i), d = t.node(i), h = d ? d.borderLeft : void 0, u = d ? d.borderRight : void 0, g = {}; h && (c = n.filter(c, function (e) { return e !== h && e !== u; })); var f = r(t, c); n.forEach(f, function (i) { if (t.children(i.v).length) { var r = e(t, i.v, a, l); (g[i.v] = r), n.has(r, 'barycenter') && ((s = i), (o = r), n.isUndefined(s.barycenter) ? ((s.barycenter = o.barycenter), (s.weight = o.weight)) : ((s.barycenter = (s.barycenter * s.weight + o.barycenter * o.weight) / (s.weight + o.weight)), (s.weight += o.weight))); } var s, o; }); var p = s(f, a); !(function (e, t) { n.forEach(e, function (e) { e.vs = n.flatten( e.vs.map(function (e) { return t[e] ? t[e].vs : e; }), !0 ); }); })(p, g); var m = o(p, l); if ( h && ((m.vs = n.flatten([h, m.vs, u], !0)), t.predecessors(h).length) ) { var _ = t.node(t.predecessors(h)[0]), b = t.node(t.predecessors(u)[0]); n.has(m, 'barycenter') || ((m.barycenter = 0), (m.weight = 0)), (m.barycenter = (m.barycenter * m.weight + _.order + b.order) / (m.weight + 2)), (m.weight += 2); } return m; }; }, 87304: (e, t, i) => { var n = i(38436), r = i(11138); function s(e, t, i) { for (var r; t.length && (r = n.last(t)).i <= i; ) t.pop(), e.push(r.vs), i++; return i; } e.exports = function (e, t) { var i, o = r.partition(e, function (e) { return n.has(e, 'barycenter'); }), a = o.lhs, l = n.sortBy(o.rhs, function (e) { return -e.i; }), c = [], d = 0, h = 0, u = 0; a.sort( ((i = !!t), function (e, t) { return e.barycenter < t.barycenter ? -1 : e.barycenter > t.barycenter ? 1 : i ? t.i - e.i : e.i - t.i; }) ), (u = s(c, l, u)), n.forEach(a, function (e) { (u += e.vs.length), c.push(e.vs), (d += e.barycenter * e.weight), (h += e.weight), (u = s(c, l, u)); }); var g = { vs: n.flatten(c, !0) }; return h && ((g.barycenter = d / h), (g.weight = h)), g; }; }, 24219: (e, t, i) => { var n = i(38436); e.exports = function (e) { var t = (function (e) { var t = {}, i = 0; return ( n.forEach(e.children(), function r(s) { var o = i; n.forEach(e.children(s), r), (t[s] = { low: o, lim: i++ }); }), t ); })(e); n.forEach(e.graph().dummyChains, function (i) { for ( var n = e.node(i), r = n.edgeObj, s = (function (e, t, i, n) { var r, s, o = [], a = [], l = Math.min(t[i].low, t[n].low), c = Math.max(t[i].lim, t[n].lim); r = i; do { (r = e.parent(r)), o.push(r); } while (r && (t[r].low > l || c > t[r].lim)); for (s = r, r = n; (r = e.parent(r)) !== s; ) a.push(r); return { path: o.concat(a.reverse()), lca: s }; })(e, t, r.v, r.w), o = s.path, a = s.lca, l = 0, c = o[l], d = !0; i !== r.w; ) { if (((n = e.node(i)), d)) { for (; (c = o[l]) !== a && e.node(c).maxRank < n.rank; ) l++; c === a && (d = !1); } if (!d) { for ( ; l < o.length - 1 && e.node((c = o[l + 1])).minRank <= n.rank; ) l++; c = o[l]; } e.setParent(i, c), (i = e.successors(i)[0]); } }); }; }, 3573: (e, t, i) => { 'use strict'; var n = i(38436), r = i(70574).Graph, s = i(11138); function o(e, t) { var i = {}; return ( n.reduce(t, function (t, r) { var s = 0, o = 0, a = t.length, c = n.last(r); return ( n.forEach(r, function (t, d) { var h = (function (e, t) { if (e.node(t).dummy) return n.find(e.predecessors(t), function (t) { return e.node(t).dummy; }); })(e, t), u = h ? e.node(h).order : a; (h || t === c) && (n.forEach(r.slice(o, d + 1), function (t) { n.forEach(e.predecessors(t), function (n) { var r = e.node(n), o = r.order; !(o < s || u < o) || (r.dummy && e.node(t).dummy) || l(i, n, t); }); }), (o = d + 1), (s = u)); }), r ); }), i ); } function a(e, t) { var i = {}; function r(t, r, s, o, a) { var c; n.forEach(n.range(r, s), function (r) { (c = t[r]), e.node(c).dummy && n.forEach(e.predecessors(c), function (t) { var n = e.node(t); n.dummy && (n.order < o || n.order > a) && l(i, t, c); }); }); } return ( n.reduce(t, function (t, i) { var s, o = -1, a = 0; return ( n.forEach(i, function (n, l) { if ('border' === e.node(n).dummy) { var c = e.predecessors(n); c.length && ((s = e.node(c[0]).order), r(i, a, l, o, s), (a = l), (o = s)); } r(i, a, i.length, s, t.length); }), i ); }), i ); } function l(e, t, i) { if (t > i) { var n = t; (t = i), (i = n); } var r = e[t]; r || (e[t] = r = {}), (r[i] = !0); } function c(e, t, i) { if (t > i) { var r = t; (t = i), (i = r); } return n.has(e[t], i); } function d(e, t, i, r) { var s = {}, o = {}, a = {}; return ( n.forEach(t, function (e) { n.forEach(e, function (e, t) { (s[e] = e), (o[e] = e), (a[e] = t); }); }), n.forEach(t, function (e) { var t = -1; n.forEach(e, function (e) { var l = r(e); if (l.length) for ( var d = ((l = n.sortBy(l, function (e) { return a[e]; })).length - 1) / 2, h = Math.floor(d), u = Math.ceil(d); h <= u; ++h ) { var g = l[h]; o[e] === e && t < a[g] && !c(i, e, g) && ((o[g] = e), (o[e] = s[e] = s[g]), (t = a[g])); } }); }), { root: s, align: o } ); } function h(e, t, i, s, o) { var a = {}, l = (function (e, t, i, s) { var o = new r(), a = e.graph(), l = (function (e, t, i) { return function (r, s, o) { var a, l = r.node(s), c = r.node(o), d = 0; if (((d += l.width / 2), n.has(l, 'labelpos'))) switch (l.labelpos.toLowerCase()) { case 'l': a = -l.width / 2; break; case 'r': a = l.width / 2; } if ( (a && (d += i ? a : -a), (a = 0), (d += (l.dummy ? t : e) / 2), (d += (c.dummy ? t : e) / 2), (d += c.width / 2), n.has(c, 'labelpos')) ) switch (c.labelpos.toLowerCase()) { case 'l': a = c.width / 2; break; case 'r': a = -c.width / 2; } return a && (d += i ? a : -a), (a = 0), d; }; })(a.nodesep, a.edgesep, s); return ( n.forEach(t, function (t) { var r; n.forEach(t, function (t) { var n = i[t]; if ((o.setNode(n), r)) { var s = i[r], a = o.edge(s, n); o.setEdge(s, n, Math.max(l(e, t, r), a || 0)); } r = t; }); }), o ); })(e, t, i, o), c = o ? 'borderLeft' : 'borderRight'; function d(e, t) { for (var i = l.nodes(), n = i.pop(), r = {}; n; ) r[n] ? e(n) : ((r[n] = !0), i.push(n), (i = i.concat(t(n)))), (n = i.pop()); } return ( d(function (e) { a[e] = l.inEdges(e).reduce(function (e, t) { return Math.max(e, a[t.v] + l.edge(t)); }, 0); }, l.predecessors.bind(l)), d(function (t) { var i = l.outEdges(t).reduce(function (e, t) { return Math.min(e, a[t.w] - l.edge(t)); }, Number.POSITIVE_INFINITY), n = e.node(t); i !== Number.POSITIVE_INFINITY && n.borderType !== c && (a[t] = Math.max(a[t], i)); }, l.successors.bind(l)), n.forEach(s, function (e) { a[e] = a[i[e]]; }), a ); } function u(e, t) { return n.minBy(n.values(t), function (t) { var i = Number.NEGATIVE_INFINITY, r = Number.POSITIVE_INFINITY; return ( n.forIn(t, function (t, n) { var s = (function (e, t) { return e.node(t).width; })(e, n) / 2; (i = Math.max(t + s, i)), (r = Math.min(t - s, r)); }), i - r ); }); } function g(e, t) { var i = n.values(t), r = n.min(i), s = n.max(i); n.forEach(['u', 'd'], function (i) { n.forEach(['l', 'r'], function (o) { var a, l = i + o, c = e[l]; if (c !== t) { var d = n.values(c); (a = 'l' === o ? r - n.min(d) : s - n.max(d)) && (e[l] = n.mapValues(c, function (e) { return e + a; })); } }); }); } function f(e, t) { return n.mapValues(e.ul, function (i, r) { if (t) return e[t.toLowerCase()][r]; var s = n.sortBy(n.map(e, r)); return (s[1] + s[2]) / 2; }); } e.exports = { positionX: function (e) { var t, i = s.buildLayerMatrix(e), r = n.merge(o(e, i), a(e, i)), l = {}; n.forEach(['u', 'd'], function (s) { (t = 'u' === s ? i : n.values(i).reverse()), n.forEach(['l', 'r'], function (i) { 'r' === i && (t = n.map(t, function (e) { return n.values(e).reverse(); })); var o = ('u' === s ? e.predecessors : e.successors).bind(e), a = d(0, t, r, o), c = h(e, t, a.root, a.align, 'r' === i); 'r' === i && (c = n.mapValues(c, function (e) { return -e; })), (l[s + i] = c); }); }); var c = u(e, l); return g(l, c), f(l, e.graph().align); }, findType1Conflicts: o, findType2Conflicts: a, addConflict: l, hasConflict: c, verticalAlignment: d, horizontalCompaction: h, alignCoordinates: g, findSmallestWidthAlignment: u, balance: f, }; }, 17873: (e, t, i) => { 'use strict'; var n = i(38436), r = i(11138), s = i(3573).positionX; e.exports = function (e) { (function (e) { var t = r.buildLayerMatrix(e), i = e.graph().ranksep, s = 0; n.forEach(t, function (t) { var r = n.max( n.map(t, function (t) { return e.node(t).height; }) ); n.forEach(t, function (t) { e.node(t).y = s + r / 2; }), (s += r + i); }); })((e = r.asNonCompoundGraph(e))), n.forEach(s(e), function (t, i) { e.node(i).x = t; }); }; }, 20300: (e, t, i) => { 'use strict'; var n = i(38436), r = i(70574).Graph, s = i(76681).slack; function o(e, t) { return ( n.forEach(e.nodes(), function i(r) { n.forEach(t.nodeEdges(r), function (n) { var o = n.v, a = r === o ? n.w : o; e.hasNode(a) || s(t, n) || (e.setNode(a, {}), e.setEdge(r, a, {}), i(a)); }); }), e.nodeCount() ); } function a(e, t) { return n.minBy(t.edges(), function (i) { if (e.hasNode(i.v) !== e.hasNode(i.w)) return s(t, i); }); } function l(e, t, i) { n.forEach(e.nodes(), function (e) { t.node(e).rank += i; }); } e.exports = function (e) { var t, i, n = new r({ directed: !1 }), c = e.nodes()[0], d = e.nodeCount(); for (n.setNode(c, {}); o(n, e) < d; ) (t = a(n, e)), (i = n.hasNode(t.v) ? s(e, t) : -s(e, t)), l(n, e, i); return n; }; }, 78093: (e, t, i) => { 'use strict'; var n = i(76681).longestPath, r = i(20300), s = i(42472); e.exports = function (e) { switch (e.graph().ranker) { case 'network-simplex': a(e); break; case 'tight-tree': !(function (e) { n(e), r(e); })(e); break; case 'longest-path': o(e); break; default: a(e); } }; var o = n; function a(e) { s(e); } }, 42472: (e, t, i) => { 'use strict'; var n = i(38436), r = i(20300), s = i(76681).slack, o = i(76681).longestPath, a = i(70574).alg.preorder, l = i(70574).alg.postorder, c = i(11138).simplify; function d(e) { (e = c(e)), o(e); var t, i = r(e); for (g(i), h(i, e); (t = p(i)); ) _(i, e, t, m(i, e, t)); } function h(e, t) { var i = l(e, e.nodes()); (i = i.slice(0, i.length - 1)), n.forEach(i, function (i) { !(function (e, t, i) { var n = e.node(i).parent; e.edge(i, n).cutvalue = u(e, t, i); })(e, t, i); }); } function u(e, t, i) { var r = e.node(i).parent, s = !0, o = t.edge(i, r), a = 0; return ( o || ((s = !1), (o = t.edge(r, i))), (a = o.weight), n.forEach(t.nodeEdges(i), function (n) { var o, l, c = n.v === i, d = c ? n.w : n.v; if (d !== r) { var h = c === s, u = t.edge(n).weight; if (((a += h ? u : -u), (o = i), (l = d), e.hasEdge(o, l))) { var g = e.edge(i, d).cutvalue; a += h ? -g : g; } } }), a ); } function g(e, t) { arguments.length < 2 && (t = e.nodes()[0]), f(e, {}, 1, t); } function f(e, t, i, r, s) { var o = i, a = e.node(r); return ( (t[r] = !0), n.forEach(e.neighbors(r), function (s) { n.has(t, s) || (i = f(e, t, i, s, r)); }), (a.low = o), (a.lim = i++), s ? (a.parent = s) : delete a.parent, i ); } function p(e) { return n.find(e.edges(), function (t) { return e.edge(t).cutvalue < 0; }); } function m(e, t, i) { var r = i.v, o = i.w; t.hasEdge(r, o) || ((r = i.w), (o = i.v)); var a = e.node(r), l = e.node(o), c = a, d = !1; a.lim > l.lim && ((c = l), (d = !0)); var h = n.filter(t.edges(), function (t) { return d === b(0, e.node(t.v), c) && d !== b(0, e.node(t.w), c); }); return n.minBy(h, function (e) { return s(t, e); }); } function _(e, t, i, r) { var s = i.v, o = i.w; e.removeEdge(s, o), e.setEdge(r.v, r.w, {}), g(e), h(e, t), (function (e, t) { var i = n.find(e.nodes(), function (e) { return !t.node(e).parent; }), r = a(e, i); (r = r.slice(1)), n.forEach(r, function (i) { var n = e.node(i).parent, r = t.edge(i, n), s = !1; r || ((r = t.edge(n, i)), (s = !0)), (t.node(i).rank = t.node(n).rank + (s ? r.minlen : -r.minlen)); }); })(e, t); } function b(e, t, i) { return i.low <= t.lim && t.lim <= i.lim; } (e.exports = d), (d.initLowLimValues = g), (d.initCutValues = h), (d.calcCutValue = u), (d.leaveEdge = p), (d.enterEdge = m), (d.exchangeEdges = _); }, 76681: (e, t, i) => { 'use strict'; var n = i(38436); e.exports = { longestPath: function (e) { var t = {}; n.forEach(e.sources(), function i(r) { var s = e.node(r); if (n.has(t, r)) return s.rank; t[r] = !0; var o = n.min( n.map(e.outEdges(r), function (t) { return i(t.w) - e.edge(t).minlen; }) ); return ( (o !== Number.POSITIVE_INFINITY && null != o) || (o = 0), (s.rank = o) ); }); }, slack: function (e, t) { return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen; }, }; }, 11138: (e, t, i) => { 'use strict'; var n = i(38436), r = i(70574).Graph; function s(e, t, i, r) { var s; do { s = n.uniqueId(r); } while (e.hasNode(s)); return (i.dummy = t), e.setNode(s, i), s; } function o(e) { return n.max( n.map(e.nodes(), function (t) { var i = e.node(t).rank; if (!n.isUndefined(i)) return i; }) ); } e.exports = { addDummyNode: s, simplify: function (e) { var t = new r().setGraph(e.graph()); return ( n.forEach(e.nodes(), function (i) { t.setNode(i, e.node(i)); }), n.forEach(e.edges(), function (i) { var n = t.edge(i.v, i.w) || { weight: 0, minlen: 1 }, r = e.edge(i); t.setEdge(i.v, i.w, { weight: n.weight + r.weight, minlen: Math.max(n.minlen, r.minlen), }); }), t ); }, asNonCompoundGraph: function (e) { var t = new r({ multigraph: e.isMultigraph() }).setGraph(e.graph()); return ( n.forEach(e.nodes(), function (i) { e.children(i).length || t.setNode(i, e.node(i)); }), n.forEach(e.edges(), function (i) { t.setEdge(i, e.edge(i)); }), t ); }, successorWeights: function (e) { var t = n.map(e.nodes(), function (t) { var i = {}; return ( n.forEach(e.outEdges(t), function (t) { i[t.w] = (i[t.w] || 0) + e.edge(t).weight; }), i ); }); return n.zipObject(e.nodes(), t); }, predecessorWeights: function (e) { var t = n.map(e.nodes(), function (t) { var i = {}; return ( n.forEach(e.inEdges(t), function (t) { i[t.v] = (i[t.v] || 0) + e.edge(t).weight; }), i ); }); return n.zipObject(e.nodes(), t); }, intersectRect: function (e, t) { var i, n, r = e.x, s = e.y, o = t.x - r, a = t.y - s, l = e.width / 2, c = e.height / 2; if (!o && !a) throw new Error( 'Not possible to find intersection inside of the rectangle' ); return ( Math.abs(a) * l > Math.abs(o) * c ? (a < 0 && (c = -c), (i = (c * o) / a), (n = c)) : (o < 0 && (l = -l), (i = l), (n = (l * a) / o)), { x: r + i, y: s + n } ); }, buildLayerMatrix: function (e) { var t = n.map(n.range(o(e) + 1), function () { return []; }); return ( n.forEach(e.nodes(), function (i) { var r = e.node(i), s = r.rank; n.isUndefined(s) || (t[s][r.order] = i); }), t ); }, normalizeRanks: function (e) { var t = n.min( n.map(e.nodes(), function (t) { return e.node(t).rank; }) ); n.forEach(e.nodes(), function (i) { var r = e.node(i); n.has(r, 'rank') && (r.rank -= t); }); }, removeEmptyRanks: function (e) { var t = n.min( n.map(e.nodes(), function (t) { return e.node(t).rank; }) ), i = []; n.forEach(e.nodes(), function (n) { var r = e.node(n).rank - t; i[r] || (i[r] = []), i[r].push(n); }); var r = 0, s = e.graph().nodeRankFactor; n.forEach(i, function (t, i) { n.isUndefined(t) && i % s != 0 ? --r : r && n.forEach(t, function (t) { e.node(t).rank += r; }); }); }, addBorderNode: function (e, t, i, n) { var r = { width: 0, height: 0 }; return ( arguments.length >= 4 && ((r.rank = i), (r.order = n)), s(e, 'border', r, t) ); }, maxRank: o, partition: function (e, t) { var i = { lhs: [], rhs: [] }; return ( n.forEach(e, function (e) { t(e) ? i.lhs.push(e) : i.rhs.push(e); }), i ); }, time: function (e, t) { var i = n.now(); try { return t(); } finally { console.log(e + ' time: ' + (n.now() - i) + 'ms'); } }, notime: function (e, t) { return t(); }, }; }, 88177: (e) => { e.exports = '0.8.4'; }, 2268: (e) => { 'use strict'; var t = (e.exports = {}); (t.isIE = function (e) { return !( (-1 === (t = navigator.userAgent.toLowerCase()).indexOf('msie') && -1 === t.indexOf('trident') && -1 === t.indexOf(' edge/')) || (e && e !== (function () { var e = 3, t = document.createElement('div'), i = t.getElementsByTagName('i'); do { t.innerHTML = '\x3c!--[if gt IE ' + ++e + ']> 4 ? e : void 0; })()) ); var t; }), (t.isLegacyOpera = function () { return !!window.opera; }); }, 17900: (e) => { 'use strict'; (e.exports = {}).forEach = function (e, t) { for (var i = 0; i < e.length; i++) { var n = t(e[i]); if (n) return n; } }; }, 58229: (e, t, i) => { 'use strict'; var n = i(2268); e.exports = function (e) { var t = (e = e || {}).reporter, i = e.batchProcessor, r = e.stateHandler.getState; if (!t) throw new Error('Missing required dependency: reporter.'); function s(t) { var i = e.important ? ' !important; ' : '; '; return (t.join(i) + i).trim(); } function o(e) { return r(e).object; } return { makeDetectable: function (e, o, a) { a || ((a = o), (o = e), (e = null)), (e = e || {}).debug, n.isIE(8) ? a(o) : (function (o, a) { var l = s([ 'display: block', 'position: absolute', 'top: 0', 'left: 0', 'width: 100%', 'height: 100%', 'border: none', 'padding: 0', 'margin: 0', 'opacity: 0', 'z-index: -1000', 'pointer-events: none', ]), c = !1, d = window.getComputedStyle(o), h = o.offsetWidth, u = o.offsetHeight; function g() { function i() { if ('static' === d.position) { o.style.setProperty( 'position', 'relative', e.important ? 'important' : '' ); var i = function (t, i, n, r) { var s = n[r]; 'auto' !== s && '0' !== (function (e) { return e.replace(/[^-\d\.]/g, ''); })(s) && (t.warn( 'An element that is positioned static has style.' + r + '=' + s + ' which is ignored due to the static positioning. The element will need to be positioned relative, so the style.' + r + ' will be set to 0. Element: ', i ), i.style.setProperty( r, '0', e.important ? 'important' : '' )); }; i(t, o, d, 'top'), i(t, o, d, 'right'), i(t, o, d, 'bottom'), i(t, o, d, 'left'); } } '' !== d.position && (i(), (c = !0)); var s = document.createElement('object'); (s.style.cssText = l), (s.tabIndex = -1), (s.type = 'text/html'), s.setAttribute('aria-hidden', 'true'), (s.onload = function () { c || i(), (function e(t, i) { if (!t.contentDocument) { var n = r(t); return ( n.checkForObjectDocumentTimeoutId && window.clearTimeout( n.checkForObjectDocumentTimeoutId ), void (n.checkForObjectDocumentTimeoutId = setTimeout( function () { (n.checkForObjectDocumentTimeoutId = 0), e(t, i); }, 100 )) ); } i(t.contentDocument); })(this, function (e) { a(o); }); }), n.isIE() || (s.data = 'about:blank'), r(o) && (o.appendChild(s), (r(o).object = s), n.isIE() && (s.data = 'about:blank')); } (r(o).startSize = { width: h, height: u }), i ? i.add(g) : g(); })(o, a); }, addListener: function (e, t) { function i() { t(e); } if (n.isIE(8)) (r(e).object = { proxy: i }), e.attachEvent('onresize', i); else { var s = o(e); if (!s) throw new Error( 'Element is not detectable by this strategy.' ); s.contentDocument.defaultView.addEventListener('resize', i); } }, uninstall: function (e) { if (r(e)) { var t = o(e); t && (n.isIE(8) ? e.detachEvent('onresize', t.proxy) : e.removeChild(t), r(e).checkForObjectDocumentTimeoutId && window.clearTimeout(r(e).checkForObjectDocumentTimeoutId), delete r(e).object); } }, }; }; }, 60787: (e, t, i) => { 'use strict'; var n = i(17900).forEach; e.exports = function (e) { var t = (e = e || {}).reporter, i = e.batchProcessor, r = e.stateHandler.getState, s = (e.stateHandler.hasState, e.idHandler); if (!i) throw new Error('Missing required dependency: batchProcessor'); if (!t) throw new Error('Missing required dependency: reporter.'); var o = (function () { var e = document.createElement('div'); e.style.cssText = c([ 'position: absolute', 'width: 1000px', 'height: 1000px', 'visibility: hidden', 'margin: 0', 'padding: 0', ]); var t = document.createElement('div'); (t.style.cssText = c([ 'position: absolute', 'width: 500px', 'height: 500px', 'overflow: scroll', 'visibility: none', 'top: -1500px', 'left: -1500px', 'visibility: hidden', 'margin: 0', 'padding: 0', ])), t.appendChild(e), document.body.insertBefore(t, document.body.firstChild); var i = 500 - t.clientWidth, n = 500 - t.clientHeight; return document.body.removeChild(t), { width: i, height: n }; })(), a = 'erd_scroll_detection_container'; function l(e) { !(function (e, t, i) { if (!e.getElementById(t)) { var n = i + '_animation', r = '/* Created by the element-resize-detector library. */\n'; (r += '.' + i + ' > div::-webkit-scrollbar { ' + c(['display: none']) + ' }\n\n'), (r += '.erd_scroll_detection_container_animation_active { ' + c([ '-webkit-animation-duration: 0.1s', 'animation-duration: 0.1s', '-webkit-animation-name: ' + n, 'animation-name: ' + n, ]) + ' }\n'), (r += '@-webkit-keyframes ' + n + ' { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n'), (function (i, n) { n = n || function (t) { e.head.appendChild(t); }; var r = e.createElement('style'); (r.innerHTML = i), (r.id = t), n(r); })( (r += '@keyframes ' + n + ' { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }') ); } })(e, 'erd_scroll_detection_scrollbar_style', a); } function c(t) { var i = e.important ? ' !important; ' : '; '; return (t.join(i) + i).trim(); } function d(e, i, n) { if (e.addEventListener) e.addEventListener(i, n); else { if (!e.attachEvent) return t.error( "[scroll] Don't know how to add event listeners." ); e.attachEvent('on' + i, n); } } function h(e, i, n) { if (e.removeEventListener) e.removeEventListener(i, n); else { if (!e.detachEvent) return t.error( "[scroll] Don't know how to remove event listeners." ); e.detachEvent('on' + i, n); } } function u(e) { return r(e).container.childNodes[0].childNodes[0].childNodes[0]; } function g(e) { return r(e).container.childNodes[0].childNodes[0].childNodes[1]; } return ( l(window.document), { makeDetectable: function (e, l, h) { function f() { if (e.debug) { var i = Array.prototype.slice.call(arguments); if ((i.unshift(s.get(l), 'Scroll: '), t.log.apply)) t.log.apply(null, i); else for (var n = 0; n < i.length; n++) t.log(i[n]); } } function p(e) { var t = r(e).container.childNodes[0], i = window.getComputedStyle(t); return !i.width || -1 === i.width.indexOf('px'); } function m() { var e = window.getComputedStyle(l), t = {}; return ( (t.position = e.position), (t.width = l.offsetWidth), (t.height = l.offsetHeight), (t.top = e.top), (t.right = e.right), (t.bottom = e.bottom), (t.left = e.left), (t.widthCSS = e.width), (t.heightCSS = e.height), t ); } function _() { if ((f('storeStyle invoked.'), r(l))) { var e = m(); r(l).style = e; } else f('Aborting because element has been uninstalled'); } function b(e, t, i) { (r(e).lastWidth = t), (r(e).lastHeight = i); } function v() { return 2 * o.width + 1; } function y() { return 2 * o.height + 1; } function w(e) { return e + 10 + v(); } function C(e) { return e + 10 + y(); } function S(e, t, i) { var n = u(e), r = g(e), s = w(t), o = C(i), a = (function (e) { return 2 * e + v(); })(t), l = (function (e) { return 2 * e + y(); })(i); (n.scrollLeft = s), (n.scrollTop = o), (r.scrollLeft = a), (r.scrollTop = l); } function k() { var e = r(l).container; if (!e) { ((e = document.createElement('div')).className = a), (e.style.cssText = c([ 'visibility: hidden', 'display: inline', 'width: 0px', 'height: 0px', 'z-index: -1', 'overflow: hidden', 'margin: 0', 'padding: 0', ])), (r(l).container = e), (function (e) { e.className += ' ' + a + '_animation_active'; })(e), l.appendChild(e); var t = function () { r(l).onRendered && r(l).onRendered(); }; d(e, 'animationstart', t), (r(l).onAnimationStart = t); } return e; } function x() { if ((f('Injecting elements'), r(l))) { !(function () { var i = r(l).style; if ('static' === i.position) { l.style.setProperty( 'position', 'relative', e.important ? 'important' : '' ); var n = function (e, t, i, n) { var r = i[n]; 'auto' !== r && '0' !== (function (e) { return e.replace(/[^-\d\.]/g, ''); })(r) && (e.warn( 'An element that is positioned static has style.' + n + '=' + r + ' which is ignored due to the static positioning. The element will need to be positioned relative, so the style.' + n + ' will be set to 0. Element: ', t ), (t.style[n] = 0)); }; n(t, l, i, 'top'), n(t, l, i, 'right'), n(t, l, i, 'bottom'), n(t, l, i, 'left'); } })(); var i = r(l).container; i || (i = k()); var n, s, h, u, g = o.width, p = o.height, m = c([ 'position: absolute', 'flex: none', 'overflow: hidden', 'z-index: -1', 'visibility: hidden', 'width: 100%', 'height: 100%', 'left: 0px', 'top: 0px', ]), _ = c( [ 'position: absolute', 'flex: none', 'overflow: hidden', 'z-index: -1', 'visibility: hidden', ].concat([ 'left: ' + (n = (n = -(1 + g)) ? n + 'px' : '0'), 'top: ' + (s = (s = -(1 + p)) ? s + 'px' : '0'), 'right: ' + (u = (u = -g) ? u + 'px' : '0'), 'bottom: ' + (h = (h = -p) ? h + 'px' : '0'), ]) ), b = c([ 'position: absolute', 'flex: none', 'overflow: scroll', 'z-index: -1', 'visibility: hidden', 'width: 100%', 'height: 100%', ]), v = c([ 'position: absolute', 'flex: none', 'overflow: scroll', 'z-index: -1', 'visibility: hidden', 'width: 100%', 'height: 100%', ]), y = c(['position: absolute', 'left: 0', 'top: 0']), w = c([ 'position: absolute', 'width: 200%', 'height: 200%', ]), C = document.createElement('div'), S = document.createElement('div'), x = document.createElement('div'), L = document.createElement('div'), M = document.createElement('div'), D = document.createElement('div'); (C.dir = 'ltr'), (C.style.cssText = m), (C.className = a), (S.className = a), (S.style.cssText = _), (x.style.cssText = b), (L.style.cssText = y), (M.style.cssText = v), (D.style.cssText = w), x.appendChild(L), M.appendChild(D), S.appendChild(x), S.appendChild(M), C.appendChild(S), i.appendChild(C), d(x, 'scroll', N), d(M, 'scroll', E), (r(l).onExpandScroll = N), (r(l).onShrinkScroll = E); } else f('Aborting because element has been uninstalled'); function N() { r(l).onExpand && r(l).onExpand(); } function E() { r(l).onShrink && r(l).onShrink(); } } function L() { function o(t, i, n) { var r = (function (e) { return u(e).childNodes[0]; })(t), s = w(i), o = C(n); r.style.setProperty( 'width', s + 'px', e.important ? 'important' : '' ), r.style.setProperty( 'height', o + 'px', e.important ? 'important' : '' ); } function a(n) { var a = l.offsetWidth, d = l.offsetHeight, h = a !== r(l).lastWidth || d !== r(l).lastHeight; f('Storing current size', a, d), b(l, a, d), i.add(0, function () { if (h) if (r(l)) if (c()) { if (e.debug) { var i = l.offsetWidth, n = l.offsetHeight; (i === a && n === d) || t.warn( s.get(l), 'Scroll: Size changed before updating detector elements.' ); } o(l, a, d); } else f( 'Aborting because element container has not been initialized' ); else f('Aborting because element has been uninstalled'); }), i.add(1, function () { r(l) ? c() ? S(l, a, d) : f( 'Aborting because element container has not been initialized' ) : f('Aborting because element has been uninstalled'); }), h && n && i.add(2, function () { r(l) ? c() ? n() : f( 'Aborting because element container has not been initialized' ) : f( 'Aborting because element has been uninstalled' ); }); } function c() { return !!r(l).container; } function d() { f('notifyListenersIfNeeded invoked'); var e = r(l); return void 0 === r(l).lastNotifiedWidth && e.lastWidth === e.startSize.width && e.lastHeight === e.startSize.height ? f( 'Not notifying: Size is the same as the start size, and there has been no notification yet.' ) : e.lastWidth === e.lastNotifiedWidth && e.lastHeight === e.lastNotifiedHeight ? f('Not notifying: Size already notified') : (f('Current size not notified, notifying...'), (e.lastNotifiedWidth = e.lastWidth), (e.lastNotifiedHeight = e.lastHeight), void n(r(l).listeners, function (e) { e(l); })); } function h() { f('Scroll detected.'), p(l) ? f('Scroll event fired while unrendered. Ignoring...') : a(d); } if ( (f('registerListenersAndPositionElements invoked.'), r(l)) ) { (r(l).onRendered = function () { if ((f('startanimation triggered.'), p(l))) f('Ignoring since element is still unrendered...'); else { f('Element rendered.'); var e = u(l), t = g(l); (0 !== e.scrollLeft && 0 !== e.scrollTop && 0 !== t.scrollLeft && 0 !== t.scrollTop) || (f( 'Scrollbars out of sync. Updating detector elements...' ), a(d)); } }), (r(l).onExpand = h), (r(l).onShrink = h); var m = r(l).style; o(l, m.width, m.height); } else f('Aborting because element has been uninstalled'); } function M() { if ((f('finalizeDomMutation invoked.'), r(l))) { var e = r(l).style; b(l, e.width, e.height), S(l, e.width, e.height); } else f('Aborting because element has been uninstalled'); } function D() { h(l); } function N() { var e; f('Installing...'), (r(l).listeners = []), (e = m()), (r(l).startSize = { width: e.width, height: e.height }), f('Element start size', r(l).startSize), i.add(0, _), i.add(1, x), i.add(2, L), i.add(3, M), i.add(4, D); } h || ((h = l), (l = e), (e = null)), (e = e || {}), f('Making detectable...'), (function (e) { return ( !(function (e) { return ( e === e.ownerDocument.body || e.ownerDocument.body.contains(e) ); })(e) || null === window.getComputedStyle(e) ); })(l) ? (f('Element is detached'), k(), f('Waiting until element is attached...'), (r(l).onRendered = function () { f('Element is now attached'), N(); })) : N(); }, addListener: function (e, t) { if (!r(e).listeners.push) throw new Error( 'Cannot add listener to an element that is not detectable.' ); r(e).listeners.push(t); }, uninstall: function (e) { var t = r(e); t && (t.onExpandScroll && h(u(e), 'scroll', t.onExpandScroll), t.onShrinkScroll && h(g(e), 'scroll', t.onShrinkScroll), t.onAnimationStart && h(t.container, 'animationstart', t.onAnimationStart), t.container && e.removeChild(t.container)); }, initDocument: l, } ); }; }, 63844: (e, t, i) => { 'use strict'; var n = i(17900).forEach, r = i(68452), s = i(96199), o = i(75805), a = i(79799), l = i(71724), c = i(2268), d = i(98129), h = i(21931), u = i(58229), g = i(60787); function f(e) { return Array.isArray(e) || void 0 !== e.length; } function p(e) { if (Array.isArray(e)) return e; var t = []; return ( n(e, function (e) { t.push(e); }), t ); } function m(e) { return e && 1 === e.nodeType; } function _(e, t, i) { var n = e[t]; return null == n && void 0 !== i ? i : n; } e.exports = function (e) { var t; if ((e = e || {}).idHandler) t = { get: function (t) { return e.idHandler.get(t, !0); }, set: e.idHandler.set, }; else { var i = o(), b = a({ idGenerator: i, stateHandler: h }); t = b; } var v = e.reporter; v || (v = l(!1 === v)); var y = _(e, 'batchProcessor', d({ reporter: v })), w = {}; (w.callOnAdd = !!_(e, 'callOnAdd', !0)), (w.debug = !!_(e, 'debug', !1)); var C, S = s(t), k = r({ stateHandler: h }), x = _(e, 'strategy', 'object'), L = _(e, 'important', !1), M = { reporter: v, batchProcessor: y, stateHandler: h, idHandler: t, important: L, }; if ( ('scroll' === x && (c.isLegacyOpera() ? (v.warn( 'Scroll strategy is not supported on legacy Opera. Changing to object strategy.' ), (x = 'object')) : c.isIE(9) && (v.warn( 'Scroll strategy is not supported on IE9. Changing to object strategy.' ), (x = 'object'))), 'scroll' === x) ) C = g(M); else { if ('object' !== x) throw new Error('Invalid strategy name: ' + x); C = u(M); } var D = {}; return { listenTo: function (e, i, r) { function s(e) { var t = S.get(e); n(t, function (t) { t(e); }); } function o(e, t, i) { S.add(t, i), e && i(t); } if ((r || ((r = i), (i = e), (e = {})), !i)) throw new Error('At least one element required.'); if (!r) throw new Error('Listener required.'); if (m(i)) i = [i]; else { if (!f(i)) return v.error( 'Invalid arguments. Must be a DOM element or a collection of DOM elements.' ); i = p(i); } var a = 0, l = _(e, 'callOnAdd', w.callOnAdd), c = _(e, 'onReady', function () {}), d = _(e, 'debug', w.debug); n(i, function (e) { h.getState(e) || (h.initState(e), t.set(e)); var u = t.get(e); if ( (d && v.log('Attaching listener to element', u, e), !k.isDetectable(e)) ) return ( d && v.log(u, 'Not detectable.'), k.isBusy(e) ? (d && v.log(u, 'System busy making it detectable'), o(l, e, r), (D[u] = D[u] || []), void D[u].push(function () { ++a === i.length && c(); })) : (d && v.log(u, 'Making detectable...'), k.markBusy(e, !0), C.makeDetectable( { debug: d, important: L }, e, function (e) { if ( (d && v.log(u, 'onElementDetectable'), h.getState(e)) ) { k.markAsDetectable(e), k.markBusy(e, !1), C.addListener(e, s), o(l, e, r); var t = h.getState(e); if (t && t.startSize) { var g = e.offsetWidth, f = e.offsetHeight; (t.startSize.width === g && t.startSize.height === f) || s(e); } D[u] && n(D[u], function (e) { e(); }); } else d && v.log( u, 'Element uninstalled before being detectable.' ); delete D[u], ++a === i.length && c(); } )) ); d && v.log(u, 'Already detecable, adding listener.'), o(l, e, r), a++; }), a === i.length && c(); }, removeListener: S.removeListener, removeAllListeners: S.removeAllListeners, uninstall: function (e) { if (!e) return v.error('At least one element is required.'); if (m(e)) e = [e]; else { if (!f(e)) return v.error( 'Invalid arguments. Must be a DOM element or a collection of DOM elements.' ); e = p(e); } n(e, function (e) { S.removeAllListeners(e), C.uninstall(e), h.cleanState(e); }); }, initDocument: function (e) { C.initDocument && C.initDocument(e); }, }; }; }, 68452: (e) => { 'use strict'; e.exports = function (e) { var t = e.stateHandler.getState; return { isDetectable: function (e) { var i = t(e); return i && !!i.isDetectable; }, markAsDetectable: function (e) { t(e).isDetectable = !0; }, isBusy: function (e) { return !!t(e).busy; }, markBusy: function (e, i) { t(e).busy = !!i; }, }; }; }, 75805: (e) => { 'use strict'; e.exports = function () { var e = 1; return { generate: function () { return e++; }, }; }; }, 79799: (e) => { 'use strict'; e.exports = function (e) { var t = e.idGenerator, i = e.stateHandler.getState; return { get: function (e) { var t = i(e); return t && void 0 !== t.id ? t.id : null; }, set: function (e) { var n = i(e); if (!n) throw new Error( 'setId required the element to have a resize detection state.' ); var r = t.generate(); return (n.id = r), r; }, }; }; }, 96199: (e) => { 'use strict'; e.exports = function (e) { var t = {}; function i(i) { var n = e.get(i); return void 0 === n ? [] : t[n] || []; } return { get: i, add: function (i, n) { var r = e.get(i); t[r] || (t[r] = []), t[r].push(n); }, removeListener: function (e, t) { for (var n = i(e), r = 0, s = n.length; r < s; ++r) if (n[r] === t) { n.splice(r, 1); break; } }, removeAllListeners: function (e) { var t = i(e); t && (t.length = 0); }, }; }; }, 71724: (e) => { 'use strict'; e.exports = function (e) { function t() {} var i = { log: t, warn: t, error: t }; if (!e && window.console) { var n = function (e, t) { e[t] = function () { var e = console[t]; if (e.apply) e.apply(console, arguments); else for (var i = 0; i < arguments.length; i++) e(arguments[i]); }; }; n(i, 'log'), n(i, 'warn'), n(i, 'error'); } return i; }; }, 21931: (e) => { 'use strict'; function t(e) { return e._erd; } e.exports = { initState: function (e) { return (e._erd = {}), t(e); }, getState: t, cleanState: function (e) { delete e._erd; }, }; }, 42859: (e, t, i) => { 'use strict'; var n; function r(e) { return ( (n = n || document.createElement('div')), (e = escape(e) .replace(/%26/g, '&') .replace(/%23/g, '#') .replace(/%3B/g, ';')), (n.innerHTML = e), unescape(n.textContent) ); } i.r(t), i.d(t, { default: () => r }); }, 28282: (e, t, i) => { var n = i(82354); e.exports = { Graph: n.Graph, json: i(28974), alg: i(12440), version: n.version, }; }, 2842: (e, t, i) => { var n = i(89126); e.exports = function (e) { var t, i = {}, r = []; function s(r) { n.has(i, r) || ((i[r] = !0), t.push(r), n.each(e.successors(r), s), n.each(e.predecessors(r), s)); } return ( n.each(e.nodes(), function (e) { (t = []), s(e), t.length && r.push(t); }), r ); }; }, 53984: (e, t, i) => { var n = i(89126); function r(e, t, i, s, o, a) { n.has(s, t) || ((s[t] = !0), i || a.push(t), n.each(o(t), function (t) { r(e, t, i, s, o, a); }), i && a.push(t)); } e.exports = function (e, t, i) { n.isArray(t) || (t = [t]); var s = (e.isDirected() ? e.successors : e.neighbors).bind(e), o = [], a = {}; return ( n.each(t, function (t) { if (!e.hasNode(t)) throw new Error('Graph does not have node: ' + t); r(e, t, 'post' === i, a, s, o); }), o ); }; }, 84847: (e, t, i) => { var n = i(63763), r = i(89126); e.exports = function (e, t, i) { return r.transform( e.nodes(), function (r, s) { r[s] = n(e, s, t, i); }, {} ); }; }, 63763: (e, t, i) => { var n = i(89126), r = i(75639); e.exports = function (e, t, i, n) { return (function (e, t, i, n) { var s, o, a = {}, l = new r(), c = function (e) { var t = e.v !== s ? e.v : e.w, n = a[t], r = i(e), c = o.distance + r; if (r < 0) throw new Error( 'dijkstra does not allow negative edge weights. Bad edge: ' + e + ' Weight: ' + r ); c < n.distance && ((n.distance = c), (n.predecessor = s), l.decrease(t, c)); }; for ( e.nodes().forEach(function (e) { var i = e === t ? 0 : Number.POSITIVE_INFINITY; (a[e] = { distance: i }), l.add(e, i); }); l.size() > 0 && ((s = l.removeMin()), (o = a[s]).distance !== Number.POSITIVE_INFINITY); ) n(s).forEach(c); return a; })( e, String(t), i || s, n || function (t) { return e.outEdges(t); } ); }; var s = n.constant(1); }, 9096: (e, t, i) => { var n = i(89126), r = i(5023); e.exports = function (e) { return n.filter(r(e), function (t) { return t.length > 1 || (1 === t.length && e.hasEdge(t[0], t[0])); }); }; }, 38924: (e, t, i) => { var n = i(89126); e.exports = function (e, t, i) { return (function (e, t, i) { var n = {}, r = e.nodes(); return ( r.forEach(function (e) { (n[e] = {}), (n[e][e] = { distance: 0 }), r.forEach(function (t) { e !== t && (n[e][t] = { distance: Number.POSITIVE_INFINITY }); }), i(e).forEach(function (i) { var r = i.v === e ? i.w : i.v, s = t(i); n[e][r] = { distance: s, predecessor: e }; }); }), r.forEach(function (e) { var t = n[e]; r.forEach(function (i) { var s = n[i]; r.forEach(function (i) { var n = s[e], r = t[i], o = s[i], a = n.distance + r.distance; a < o.distance && ((o.distance = a), (o.predecessor = r.predecessor)); }); }); }), n ); })( e, t || r, i || function (t) { return e.outEdges(t); } ); }; var r = n.constant(1); }, 12440: (e, t, i) => { e.exports = { components: i(2842), dijkstra: i(63763), dijkstraAll: i(84847), findCycles: i(9096), floydWarshall: i(38924), isAcyclic: i(62707), postorder: i(58828), preorder: i(92648), prim: i(80514), tarjan: i(5023), topsort: i(2166), }; }, 62707: (e, t, i) => { var n = i(2166); e.exports = function (e) { try { n(e); } catch (e) { if (e instanceof n.CycleException) return !1; throw e; } return !0; }; }, 58828: (e, t, i) => { var n = i(53984); e.exports = function (e, t) { return n(e, t, 'post'); }; }, 92648: (e, t, i) => { var n = i(53984); e.exports = function (e, t) { return n(e, t, 'pre'); }; }, 80514: (e, t, i) => { var n = i(89126), r = i(30771), s = i(75639); e.exports = function (e, t) { var i, o = new r(), a = {}, l = new s(); function c(e) { var n = e.v === i ? e.w : e.v, r = l.priority(n); if (void 0 !== r) { var s = t(e); s < r && ((a[n] = i), l.decrease(n, s)); } } if (0 === e.nodeCount()) return o; n.each(e.nodes(), function (e) { l.add(e, Number.POSITIVE_INFINITY), o.setNode(e); }), l.decrease(e.nodes()[0], 0); for (var d = !1; l.size() > 0; ) { if (((i = l.removeMin()), n.has(a, i))) o.setEdge(i, a[i]); else { if (d) throw new Error('Input graph is not connected: ' + e); d = !0; } e.nodeEdges(i).forEach(c); } return o; }; }, 5023: (e, t, i) => { var n = i(89126); e.exports = function (e) { var t = 0, i = [], r = {}, s = []; function o(a) { var l = (r[a] = { onStack: !0, lowlink: t, index: t++ }); if ( (i.push(a), e.successors(a).forEach(function (e) { n.has(r, e) ? r[e].onStack && (l.lowlink = Math.min(l.lowlink, r[e].index)) : (o(e), (l.lowlink = Math.min(l.lowlink, r[e].lowlink))); }), l.lowlink === l.index) ) { var c, d = []; do { (c = i.pop()), (r[c].onStack = !1), d.push(c); } while (a !== c); s.push(d); } } return ( e.nodes().forEach(function (e) { n.has(r, e) || o(e); }), s ); }; }, 2166: (e, t, i) => { var n = i(89126); function r(e) { var t = {}, i = {}, r = []; if ( (n.each(e.sinks(), function o(a) { if (n.has(i, a)) throw new s(); n.has(t, a) || ((i[a] = !0), (t[a] = !0), n.each(e.predecessors(a), o), delete i[a], r.push(a)); }), n.size(t) !== e.nodeCount()) ) throw new s(); return r; } function s() {} (e.exports = r), (r.CycleException = s), (s.prototype = new Error()); }, 75639: (e, t, i) => { var n = i(89126); function r() { (this._arr = []), (this._keyIndices = {}); } (e.exports = r), (r.prototype.size = function () { return this._arr.length; }), (r.prototype.keys = function () { return this._arr.map(function (e) { return e.key; }); }), (r.prototype.has = function (e) { return n.has(this._keyIndices, e); }), (r.prototype.priority = function (e) { var t = this._keyIndices[e]; if (void 0 !== t) return this._arr[t].priority; }), (r.prototype.min = function () { if (0 === this.size()) throw new Error('Queue underflow'); return this._arr[0].key; }), (r.prototype.add = function (e, t) { var i = this._keyIndices; if (((e = String(e)), !n.has(i, e))) { var r = this._arr, s = r.length; return ( (i[e] = s), r.push({ key: e, priority: t }), this._decrease(s), !0 ); } return !1; }), (r.prototype.removeMin = function () { this._swap(0, this._arr.length - 1); var e = this._arr.pop(); return delete this._keyIndices[e.key], this._heapify(0), e.key; }), (r.prototype.decrease = function (e, t) { var i = this._keyIndices[e]; if (t > this._arr[i].priority) throw new Error( 'New priority is greater than current priority. Key: ' + e + ' Old: ' + this._arr[i].priority + ' New: ' + t ); (this._arr[i].priority = t), this._decrease(i); }), (r.prototype._heapify = function (e) { var t = this._arr, i = 2 * e, n = i + 1, r = e; i < t.length && ((r = t[i].priority < t[r].priority ? i : r), n < t.length && (r = t[n].priority < t[r].priority ? n : r), r !== e && (this._swap(e, r), this._heapify(r))); }), (r.prototype._decrease = function (e) { for ( var t, i = this._arr, n = i[e].priority; 0 !== e && !(i[(t = e >> 1)].priority < n); ) this._swap(e, t), (e = t); }), (r.prototype._swap = function (e, t) { var i = this._arr, n = this._keyIndices, r = i[e], s = i[t]; (i[e] = s), (i[t] = r), (n[s.key] = e), (n[r.key] = t); }); }, 30771: (e, t, i) => { 'use strict'; var n = i(89126); e.exports = s; var r = '\0'; function s(e) { (this._isDirected = !n.has(e, 'directed') || e.directed), (this._isMultigraph = !!n.has(e, 'multigraph') && e.multigraph), (this._isCompound = !!n.has(e, 'compound') && e.compound), (this._label = void 0), (this._defaultNodeLabelFn = n.constant(void 0)), (this._defaultEdgeLabelFn = n.constant(void 0)), (this._nodes = {}), this._isCompound && ((this._parent = {}), (this._children = {}), (this._children['\0'] = {})), (this._in = {}), (this._preds = {}), (this._out = {}), (this._sucs = {}), (this._edgeObjs = {}), (this._edgeLabels = {}); } function o(e, t) { e[t] ? e[t]++ : (e[t] = 1); } function a(e, t) { --e[t] || delete e[t]; } function l(e, t, i, r) { var s = '' + t, o = '' + i; if (!e && s > o) { var a = s; (s = o), (o = a); } return s + '' + o + '' + (n.isUndefined(r) ? '\0' : r); } function c(e, t, i, n) { var r = '' + t, s = '' + i; if (!e && r > s) { var o = r; (r = s), (s = o); } var a = { v: r, w: s }; return n && (a.name = n), a; } function d(e, t) { return l(e, t.v, t.w, t.name); } (s.prototype._nodeCount = 0), (s.prototype._edgeCount = 0), (s.prototype.isDirected = function () { return this._isDirected; }), (s.prototype.isMultigraph = function () { return this._isMultigraph; }), (s.prototype.isCompound = function () { return this._isCompound; }), (s.prototype.setGraph = function (e) { return (this._label = e), this; }), (s.prototype.graph = function () { return this._label; }), (s.prototype.setDefaultNodeLabel = function (e) { return ( n.isFunction(e) || (e = n.constant(e)), (this._defaultNodeLabelFn = e), this ); }), (s.prototype.nodeCount = function () { return this._nodeCount; }), (s.prototype.nodes = function () { return n.keys(this._nodes); }), (s.prototype.sources = function () { var e = this; return n.filter(this.nodes(), function (t) { return n.isEmpty(e._in[t]); }); }), (s.prototype.sinks = function () { var e = this; return n.filter(this.nodes(), function (t) { return n.isEmpty(e._out[t]); }); }), (s.prototype.setNodes = function (e, t) { var i = arguments, r = this; return ( n.each(e, function (e) { i.length > 1 ? r.setNode(e, t) : r.setNode(e); }), this ); }), (s.prototype.setNode = function (e, t) { return n.has(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = t), this) : ((this._nodes[e] = arguments.length > 1 ? t : this._defaultNodeLabelFn(e)), this._isCompound && ((this._parent[e] = r), (this._children[e] = {}), (this._children['\0'][e] = !0)), (this._in[e] = {}), (this._preds[e] = {}), (this._out[e] = {}), (this._sucs[e] = {}), ++this._nodeCount, this); }), (s.prototype.node = function (e) { return this._nodes[e]; }), (s.prototype.hasNode = function (e) { return n.has(this._nodes, e); }), (s.prototype.removeNode = function (e) { var t = this; if (n.has(this._nodes, e)) { var i = function (e) { t.removeEdge(t._edgeObjs[e]); }; delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], n.each(this.children(e), function (e) { t.setParent(e); }), delete this._children[e]), n.each(n.keys(this._in[e]), i), delete this._in[e], delete this._preds[e], n.each(n.keys(this._out[e]), i), delete this._out[e], delete this._sucs[e], --this._nodeCount; } return this; }), (s.prototype.setParent = function (e, t) { if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph'); if (n.isUndefined(t)) t = r; else { for (var i = (t += ''); !n.isUndefined(i); i = this.parent(i)) if (i === e) throw new Error( 'Setting ' + t + ' as parent of ' + e + ' would create a cycle' ); this.setNode(t); } return ( this.setNode(e), this._removeFromParentsChildList(e), (this._parent[e] = t), (this._children[t][e] = !0), this ); }), (s.prototype._removeFromParentsChildList = function (e) { delete this._children[this._parent[e]][e]; }), (s.prototype.parent = function (e) { if (this._isCompound) { var t = this._parent[e]; if (t !== r) return t; } }), (s.prototype.children = function (e) { if ((n.isUndefined(e) && (e = r), this._isCompound)) { var t = this._children[e]; if (t) return n.keys(t); } else { if (e === r) return this.nodes(); if (this.hasNode(e)) return []; } }), (s.prototype.predecessors = function (e) { var t = this._preds[e]; if (t) return n.keys(t); }), (s.prototype.successors = function (e) { var t = this._sucs[e]; if (t) return n.keys(t); }), (s.prototype.neighbors = function (e) { var t = this.predecessors(e); if (t) return n.union(t, this.successors(e)); }), (s.prototype.isLeaf = function (e) { return ( 0 === (this.isDirected() ? this.successors(e) : this.neighbors(e)) .length ); }), (s.prototype.filterNodes = function (e) { var t = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound, }); t.setGraph(this.graph()); var i = this; n.each(this._nodes, function (i, n) { e(n) && t.setNode(n, i); }), n.each(this._edgeObjs, function (e) { t.hasNode(e.v) && t.hasNode(e.w) && t.setEdge(e, i.edge(e)); }); var r = {}; function s(e) { var n = i.parent(e); return void 0 === n || t.hasNode(n) ? ((r[e] = n), n) : n in r ? r[n] : s(n); } return ( this._isCompound && n.each(t.nodes(), function (e) { t.setParent(e, s(e)); }), t ); }), (s.prototype.setDefaultEdgeLabel = function (e) { return ( n.isFunction(e) || (e = n.constant(e)), (this._defaultEdgeLabelFn = e), this ); }), (s.prototype.edgeCount = function () { return this._edgeCount; }), (s.prototype.edges = function () { return n.values(this._edgeObjs); }), (s.prototype.setPath = function (e, t) { var i = this, r = arguments; return ( n.reduce(e, function (e, n) { return r.length > 1 ? i.setEdge(e, n, t) : i.setEdge(e, n), n; }), this ); }), (s.prototype.setEdge = function () { var e, t, i, r, s = !1, a = arguments[0]; 'object' == typeof a && null !== a && 'v' in a ? ((e = a.v), (t = a.w), (i = a.name), 2 === arguments.length && ((r = arguments[1]), (s = !0))) : ((e = a), (t = arguments[1]), (i = arguments[3]), arguments.length > 2 && ((r = arguments[2]), (s = !0))), (e = '' + e), (t = '' + t), n.isUndefined(i) || (i = '' + i); var d = l(this._isDirected, e, t, i); if (n.has(this._edgeLabels, d)) return s && (this._edgeLabels[d] = r), this; if (!n.isUndefined(i) && !this._isMultigraph) throw new Error( 'Cannot set a named edge when isMultigraph = false' ); this.setNode(e), this.setNode(t), (this._edgeLabels[d] = s ? r : this._defaultEdgeLabelFn(e, t, i)); var h = c(this._isDirected, e, t, i); return ( (e = h.v), (t = h.w), Object.freeze(h), (this._edgeObjs[d] = h), o(this._preds[t], e), o(this._sucs[e], t), (this._in[t][d] = h), (this._out[e][d] = h), this._edgeCount++, this ); }), (s.prototype.edge = function (e, t, i) { var n = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i); return this._edgeLabels[n]; }), (s.prototype.hasEdge = function (e, t, i) { var r = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i); return n.has(this._edgeLabels, r); }), (s.prototype.removeEdge = function (e, t, i) { var n = 1 === arguments.length ? d(this._isDirected, arguments[0]) : l(this._isDirected, e, t, i), r = this._edgeObjs[n]; return ( r && ((e = r.v), (t = r.w), delete this._edgeLabels[n], delete this._edgeObjs[n], a(this._preds[t], e), a(this._sucs[e], t), delete this._in[t][n], delete this._out[e][n], this._edgeCount--), this ); }), (s.prototype.inEdges = function (e, t) { var i = this._in[e]; if (i) { var r = n.values(i); return t ? n.filter(r, function (e) { return e.v === t; }) : r; } }), (s.prototype.outEdges = function (e, t) { var i = this._out[e]; if (i) { var r = n.values(i); return t ? n.filter(r, function (e) { return e.w === t; }) : r; } }), (s.prototype.nodeEdges = function (e, t) { var i = this.inEdges(e, t); if (i) return i.concat(this.outEdges(e, t)); }); }, 82354: (e, t, i) => { e.exports = { Graph: i(30771), version: i(49631) }; }, 28974: (e, t, i) => { var n = i(89126), r = i(30771); function s(e) { return n.map(e.nodes(), function (t) { var i = e.node(t), r = e.parent(t), s = { v: t }; return ( n.isUndefined(i) || (s.value = i), n.isUndefined(r) || (s.parent = r), s ); }); } function o(e) { return n.map(e.edges(), function (t) { var i = e.edge(t), r = { v: t.v, w: t.w }; return ( n.isUndefined(t.name) || (r.name = t.name), n.isUndefined(i) || (r.value = i), r ); }); } e.exports = { write: function (e) { var t = { options: { directed: e.isDirected(), multigraph: e.isMultigraph(), compound: e.isCompound(), }, nodes: s(e), edges: o(e), }; return ( n.isUndefined(e.graph()) || (t.value = n.clone(e.graph())), t ); }, read: function (e) { var t = new r(e.options).setGraph(e.value); return ( n.each(e.nodes, function (e) { t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent); }), n.each(e.edges, function (e) { t.setEdge({ v: e.v, w: e.w, name: e.name }, e.value); }), t ); }, }; }, 89126: (e, t, i) => { var n; try { n = { clone: i(66678), constant: i(75703), each: i(66073), filter: i(63105), has: i(18721), isArray: i(1469), isEmpty: i(41609), isFunction: i(23560), isUndefined: i(52353), keys: i(3674), map: i(35161), reduce: i(54061), size: i(84238), transform: i(68718), union: i(93386), values: i(52628), }; } catch (e) {} n || (n = window._), (e.exports = n); }, 49631: (e) => { e.exports = '2.1.7'; }, 61773: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(2536), s = i(7628), o = (function () { function e(e, t) { (this.color = t), (this.changed = !1), (this.data = e), (this.type = new s.default()); } return ( (e.prototype.set = function (e, t) { return ( (this.color = t), (this.changed = !1), (this.data = e), (this.type.type = r.TYPE.ALL), this ); }), (e.prototype._ensureHSL = function () { void 0 === this.data.h && (this.data.h = n.default.channel.rgb2hsl(this.data, 'h')), void 0 === this.data.s && (this.data.s = n.default.channel.rgb2hsl(this.data, 's')), void 0 === this.data.l && (this.data.l = n.default.channel.rgb2hsl(this.data, 'l')); }), (e.prototype._ensureRGB = function () { void 0 === this.data.r && (this.data.r = n.default.channel.hsl2rgb(this.data, 'r')), void 0 === this.data.g && (this.data.g = n.default.channel.hsl2rgb(this.data, 'g')), void 0 === this.data.b && (this.data.b = n.default.channel.hsl2rgb(this.data, 'b')); }), Object.defineProperty(e.prototype, 'r', { get: function () { return this.type.is(r.TYPE.HSL) || void 0 === this.data.r ? (this._ensureHSL(), n.default.channel.hsl2rgb(this.data, 'r')) : this.data.r; }, set: function (e) { this.type.set(r.TYPE.RGB), (this.changed = !0), (this.data.r = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'g', { get: function () { return this.type.is(r.TYPE.HSL) || void 0 === this.data.g ? (this._ensureHSL(), n.default.channel.hsl2rgb(this.data, 'g')) : this.data.g; }, set: function (e) { this.type.set(r.TYPE.RGB), (this.changed = !0), (this.data.g = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'b', { get: function () { return this.type.is(r.TYPE.HSL) || void 0 === this.data.b ? (this._ensureHSL(), n.default.channel.hsl2rgb(this.data, 'b')) : this.data.b; }, set: function (e) { this.type.set(r.TYPE.RGB), (this.changed = !0), (this.data.b = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'h', { get: function () { return this.type.is(r.TYPE.RGB) || void 0 === this.data.h ? (this._ensureRGB(), n.default.channel.rgb2hsl(this.data, 'h')) : this.data.h; }, set: function (e) { this.type.set(r.TYPE.HSL), (this.changed = !0), (this.data.h = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 's', { get: function () { return this.type.is(r.TYPE.RGB) || void 0 === this.data.s ? (this._ensureRGB(), n.default.channel.rgb2hsl(this.data, 's')) : this.data.s; }, set: function (e) { this.type.set(r.TYPE.HSL), (this.changed = !0), (this.data.s = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'l', { get: function () { return this.type.is(r.TYPE.RGB) || void 0 === this.data.l ? (this._ensureRGB(), n.default.channel.rgb2hsl(this.data, 'l')) : this.data.l; }, set: function (e) { this.type.set(r.TYPE.HSL), (this.changed = !0), (this.data.l = e); }, enumerable: !0, configurable: !0, }), Object.defineProperty(e.prototype, 'a', { get: function () { return this.data.a; }, set: function (e) { (this.changed = !0), (this.data.a = e); }, enumerable: !0, configurable: !0, }), e ); })(); t.default = o; }, 28167: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = new (i(61773).default)( { r: 0, g: 0, b: 0, a: 0 }, 'transparent' ); t.default = n; }, 7628: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(2536), r = (function () { function e() { this.type = n.TYPE.ALL; } return ( (e.prototype.get = function () { return this.type; }), (e.prototype.set = function (e) { if (this.type && this.type !== e) throw new Error( 'Cannot change both RGB and HSL channels at the same time' ); this.type = e; }), (e.prototype.reset = function () { this.type = n.TYPE.ALL; }), (e.prototype.is = function (e) { return this.type === e; }), e ); })(); t.default = r; }, 51655: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(28167), s = i(66061), o = { re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, parse: function (e) { if (35 === e.charCodeAt(0)) { var t = e.match(o.re); if (t) { var i = t[1], n = parseInt(i, 16), s = i.length, a = s % 4 == 0, l = s > 4, c = l ? 1 : 17, d = l ? 8 : 4, h = a ? 0 : -1, u = l ? 255 : 15; return r.default.set( { r: ((n >> (d * (h + 3))) & u) * c, g: ((n >> (d * (h + 2))) & u) * c, b: ((n >> (d * (h + 1))) & u) * c, a: a ? ((n & u) * c) / 255 : 1, }, e ); } } }, stringify: function (e) { return e.a < 1 ? '#' + s.DEC2HEX[Math.round(e.r)] + s.DEC2HEX[Math.round(e.g)] + s.DEC2HEX[Math.round(e.b)] + n.default.unit.frac2hex(e.a) : '#' + s.DEC2HEX[Math.round(e.r)] + s.DEC2HEX[Math.round(e.g)] + s.DEC2HEX[Math.round(e.b)]; }, }; t.default = o; }, 58589: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(28167), s = { re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, hueRe: /^(.+?)(deg|grad|rad|turn)$/i, _hue2deg: function (e) { var t = e.match(s.hueRe); if (t) { var i = t[1]; switch (t[2]) { case 'grad': return n.default.channel.clamp.h(0.9 * parseFloat(i)); case 'rad': return n.default.channel.clamp.h( (180 * parseFloat(i)) / Math.PI ); case 'turn': return n.default.channel.clamp.h(360 * parseFloat(i)); } } return n.default.channel.clamp.h(parseFloat(e)); }, parse: function (e) { var t = e.charCodeAt(0); if (104 === t || 72 === t) { var i = e.match(s.re); if (i) { var o = i[1], a = i[2], l = i[3], c = i[4], d = i[5]; return r.default.set( { h: s._hue2deg(o), s: n.default.channel.clamp.s(parseFloat(a)), l: n.default.channel.clamp.l(parseFloat(l)), a: c ? n.default.channel.clamp.a( d ? parseFloat(c) / 100 : parseFloat(c) ) : 1, }, e ); } } }, stringify: function (e) { return e.a < 1 ? 'hsla(' + n.default.lang.round(e.h) + ', ' + n.default.lang.round(e.s) + '%, ' + n.default.lang.round(e.l) + '%, ' + e.a + ')' : 'hsl(' + n.default.lang.round(e.h) + ', ' + n.default.lang.round(e.s) + '%, ' + n.default.lang.round(e.l) + '%)'; }, }; t.default = s; }, 32191: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(2536), r = i(51655), s = i(7538), o = i(76762), a = i(58589), l = { format: { keyword: s.default, hex: r.default, rgb: o.default, rgba: o.default, hsl: a.default, hsla: a.default, }, parse: function (e) { if ('string' != typeof e) return e; var t = r.default.parse(e) || o.default.parse(e) || a.default.parse(e) || s.default.parse(e); if (t) return t; throw new Error('Unsupported color format: "' + e + '"'); }, stringify: function (e) { return !e.changed && e.color ? e.color : e.type.is(n.TYPE.HSL) || void 0 === e.data.r ? a.default.stringify(e) : e.a < 1 || !Number.isInteger(e.r) || !Number.isInteger(e.g) || !Number.isInteger(e.b) ? o.default.stringify(e) : r.default.stringify(e); }, }; t.default = l; }, 7538: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(51655), r = { colors: { aliceblue: '#f0f8ff', antiquewhite: '#faebd7', aqua: '#00ffff', aquamarine: '#7fffd4', azure: '#f0ffff', beige: '#f5f5dc', bisque: '#ffe4c4', black: '#000000', blanchedalmond: '#ffebcd', blue: '#0000ff', blueviolet: '#8a2be2', brown: '#a52a2a', burlywood: '#deb887', cadetblue: '#5f9ea0', chartreuse: '#7fff00', chocolate: '#d2691e', coral: '#ff7f50', cornflowerblue: '#6495ed', cornsilk: '#fff8dc', crimson: '#dc143c', cyanaqua: '#00ffff', darkblue: '#00008b', darkcyan: '#008b8b', darkgoldenrod: '#b8860b', darkgray: '#a9a9a9', darkgreen: '#006400', darkgrey: '#a9a9a9', darkkhaki: '#bdb76b', darkmagenta: '#8b008b', darkolivegreen: '#556b2f', darkorange: '#ff8c00', darkorchid: '#9932cc', darkred: '#8b0000', darksalmon: '#e9967a', darkseagreen: '#8fbc8f', darkslateblue: '#483d8b', darkslategray: '#2f4f4f', darkslategrey: '#2f4f4f', darkturquoise: '#00ced1', darkviolet: '#9400d3', deeppink: '#ff1493', deepskyblue: '#00bfff', dimgray: '#696969', dimgrey: '#696969', dodgerblue: '#1e90ff', firebrick: '#b22222', floralwhite: '#fffaf0', forestgreen: '#228b22', fuchsia: '#ff00ff', gainsboro: '#dcdcdc', ghostwhite: '#f8f8ff', gold: '#ffd700', goldenrod: '#daa520', gray: '#808080', green: '#008000', greenyellow: '#adff2f', grey: '#808080', honeydew: '#f0fff0', hotpink: '#ff69b4', indianred: '#cd5c5c', indigo: '#4b0082', ivory: '#fffff0', khaki: '#f0e68c', lavender: '#e6e6fa', lavenderblush: '#fff0f5', lawngreen: '#7cfc00', lemonchiffon: '#fffacd', lightblue: '#add8e6', lightcoral: '#f08080', lightcyan: '#e0ffff', lightgoldenrodyellow: '#fafad2', lightgray: '#d3d3d3', lightgreen: '#90ee90', lightgrey: '#d3d3d3', lightpink: '#ffb6c1', lightsalmon: '#ffa07a', lightseagreen: '#20b2aa', lightskyblue: '#87cefa', lightslategray: '#778899', lightslategrey: '#778899', lightsteelblue: '#b0c4de', lightyellow: '#ffffe0', lime: '#00ff00', limegreen: '#32cd32', linen: '#faf0e6', magenta: '#ff00ff', maroon: '#800000', mediumaquamarine: '#66cdaa', mediumblue: '#0000cd', mediumorchid: '#ba55d3', mediumpurple: '#9370db', mediumseagreen: '#3cb371', mediumslateblue: '#7b68ee', mediumspringgreen: '#00fa9a', mediumturquoise: '#48d1cc', mediumvioletred: '#c71585', midnightblue: '#191970', mintcream: '#f5fffa', mistyrose: '#ffe4e1', moccasin: '#ffe4b5', navajowhite: '#ffdead', navy: '#000080', oldlace: '#fdf5e6', olive: '#808000', olivedrab: '#6b8e23', orange: '#ffa500', orangered: '#ff4500', orchid: '#da70d6', palegoldenrod: '#eee8aa', palegreen: '#98fb98', paleturquoise: '#afeeee', palevioletred: '#db7093', papayawhip: '#ffefd5', peachpuff: '#ffdab9', peru: '#cd853f', pink: '#ffc0cb', plum: '#dda0dd', powderblue: '#b0e0e6', purple: '#800080', rebeccapurple: '#663399', red: '#ff0000', rosybrown: '#bc8f8f', royalblue: '#4169e1', saddlebrown: '#8b4513', salmon: '#fa8072', sandybrown: '#f4a460', seagreen: '#2e8b57', seashell: '#fff5ee', sienna: '#a0522d', silver: '#c0c0c0', skyblue: '#87ceeb', slateblue: '#6a5acd', slategray: '#708090', slategrey: '#708090', snow: '#fffafa', springgreen: '#00ff7f', tan: '#d2b48c', teal: '#008080', thistle: '#d8bfd8', transparent: '#00000000', turquoise: '#40e0d0', violet: '#ee82ee', wheat: '#f5deb3', white: '#ffffff', whitesmoke: '#f5f5f5', yellow: '#ffff00', yellowgreen: '#9acd32', }, parse: function (e) { e = e.toLowerCase(); var t = r.colors[e]; if (t) return n.default.parse(t); }, stringify: function (e) { var t = n.default.stringify(e); for (var i in r.colors) if (r.colors[i] === t) return i; }, }; t.default = r; }, 76762: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(28167), s = { re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, parse: function (e) { var t = e.charCodeAt(0); if (114 === t || 82 === t) { var i = e.match(s.re); if (i) { var o = i[1], a = i[2], l = i[3], c = i[4], d = i[5], h = i[6], u = i[7], g = i[8]; return r.default.set( { r: n.default.channel.clamp.r( a ? 2.55 * parseFloat(o) : parseFloat(o) ), g: n.default.channel.clamp.g( c ? 2.55 * parseFloat(l) : parseFloat(l) ), b: n.default.channel.clamp.b( h ? 2.55 * parseFloat(d) : parseFloat(d) ), a: u ? n.default.channel.clamp.a( g ? parseFloat(u) / 100 : parseFloat(u) ) : 1, }, e ); } } }, stringify: function (e) { return e.a < 1 ? 'rgba(' + n.default.lang.round(e.r) + ', ' + n.default.lang.round(e.g) + ', ' + n.default.lang.round(e.b) + ', ' + n.default.lang.round(e.a) + ')' : 'rgb(' + n.default.lang.round(e.r) + ', ' + n.default.lang.round(e.g) + ', ' + n.default.lang.round(e.b) + ')'; }, }; t.default = s; }, 66061: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = {}; t.DEC2HEX = r; for (var s = 0; s <= 255; s++) r[s] = n.default.unit.dec2hex(s); }, 8613: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), (function (e) { for (var i in e) t.hasOwnProperty(i) || (t[i] = e[i]); })(i(21203)); }, 45371: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(32191), r = i(50418); t.default = function (e, t) { var i = n.default.parse(e), s = {}; for (var o in t) t[o] && (s[o] = i[o] + t[o]); return r.default(e, s); }; }, 11416: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(32191); t.default = function (e, t, i) { var s = r.default.parse(e), o = s[t], a = n.default.channel.clamp[t](o + i); return o !== a && (s[t] = a), r.default.stringify(s); }; }, 89353: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'a'); }; }, 63394: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'b'); }; }, 50418: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(32191); t.default = function (e, t) { var i = r.default.parse(e); for (var s in t) i[s] = n.default.channel.clamp[s](t[s]); return r.default.stringify(i); }; }, 6197: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(32191); t.default = function (e, t) { return n.default.lang.round(r.default.parse(e)[t]); }; }, 77361: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e) { return n.default(e, 'h', 180); }; }, 61364: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 'l', -t); }; }, 49610: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 's', -t); }; }, 40572: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(50418); t.default = function (e) { return n.default(e, { s: 0 }); }; }, 12299: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'g'); }; }, 43116: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(28167), s = i(32191); t.default = function (e, t, i, o) { void 0 === o && (o = 1); var a = r.default.set({ h: n.default.channel.clamp.h(e), s: n.default.channel.clamp.s(t), l: n.default.channel.clamp.l(i), a: n.default.channel.clamp.a(o), }); return s.default.stringify(a); }; }, 23008: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'h'); }; }, 21203: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(76538); t.hex = n.default; var r = i(76538); t.rgb = r.default; var s = i(76538); t.rgba = s.default; var o = i(43116); t.hsl = o.default; var a = i(43116); t.hsla = a.default; var l = i(6197); t.channel = l.default; var c = i(79640); t.red = c.default; var d = i(12299); t.green = d.default; var h = i(63394); t.blue = h.default; var u = i(23008); t.hue = u.default; var g = i(46451); t.saturation = g.default; var f = i(29235); t.lightness = f.default; var p = i(89353); t.alpha = p.default; var m = i(89353); t.opacity = m.default; var _ = i(68346); t.luminance = _.default; var b = i(4117); t.isDark = b.default; var v = i(82224); t.isLight = v.default; var y = i(20585); t.isValid = y.default; var w = i(61080); t.saturate = w.default; var C = i(49610); t.desaturate = C.default; var S = i(23235); t.lighten = S.default; var k = i(61364); t.darken = k.default; var x = i(27189); t.opacify = x.default; var L = i(27189); t.fadeIn = L.default; var M = i(24989); t.transparentize = M.default; var D = i(24989); t.fadeOut = D.default; var N = i(77361); t.complement = N.default; var E = i(40572); t.grayscale = E.default; var T = i(45371); t.adjust = T.default; var I = i(50418); t.change = I.default; var O = i(566); t.invert = O.default; var A = i(51861); t.mix = A.default; var R = i(7081); t.scale = R.default; }, 566: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(32191), r = i(51861); t.default = function (e, t) { void 0 === t && (t = 100); var i = n.default.parse(e); return ( (i.r = 255 - i.r), (i.g = 255 - i.g), (i.b = 255 - i.b), r.default(i, e, t) ); }; }, 4117: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(82224); t.default = function (e) { return !n.default(e); }; }, 82224: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(68346); t.default = function (e) { return n.default(e) >= 0.5; }; }, 20585: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(32191); t.default = function (e) { try { return n.default.parse(e), !0; } catch (e) { return !1; } }; }, 23235: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 'l', t); }; }, 29235: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'l'); }; }, 68346: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(32191); t.default = function (e) { var t = r.default.parse(e), i = t.r, s = t.g, o = t.b, a = 0.2126 * n.default.channel.toLinear(i) + 0.7152 * n.default.channel.toLinear(s) + 0.0722 * n.default.channel.toLinear(o); return n.default.lang.round(a); }; }, 51861: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(32191), r = i(76538); t.default = function (e, t, i) { void 0 === i && (i = 50); var s = n.default.parse(e), o = s.r, a = s.g, l = s.b, c = s.a, d = n.default.parse(t), h = d.r, u = d.g, g = d.b, f = d.a, p = i / 100, m = 2 * p - 1, _ = c - f, b = ((m * _ == -1 ? m : (m + _) / (1 + m * _)) + 1) / 2, v = 1 - b, y = o * b + h * v, w = a * b + u * v, C = l * b + g * v, S = c * p + f * (1 - p); return r.default(y, w, C, S); }; }, 27189: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 'a', t); }; }, 79640: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 'r'); }; }, 76538: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(28167), s = i(32191), o = i(50418); t.default = function (e, t, i, a) { if ( (void 0 === i && (i = 0), void 0 === a && (a = 1), 'number' != typeof e) ) return o.default(e, { a: t }); var l = r.default.set({ r: n.default.channel.clamp.r(e), g: n.default.channel.clamp.g(t), b: n.default.channel.clamp.b(i), a: n.default.channel.clamp.a(a), }); return s.default.stringify(l); }; }, 61080: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 's', t); }; }, 46451: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(6197); t.default = function (e) { return n.default(e, 's'); }; }, 7081: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(81083), r = i(32191), s = i(45371); t.default = function (e, t) { var i, o, a, l = r.default.parse(e), c = {}; for (var d in t) c[d] = ((i = l[d]), (o = t[d]), (a = n.default.channel.max[d]), o > 0 ? ((a - i) * o) / 100 : (i * o) / 100); return s.default(e, c); }; }, 24989: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(11416); t.default = function (e, t) { return n.default(e, 'a', -t); }; }, 2536: (e, t) => { 'use strict'; var i; Object.defineProperty(t, '__esModule', { value: !0 }), (function (e) { (e[(e.ALL = 0)] = 'ALL'), (e[(e.RGB = 1)] = 'RGB'), (e[(e.HSL = 2)] = 'HSL'); })(i || (i = {})), (t.TYPE = i); }, 47994: (e, t) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = { min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, clamp: { r: function (e) { return e >= 255 ? 255 : e < 0 ? 0 : e; }, g: function (e) { return e >= 255 ? 255 : e < 0 ? 0 : e; }, b: function (e) { return e >= 255 ? 255 : e < 0 ? 0 : e; }, h: function (e) { return e % 360; }, s: function (e) { return e >= 100 ? 100 : e < 0 ? 0 : e; }, l: function (e) { return e >= 100 ? 100 : e < 0 ? 0 : e; }, a: function (e) { return e >= 1 ? 1 : e < 0 ? 0 : e; }, }, toLinear: function (e) { var t = e / 255; return e > 0.03928 ? Math.pow((t + 0.055) / 1.055, 2.4) : t / 12.92; }, hue2rgb: function (e, t, i) { return ( i < 0 && (i += 1), i > 1 && (i -= 1), i < 1 / 6 ? e + 6 * (t - e) * i : i < 0.5 ? t : i < 2 / 3 ? e + (t - e) * (2 / 3 - i) * 6 : e ); }, hsl2rgb: function (e, t) { var n = e.h, r = e.s, s = e.l; if (100 === r) return 2.55 * s; (n /= 360), (r /= 100); var o = (s /= 100) < 0.5 ? s * (1 + r) : s + r - s * r, a = 2 * s - o; switch (t) { case 'r': return 255 * i.hue2rgb(a, o, n + 1 / 3); case 'g': return 255 * i.hue2rgb(a, o, n); case 'b': return 255 * i.hue2rgb(a, o, n - 1 / 3); } }, rgb2hsl: function (e, t) { var i = e.r, n = e.g, r = e.b; (i /= 255), (n /= 255), (r /= 255); var s = Math.max(i, n, r), o = Math.min(i, n, r), a = (s + o) / 2; if ('l' === t) return 100 * a; if (s === o) return 0; var l = s - o; if ('s' === t) return 100 * (a > 0.5 ? l / (2 - s - o) : l / (s + o)); switch (s) { case i: return 60 * ((n - r) / l + (n < r ? 6 : 0)); case n: return 60 * ((r - i) / l + 2); case r: return 60 * ((i - n) / l + 4); default: return -1; } }, }; t.default = i; }, 81083: (e, t, i) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var n = i(47994), r = i(64027), s = i(10318), o = { channel: n.default, lang: r.default, unit: s.default }; t.default = o; }, 64027: (e, t) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = { round: function (e) { return Math.round(1e10 * e) / 1e10; }, }; t.default = i; }, 10318: (e, t) => { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = { frac2hex: function (e) { var t = Math.round(255 * e).toString(16); return t.length > 1 ? t : '0' + t; }, dec2hex: function (e) { var t = Math.round(e).toString(16); return t.length > 1 ? t : '0' + t; }, }; t.default = i; }, 18552: (e, t, i) => { var n = i(10852)(i(55639), 'DataView'); e.exports = n; }, 1989: (e, t, i) => { var n = i(51789), r = i(80401), s = i(57667), o = i(21327), a = i(81866); function l(e) { var t = -1, i = null == e ? 0 : e.length; for (this.clear(); ++t < i; ) { var n = e[t]; this.set(n[0], n[1]); } } (l.prototype.clear = n), (l.prototype.delete = r), (l.prototype.get = s), (l.prototype.has = o), (l.prototype.set = a), (e.exports = l); }, 38407: (e, t, i) => { var n = i(27040), r = i(14125), s = i(82117), o = i(67518), a = i(54705); function l(e) { var t = -1, i = null == e ? 0 : e.length; for (this.clear(); ++t < i; ) { var n = e[t]; this.set(n[0], n[1]); } } (l.prototype.clear = n), (l.prototype.delete = r), (l.prototype.get = s), (l.prototype.has = o), (l.prototype.set = a), (e.exports = l); }, 57071: (e, t, i) => { var n = i(10852)(i(55639), 'Map'); e.exports = n; }, 83369: (e, t, i) => { var n = i(24785), r = i(11285), s = i(96e3), o = i(49916), a = i(95265); function l(e) { var t = -1, i = null == e ? 0 : e.length; for (this.clear(); ++t < i; ) { var n = e[t]; this.set(n[0], n[1]); } } (l.prototype.clear = n), (l.prototype.delete = r), (l.prototype.get = s), (l.prototype.has = o), (l.prototype.set = a), (e.exports = l); }, 53818: (e, t, i) => { var n = i(10852)(i(55639), 'Promise'); e.exports = n; }, 58525: (e, t, i) => { var n = i(10852)(i(55639), 'Set'); e.exports = n; }, 88668: (e, t, i) => { var n = i(83369), r = i(90619), s = i(72385); function o(e) { var t = -1, i = null == e ? 0 : e.length; for (this.__data__ = new n(); ++t < i; ) this.add(e[t]); } (o.prototype.add = o.prototype.push = r), (o.prototype.has = s), (e.exports = o); }, 46384: (e, t, i) => { var n = i(38407), r = i(37465), s = i(63779), o = i(67599), a = i(44758), l = i(34309); function c(e) { var t = (this.__data__ = new n(e)); this.size = t.size; } (c.prototype.clear = r), (c.prototype.delete = s), (c.prototype.get = o), (c.prototype.has = a), (c.prototype.set = l), (e.exports = c); }, 62705: (e, t, i) => { var n = i(55639).Symbol; e.exports = n; }, 11149: (e, t, i) => { var n = i(55639).Uint8Array; e.exports = n; }, 70577: (e, t, i) => { var n = i(10852)(i(55639), 'WeakMap'); e.exports = n; }, 96874: (e) => { e.exports = function (e, t, i) { switch (i.length) { case 0: return e.call(t); case 1: return e.call(t, i[0]); case 2: return e.call(t, i[0], i[1]); case 3: return e.call(t, i[0], i[1], i[2]); } return e.apply(t, i); }; }, 77412: (e) => { e.exports = function (e, t) { for ( var i = -1, n = null == e ? 0 : e.length; ++i < n && !1 !== t(e[i], i, e); ); return e; }; }, 34963: (e) => { e.exports = function (e, t) { for ( var i = -1, n = null == e ? 0 : e.length, r = 0, s = []; ++i < n; ) { var o = e[i]; t(o, i, e) && (s[r++] = o); } return s; }; }, 47443: (e, t, i) => { var n = i(42118); e.exports = function (e, t) { return !(null == e || !e.length) && n(e, t, 0) > -1; }; }, 1196: (e) => { e.exports = function (e, t, i) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) if (i(t, e[n])) return !0; return !1; }; }, 14636: (e, t, i) => { var n = i(22545), r = i(35694), s = i(1469), o = i(44144), a = i(65776), l = i(36719), c = Object.prototype.hasOwnProperty; e.exports = function (e, t) { var i = s(e), d = !i && r(e), h = !i && !d && o(e), u = !i && !d && !h && l(e), g = i || d || h || u, f = g ? n(e.length, String) : [], p = f.length; for (var m in e) (!t && !c.call(e, m)) || (g && ('length' == m || (h && ('offset' == m || 'parent' == m)) || (u && ('buffer' == m || 'byteLength' == m || 'byteOffset' == m)) || a(m, p))) || f.push(m); return f; }; }, 29932: (e) => { e.exports = function (e, t) { for ( var i = -1, n = null == e ? 0 : e.length, r = Array(n); ++i < n; ) r[i] = t(e[i], i, e); return r; }; }, 62488: (e) => { e.exports = function (e, t) { for (var i = -1, n = t.length, r = e.length; ++i < n; ) e[r + i] = t[i]; return e; }; }, 62663: (e) => { e.exports = function (e, t, i, n) { var r = -1, s = null == e ? 0 : e.length; for (n && s && (i = e[++r]); ++r < s; ) i = t(i, e[r], r, e); return i; }; }, 82908: (e) => { e.exports = function (e, t) { for (var i = -1, n = null == e ? 0 : e.length; ++i < n; ) if (t(e[i], i, e)) return !0; return !1; }; }, 48983: (e, t, i) => { var n = i(40371)('length'); e.exports = n; }, 86556: (e, t, i) => { var n = i(89465), r = i(77813); e.exports = function (e, t, i) { ((void 0 !== i && !r(e[t], i)) || (void 0 === i && !(t in e))) && n(e, t, i); }; }, 34865: (e, t, i) => { var n = i(89465), r = i(77813), s = Object.prototype.hasOwnProperty; e.exports = function (e, t, i) { var o = e[t]; (s.call(e, t) && r(o, i) && (void 0 !== i || t in e)) || n(e, t, i); }; }, 18470: (e, t, i) => { var n = i(77813); e.exports = function (e, t) { for (var i = e.length; i--; ) if (n(e[i][0], t)) return i; return -1; }; }, 44037: (e, t, i) => { var n = i(98363), r = i(3674); e.exports = function (e, t) { return e && n(t, r(t), e); }; }, 63886: (e, t, i) => { var n = i(98363), r = i(81704); e.exports = function (e, t) { return e && n(t, r(t), e); }; }, 89465: (e, t, i) => { var n = i(38777); e.exports = function (e, t, i) { '__proto__' == t && n ? n(e, t, { configurable: !0, enumerable: !0, value: i, writable: !0, }) : (e[t] = i); }; }, 85990: (e, t, i) => { var n = i(46384), r = i(77412), s = i(34865), o = i(44037), a = i(63886), l = i(64626), c = i(278), d = i(18805), h = i(1911), u = i(58234), g = i(46904), f = i(64160), p = i(43824), m = i(29148), _ = i(38517), b = i(1469), v = i(44144), y = i(56688), w = i(13218), C = i(72928), S = i(3674), k = '[object Arguments]', x = '[object Function]', L = '[object Object]', M = {}; (M[k] = M['[object Array]'] = M['[object ArrayBuffer]'] = M[ '[object DataView]' ] = M['[object Boolean]'] = M['[object Date]'] = M[ '[object Float32Array]' ] = M['[object Float64Array]'] = M['[object Int8Array]'] = M[ '[object Int16Array]' ] = M['[object Int32Array]'] = M['[object Map]'] = M[ '[object Number]' ] = M[L] = M['[object RegExp]'] = M['[object Set]'] = M[ '[object String]' ] = M['[object Symbol]'] = M['[object Uint8Array]'] = M[ '[object Uint8ClampedArray]' ] = M['[object Uint16Array]'] = M['[object Uint32Array]'] = !0), (M['[object Error]'] = M[x] = M['[object WeakMap]'] = !1), (e.exports = function e(t, i, D, N, E, T) { var I, O = 1 & i, A = 2 & i, R = 4 & i; if ((D && (I = E ? D(t, N, E, T) : D(t)), void 0 !== I)) return I; if (!w(t)) return t; var P = b(t); if (P) { if (((I = p(t)), !O)) return c(t, I); } else { var F = f(t), B = F == x || '[object GeneratorFunction]' == F; if (v(t)) return l(t, O); if (F == L || F == k || (B && !E)) { if (((I = A || B ? {} : _(t)), !O)) return A ? h(t, a(I, t)) : d(t, o(I, t)); } else { if (!M[F]) return E ? t : {}; I = m(t, F, O); } } T || (T = new n()); var W = T.get(t); if (W) return W; T.set(t, I), C(t) ? t.forEach(function (n) { I.add(e(n, i, D, n, t, T)); }) : y(t) && t.forEach(function (n, r) { I.set(r, e(n, i, D, r, t, T)); }); var Y = R ? (A ? g : u) : A ? keysIn : S, H = P ? void 0 : Y(t); return ( r(H || t, function (n, r) { H && (n = t[(r = n)]), s(I, r, e(n, i, D, r, t, T)); }), I ); }); }, 3118: (e, t, i) => { var n = i(13218), r = Object.create, s = (function () { function e() {} return function (t) { if (!n(t)) return {}; if (r) return r(t); e.prototype = t; var i = new e(); return (e.prototype = void 0), i; }; })(); e.exports = s; }, 89881: (e, t, i) => { var n = i(47816), r = i(99291)(n); e.exports = r; }, 56029: (e, t, i) => { var n = i(33448); e.exports = function (e, t, i) { for (var r = -1, s = e.length; ++r < s; ) { var o = e[r], a = t(o); if (null != a && (void 0 === l ? a == a && !n(a) : i(a, l))) var l = a, c = o; } return c; }; }, 80760: (e, t, i) => { var n = i(89881); e.exports = function (e, t) { var i = []; return ( n(e, function (e, n, r) { t(e, n, r) && i.push(e); }), i ); }; }, 41848: (e) => { e.exports = function (e, t, i, n) { for (var r = e.length, s = i + (n ? 1 : -1); n ? s-- : ++s < r; ) if (t(e[s], s, e)) return s; return -1; }; }, 21078: (e, t, i) => { var n = i(62488), r = i(37285); e.exports = function e(t, i, s, o, a) { var l = -1, c = t.length; for (s || (s = r), a || (a = []); ++l < c; ) { var d = t[l]; i > 0 && s(d) ? i > 1 ? e(d, i - 1, s, o, a) : n(a, d) : o || (a[a.length] = d); } return a; }; }, 28483: (e, t, i) => { var n = i(25063)(); e.exports = n; }, 47816: (e, t, i) => { var n = i(28483), r = i(3674); e.exports = function (e, t) { return e && n(e, t, r); }; }, 97786: (e, t, i) => { var n = i(71811), r = i(40327); e.exports = function (e, t) { for (var i = 0, s = (t = n(t, e)).length; null != e && i < s; ) e = e[r(t[i++])]; return i && i == s ? e : void 0; }; }, 68866: (e, t, i) => { var n = i(62488), r = i(1469); e.exports = function (e, t, i) { var s = t(e); return r(e) ? s : n(s, i(e)); }; }, 44239: (e, t, i) => { var n = i(62705), r = i(89607), s = i(2333), o = n ? n.toStringTag : void 0; e.exports = function (e) { return null == e ? void 0 === e ? '[object Undefined]' : '[object Null]' : o && o in Object(e) ? r(e) : s(e); }; }, 53325: (e) => { e.exports = function (e, t) { return e > t; }; }, 78565: (e) => { var t = Object.prototype.hasOwnProperty; e.exports = function (e, i) { return null != e && t.call(e, i); }; }, 13: (e) => { e.exports = function (e, t) { return null != e && t in Object(e); }; }, 42118: (e, t, i) => { var n = i(41848), r = i(62722), s = i(42351); e.exports = function (e, t, i) { return t == t ? s(e, t, i) : n(e, r, i); }; }, 9454: (e, t, i) => { var n = i(44239), r = i(37005); e.exports = function (e) { return r(e) && '[object Arguments]' == n(e); }; }, 90939: (e, t, i) => { var n = i(2492), r = i(37005); e.exports = function e(t, i, s, o, a) { return ( t === i || (null == t || null == i || (!r(t) && !r(i)) ? t != t && i != i : n(t, i, s, o, e, a)) ); }; }, 2492: (e, t, i) => { var n = i(46384), r = i(67114), s = i(18351), o = i(16096), a = i(64160), l = i(1469), c = i(44144), d = i(36719), h = '[object Arguments]', u = '[object Array]', g = '[object Object]', f = Object.prototype.hasOwnProperty; e.exports = function (e, t, i, p, m, _) { var b = l(e), v = l(t), y = b ? u : a(e), w = v ? u : a(t), C = (y = y == h ? g : y) == g, S = (w = w == h ? g : w) == g, k = y == w; if (k && c(e)) { if (!c(t)) return !1; (b = !0), (C = !1); } if (k && !C) return ( _ || (_ = new n()), b || d(e) ? r(e, t, i, p, m, _) : s(e, t, y, i, p, m, _) ); if (!(1 & i)) { var x = C && f.call(e, '__wrapped__'), L = S && f.call(t, '__wrapped__'); if (x || L) { var M = x ? e.value() : e, D = L ? t.value() : t; return _ || (_ = new n()), m(M, D, i, p, _); } } return !!k && (_ || (_ = new n()), o(e, t, i, p, m, _)); }; }, 25588: (e, t, i) => { var n = i(64160), r = i(37005); e.exports = function (e) { return r(e) && '[object Map]' == n(e); }; }, 2958: (e, t, i) => { var n = i(46384), r = i(90939); e.exports = function (e, t, i, s) { var o = i.length, a = o, l = !s; if (null == e) return !a; for (e = Object(e); o--; ) { var c = i[o]; if (l && c[2] ? c[1] !== e[c[0]] : !(c[0] in e)) return !1; } for (; ++o < a; ) { var d = (c = i[o])[0], h = e[d], u = c[1]; if (l && c[2]) { if (void 0 === h && !(d in e)) return !1; } else { var g = new n(); if (s) var f = s(h, u, d, e, t, g); if (!(void 0 === f ? r(u, h, 3, s, g) : f)) return !1; } } return !0; }; }, 62722: (e) => { e.exports = function (e) { return e != e; }; }, 28458: (e, t, i) => { var n = i(23560), r = i(15346), s = i(13218), o = i(80346), a = /^\[object .+?Constructor\]$/, l = Function.prototype, c = Object.prototype, d = l.toString, h = c.hasOwnProperty, u = RegExp( '^' + d .call(h) .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') .replace( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?' ) + '$' ); e.exports = function (e) { return !(!s(e) || r(e)) && (n(e) ? u : a).test(o(e)); }; }, 29221: (e, t, i) => { var n = i(64160), r = i(37005); e.exports = function (e) { return r(e) && '[object Set]' == n(e); }; }, 38749: (e, t, i) => { var n = i(44239), r = i(41780), s = i(37005), o = {}; (o['[object Float32Array]'] = o['[object Float64Array]'] = o[ '[object Int8Array]' ] = o['[object Int16Array]'] = o['[object Int32Array]'] = o[ '[object Uint8Array]' ] = o['[object Uint8ClampedArray]'] = o['[object Uint16Array]'] = o[ '[object Uint32Array]' ] = !0), (o['[object Arguments]'] = o['[object Array]'] = o[ '[object ArrayBuffer]' ] = o['[object Boolean]'] = o['[object DataView]'] = o[ '[object Date]' ] = o['[object Error]'] = o['[object Function]'] = o[ '[object Map]' ] = o['[object Number]'] = o['[object Object]'] = o[ '[object RegExp]' ] = o['[object Set]'] = o['[object String]'] = o[ '[object WeakMap]' ] = !1), (e.exports = function (e) { return s(e) && r(e.length) && !!o[n(e)]; }); }, 67206: (e, t, i) => { var n = i(91573), r = i(16432), s = i(6557), o = i(1469), a = i(39601); e.exports = function (e) { return 'function' == typeof e ? e : null == e ? s : 'object' == typeof e ? o(e) ? r(e[0], e[1]) : n(e) : a(e); }; }, 280: (e, t, i) => { var n = i(25726), r = i(86916), s = Object.prototype.hasOwnProperty; e.exports = function (e) { if (!n(e)) return r(e); var t = []; for (var i in Object(e)) s.call(e, i) && 'constructor' != i && t.push(i); return t; }; }, 10313: (e, t, i) => { var n = i(13218), r = i(25726), s = i(33498), o = Object.prototype.hasOwnProperty; e.exports = function (e) { if (!n(e)) return s(e); var t = r(e), i = []; for (var a in e) ('constructor' != a || (!t && o.call(e, a))) && i.push(a); return i; }; }, 70433: (e) => { e.exports = function (e, t) { return e < t; }; }, 69199: (e, t, i) => { var n = i(89881), r = i(98612); e.exports = function (e, t) { var i = -1, s = r(e) ? Array(e.length) : []; return ( n(e, function (e, n, r) { s[++i] = t(e, n, r); }), s ); }; }, 91573: (e, t, i) => { var n = i(2958), r = i(1499), s = i(42634); e.exports = function (e) { var t = r(e); return 1 == t.length && t[0][2] ? s(t[0][0], t[0][1]) : function (i) { return i === e || n(i, e, t); }; }; }, 16432: (e, t, i) => { var n = i(90939), r = i(27361), s = i(79095), o = i(15403), a = i(89162), l = i(42634), c = i(40327); e.exports = function (e, t) { return o(e) && a(t) ? l(c(e), t) : function (i) { var o = r(i, e); return void 0 === o && o === t ? s(i, e) : n(t, o, 3); }; }; }, 42980: (e, t, i) => { var n = i(46384), r = i(86556), s = i(28483), o = i(59783), a = i(13218), l = i(81704), c = i(36390); e.exports = function e(t, i, d, h, u) { t !== i && s( i, function (s, l) { if ((u || (u = new n()), a(s))) o(t, i, l, d, e, h, u); else { var g = h ? h(c(t, l), s, l + '', t, i, u) : void 0; void 0 === g && (g = s), r(t, l, g); } }, l ); }; }, 59783: (e, t, i) => { var n = i(86556), r = i(64626), s = i(77133), o = i(278), a = i(38517), l = i(35694), c = i(1469), d = i(29246), h = i(44144), u = i(23560), g = i(13218), f = i(68630), p = i(36719), m = i(36390), _ = i(59881); e.exports = function (e, t, i, b, v, y, w) { var C = m(e, i), S = m(t, i), k = w.get(S); if (k) n(e, i, k); else { var x = y ? y(C, S, i + '', e, t, w) : void 0, L = void 0 === x; if (L) { var M = c(S), D = !M && h(S), N = !M && !D && p(S); (x = S), M || D || N ? c(C) ? (x = C) : d(C) ? (x = o(C)) : D ? ((L = !1), (x = r(S, !0))) : N ? ((L = !1), (x = s(S, !0))) : (x = []) : f(S) || l(S) ? ((x = C), l(C) ? (x = _(C)) : (g(C) && !u(C)) || (x = a(S))) : (L = !1); } L && (w.set(S, x), v(x, S, b, y, w), w.delete(S)), n(e, i, x); } }; }, 82689: (e, t, i) => { var n = i(29932), r = i(67206), s = i(69199), o = i(71131), a = i(7518), l = i(85022), c = i(6557); e.exports = function (e, t, i) { var d = -1; t = n(t.length ? t : [c], a(r)); var h = s(e, function (e, i, r) { return { criteria: n(t, function (t) { return t(e); }), index: ++d, value: e, }; }); return o(h, function (e, t) { return l(e, t, i); }); }; }, 25970: (e, t, i) => { var n = i(63012), r = i(79095); e.exports = function (e, t) { return n(e, t, function (t, i) { return r(e, i); }); }; }, 63012: (e, t, i) => { var n = i(97786), r = i(10611), s = i(71811); e.exports = function (e, t, i) { for (var o = -1, a = t.length, l = {}; ++o < a; ) { var c = t[o], d = n(e, c); i(d, c) && r(l, s(c, e), d); } return l; }; }, 40371: (e) => { e.exports = function (e) { return function (t) { return null == t ? void 0 : t[e]; }; }; }, 79152: (e, t, i) => { var n = i(97786); e.exports = function (e) { return function (t) { return n(t, e); }; }; }, 40098: (e) => { var t = Math.ceil, i = Math.max; e.exports = function (e, n, r, s) { for (var o = -1, a = i(t((n - e) / (r || 1)), 0), l = Array(a); a--; ) (l[s ? a : ++o] = e), (e += r); return l; }; }, 10107: (e) => { e.exports = function (e, t, i, n, r) { return ( r(e, function (e, r, s) { i = n ? ((n = !1), e) : t(i, e, r, s); }), i ); }; }, 18460: (e, t, i) => { var n = i(6557), r = i(45357), s = i(30061); e.exports = function (e, t) { return s(r(e, t, n), e + ''); }; }, 10611: (e, t, i) => { var n = i(34865), r = i(71811), s = i(65776), o = i(13218), a = i(40327); e.exports = function (e, t, i, l) { if (!o(e)) return e; for ( var c = -1, d = (t = r(t, e)).length, h = d - 1, u = e; null != u && ++c < d; ) { var g = a(t[c]), f = i; if (c != h) { var p = u[g]; void 0 === (f = l ? l(p, g, u) : void 0) && (f = o(p) ? p : s(t[c + 1]) ? [] : {}); } n(u, g, f), (u = u[g]); } return e; }; }, 56560: (e, t, i) => { var n = i(75703), r = i(38777), s = i(6557), o = r ? function (e, t) { return r(e, 'toString', { configurable: !0, enumerable: !1, value: n(t), writable: !0, }); } : s; e.exports = o; }, 71131: (e) => { e.exports = function (e, t) { var i = e.length; for (e.sort(t); i--; ) e[i] = e[i].value; return e; }; }, 22545: (e) => { e.exports = function (e, t) { for (var i = -1, n = Array(e); ++i < e; ) n[i] = t(i); return n; }; }, 80531: (e, t, i) => { var n = i(62705), r = i(29932), s = i(1469), o = i(33448), a = n ? n.prototype : void 0, l = a ? a.toString : void 0; e.exports = function e(t) { if ('string' == typeof t) return t; if (s(t)) return r(t, e) + ''; if (o(t)) return l ? l.call(t) : ''; var i = t + ''; return '0' == i && 1 / t == -1 / 0 ? '-0' : i; }; }, 7518: (e) => { e.exports = function (e) { return function (t) { return e(t); }; }; }, 45652: (e, t, i) => { var n = i(88668), r = i(47443), s = i(1196), o = i(74757), a = i(23593), l = i(21814); e.exports = function (e, t, i) { var c = -1, d = r, h = e.length, u = !0, g = [], f = g; if (i) (u = !1), (d = s); else if (h >= 200) { var p = t ? null : a(e); if (p) return l(p); (u = !1), (d = o), (f = new n()); } else f = t ? [] : g; e: for (; ++c < h; ) { var m = e[c], _ = t ? t(m) : m; if (((m = i || 0 !== m ? m : 0), u && _ == _)) { for (var b = f.length; b--; ) if (f[b] === _) continue e; t && f.push(_), g.push(m); } else d(f, _, i) || (f !== g && f.push(_), g.push(m)); } return g; }; }, 47415: (e, t, i) => { var n = i(29932); e.exports = function (e, t) { return n(t, function (t) { return e[t]; }); }; }, 1757: (e) => { e.exports = function (e, t, i) { for (var n = -1, r = e.length, s = t.length, o = {}; ++n < r; ) { var a = n < s ? t[n] : void 0; i(o, e[n], a); } return o; }; }, 74757: (e) => { e.exports = function (e, t) { return e.has(t); }; }, 54290: (e, t, i) => { var n = i(6557); e.exports = function (e) { return 'function' == typeof e ? e : n; }; }, 71811: (e, t, i) => { var n = i(1469), r = i(15403), s = i(55514), o = i(79833); e.exports = function (e, t) { return n(e) ? e : r(e, t) ? [e] : s(o(e)); }; }, 74318: (e, t, i) => { var n = i(11149); e.exports = function (e) { var t = new e.constructor(e.byteLength); return new n(t).set(new n(e)), t; }; }, 64626: (e, t, i) => { e = i.nmd(e); var n = i(55639), r = t && !t.nodeType && t, s = r && e && !e.nodeType && e, o = s && s.exports === r ? n.Buffer : void 0, a = o ? o.allocUnsafe : void 0; e.exports = function (e, t) { if (t) return e.slice(); var i = e.length, n = a ? a(i) : new e.constructor(i); return e.copy(n), n; }; }, 57157: (e, t, i) => { var n = i(74318); e.exports = function (e, t) { var i = t ? n(e.buffer) : e.buffer; return new e.constructor(i, e.byteOffset, e.byteLength); }; }, 93147: (e) => { var t = /\w*$/; e.exports = function (e) { var i = new e.constructor(e.source, t.exec(e)); return (i.lastIndex = e.lastIndex), i; }; }, 40419: (e, t, i) => { var n = i(62705), r = n ? n.prototype : void 0, s = r ? r.valueOf : void 0; e.exports = function (e) { return s ? Object(s.call(e)) : {}; }; }, 77133: (e, t, i) => { var n = i(74318); e.exports = function (e, t) { var i = t ? n(e.buffer) : e.buffer; return new e.constructor(i, e.byteOffset, e.length); }; }, 26393: (e, t, i) => { var n = i(33448); e.exports = function (e, t) { if (e !== t) { var i = void 0 !== e, r = null === e, s = e == e, o = n(e), a = void 0 !== t, l = null === t, c = t == t, d = n(t); if ( (!l && !d && !o && e > t) || (o && a && c && !l && !d) || (r && a && c) || (!i && c) || !s ) return 1; if ( (!r && !o && !d && e < t) || (d && i && s && !r && !o) || (l && i && s) || (!a && s) || !c ) return -1; } return 0; }; }, 85022: (e, t, i) => { var n = i(26393); e.exports = function (e, t, i) { for ( var r = -1, s = e.criteria, o = t.criteria, a = s.length, l = i.length; ++r < a; ) { var c = n(s[r], o[r]); if (c) return r >= l ? c : c * ('desc' == i[r] ? -1 : 1); } return e.index - t.index; }; }, 278: (e) => { e.exports = function (e, t) { var i = -1, n = e.length; for (t || (t = Array(n)); ++i < n; ) t[i] = e[i]; return t; }; }, 98363: (e, t, i) => { var n = i(34865), r = i(89465); e.exports = function (e, t, i, s) { var o = !i; i || (i = {}); for (var a = -1, l = t.length; ++a < l; ) { var c = t[a], d = s ? s(i[c], e[c], c, i, e) : void 0; void 0 === d && (d = e[c]), o ? r(i, c, d) : n(i, c, d); } return i; }; }, 18805: (e, t, i) => { var n = i(98363), r = i(99551); e.exports = function (e, t) { return n(e, r(e), t); }; }, 1911: (e, t, i) => { var n = i(98363), r = i(51442); e.exports = function (e, t) { return n(e, r(e), t); }; }, 14429: (e, t, i) => { var n = i(55639)['__core-js_shared__']; e.exports = n; }, 21463: (e, t, i) => { var n = i(18460), r = i(16612); e.exports = function (e) { return n(function (t, i) { var n = -1, s = i.length, o = s > 1 ? i[s - 1] : void 0, a = s > 2 ? i[2] : void 0; for ( o = e.length > 3 && 'function' == typeof o ? (s--, o) : void 0, a && r(i[0], i[1], a) && ((o = s < 3 ? void 0 : o), (s = 1)), t = Object(t); ++n < s; ) { var l = i[n]; l && e(t, l, n, o); } return t; }); }; }, 99291: (e, t, i) => { var n = i(98612); e.exports = function (e, t) { return function (i, r) { if (null == i) return i; if (!n(i)) return e(i, r); for ( var s = i.length, o = t ? s : -1, a = Object(i); (t ? o-- : ++o < s) && !1 !== r(a[o], o, a); ); return i; }; }; }, 25063: (e) => { e.exports = function (e) { return function (t, i, n) { for (var r = -1, s = Object(t), o = n(t), a = o.length; a--; ) { var l = o[e ? a : ++r]; if (!1 === i(s[l], l, s)) break; } return t; }; }; }, 67740: (e, t, i) => { var n = i(67206), r = i(98612), s = i(3674); e.exports = function (e) { return function (t, i, o) { var a = Object(t); if (!r(t)) { var l = n(i, 3); (t = s(t)), (i = function (e) { return l(a[e], e, a); }); } var c = e(t, i, o); return c > -1 ? a[l ? t[c] : c] : void 0; }; }; }, 47445: (e, t, i) => { var n = i(40098), r = i(16612), s = i(18601); e.exports = function (e) { return function (t, i, o) { return ( o && 'number' != typeof o && r(t, i, o) && (i = o = void 0), (t = s(t)), void 0 === i ? ((i = t), (t = 0)) : (i = s(i)), (o = void 0 === o ? (t < i ? 1 : -1) : s(o)), n(t, i, o, e) ); }; }; }, 23593: (e, t, i) => { var n = i(58525), r = i(50308), s = i(21814), o = n && 1 / s(new n([, -0]))[1] == 1 / 0 ? function (e) { return new n(e); } : r; e.exports = o; }, 38777: (e, t, i) => { var n = i(10852), r = (function () { try { var e = n(Object, 'defineProperty'); return e({}, '', {}), e; } catch (e) {} })(); e.exports = r; }, 67114: (e, t, i) => { var n = i(88668), r = i(82908), s = i(74757); e.exports = function (e, t, i, o, a, l) { var c = 1 & i, d = e.length, h = t.length; if (d != h && !(c && h > d)) return !1; var u = l.get(e); if (u && l.get(t)) return u == t; var g = -1, f = !0, p = 2 & i ? new n() : void 0; for (l.set(e, t), l.set(t, e); ++g < d; ) { var m = e[g], _ = t[g]; if (o) var b = c ? o(_, m, g, t, e, l) : o(m, _, g, e, t, l); if (void 0 !== b) { if (b) continue; f = !1; break; } if (p) { if ( !r(t, function (e, t) { if (!s(p, t) && (m === e || a(m, e, i, o, l))) return p.push(t); }) ) { f = !1; break; } } else if (m !== _ && !a(m, _, i, o, l)) { f = !1; break; } } return l.delete(e), l.delete(t), f; }; }, 18351: (e, t, i) => { var n = i(62705), r = i(11149), s = i(77813), o = i(67114), a = i(68776), l = i(21814), c = n ? n.prototype : void 0, d = c ? c.valueOf : void 0; e.exports = function (e, t, i, n, c, h, u) { switch (i) { case '[object DataView]': if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1; (e = e.buffer), (t = t.buffer); case '[object ArrayBuffer]': return !(e.byteLength != t.byteLength || !h(new r(e), new r(t))); case '[object Boolean]': case '[object Date]': case '[object Number]': return s(+e, +t); case '[object Error]': return e.name == t.name && e.message == t.message; case '[object RegExp]': case '[object String]': return e == t + ''; case '[object Map]': var g = a; case '[object Set]': var f = 1 & n; if ((g || (g = l), e.size != t.size && !f)) return !1; var p = u.get(e); if (p) return p == t; (n |= 2), u.set(e, t); var m = o(g(e), g(t), n, c, h, u); return u.delete(e), m; case '[object Symbol]': if (d) return d.call(e) == d.call(t); } return !1; }; }, 16096: (e, t, i) => { var n = i(58234), r = Object.prototype.hasOwnProperty; e.exports = function (e, t, i, s, o, a) { var l = 1 & i, c = n(e), d = c.length; if (d != n(t).length && !l) return !1; for (var h = d; h--; ) { var u = c[h]; if (!(l ? u in t : r.call(t, u))) return !1; } var g = a.get(e); if (g && a.get(t)) return g == t; var f = !0; a.set(e, t), a.set(t, e); for (var p = l; ++h < d; ) { var m = e[(u = c[h])], _ = t[u]; if (s) var b = l ? s(_, m, u, t, e, a) : s(m, _, u, e, t, a); if (!(void 0 === b ? m === _ || o(m, _, i, s, a) : b)) { f = !1; break; } p || (p = 'constructor' == u); } if (f && !p) { var v = e.constructor, y = t.constructor; v == y || !('constructor' in e) || !('constructor' in t) || ('function' == typeof v && v instanceof v && 'function' == typeof y && y instanceof y) || (f = !1); } return a.delete(e), a.delete(t), f; }; }, 99021: (e, t, i) => { var n = i(85564), r = i(45357), s = i(30061); e.exports = function (e) { return s(r(e, void 0, n), e + ''); }; }, 31957: (e, t, i) => { var n = 'object' == typeof i.g && i.g && i.g.Object === Object && i.g; e.exports = n; }, 58234: (e, t, i) => { var n = i(68866), r = i(99551), s = i(3674); e.exports = function (e) { return n(e, s, r); }; }, 46904: (e, t, i) => { var n = i(68866), r = i(51442), s = i(81704); e.exports = function (e) { return n(e, s, r); }; }, 45050: (e, t, i) => { var n = i(37019); e.exports = function (e, t) { var i = e.__data__; return n(t) ? i['string' == typeof t ? 'string' : 'hash'] : i.map; }; }, 1499: (e, t, i) => { var n = i(89162), r = i(3674); e.exports = function (e) { for (var t = r(e), i = t.length; i--; ) { var s = t[i], o = e[s]; t[i] = [s, o, n(o)]; } return t; }; }, 10852: (e, t, i) => { var n = i(28458), r = i(47801); e.exports = function (e, t) { var i = r(e, t); return n(i) ? i : void 0; }; }, 85924: (e, t, i) => { var n = i(5569)(Object.getPrototypeOf, Object); e.exports = n; }, 89607: (e, t, i) => { var n = i(62705), r = Object.prototype, s = r.hasOwnProperty, o = r.toString, a = n ? n.toStringTag : void 0; e.exports = function (e) { var t = s.call(e, a), i = e[a]; try { e[a] = void 0; var n = !0; } catch (e) {} var r = o.call(e); return n && (t ? (e[a] = i) : delete e[a]), r; }; }, 99551: (e, t, i) => { var n = i(34963), r = i(70479), s = Object.prototype.propertyIsEnumerable, o = Object.getOwnPropertySymbols, a = o ? function (e) { return null == e ? [] : ((e = Object(e)), n(o(e), function (t) { return s.call(e, t); })); } : r; e.exports = a; }, 51442: (e, t, i) => { var n = i(62488), r = i(85924), s = i(99551), o = i(70479), a = Object.getOwnPropertySymbols ? function (e) { for (var t = []; e; ) n(t, s(e)), (e = r(e)); return t; } : o; e.exports = a; }, 64160: (e, t, i) => { var n = i(18552), r = i(57071), s = i(53818), o = i(58525), a = i(70577), l = i(44239), c = i(80346), d = '[object Map]', h = '[object Promise]', u = '[object Set]', g = '[object WeakMap]', f = '[object DataView]', p = c(n), m = c(r), _ = c(s), b = c(o), v = c(a), y = l; ((n && y(new n(new ArrayBuffer(1))) != f) || (r && y(new r()) != d) || (s && y(s.resolve()) != h) || (o && y(new o()) != u) || (a && y(new a()) != g)) && (y = function (e) { var t = l(e), i = '[object Object]' == t ? e.constructor : void 0, n = i ? c(i) : ''; if (n) switch (n) { case p: return f; case m: return d; case _: return h; case b: return u; case v: return g; } return t; }), (e.exports = y); }, 47801: (e) => { e.exports = function (e, t) { return null == e ? void 0 : e[t]; }; }, 222: (e, t, i) => { var n = i(71811), r = i(35694), s = i(1469), o = i(65776), a = i(41780), l = i(40327); e.exports = function (e, t, i) { for (var c = -1, d = (t = n(t, e)).length, h = !1; ++c < d; ) { var u = l(t[c]); if (!(h = null != e && i(e, u))) break; e = e[u]; } return h || ++c != d ? h : !!(d = null == e ? 0 : e.length) && a(d) && o(u, d) && (s(e) || r(e)); }; }, 62689: (e) => { var t = RegExp( '[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]' ); e.exports = function (e) { return t.test(e); }; }, 51789: (e, t, i) => { var n = i(94536); e.exports = function () { (this.__data__ = n ? n(null) : {}), (this.size = 0); }; }, 80401: (e) => { e.exports = function (e) { var t = this.has(e) && delete this.__data__[e]; return (this.size -= t ? 1 : 0), t; }; }, 57667: (e, t, i) => { var n = i(94536), r = Object.prototype.hasOwnProperty; e.exports = function (e) { var t = this.__data__; if (n) { var i = t[e]; return '__lodash_hash_undefined__' === i ? void 0 : i; } return r.call(t, e) ? t[e] : void 0; }; }, 21327: (e, t, i) => { var n = i(94536), r = Object.prototype.hasOwnProperty; e.exports = function (e) { var t = this.__data__; return n ? void 0 !== t[e] : r.call(t, e); }; }, 81866: (e, t, i) => { var n = i(94536); e.exports = function (e, t) { var i = this.__data__; return ( (this.size += this.has(e) ? 0 : 1), (i[e] = n && void 0 === t ? '__lodash_hash_undefined__' : t), this ); }; }, 43824: (e) => { var t = Object.prototype.hasOwnProperty; e.exports = function (e) { var i = e.length, n = new e.constructor(i); return ( i && 'string' == typeof e[0] && t.call(e, 'index') && ((n.index = e.index), (n.input = e.input)), n ); }; }, 29148: (e, t, i) => { var n = i(74318), r = i(57157), s = i(93147), o = i(40419), a = i(77133); e.exports = function (e, t, i) { var l = e.constructor; switch (t) { case '[object ArrayBuffer]': return n(e); case '[object Boolean]': case '[object Date]': return new l(+e); case '[object DataView]': return r(e, i); case '[object Float32Array]': case '[object Float64Array]': case '[object Int8Array]': case '[object Int16Array]': case '[object Int32Array]': case '[object Uint8Array]': case '[object Uint8ClampedArray]': case '[object Uint16Array]': case '[object Uint32Array]': return a(e, i); case '[object Map]': return new l(); case '[object Number]': case '[object String]': return new l(e); case '[object RegExp]': return s(e); case '[object Set]': return new l(); case '[object Symbol]': return o(e); } }; }, 38517: (e, t, i) => { var n = i(3118), r = i(85924), s = i(25726); e.exports = function (e) { return 'function' != typeof e.constructor || s(e) ? {} : n(r(e)); }; }, 37285: (e, t, i) => { var n = i(62705), r = i(35694), s = i(1469), o = n ? n.isConcatSpreadable : void 0; e.exports = function (e) { return s(e) || r(e) || !!(o && e && e[o]); }; }, 65776: (e) => { var t = /^(?:0|[1-9]\d*)$/; e.exports = function (e, i) { var n = typeof e; return ( !!(i = null == i ? 9007199254740991 : i) && ('number' == n || ('symbol' != n && t.test(e))) && e > -1 && e % 1 == 0 && e < i ); }; }, 16612: (e, t, i) => { var n = i(77813), r = i(98612), s = i(65776), o = i(13218); e.exports = function (e, t, i) { if (!o(i)) return !1; var a = typeof t; return ( !!('number' == a ? r(i) && s(t, i.length) : 'string' == a && t in i) && n(i[t], e) ); }; }, 15403: (e, t, i) => { var n = i(1469), r = i(33448), s = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, o = /^\w*$/; e.exports = function (e, t) { if (n(e)) return !1; var i = typeof e; return ( !( 'number' != i && 'symbol' != i && 'boolean' != i && null != e && !r(e) ) || o.test(e) || !s.test(e) || (null != t && e in Object(t)) ); }; }, 37019: (e) => { e.exports = function (e) { var t = typeof e; return 'string' == t || 'number' == t || 'symbol' == t || 'boolean' == t ? '__proto__' !== e : null === e; }; }, 15346: (e, t, i) => { var n, r = i(14429), s = (n = /[^.]+$/.exec((r && r.keys && r.keys.IE_PROTO) || '')) ? 'Symbol(src)_1.' + n : ''; e.exports = function (e) { return !!s && s in e; }; }, 25726: (e) => { var t = Object.prototype; e.exports = function (e) { var i = e && e.constructor; return e === (('function' == typeof i && i.prototype) || t); }; }, 89162: (e, t, i) => { var n = i(13218); e.exports = function (e) { return e == e && !n(e); }; }, 27040: (e) => { e.exports = function () { (this.__data__ = []), (this.size = 0); }; }, 14125: (e, t, i) => { var n = i(18470), r = Array.prototype.splice; e.exports = function (e) { var t = this.__data__, i = n(t, e); return !( i < 0 || (i == t.length - 1 ? t.pop() : r.call(t, i, 1), --this.size, 0) ); }; }, 82117: (e, t, i) => { var n = i(18470); e.exports = function (e) { var t = this.__data__, i = n(t, e); return i < 0 ? void 0 : t[i][1]; }; }, 67518: (e, t, i) => { var n = i(18470); e.exports = function (e) { return n(this.__data__, e) > -1; }; }, 54705: (e, t, i) => { var n = i(18470); e.exports = function (e, t) { var i = this.__data__, r = n(i, e); return r < 0 ? (++this.size, i.push([e, t])) : (i[r][1] = t), this; }; }, 24785: (e, t, i) => { var n = i(1989), r = i(38407), s = i(57071); e.exports = function () { (this.size = 0), (this.__data__ = { hash: new n(), map: new (s || r)(), string: new n(), }); }; }, 11285: (e, t, i) => { var n = i(45050); e.exports = function (e) { var t = n(this, e).delete(e); return (this.size -= t ? 1 : 0), t; }; }, 96e3: (e, t, i) => { var n = i(45050); e.exports = function (e) { return n(this, e).get(e); }; }, 49916: (e, t, i) => { var n = i(45050); e.exports = function (e) { return n(this, e).has(e); }; }, 95265: (e, t, i) => { var n = i(45050); e.exports = function (e, t) { var i = n(this, e), r = i.size; return i.set(e, t), (this.size += i.size == r ? 0 : 1), this; }; }, 68776: (e) => { e.exports = function (e) { var t = -1, i = Array(e.size); return ( e.forEach(function (e, n) { i[++t] = [n, e]; }), i ); }; }, 42634: (e) => { e.exports = function (e, t) { return function (i) { return null != i && i[e] === t && (void 0 !== t || e in Object(i)); }; }; }, 24523: (e, t, i) => { var n = i(88306); e.exports = function (e) { var t = n(e, function (e) { return 500 === i.size && i.clear(), e; }), i = t.cache; return t; }; }, 94536: (e, t, i) => { var n = i(10852)(Object, 'create'); e.exports = n; }, 86916: (e, t, i) => { var n = i(5569)(Object.keys, Object); e.exports = n; }, 33498: (e) => { e.exports = function (e) { var t = []; if (null != e) for (var i in Object(e)) t.push(i); return t; }; }, 31167: (e, t, i) => { e = i.nmd(e); var n = i(31957), r = t && !t.nodeType && t, s = r && e && !e.nodeType && e, o = s && s.exports === r && n.process, a = (function () { try { return ( (s && s.require && s.require('util').types) || (o && o.binding && o.binding('util')) ); } catch (e) {} })(); e.exports = a; }, 2333: (e) => { var t = Object.prototype.toString; e.exports = function (e) { return t.call(e); }; }, 5569: (e) => { e.exports = function (e, t) { return function (i) { return e(t(i)); }; }; }, 45357: (e, t, i) => { var n = i(96874), r = Math.max; e.exports = function (e, t, i) { return ( (t = r(void 0 === t ? e.length - 1 : t, 0)), function () { for ( var s = arguments, o = -1, a = r(s.length - t, 0), l = Array(a); ++o < a; ) l[o] = s[t + o]; o = -1; for (var c = Array(t + 1); ++o < t; ) c[o] = s[o]; return (c[t] = i(l)), n(e, this, c); } ); }; }, 55639: (e, t, i) => { var n = i(31957), r = 'object' == typeof self && self && self.Object === Object && self, s = n || r || Function('return this')(); e.exports = s; }, 36390: (e) => { e.exports = function (e, t) { if ( ('constructor' !== t || 'function' != typeof e[t]) && '__proto__' != t ) return e[t]; }; }, 90619: (e) => { e.exports = function (e) { return this.__data__.set(e, '__lodash_hash_undefined__'), this; }; }, 72385: (e) => { e.exports = function (e) { return this.__data__.has(e); }; }, 21814: (e) => { e.exports = function (e) { var t = -1, i = Array(e.size); return ( e.forEach(function (e) { i[++t] = e; }), i ); }; }, 30061: (e, t, i) => { var n = i(56560), r = i(21275)(n); e.exports = r; }, 21275: (e) => { var t = Date.now; e.exports = function (e) { var i = 0, n = 0; return function () { var r = t(), s = 16 - (r - n); if (((n = r), s > 0)) { if (++i >= 800) return arguments[0]; } else i = 0; return e.apply(void 0, arguments); }; }; }, 37465: (e, t, i) => { var n = i(38407); e.exports = function () { (this.__data__ = new n()), (this.size = 0); }; }, 63779: (e) => { e.exports = function (e) { var t = this.__data__, i = t.delete(e); return (this.size = t.size), i; }; }, 67599: (e) => { e.exports = function (e) { return this.__data__.get(e); }; }, 44758: (e) => { e.exports = function (e) { return this.__data__.has(e); }; }, 34309: (e, t, i) => { var n = i(38407), r = i(57071), s = i(83369); e.exports = function (e, t) { var i = this.__data__; if (i instanceof n) { var o = i.__data__; if (!r || o.length < 199) return o.push([e, t]), (this.size = ++i.size), this; i = this.__data__ = new s(o); } return i.set(e, t), (this.size = i.size), this; }; }, 42351: (e) => { e.exports = function (e, t, i) { for (var n = i - 1, r = e.length; ++n < r; ) if (e[n] === t) return n; return -1; }; }, 88016: (e, t, i) => { var n = i(48983), r = i(62689), s = i(21903); e.exports = function (e) { return r(e) ? s(e) : n(e); }; }, 55514: (e, t, i) => { var n = i(24523), r = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, s = /\\(\\)?/g, o = n(function (e) { var t = []; return ( 46 === e.charCodeAt(0) && t.push(''), e.replace(r, function (e, i, n, r) { t.push(n ? r.replace(s, '$1') : i || e); }), t ); }); e.exports = o; }, 40327: (e, t, i) => { var n = i(33448); e.exports = function (e) { if ('string' == typeof e || n(e)) return e; var t = e + ''; return '0' == t && 1 / e == -1 / 0 ? '-0' : t; }; }, 80346: (e) => { var t = Function.prototype.toString; e.exports = function (e) { if (null != e) { try { return t.call(e); } catch (e) {} try { return e + ''; } catch (e) {} } return ''; }; }, 21903: (e) => { var t = '[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]', i = '\\ud83c[\\udffb-\\udfff]', n = '[^\\ud800-\\udfff]', r = '(?:\\ud83c[\\udde6-\\uddff]){2}', s = '[\\ud800-\\udbff][\\udc00-\\udfff]', o = '(?:' + t + '|' + i + ')?', a = '[\\ufe0e\\ufe0f]?', l = a + o + '(?:\\u200d(?:' + [n, r, s].join('|') + ')' + a + o + ')*', c = '(?:' + [n + t + '?', t, r, s, '[\\ud800-\\udfff]'].join('|') + ')', d = RegExp(i + '(?=' + i + ')|' + c + l, 'g'); e.exports = function (e) { for (var t = (d.lastIndex = 0); d.test(e); ) ++t; return t; }; }, 66678: (e, t, i) => { var n = i(85990); e.exports = function (e) { return n(e, 4); }; }, 50361: (e, t, i) => { var n = i(85990); e.exports = function (e) { return n(e, 5); }; }, 75703: (e) => { e.exports = function (e) { return function () { return e; }; }; }, 91747: (e, t, i) => { var n = i(18460), r = i(77813), s = i(16612), o = i(81704), a = Object.prototype, l = a.hasOwnProperty, c = n(function (e, t) { e = Object(e); var i = -1, n = t.length, c = n > 2 ? t[2] : void 0; for (c && s(t[0], t[1], c) && (n = 1); ++i < n; ) for (var d = t[i], h = o(d), u = -1, g = h.length; ++u < g; ) { var f = h[u], p = e[f]; (void 0 === p || (r(p, a[f]) && !l.call(e, f))) && (e[f] = d[f]); } return e; }); e.exports = c; }, 66073: (e, t, i) => { e.exports = i(84486); }, 77813: (e) => { e.exports = function (e, t) { return e === t || (e != e && t != t); }; }, 63105: (e, t, i) => { var n = i(34963), r = i(80760), s = i(67206), o = i(1469); e.exports = function (e, t) { return (o(e) ? n : r)(e, s(t, 3)); }; }, 13311: (e, t, i) => { var n = i(67740)(i(30998)); e.exports = n; }, 30998: (e, t, i) => { var n = i(41848), r = i(67206), s = i(40554), o = Math.max; e.exports = function (e, t, i) { var a = null == e ? 0 : e.length; if (!a) return -1; var l = null == i ? 0 : s(i); return l < 0 && (l = o(a + l, 0)), n(e, r(t, 3), l); }; }, 85564: (e, t, i) => { var n = i(21078); e.exports = function (e) { return null != e && e.length ? n(e, 1) : []; }; }, 84486: (e, t, i) => { var n = i(77412), r = i(89881), s = i(54290), o = i(1469); e.exports = function (e, t) { return (o(e) ? n : r)(e, s(t)); }; }, 62620: (e, t, i) => { var n = i(28483), r = i(54290), s = i(81704); e.exports = function (e, t) { return null == e ? e : n(e, r(t), s); }; }, 27361: (e, t, i) => { var n = i(97786); e.exports = function (e, t, i) { var r = null == e ? void 0 : n(e, t); return void 0 === r ? i : r; }; }, 18721: (e, t, i) => { var n = i(78565), r = i(222); e.exports = function (e, t) { return null != e && r(e, t, n); }; }, 79095: (e, t, i) => { var n = i(13), r = i(222); e.exports = function (e, t) { return null != e && r(e, t, n); }; }, 6557: (e) => { e.exports = function (e) { return e; }; }, 35694: (e, t, i) => { var n = i(9454), r = i(37005), s = Object.prototype, o = s.hasOwnProperty, a = s.propertyIsEnumerable, l = n( (function () { return arguments; })() ) ? n : function (e) { return r(e) && o.call(e, 'callee') && !a.call(e, 'callee'); }; e.exports = l; }, 1469: (e) => { var t = Array.isArray; e.exports = t; }, 98612: (e, t, i) => { var n = i(23560), r = i(41780); e.exports = function (e) { return null != e && r(e.length) && !n(e); }; }, 29246: (e, t, i) => { var n = i(98612), r = i(37005); e.exports = function (e) { return r(e) && n(e); }; }, 44144: (e, t, i) => { e = i.nmd(e); var n = i(55639), r = i(95062), s = t && !t.nodeType && t, o = s && e && !e.nodeType && e, a = o && o.exports === s ? n.Buffer : void 0, l = (a ? a.isBuffer : void 0) || r; e.exports = l; }, 41609: (e, t, i) => { var n = i(280), r = i(64160), s = i(35694), o = i(1469), a = i(98612), l = i(44144), c = i(25726), d = i(36719), h = Object.prototype.hasOwnProperty; e.exports = function (e) { if (null == e) return !0; if ( a(e) && (o(e) || 'string' == typeof e || 'function' == typeof e.splice || l(e) || d(e) || s(e)) ) return !e.length; var t = r(e); if ('[object Map]' == t || '[object Set]' == t) return !e.size; if (c(e)) return !n(e).length; for (var i in e) if (h.call(e, i)) return !1; return !0; }; }, 23560: (e, t, i) => { var n = i(44239), r = i(13218); e.exports = function (e) { if (!r(e)) return !1; var t = n(e); return ( '[object Function]' == t || '[object GeneratorFunction]' == t || '[object AsyncFunction]' == t || '[object Proxy]' == t ); }; }, 41780: (e) => { e.exports = function (e) { return ( 'number' == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991 ); }; }, 56688: (e, t, i) => { var n = i(25588), r = i(7518), s = i(31167), o = s && s.isMap, a = o ? r(o) : n; e.exports = a; }, 13218: (e) => { e.exports = function (e) { var t = typeof e; return null != e && ('object' == t || 'function' == t); }; }, 37005: (e) => { e.exports = function (e) { return null != e && 'object' == typeof e; }; }, 68630: (e, t, i) => { var n = i(44239), r = i(85924), s = i(37005), o = Function.prototype, a = Object.prototype, l = o.toString, c = a.hasOwnProperty, d = l.call(Object); e.exports = function (e) { if (!s(e) || '[object Object]' != n(e)) return !1; var t = r(e); if (null === t) return !0; var i = c.call(t, 'constructor') && t.constructor; return 'function' == typeof i && i instanceof i && l.call(i) == d; }; }, 72928: (e, t, i) => { var n = i(29221), r = i(7518), s = i(31167), o = s && s.isSet, a = o ? r(o) : n; e.exports = a; }, 47037: (e, t, i) => { var n = i(44239), r = i(1469), s = i(37005); e.exports = function (e) { return ( 'string' == typeof e || (!r(e) && s(e) && '[object String]' == n(e)) ); }; }, 33448: (e, t, i) => { var n = i(44239), r = i(37005); e.exports = function (e) { return 'symbol' == typeof e || (r(e) && '[object Symbol]' == n(e)); }; }, 36719: (e, t, i) => { var n = i(38749), r = i(7518), s = i(31167), o = s && s.isTypedArray, a = o ? r(o) : n; e.exports = a; }, 52353: (e) => { e.exports = function (e) { return void 0 === e; }; }, 3674: (e, t, i) => { var n = i(14636), r = i(280), s = i(98612); e.exports = function (e) { return s(e) ? n(e) : r(e); }; }, 81704: (e, t, i) => { var n = i(14636), r = i(10313), s = i(98612); e.exports = function (e) { return s(e) ? n(e, !0) : r(e); }; }, 10928: (e) => { e.exports = function (e) { var t = null == e ? 0 : e.length; return t ? e[t - 1] : void 0; }; }, 35161: (e, t, i) => { var n = i(29932), r = i(67206), s = i(69199), o = i(1469); e.exports = function (e, t) { return (o(e) ? n : s)(e, r(t, 3)); }; }, 66604: (e, t, i) => { var n = i(89465), r = i(47816), s = i(67206); e.exports = function (e, t) { var i = {}; return ( (t = s(t, 3)), r(e, function (e, r, s) { n(i, r, t(e, r, s)); }), i ); }; }, 6162: (e, t, i) => { var n = i(56029), r = i(53325), s = i(6557); e.exports = function (e) { return e && e.length ? n(e, s, r) : void 0; }; }, 88306: (e, t, i) => { var n = i(83369); function r(e, t) { if ('function' != typeof e || (null != t && 'function' != typeof t)) throw new TypeError('Expected a function'); var i = function () { var n = arguments, r = t ? t.apply(this, n) : n[0], s = i.cache; if (s.has(r)) return s.get(r); var o = e.apply(this, n); return (i.cache = s.set(r, o) || s), o; }; return (i.cache = new (r.Cache || n)()), i; } (r.Cache = n), (e.exports = r); }, 82492: (e, t, i) => { var n = i(42980), r = i(21463)(function (e, t, i) { n(e, t, i); }); e.exports = r; }, 53632: (e, t, i) => { var n = i(56029), r = i(70433), s = i(6557); e.exports = function (e) { return e && e.length ? n(e, s, r) : void 0; }; }, 22762: (e, t, i) => { var n = i(56029), r = i(67206), s = i(70433); e.exports = function (e, t) { return e && e.length ? n(e, r(t, 2), s) : void 0; }; }, 50308: (e) => { e.exports = function () {}; }, 7771: (e, t, i) => { var n = i(55639); e.exports = function () { return n.Date.now(); }; }, 78718: (e, t, i) => { var n = i(25970), r = i(99021)(function (e, t) { return null == e ? {} : n(e, t); }); e.exports = r; }, 39601: (e, t, i) => { var n = i(40371), r = i(79152), s = i(15403), o = i(40327); e.exports = function (e) { return s(e) ? n(o(e)) : r(e); }; }, 96026: (e, t, i) => { var n = i(47445)(); e.exports = n; }, 54061: (e, t, i) => { var n = i(62663), r = i(89881), s = i(67206), o = i(10107), a = i(1469); e.exports = function (e, t, i) { var l = a(e) ? n : o, c = arguments.length < 3; return l(e, s(t, 4), i, c, r); }; }, 84238: (e, t, i) => { var n = i(280), r = i(64160), s = i(98612), o = i(47037), a = i(88016); e.exports = function (e) { if (null == e) return 0; if (s(e)) return o(e) ? a(e) : e.length; var t = r(e); return '[object Map]' == t || '[object Set]' == t ? e.size : n(e).length; }; }, 89734: (e, t, i) => { var n = i(21078), r = i(82689), s = i(18460), o = i(16612), a = s(function (e, t) { if (null == e) return []; var i = t.length; return ( i > 1 && o(e, t[0], t[1]) ? (t = []) : i > 2 && o(t[0], t[1], t[2]) && (t = [t[0]]), r(e, n(t, 1), []) ); }); e.exports = a; }, 70479: (e) => { e.exports = function () { return []; }; }, 95062: (e) => { e.exports = function () { return !1; }; }, 18601: (e, t, i) => { var n = i(14841); e.exports = function (e) { return e ? Infinity === (e = n(e)) || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0; }; }, 40554: (e, t, i) => { var n = i(18601); e.exports = function (e) { var t = n(e), i = t % 1; return t == t ? (i ? t - i : t) : 0; }; }, 14841: (e, t, i) => { var n = i(13218), r = i(33448), s = /^\s+|\s+$/g, o = /^[-+]0x[0-9a-f]+$/i, a = /^0b[01]+$/i, l = /^0o[0-7]+$/i, c = parseInt; e.exports = function (e) { if ('number' == typeof e) return e; if (r(e)) return NaN; if (n(e)) { var t = 'function' == typeof e.valueOf ? e.valueOf() : e; e = n(t) ? t + '' : t; } if ('string' != typeof e) return 0 === e ? e : +e; e = e.replace(s, ''); var i = a.test(e); return i || l.test(e) ? c(e.slice(2), i ? 2 : 8) : o.test(e) ? NaN : +e; }; }, 59881: (e, t, i) => { var n = i(98363), r = i(81704); e.exports = function (e) { return n(e, r(e)); }; }, 79833: (e, t, i) => { var n = i(80531); e.exports = function (e) { return null == e ? '' : n(e); }; }, 68718: (e, t, i) => { var n = i(77412), r = i(3118), s = i(47816), o = i(67206), a = i(85924), l = i(1469), c = i(44144), d = i(23560), h = i(13218), u = i(36719); e.exports = function (e, t, i) { var g = l(e), f = g || c(e) || u(e); if (((t = o(t, 4)), null == i)) { var p = e && e.constructor; i = f ? (g ? new p() : []) : h(e) && d(p) ? r(a(e)) : {}; } return ( (f ? n : s)(e, function (e, n, r) { return t(i, e, n, r); }), i ); }; }, 93386: (e, t, i) => { var n = i(21078), r = i(18460), s = i(45652), o = i(29246), a = r(function (e) { return s(n(e, 1, o, !0)); }); e.exports = a; }, 73955: (e, t, i) => { var n = i(79833), r = 0; e.exports = function (e) { var t = ++r; return n(e) + t; }; }, 52628: (e, t, i) => { var n = i(47415), r = i(3674); e.exports = function (e) { return null == e ? [] : n(e, r(e)); }; }, 7287: (e, t, i) => { var n = i(34865), r = i(1757); e.exports = function (e, t) { return r(e || [], t || [], n); }; }, 21140: function (e, t, i) { var n; 'undefined' != typeof self && self, (n = function () { return (function (e) { var t = {}; function i(n) { if (t[n]) return t[n].exports; var r = (t[n] = { i: n, l: !1, exports: {} }); return ( e[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports ); } return ( (i.m = e), (i.c = t), (i.d = function (e, t, n) { i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n }); }), (i.r = function (e) { 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module', }), Object.defineProperty(e, '__esModule', { value: !0 }); }), (i.t = function (e, t) { if ((1 & t && (e = i(e)), 8 & t)) return e; if (4 & t && 'object' == typeof e && e && e.__esModule) return e; var n = Object.create(null); if ( (i.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: e, }), 2 & t && 'string' != typeof e) ) for (var r in e) i.d( n, r, function (t) { return e[t]; }.bind(null, r) ); return n; }), (i.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return i.d(t, 'a', t), t; }), (i.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), (i.p = ''), i((i.s = './src/mermaid.js')) ); })({ './node_modules/node-libs-browser/mock/empty.js': function ( e, t ) {}, './node_modules/path-browserify/index.js': function (e, t, i) { (function (e) { function i(e, t) { for (var i = 0, n = e.length - 1; n >= 0; n--) { var r = e[n]; '.' === r ? e.splice(n, 1) : '..' === r ? (e.splice(n, 1), i++) : i && (e.splice(n, 1), i--); } if (t) for (; i--; i) e.unshift('..'); return e; } function n(e, t) { if (e.filter) return e.filter(t); for (var i = [], n = 0; n < e.length; n++) t(e[n], n, e) && i.push(e[n]); return i; } (t.resolve = function () { for ( var t = '', r = !1, s = arguments.length - 1; s >= -1 && !r; s-- ) { var o = s >= 0 ? arguments[s] : e.cwd(); if ('string' != typeof o) throw new TypeError( 'Arguments to path.resolve must be strings' ); o && ((t = o + '/' + t), (r = '/' === o.charAt(0))); } return ( (r ? '/' : '') + (t = i( n(t.split('/'), function (e) { return !!e; }), !r ).join('/')) || '.' ); }), (t.normalize = function (e) { var s = t.isAbsolute(e), o = '/' === r(e, -1); return ( (e = i( n(e.split('/'), function (e) { return !!e; }), !s ).join('/')) || s || (e = '.'), e && o && (e += '/'), (s ? '/' : '') + e ); }), (t.isAbsolute = function (e) { return '/' === e.charAt(0); }), (t.join = function () { var e = Array.prototype.slice.call(arguments, 0); return t.normalize( n(e, function (e, t) { if ('string' != typeof e) throw new TypeError( 'Arguments to path.join must be strings' ); return e; }).join('/') ); }), (t.relative = function (e, i) { function n(e) { for (var t = 0; t < e.length && '' === e[t]; t++); for (var i = e.length - 1; i >= 0 && '' === e[i]; i--); return t > i ? [] : e.slice(t, i - t + 1); } (e = t.resolve(e).substr(1)), (i = t.resolve(i).substr(1)); for ( var r = n(e.split('/')), s = n(i.split('/')), o = Math.min(r.length, s.length), a = o, l = 0; l < o; l++ ) if (r[l] !== s[l]) { a = l; break; } var c = []; for (l = a; l < r.length; l++) c.push('..'); return (c = c.concat(s.slice(a))).join('/'); }), (t.sep = '/'), (t.delimiter = ':'), (t.dirname = function (e) { if (('string' != typeof e && (e += ''), 0 === e.length)) return '.'; for ( var t = e.charCodeAt(0), i = 47 === t, n = -1, r = !0, s = e.length - 1; s >= 1; --s ) if (47 === (t = e.charCodeAt(s))) { if (!r) { n = s; break; } } else r = !1; return -1 === n ? i ? '/' : '.' : i && 1 === n ? '/' : e.slice(0, n); }), (t.basename = function (e, t) { var i = (function (e) { 'string' != typeof e && (e += ''); var t, i = 0, n = -1, r = !0; for (t = e.length - 1; t >= 0; --t) if (47 === e.charCodeAt(t)) { if (!r) { i = t + 1; break; } } else -1 === n && ((r = !1), (n = t + 1)); return -1 === n ? '' : e.slice(i, n); })(e); return ( t && i.substr(-1 * t.length) === t && (i = i.substr(0, i.length - t.length)), i ); }), (t.extname = function (e) { 'string' != typeof e && (e += ''); for ( var t = -1, i = 0, n = -1, r = !0, s = 0, o = e.length - 1; o >= 0; --o ) { var a = e.charCodeAt(o); if (47 !== a) -1 === n && ((r = !1), (n = o + 1)), 46 === a ? -1 === t ? (t = o) : 1 !== s && (s = 1) : -1 !== t && (s = -1); else if (!r) { i = o + 1; break; } } return -1 === t || -1 === n || 0 === s || (1 === s && t === n - 1 && t === i + 1) ? '' : e.slice(t, n); }); var r = function (e, t, i) { return e.substr(t, i); }; }.call(this, i('./node_modules/process/browser.js'))); }, './node_modules/process/browser.js': function (e, t) { var i, n, r = (e.exports = {}); function s() { throw new Error('setTimeout has not been defined'); } function o() { throw new Error('clearTimeout has not been defined'); } function a(e) { if (i === setTimeout) return setTimeout(e, 0); if ((i === s || !i) && setTimeout) return (i = setTimeout), setTimeout(e, 0); try { return i(e, 0); } catch (t) { try { return i.call(null, e, 0); } catch (t) { return i.call(this, e, 0); } } } !(function () { try { i = 'function' == typeof setTimeout ? setTimeout : s; } catch (e) { i = s; } try { n = 'function' == typeof clearTimeout ? clearTimeout : o; } catch (e) { n = o; } })(); var l, c = [], d = !1, h = -1; function u() { d && l && ((d = !1), l.length ? (c = l.concat(c)) : (h = -1), c.length && g()); } function g() { if (!d) { var e = a(u); d = !0; for (var t = c.length; t; ) { for (l = c, c = []; ++h < t; ) l && l[h].run(); (h = -1), (t = c.length); } (l = null), (d = !1), (function (e) { if (n === clearTimeout) return clearTimeout(e); if ((n === o || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e); try { n(e); } catch (t) { try { return n.call(null, e); } catch (t) { return n.call(this, e); } } })(e); } } function f(e, t) { (this.fun = e), (this.array = t); } function p() {} (r.nextTick = function (e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var i = 1; i < arguments.length; i++) t[i - 1] = arguments[i]; c.push(new f(e, t)), 1 !== c.length || d || a(g); }), (f.prototype.run = function () { this.fun.apply(null, this.array); }), (r.title = 'browser'), (r.browser = !0), (r.env = {}), (r.argv = []), (r.version = ''), (r.versions = {}), (r.on = p), (r.addListener = p), (r.once = p), (r.off = p), (r.removeListener = p), (r.removeAllListeners = p), (r.emit = p), (r.prependListener = p), (r.prependOnceListener = p), (r.listeners = function (e) { return []; }), (r.binding = function (e) { throw new Error('process.binding is not supported'); }), (r.cwd = function () { return '/'; }), (r.chdir = function (e) { throw new Error('process.chdir is not supported'); }), (r.umask = function () { return 0; }); }, './node_modules/webpack/buildin/module.js': function (e, t) { e.exports = function (e) { return ( e.webpackPolyfill || ((e.deprecate = function () {}), (e.paths = []), e.children || (e.children = []), Object.defineProperty(e, 'loaded', { enumerable: !0, get: function () { return e.l; }, }), Object.defineProperty(e, 'id', { enumerable: !0, get: function () { return e.i; }, }), (e.webpackPolyfill = 1)), e ); }; }, './package.json': function (e) { e.exports = JSON.parse( '{"name":"mermaid","version":"8.9.3","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --colors","build:production":"yarn build:development -p --config webpack.config.prod.babel.js","build":"yarn build:development && yarn build:production","postbuild":"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","entity-decode":"^2.0.2","graphlib":"^2.1.7","he":"^1.2.0","khroma":"^1.1.0","minify":"^4.1.1","moment-mini":"^2.22.1","stylis":"^3.5.2"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.8.4","@babel/register":"^7.0.0","@percy/cypress":"*","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"4.0.1","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^5.0.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}' ); }, './src/config.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'defaultConfig', function () { return c; }), i.d(t, 'updateCurrentConfig', function () { return g; }), i.d(t, 'setSiteConfig', function () { return f; }), i.d(t, 'saveConfigFromInitilize', function () { return p; }), i.d(t, 'updateSiteConfig', function () { return m; }), i.d(t, 'getSiteConfig', function () { return _; }), i.d(t, 'setConfig', function () { return b; }), i.d(t, 'getConfig', function () { return v; }), i.d(t, 'sanitize', function () { return y; }), i.d(t, 'addDirective', function () { return w; }), i.d(t, 'reset', function () { return C; }); var n = i('./src/utils.js'), r = i('./src/logger.js'), s = i('./src/themes/index.js'), o = i('./src/defaultConfig.js'); function a(e) { return (a = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } var l, c = Object.freeze(o.default), d = Object(n.assignWithDepth)({}, c), h = [], u = Object(n.assignWithDepth)({}, c), g = function (e, t) { for ( var i = Object(n.assignWithDepth)({}, e), r = {}, o = 0; o < t.length; o++ ) { var a = t[o]; y(a), (r = Object(n.assignWithDepth)(r, a)); } if (((i = Object(n.assignWithDepth)(i, r)), r.theme)) { var c = Object(n.assignWithDepth)({}, l), d = Object(n.assignWithDepth)( c.themeVariables || {}, r.themeVariables ); i.themeVariables = s.default[i.theme].getThemeVariables( d ); } return (u = i), i; }, f = function (e) { return ( (d = Object(n.assignWithDepth)({}, c)), (d = Object(n.assignWithDepth)(d, e)), e.theme && (d.themeVariables = s.default[ e.theme ].getThemeVariables(e.themeVariables)), (u = g(d, h)), d ); }, p = function (e) { l = Object(n.assignWithDepth)({}, e); }, m = function (e) { return (d = Object(n.assignWithDepth)(d, e)), g(d, h), d; }, _ = function () { return Object(n.assignWithDepth)({}, d); }, b = function (e) { return Object(n.assignWithDepth)(u, e), v(); }, v = function () { return Object(n.assignWithDepth)({}, u); }, y = function e(t) { Object.keys(d.secure).forEach(function (e) { void 0 !== t[d.secure[e]] && (r.log.debug( 'Denied attempt to modify a secure key '.concat( d.secure[e] ), t[d.secure[e]] ), delete t[d.secure[e]]); }), Object.keys(t).forEach(function (e) { 0 === e.indexOf('__') && delete t[e]; }), Object.keys(t).forEach(function (i) { 'string' == typeof t[i] && (t[i].indexOf('<') > -1 || t[i].indexOf('>') > -1 || t[i].indexOf('url(data:') > -1) && delete t[i], 'object' === a(t[i]) && e(t[i]); }); }, w = function (e) { e.fontFamily && ((e.themeVariables && e.themeVariables.fontFamily) || (e.themeVariables = { fontFamily: e.fontFamily })), h.push(e), g(d, h); }, C = function () { g(d, (h = [])); }; }, './src/dagre-wrapper/clusters.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'insertCluster', function () { return d; }), i.d(t, 'getClusterTitleWidth', function () { return h; }), i.d(t, 'clear', function () { return u; }), i.d(t, 'positionCluster', function () { return g; }); var n = i('./src/dagre-wrapper/intersect/intersect-rect.js'), r = i('./src/logger.js'), s = i('./src/dagre-wrapper/createLabel.js'), o = i('d3'), a = i('./src/config.js'), l = { rect: function (e, t) { r.log.trace('Creating subgraph rect for ', t.id, t); var i = e .insert('g') .attr( 'class', 'cluster' + (t.class ? ' ' + t.class : '') ) .attr('id', t.id), l = i.insert('rect', ':first-child'), c = i.insert('g').attr('class', 'cluster-label'), d = c .node() .appendChild( Object(s.default)( t.labelText, t.labelStyle, void 0, !0 ) ), h = d.getBBox(); if (Object(a.getConfig)().flowchart.htmlLabels) { var u = d.children[0], g = Object(o.select)(d); (h = u.getBoundingClientRect()), g.attr('width', h.width), g.attr('height', h.height); } var f = 0 * t.padding, p = f / 2; r.log.trace('Data ', t, JSON.stringify(t)), l .attr('style', t.style) .attr('rx', t.rx) .attr('ry', t.ry) .attr('x', t.x - t.width / 2 - p) .attr('y', t.y - t.height / 2 - p) .attr('width', t.width + f) .attr('height', t.height + f), c.attr( 'transform', 'translate(' + (t.x - h.width / 2) + ', ' + (t.y - t.height / 2 + t.padding / 3) + ')' ); var m = l.node().getBBox(); return ( (t.width = m.width), (t.height = m.height), (t.intersect = function (e) { return Object(n.default)(t, e); }), i ); }, roundedWithTitle: function (e, t) { var i = e .insert('g') .attr('class', t.classes) .attr('id', t.id), r = i.insert('rect', ':first-child'), l = i.insert('g').attr('class', 'cluster-label'), c = i.append('rect'), d = l .node() .appendChild( Object(s.default)( t.labelText, t.labelStyle, void 0, !0 ) ), h = d.getBBox(); if (Object(a.getConfig)().flowchart.htmlLabels) { var u = d.children[0], g = Object(o.select)(d); (h = u.getBoundingClientRect()), g.attr('width', h.width), g.attr('height', h.height); } h = d.getBBox(); var f = 0 * t.padding, p = f / 2; r .attr('class', 'outer') .attr('x', t.x - t.width / 2 - p) .attr('y', t.y - t.height / 2 - p) .attr('width', t.width + f) .attr('height', t.height + f), c .attr('class', 'inner') .attr('x', t.x - t.width / 2 - p) .attr('y', t.y - t.height / 2 - p + h.height - 1) .attr('width', t.width + f) .attr('height', t.height + f - h.height - 3), l.attr( 'transform', 'translate(' + (t.x - h.width / 2) + ', ' + (t.y - t.height / 2 - t.padding / 3 + (Object(a.getConfig)().flowchart.htmlLabels ? 5 : 3)) + ')' ); var m = r.node().getBBox(); return ( (t.width = m.width), (t.height = m.height), (t.intersect = function (e) { return Object(n.default)(t, e); }), i ); }, noteGroup: function (e, t) { var i = e .insert('g') .attr('class', 'note-cluster') .attr('id', t.id), r = i.insert('rect', ':first-child'), s = 0 * t.padding, o = s / 2; r.attr('rx', t.rx) .attr('ry', t.ry) .attr('x', t.x - t.width / 2 - o) .attr('y', t.y - t.height / 2 - o) .attr('width', t.width + s) .attr('height', t.height + s) .attr('fill', 'none'); var a = r.node().getBBox(); return ( (t.width = a.width), (t.height = a.height), (t.intersect = function (e) { return Object(n.default)(t, e); }), i ); }, divider: function (e, t) { var i = e .insert('g') .attr('class', t.classes) .attr('id', t.id), r = i.insert('rect', ':first-child'), s = 0 * t.padding, o = s / 2; r.attr('class', 'divider') .attr('x', t.x - t.width / 2 - o) .attr('y', t.y - t.height / 2) .attr('width', t.width + s) .attr('height', t.height + s); var a = r.node().getBBox(); return ( (t.width = a.width), (t.height = a.height), (t.intersect = function (e) { return Object(n.default)(t, e); }), i ); }, }, c = {}, d = function (e, t) { r.log.trace('Inserting cluster'); var i = t.shape || 'rect'; c[t.id] = l[i](e, t); }, h = function (e, t) { var i = Object(s.default)( t.labelText, t.labelStyle, void 0, !0 ); e.node().appendChild(i); var n = i.getBBox().width; return e.node().removeChild(i), n; }, u = function () { c = {}; }, g = function (e) { r.log.info('Position cluster'), c[e.id].attr( 'transform', 'translate(' + e.x + ', ' + e.y + ')' ); }; }, './src/dagre-wrapper/createLabel.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('d3'), r = i('./src/logger.js'), s = i('./src/config.js'); t.default = function (e, t, i, o) { var a, l, c, d, h, u, g = e || ''; if (Object(s.getConfig)().flowchart.htmlLabels) return ( (g = g.replace(/\\n|\n/g, '
')), r.log.info('vertexText' + g), (a = { isNode: o, label: g.replace(/fa[lrsb]?:fa-[\w-]+/g, function (e) { return "" ); }), labelStyle: t.replace('fill:', 'color:'), }), (c = Object(n.select)( document.createElementNS( 'http://www.w3.org/2000/svg', 'foreignObject' ) )), (d = c.append('xhtml:div')), (h = a.label), (u = a.isNode ? 'nodeLabel' : 'edgeLabel'), d.html( '' + h + '' ), (l = a.labelStyle) && d.attr('style', l), d.style('display', 'inline-block'), d.style('white-space', 'nowrap'), d.attr('xmlns', 'http://www.w3.org/1999/xhtml'), c.node() ); var f = document.createElementNS( 'http://www.w3.org/2000/svg', 'text' ); f.setAttribute('style', t.replace('color:', 'fill:')); var p = []; p = 'string' == typeof g ? g.split(/\\n|\n|/gi) : Array.isArray(g) ? g : []; for (var m = 0; m < p.length; m++) { var _ = document.createElementNS( 'http://www.w3.org/2000/svg', 'tspan' ); _.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve' ), _.setAttribute('dy', '1em'), _.setAttribute('x', '0'), i ? _.setAttribute('class', 'title-row') : _.setAttribute('class', 'row'), (_.textContent = p[m].trim()), f.appendChild(_); } return f; }; }, './src/dagre-wrapper/edges.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'clear', function () { return d; }), i.d(t, 'insertEdgeLabel', function () { return h; }), i.d(t, 'positionEdgeLabel', function () { return u; }), i.d(t, 'intersection', function () { return f; }), i.d(t, 'insertEdge', function () { return p; }); var n = i('./src/logger.js'), r = i('./src/dagre-wrapper/createLabel.js'), s = i('d3'), o = i('./src/config.js'), a = i('./src/utils.js'), l = {}, c = {}, d = function () { (l = {}), (c = {}); }, h = function (e, t) { var i = Object(r.default)(t.label, t.labelStyle), n = e.insert('g').attr('class', 'edgeLabel'), a = n.insert('g').attr('class', 'label'); a.node().appendChild(i); var d = i.getBBox(); if (Object(o.getConfig)().flowchart.htmlLabels) { var h = i.children[0], u = Object(s.select)(i); (d = h.getBoundingClientRect()), u.attr('width', d.width), u.attr('height', d.height); } if ( (a.attr( 'transform', 'translate(' + -d.width / 2 + ', ' + -d.height / 2 + ')' ), (l[t.id] = n), (t.width = d.width), (t.height = d.height), t.startLabelLeft) ) { var g = Object(r.default)(t.startLabelLeft, t.labelStyle), f = e.insert('g').attr('class', 'edgeTerminals'), p = f.insert('g').attr('class', 'inner'); p.node().appendChild(g); var m = g.getBBox(); p.attr( 'transform', 'translate(' + -m.width / 2 + ', ' + -m.height / 2 + ')' ), c[t.id] || (c[t.id] = {}), (c[t.id].startLeft = f); } if (t.startLabelRight) { var _ = Object(r.default)( t.startLabelRight, t.labelStyle ), b = e.insert('g').attr('class', 'edgeTerminals'), v = b.insert('g').attr('class', 'inner'); b.node().appendChild(_), v.node().appendChild(_); var y = _.getBBox(); v.attr( 'transform', 'translate(' + -y.width / 2 + ', ' + -y.height / 2 + ')' ), c[t.id] || (c[t.id] = {}), (c[t.id].startRight = b); } if (t.endLabelLeft) { var w = Object(r.default)(t.endLabelLeft, t.labelStyle), C = e.insert('g').attr('class', 'edgeTerminals'), S = C.insert('g').attr('class', 'inner'); S.node().appendChild(w); var k = w.getBBox(); S.attr( 'transform', 'translate(' + -k.width / 2 + ', ' + -k.height / 2 + ')' ), C.node().appendChild(w), c[t.id] || (c[t.id] = {}), (c[t.id].endLeft = C); } if (t.endLabelRight) { var x = Object(r.default)(t.endLabelRight, t.labelStyle), L = e.insert('g').attr('class', 'edgeTerminals'), M = L.insert('g').attr('class', 'inner'); M.node().appendChild(x); var D = x.getBBox(); M.attr( 'transform', 'translate(' + -D.width / 2 + ', ' + -D.height / 2 + ')' ), L.node().appendChild(x), c[t.id] || (c[t.id] = {}), (c[t.id].endRight = L); } }, u = function (e, t) { n.log.info('Moving label', e.id, e.label, l[e.id]); var i = t.updatedPath ? t.updatedPath : t.originalPath; if (e.label) { var r = l[e.id], s = e.x, o = e.y; if (i) { var d = a.default.calcLabelPosition(i); n.log.info( 'Moving label from (', s, ',', o, ') to (', d.x, ',', d.y, ')' ); } r.attr('transform', 'translate(' + s + ', ' + o + ')'); } if (e.startLabelLeft) { var h = c[e.id].startLeft, u = e.x, g = e.y; if (i) { var f = a.default.calcTerminalLabelPosition( 0, 'start_left', i ); (u = f.x), (g = f.y); } h.attr('transform', 'translate(' + u + ', ' + g + ')'); } if (e.startLabelRight) { var p = c[e.id].startRight, m = e.x, _ = e.y; if (i) { var b = a.default.calcTerminalLabelPosition( 0, 'start_right', i ); (m = b.x), (_ = b.y); } p.attr('transform', 'translate(' + m + ', ' + _ + ')'); } if (e.endLabelLeft) { var v = c[e.id].endLeft, y = e.x, w = e.y; if (i) { var C = a.default.calcTerminalLabelPosition( 0, 'end_left', i ); (y = C.x), (w = C.y); } v.attr('transform', 'translate(' + y + ', ' + w + ')'); } if (e.endLabelRight) { var S = c[e.id].endRight, k = e.x, x = e.y; if (i) { var L = a.default.calcTerminalLabelPosition( 0, 'end_right', i ); (k = L.x), (x = L.y); } S.attr('transform', 'translate(' + k + ', ' + x + ')'); } }, g = function (e, t) { var i = e.x, n = e.y, r = Math.abs(t.x - i), s = Math.abs(t.y - n), o = e.width / 2, a = e.height / 2; return r >= o || s >= a; }, f = function (e, t, i) { n.log.warn('intersection calc o:', t, ' i:', i, e); var r = e.x, s = e.y, o = Math.abs(r - i.x), a = e.width / 2, l = i.x < t.x ? a - o : a + o, c = e.height / 2, d = r - a, h = r + a, u = s - c, g = s + c; if (t.x === d || t.x === h || t.y === u || t.y === g) return n.log.warn('calc equals on edge'), t; var f = Math.abs(t.y - i.y), p = Math.abs(t.x - i.x); if (Math.abs(s - t.y) * a > Math.abs(r - t.x) * c) { var m = i.y < t.y ? t.y - c - s : s - c - t.y; l = (p * m) / f; var _ = { x: i.x < t.x ? i.x + p - l : i.x - l, y: i.y < t.y ? i.y + f - m : i.y - m, }; return ( n.log.warn( 'topp/bott calc, Q ' .concat(f, ', q ') .concat(m, ', R ') .concat(p, ', r ') .concat(l), _ ), _ ); } var b = (b = (f * (l = i.x < t.x ? t.x - a - r : r - a - t.x)) / p); return ( n.log.warn( 'sides calc, Q ' .concat(f, ', q ') .concat(b, ', R ') .concat(p, ', r ') .concat(l), { x: i.x < t.x ? i.x + p - l : i.x + o - a, y: i.y < t.y ? i.y + b : i.y - b, } ), { x: i.x < t.x ? i.x + p - l : i.x + o - a, y: i.y < t.y ? i.y + b : i.y - b, } ); }, p = function (e, t, i, r, a, l) { var c = i.points, d = !1, h = l.node(t.v), u = l.node(t.w); if ( (u.intersect && h.intersect && ((c = c.slice(1, i.points.length - 1)).unshift( h.intersect(c[0]) ), n.log.info( 'Last point', c[c.length - 1], u, u.intersect(c[c.length - 1]) ), c.push(u.intersect(c[c.length - 1]))), i.toCluster) ) { var p; n.log.trace('edge', i), n.log.trace('to cluster', r[i.toCluster]), (c = []); var m = !1; i.points.forEach(function (e) { var t = r[i.toCluster].node; if (g(t, e) || m) m || c.push(e); else { n.log.trace('inside', i.toCluster, e, p); var s = f(t, p, e), o = !1; c.forEach(function (e) { o = o || (e.x === s.x && e.y === s.y); }), c.find(function (e) { return e.x === s.x && e.y === s.y; }) ? n.log.warn('no intersect', s, c) : c.push(s), (m = !0); } p = e; }), (d = !0); } if (i.fromCluster) { n.log.trace('edge', i), n.log.warn('from cluster', r[i.fromCluster]); for ( var _, b = [], v = !1, y = c.length - 1; y >= 0; y-- ) { var w = c[y], C = r[i.fromCluster].node; if (g(C, w) || v) n.log.trace('Outside point', w), v || b.unshift(w); else { n.log.warn('inside', i.fromCluster, w, C); var S = f(C, _, w); b.unshift(S), (v = !0); } _ = w; } (c = b), (d = !0); } var k, x = c.filter(function (e) { return !Number.isNaN(e.y); }); k = (('graph' === a || 'flowchart' === a) && i.curve) || s.curveBasis; var L, M = Object(s.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }) .curve(k); switch (i.thickness) { case 'normal': L = 'edge-thickness-normal'; break; case 'thick': L = 'edge-thickness-thick'; break; default: L = ''; } switch (i.pattern) { case 'solid': L += ' edge-pattern-solid'; break; case 'dotted': L += ' edge-pattern-dotted'; break; case 'dashed': L += ' edge-pattern-dashed'; } var D = e .append('path') .attr('d', M(x)) .attr('id', i.id) .attr( 'class', ' ' + L + (i.classes ? ' ' + i.classes : '') ) .attr('style', i.style), N = ''; switch ( (Object(o.getConfig)().state.arrowMarkerAbsolute && (N = (N = (N = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace( /\(/g, '\\(' )).replace(/\)/g, '\\)')), n.log.info('arrowTypeStart', i.arrowTypeStart), n.log.info('arrowTypeEnd', i.arrowTypeEnd), i.arrowTypeStart) ) { case 'arrow_cross': D.attr( 'marker-start', 'url(' + N + '#' + a + '-crossStart)' ); break; case 'arrow_point': D.attr( 'marker-start', 'url(' + N + '#' + a + '-pointStart)' ); break; case 'arrow_barb': D.attr( 'marker-start', 'url(' + N + '#' + a + '-barbStart)' ); break; case 'arrow_circle': D.attr( 'marker-start', 'url(' + N + '#' + a + '-circleStart)' ); break; case 'aggregation': D.attr( 'marker-start', 'url(' + N + '#' + a + '-aggregationStart)' ); break; case 'extension': D.attr( 'marker-start', 'url(' + N + '#' + a + '-extensionStart)' ); break; case 'composition': D.attr( 'marker-start', 'url(' + N + '#' + a + '-compositionStart)' ); break; case 'dependency': D.attr( 'marker-start', 'url(' + N + '#' + a + '-dependencyStart)' ); } switch (i.arrowTypeEnd) { case 'arrow_cross': D.attr( 'marker-end', 'url(' + N + '#' + a + '-crossEnd)' ); break; case 'arrow_point': D.attr( 'marker-end', 'url(' + N + '#' + a + '-pointEnd)' ); break; case 'arrow_barb': D.attr( 'marker-end', 'url(' + N + '#' + a + '-barbEnd)' ); break; case 'arrow_circle': D.attr( 'marker-end', 'url(' + N + '#' + a + '-circleEnd)' ); break; case 'aggregation': D.attr( 'marker-end', 'url(' + N + '#' + a + '-aggregationEnd)' ); break; case 'extension': D.attr( 'marker-end', 'url(' + N + '#' + a + '-extensionEnd)' ); break; case 'composition': D.attr( 'marker-end', 'url(' + N + '#' + a + '-compositionEnd)' ); break; case 'dependency': D.attr( 'marker-end', 'url(' + N + '#' + a + '-dependencyEnd)' ); } var E = {}; return ( d && (E.updatedPath = c), (E.originalPath = i.points), E ); }; }, './src/dagre-wrapper/index.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'render', function () { return p; }); var n = i('dagre'), r = i.n(n), s = i('graphlib'), o = i.n(s), a = i('./src/dagre-wrapper/markers.js'), l = i('./src/dagre-wrapper/shapes/util.js'), c = i('./src/dagre-wrapper/mermaid-graphlib.js'), d = i('./src/dagre-wrapper/nodes.js'), h = i('./src/dagre-wrapper/clusters.js'), u = i('./src/dagre-wrapper/edges.js'), g = i('./src/logger.js'), f = function e(t, i, n, s) { g.log.info( 'Graph in recursive render: XXX', o.a.json.write(i), s ); var a = i.graph().rankdir; g.log.warn('Dir in recursive render - dir:', a); var f = t.insert('g').attr('class', 'root'); i.nodes() ? g.log.info('Recursive render XXX', i.nodes()) : g.log.info('No nodes found for', i), i.edges().length > 0 && g.log.info('Recursive edges', i.edge(i.edges()[0])); var p = f.insert('g').attr('class', 'clusters'), m = f.insert('g').attr('class', 'edgePaths'), _ = f.insert('g').attr('class', 'edgeLabels'), b = f.insert('g').attr('class', 'nodes'); return ( i.nodes().forEach(function (t) { var r = i.node(t); if (void 0 !== s) { var o = JSON.parse(JSON.stringify(s.clusterData)); g.log.info( 'Setting data for cluster XXX (', t, ') ', o, s ), i.setNode(s.id, o), i.parent(t) || (g.log.warn('Setting parent', t, s.id), i.setParent(t, s.id, o)); } if ( (g.log.info( '(Insert) Node XXX' + t + ': ' + JSON.stringify(i.node(t)) ), r && r.clusterNode) ) { g.log.info('Cluster identified', t, r, i.node(t)); var h = e(b, r.graph, n, i.node(t)); Object(l.updateNodeBounds)(r, h), Object(d.setNodeElem)(h, r), g.log.warn('Recursive render complete', h, r); } else i.children(t).length > 0 ? (g.log.info('Cluster - the non recursive path XXX', t, r.id, r, i), g.log.info(Object(c.findNonClusterChild)(r.id, i)), (c.clusterDb[r.id] = { id: Object(c.findNonClusterChild)(r.id, i), node: r })) : (g.log.info('Node - the non recursive path', t, r.id, r), Object(d.insertNode)(b, i.node(t), a)); }), i.edges().forEach(function (e) { var t = i.edge(e.v, e.w, e.name); g.log.info( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e) ), g.log.info( 'Edge ' + e.v + ' -> ' + e.w + ': ', e, ' ', JSON.stringify(i.edge(e)) ), g.log.info( 'Fix', c.clusterDb, 'ids:', e.v, e.w, 'Translateing: ', c.clusterDb[e.v], c.clusterDb[e.w] ), Object(u.insertEdgeLabel)(_, t); }), i.edges().forEach(function (e) { g.log.info( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(e) ); }), g.log.info( '#############################################' ), g.log.info( '### Layout ###' ), g.log.info( '#############################################' ), g.log.info(i), r.a.layout(i), g.log.info('Graph after layout:', o.a.json.write(i)), Object(c.sortNodesByHierarchy)(i).forEach(function (e) { var t = i.node(e); g.log.info( 'Position ' + e + ': ' + JSON.stringify(i.node(e)) ), g.log.info( 'Position ' + e + ': (' + t.x, ',' + t.y, ') width: ', t.width, ' height: ', t.height ), t && t.clusterNode ? Object(d.positionNode)(t) : i.children(e).length > 0 ? (Object(h.insertCluster)(p, t), (c.clusterDb[t.id].node = t)) : Object(d.positionNode)(t); }), i.edges().forEach(function (e) { var t = i.edge(e); g.log.info( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(t), t ); var r = Object(u.insertEdge)( m, e, t, c.clusterDb, n, i ); Object(u.positionEdgeLabel)(t, r); }), f ); }, p = function (e, t, i, n, r) { Object(a.default)(e, i, n, r), Object(d.clear)(), Object(u.clear)(), Object(h.clear)(), Object(c.clear)(), g.log.warn('Graph at first:', o.a.json.write(t)), Object(c.adjustClustersAndEdges)(t), g.log.warn('Graph after:', o.a.json.write(t)), f(e, t, n); }; }, './src/dagre-wrapper/intersect/index.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('./src/dagre-wrapper/intersect/intersect-node.js'), r = i.n(n), s = i('./src/dagre-wrapper/intersect/intersect-circle.js'), o = i('./src/dagre-wrapper/intersect/intersect-ellipse.js'), a = i('./src/dagre-wrapper/intersect/intersect-polygon.js'), l = i('./src/dagre-wrapper/intersect/intersect-rect.js'); t.default = { node: r.a, circle: s.default, ellipse: o.default, polygon: a.default, rect: l.default, }; }, './src/dagre-wrapper/intersect/intersect-circle.js': function ( e, t, i ) { 'use strict'; i.r(t); var n = i('./src/dagre-wrapper/intersect/intersect-ellipse.js'); t.default = function (e, t, i) { return Object(n.default)(e, t, t, i); }; }, './src/dagre-wrapper/intersect/intersect-ellipse.js': function ( e, t, i ) { 'use strict'; i.r(t), (t.default = function (e, t, i, n) { var r = e.x, s = e.y, o = r - n.x, a = s - n.y, l = Math.sqrt(t * t * a * a + i * i * o * o), c = Math.abs((t * i * o) / l); n.x < r && (c = -c); var d = Math.abs((t * i * a) / l); return n.y < s && (d = -d), { x: r + c, y: s + d }; }); }, './src/dagre-wrapper/intersect/intersect-line.js': function ( e, t, i ) { 'use strict'; function n(e, t) { return e * t > 0; } i.r(t), (t.default = function (e, t, i, r) { var s, o, a, l, c, d, h, u, g, f, p, m, _; if ( ((s = t.y - e.y), (a = e.x - t.x), (c = t.x * e.y - e.x * t.y), (g = s * i.x + a * i.y + c), (f = s * r.x + a * r.y + c), !( (0 !== g && 0 !== f && n(g, f)) || ((o = r.y - i.y), (l = i.x - r.x), (d = r.x * i.y - i.x * r.y), (h = o * e.x + l * e.y + d), (u = o * t.x + l * t.y + d), (0 !== h && 0 !== u && n(h, u)) || 0 == (p = s * l - o * a)) )) ) return ( (m = Math.abs(p / 2)), { x: (_ = a * d - l * c) < 0 ? (_ - m) / p : (_ + m) / p, y: (_ = o * c - s * d) < 0 ? (_ - m) / p : (_ + m) / p, } ); }); }, './src/dagre-wrapper/intersect/intersect-node.js': function ( e, t ) { e.exports = function (e, t) { return e.intersect(t); }; }, './src/dagre-wrapper/intersect/intersect-polygon.js': function ( e, t, i ) { 'use strict'; i.r(t); var n = i('./src/dagre-wrapper/intersect/intersect-line.js'); t.default = function (e, t, i) { var r = e.x, s = e.y, o = [], a = Number.POSITIVE_INFINITY, l = Number.POSITIVE_INFINITY; 'function' == typeof t.forEach ? t.forEach(function (e) { (a = Math.min(a, e.x)), (l = Math.min(l, e.y)); }) : ((a = Math.min(a, t.x)), (l = Math.min(l, t.y))); for ( var c = r - e.width / 2 - a, d = s - e.height / 2 - l, h = 0; h < t.length; h++ ) { var u = t[h], g = t[h < t.length - 1 ? h + 1 : 0], f = Object(n.default)( e, i, { x: c + u.x, y: d + u.y }, { x: c + g.x, y: d + g.y } ); f && o.push(f); } return o.length ? (o.length > 1 && o.sort(function (e, t) { var n = e.x - i.x, r = e.y - i.y, s = Math.sqrt(n * n + r * r), o = t.x - i.x, a = t.y - i.y, l = Math.sqrt(o * o + a * a); return s < l ? -1 : s === l ? 0 : 1; }), o[0]) : e; }; }, './src/dagre-wrapper/intersect/intersect-rect.js': function ( e, t, i ) { 'use strict'; i.r(t), (t.default = function (e, t) { var i, n, r = e.x, s = e.y, o = t.x - r, a = t.y - s, l = e.width / 2, c = e.height / 2; return ( Math.abs(a) * l > Math.abs(o) * c ? (a < 0 && (c = -c), (i = 0 === a ? 0 : (c * o) / a), (n = c)) : (o < 0 && (l = -l), (i = l), (n = 0 === o ? 0 : (l * a) / o)), { x: r + i, y: s + n } ); }); }, './src/dagre-wrapper/markers.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('./src/logger.js'), r = { extension: function (e, t, i) { n.log.trace('Making markers for ', i), e .append('defs') .append('marker') .attr('id', t + '-extensionStart') .attr('class', 'marker extension ' + t) .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,7 L18,13 V 1 Z'), e .append('defs') .append('marker') .attr('id', t + '-extensionEnd') .attr('class', 'marker extension ' + t) .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,1 V 13 L18,7 Z'); }, composition: function (e, t) { e .append('defs') .append('marker') .attr('id', t + '-compositionStart') .attr('class', 'marker composition ' + t) .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), e .append('defs') .append('marker') .attr('id', t + '-compositionEnd') .attr('class', 'marker composition ' + t) .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); }, aggregation: function (e, t) { e .append('defs') .append('marker') .attr('id', t + '-aggregationStart') .attr('class', 'marker aggregation ' + t) .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), e .append('defs') .append('marker') .attr('id', t + '-aggregationEnd') .attr('class', 'marker aggregation ' + t) .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'); }, dependency: function (e, t) { e .append('defs') .append('marker') .attr('id', t + '-dependencyStart') .attr('class', 'marker dependency ' + t) .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), e .append('defs') .append('marker') .attr('id', t + '-dependencyEnd') .attr('class', 'marker dependency ' + t) .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); }, point: function (e, t) { e .append('marker') .attr('id', t + '-pointEnd') .attr('class', 'marker ' + t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 12) .attr('markerHeight', 12) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 10 5 L 0 10 z') .attr('class', 'arrowMarkerPath') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'), e .append('marker') .attr('id', t + '-pointStart') .attr('class', 'marker ' + t) .attr('viewBox', '0 0 10 10') .attr('refX', 0) .attr('refY', 5) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 12) .attr('markerHeight', 12) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 5 L 10 10 L 10 0 z') .attr('class', 'arrowMarkerPath') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); }, circle: function (e, t) { e .append('marker') .attr('id', t + '-circleEnd') .attr('class', 'marker ' + t) .attr('viewBox', '0 0 10 10') .attr('refX', 11) .attr('refY', 5) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 11) .attr('markerHeight', 11) .attr('orient', 'auto') .append('circle') .attr('cx', '5') .attr('cy', '5') .attr('r', '5') .attr('class', 'arrowMarkerPath') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'), e .append('marker') .attr('id', t + '-circleStart') .attr('class', 'marker ' + t) .attr('viewBox', '0 0 10 10') .attr('refX', -1) .attr('refY', 5) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 11) .attr('markerHeight', 11) .attr('orient', 'auto') .append('circle') .attr('cx', '5') .attr('cy', '5') .attr('r', '5') .attr('class', 'arrowMarkerPath') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); }, cross: function (e, t) { e .append('marker') .attr('id', t + '-crossEnd') .attr('class', 'marker cross ' + t) .attr('viewBox', '0 0 11 11') .attr('refX', 12) .attr('refY', 5.2) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 11) .attr('markerHeight', 11) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') .attr('class', 'arrowMarkerPath') .style('stroke-width', 2) .style('stroke-dasharray', '1,0'), e .append('marker') .attr('id', t + '-crossStart') .attr('class', 'marker cross ' + t) .attr('viewBox', '0 0 11 11') .attr('refX', -1) .attr('refY', 5.2) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 11) .attr('markerHeight', 11) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,1 l 9,9 M 10,1 l -9,9') .attr('class', 'arrowMarkerPath') .style('stroke-width', 2) .style('stroke-dasharray', '1,0'); }, barb: function (e, t) { e.append('defs') .append('marker') .attr('id', t + '-barbEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 14) .attr('markerUnits', 'strokeWidth') .attr('orient', 'auto') .append('path') .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'); }, }; t.default = function (e, t, i, n) { t.forEach(function (t) { r[t](e, i, n); }); }; }, './src/dagre-wrapper/mermaid-graphlib.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'clusterDb', function () { return o; }), i.d(t, 'clear', function () { return c; }), i.d(t, 'extractDecendants', function () { return u; }), i.d(t, 'validate', function () { return g; }), i.d(t, 'findNonClusterChild', function () { return f; }), i.d(t, 'adjustClustersAndEdges', function () { return m; }), i.d(t, 'extractor', function () { return _; }), i.d(t, 'sortNodesByHierarchy', function () { return v; }); var n = i('./src/logger.js'), r = i('graphlib'), s = i.n(r), o = {}, a = {}, l = {}, c = function () { (a = {}), (l = {}), (o = {}); }, d = function (e, t) { return ( n.log.debug( 'In isDecendant', t, ' ', e, ' = ', a[t].indexOf(e) >= 0 ), a[t].indexOf(e) >= 0 ); }, h = function e(t, i, r, s) { n.log.warn( 'Copying children of ', t, 'root', s, 'data', i.node(t), s ); var o = i.children(t) || []; t !== s && o.push(t), n.log.warn('Copying (nodes) clusterId', t, 'nodes', o), o.forEach(function (o) { if (i.children(o).length > 0) e(o, i, r, s); else { var l = i.node(o); n.log.info('cp ', o, ' to ', s, ' with parent ', t), r.setNode(o, l), s !== i.parent(o) && (n.log.warn('Setting parent', o, i.parent(o)), r.setParent(o, i.parent(o))), t !== s && o !== t ? (n.log.debug('Setting parent', o, t), r.setParent(o, t)) : (n.log.info( 'In copy ', t, 'root', s, 'data', i.node(t), s ), n.log.debug( 'Not Setting parent for node=', o, 'cluster!==rootId', t !== s, 'node!==clusterId', o !== t )); var c = i.edges(o); n.log.debug('Copying Edges', c), c.forEach(function (e) { n.log.info('Edge', e); var o = i.edge(e.v, e.w, e.name); n.log.info('Edge data', o, s); try { !(function (e, t) { return ( n.log.info( 'Decendants of ', t, ' is ', a[t] ), n.log.info('Edge is ', e), e.v !== t && e.w !== t && (a[t] ? (n.log.info('Here '), a[t].indexOf(e.v) >= 0 || !!d(e.v, t) || !!d(e.w, t) || a[t].indexOf(e.w) >= 0) : (n.log.debug( 'Tilt, ', t, ',not in decendants' ), !1)) ); })(e, s) ? n.log.info( 'Skipping copy of edge ', e.v, '--\x3e', e.w, ' rootId: ', s, ' clusterId:', t ) : (n.log.info( 'Copying as ', e.v, e.w, o, e.name ), r.setEdge(e.v, e.w, o, e.name), n.log.info( 'newGraph edges ', r.edges(), r.edge(r.edges()[0]) )); } catch (e) { n.log.error(e); } }); } n.log.debug('Removing node', o), i.removeNode(o); }); }, u = function e(t, i) { for ( var n = i.children(t), r = [].concat(n), s = 0; s < n.length; s++ ) (l[n[s]] = t), (r = r.concat(e(n[s], i))); return r; }, g = function (e) { var t = e.edges(); n.log.trace('Edges: ', t); for (var i = 0; i < t.length; i++) { if (e.children(t[i].v).length > 0) return ( n.log.trace( 'The node ', t[i].v, ' is part of and edge even though it has children' ), !1 ); if (e.children(t[i].w).length > 0) return ( n.log.trace( 'The node ', t[i].w, ' is part of and edge even though it has children' ), !1 ); } return !0; }, f = function e(t, i) { n.log.trace('Searching', t); var r = i.children(t); if ( (n.log.trace('Searching children of id ', t, r), r.length < 1) ) return n.log.trace('This is a valid node', t), t; for (var s = 0; s < r.length; s++) { var o = e(r[s], i); if (o) return ( n.log.trace('Found replacement for', t, ' => ', o), o ); } }, p = function (e) { return o[e] && o[e].externalConnections && o[e] ? o[e].id : e; }, m = function (e, t) { !e || t > 10 ? n.log.debug('Opting out, no graph ') : (n.log.debug('Opting in, graph '), e.nodes().forEach(function (t) { e.children(t).length > 0 && (n.log.warn( 'Cluster identified', t, ' Replacement id in edges: ', f(t, e) ), (a[t] = u(t, e)), (o[t] = { id: f(t, e), clusterData: e.node(t) })); }), e.nodes().forEach(function (t) { var i = e.children(t), r = e.edges(); i.length > 0 ? (n.log.debug('Cluster identified', t, a), r.forEach(function (e) { e.v !== t && e.w !== t && d(e.v, t) ^ d(e.w, t) && (n.log.warn( 'Edge: ', e, ' leaves cluster ', t ), n.log.warn( 'Decendants of XXX ', t, ': ', a[t] ), (o[t].externalConnections = !0)); })) : n.log.debug('Not a cluster ', t, a); }), e.edges().forEach(function (t) { var i = e.edge(t); n.log.warn( 'Edge ' + t.v + ' -> ' + t.w + ': ' + JSON.stringify(t) ), n.log.warn( 'Edge ' + t.v + ' -> ' + t.w + ': ' + JSON.stringify(e.edge(t)) ); var r = t.v, s = t.w; n.log.warn( 'Fix XXX', o, 'ids:', t.v, t.w, 'Translateing: ', o[t.v], ' --- ', o[t.w] ), (o[t.v] || o[t.w]) && (n.log.warn( 'Fixing and trixing - removing XXX', t.v, t.w, t.name ), (r = p(t.v)), (s = p(t.w)), e.removeEdge(t.v, t.w, t.name), r !== t.v && (i.fromCluster = t.v), s !== t.w && (i.toCluster = t.w), n.log.warn( 'Fix Replacing with XXX', r, s, t.name ), e.setEdge(r, s, i, t.name)); }), n.log.warn('Adjusted Graph', s.a.json.write(e)), _(e, 0), n.log.trace(o)); }, _ = function e(t, i) { if ( (n.log.warn( 'extractor - ', i, s.a.json.write(t), t.children('D') ), i > 10) ) n.log.error('Bailing out'); else { for ( var r = t.nodes(), a = !1, l = 0; l < r.length; l++ ) { var c = r[l], d = t.children(c); a = a || d.length > 0; } if (a) { n.log.debug('Nodes = ', r, i); for (var u = 0; u < r.length; u++) { var g = r[u]; if ( (n.log.debug( 'Extracting node', g, o, o[g] && !o[g].externalConnections, !t.parent(g), t.node(g), t.children('D'), ' Depth ', i ), o[g]) ) if ( !o[g].externalConnections && t.children(g) && t.children(g).length > 0 ) { n.log.warn( 'Cluster without external connections, without a parent and with children', g, i ); var f = t.graph(), p = new s.a.Graph({ multigraph: !0, compound: !0, }) .setGraph({ rankdir: 'TB' === f.rankdir ? 'LR' : 'TB', nodesep: 50, ranksep: 50, marginx: 8, marginy: 8, }) .setDefaultEdgeLabel(function () { return {}; }); n.log.warn( 'Old graph before copy', s.a.json.write(t) ), h(g, t, p, g), t.setNode(g, { clusterNode: !0, id: g, clusterData: o[g].clusterData, labelText: o[g].labelText, graph: p, }), n.log.warn( 'New graph after copy node: (', g, ')', s.a.json.write(p) ), n.log.debug( 'Old graph after copy', s.a.json.write(t) ); } else n.log.warn( 'Cluster ** ', g, ' **not meeting the criteria !externalConnections:', !o[g].externalConnections, ' no parent: ', !t.parent(g), ' children ', t.children(g) && t.children(g).length > 0, t.children('D'), i ), n.log.debug(o); else n.log.debug('Not a cluster', g, i); } (r = t.nodes()), n.log.warn('New list of nodes', r); for (var m = 0; m < r.length; m++) { var _ = r[m], b = t.node(_); n.log.warn(' Now next level', _, b), b.clusterNode && e(b.graph, i + 1); } } else n.log.debug('Done, no node has children', t.nodes()); } }, b = function e(t, i) { if (0 === i.length) return []; var n = Object.assign(i); return ( i.forEach(function (i) { var r = t.children(i), s = e(t, r); n = n.concat(s); }), n ); }, v = function (e) { return b(e, e.children()); }; }, './src/dagre-wrapper/nodes.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'insertNode', function () { return f; }), i.d(t, 'setNodeElem', function () { return p; }), i.d(t, 'clear', function () { return m; }), i.d(t, 'positionNode', function () { return _; }); var n = i('d3'), r = i('./src/logger.js'), s = i('./src/dagre-wrapper/shapes/util.js'), o = i('./src/config.js'), a = i('./src/dagre-wrapper/intersect/index.js'), l = i('./src/dagre-wrapper/createLabel.js'), c = i('./src/dagre-wrapper/shapes/note.js'), d = i('./src/diagrams/class/svgDraw.js'), h = function (e, t, i) { var n = e .insert('g') .attr('class', 'node default') .attr('id', t.domId || t.id), r = 70, o = 10; 'LR' === i && ((r = 10), (o = 70)); var l = n .append('rect') .style('stroke', 'black') .style('fill', 'black') .attr('x', (-1 * r) / 2) .attr('y', (-1 * o) / 2) .attr('width', r) .attr('height', o) .attr('class', 'fork-join'); return ( Object(s.updateNodeBounds)(t, l), (t.height = t.height + t.padding / 2), (t.width = t.width + t.padding / 2), (t.intersect = function (e) { return a.default.rect(t, e); }), n ); }, u = { question: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, o = i.bbox, l = o.width + t.padding + (o.height + t.padding), c = [ { x: l / 2, y: 0 }, { x: l, y: -l / 2 }, { x: l / 2, y: -l }, { x: 0, y: -l / 2 }, ]; r.log.info('Question main (Circle)'); var d = Object(s.insertPolygonShape)(n, l, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return ( r.log.warn('Intersect called'), a.default.polygon(t, c, e) ); }), n ); }, rect: function (e, t) { var i = Object(s.labelHelper)( e, t, 'node ' + t.classes, !0 ), n = i.shapeSvg, o = i.bbox, l = i.halfPadding; r.log.trace('Classes = ', t.classes); var c = n.insert('rect', ':first-child'); return ( c .attr('class', 'basic label-container') .attr('style', t.style) .attr('rx', t.rx) .attr('ry', t.ry) .attr('x', -o.width / 2 - l) .attr('y', -o.height / 2 - l) .attr('width', o.width + t.padding) .attr('height', o.height + t.padding), Object(s.updateNodeBounds)(t, c), (t.intersect = function (e) { return a.default.rect(t, e); }), n ); }, rectWithTitle: function (e, t) { var i; i = t.classes ? 'node ' + t.classes : 'node default'; var c = e .insert('g') .attr('class', i) .attr('id', t.domId || t.id), d = c.insert('rect', ':first-child'), h = c.insert('line'), u = c.insert('g').attr('class', 'label'), g = t.labelText.flat(); r.log.info('Label text', g[0]); var f, p = u .node() .appendChild( Object(l.default)(g[0], t.labelStyle, !0, !0) ); if (Object(o.getConfig)().flowchart.htmlLabels) { var m = p.children[0], _ = Object(n.select)(p); (f = m.getBoundingClientRect()), _.attr('width', f.width), _.attr('height', f.height); } r.log.info('Text 2', g); var b = g.slice(1, g.length), v = p.getBBox(), y = u .node() .appendChild( Object(l.default)( b.join('
'), t.labelStyle, !0, !0 ) ); if (Object(o.getConfig)().flowchart.htmlLabels) { var w = y.children[0], C = Object(n.select)(y); (f = w.getBoundingClientRect()), C.attr('width', f.width), C.attr('height', f.height); } var S = t.padding / 2; return ( Object(n.select)(y).attr( 'transform', 'translate( ' + (f.width > v.width ? 0 : (v.width - f.width) / 2) + ', ' + (v.height + S + 5) + ')' ), Object(n.select)(p).attr( 'transform', 'translate( ' + (f.width < v.width ? 0 : -(v.width - f.width) / 2) + ', 0)' ), (f = u.node().getBBox()), u.attr( 'transform', 'translate(' + -f.width / 2 + ', ' + (-f.height / 2 - S + 3) + ')' ), d .attr('class', 'outer title-state') .attr('x', -f.width / 2 - S) .attr('y', -f.height / 2 - S) .attr('width', f.width + t.padding) .attr('height', f.height + t.padding), h .attr('class', 'divider') .attr('x1', -f.width / 2 - S) .attr('x2', f.width / 2 + S) .attr('y1', -f.height / 2 - S + v.height + S) .attr('y2', -f.height / 2 - S + v.height + S), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.rect(t, e); }), c ); }, circle: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, o = i.bbox, l = i.halfPadding, c = n.insert('circle', ':first-child'); return ( c .attr('style', t.style) .attr('rx', t.rx) .attr('ry', t.ry) .attr('r', o.width / 2 + l) .attr('width', o.width + t.padding) .attr('height', o.height + t.padding), r.log.info('Circle main'), Object(s.updateNodeBounds)(t, c), (t.intersect = function (e) { return ( r.log.info( 'Circle intersect', t, o.width / 2 + l, e ), a.default.circle(t, o.width / 2 + l, e) ); }), n ); }, stadium: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.height + t.padding, l = r.width + o / 4 + t.padding, c = n .insert('rect', ':first-child') .attr('style', t.style) .attr('rx', o / 2) .attr('ry', o / 2) .attr('x', -l / 2) .attr('y', -o / 2) .attr('width', l) .attr('height', o); return ( Object(s.updateNodeBounds)(t, c), (t.intersect = function (e) { return a.default.rect(t, e); }), n ); }, hexagon: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.height + t.padding, l = o / 4, c = r.width + 2 * l + t.padding, d = [ { x: l, y: 0 }, { x: c - l, y: 0 }, { x: c, y: -o / 2 }, { x: c - l, y: -o }, { x: l, y: -o }, { x: 0, y: -o / 2 }, ], h = Object(s.insertPolygonShape)(n, c, o, d); return ( h.attr('style', t.style), Object(s.updateNodeBounds)(t, h), (t.intersect = function (e) { return a.default.polygon(t, d, e); }), n ); }, rect_left_inv_arrow: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: -l / 2, y: 0 }, { x: o, y: 0 }, { x: o, y: -l }, { x: -l / 2, y: -l }, { x: 0, y: -l / 2 }, ]; return ( Object(s.insertPolygonShape)(n, o, l, c).attr( 'style', t.style ), (t.width = o + l), (t.height = l), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, lean_right: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: (-2 * l) / 6, y: 0 }, { x: o - l / 6, y: 0 }, { x: o + (2 * l) / 6, y: -l }, { x: l / 6, y: -l }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, lean_left: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: (2 * l) / 6, y: 0 }, { x: o + l / 6, y: 0 }, { x: o - (2 * l) / 6, y: -l }, { x: -l / 6, y: -l }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, trapezoid: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: (-2 * l) / 6, y: 0 }, { x: o + (2 * l) / 6, y: 0 }, { x: o - l / 6, y: -l }, { x: l / 6, y: -l }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, inv_trapezoid: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: l / 6, y: 0 }, { x: o - l / 6, y: 0 }, { x: o + (2 * l) / 6, y: -l }, { x: (-2 * l) / 6, y: -l }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, rect_right_inv_arrow: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: 0, y: 0 }, { x: o + l / 2, y: 0 }, { x: o, y: -l / 2 }, { x: o + l / 2, y: -l }, { x: 0, y: -l }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, cylinder: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = o / 2, c = l / (2.5 + o / 50), d = r.height + c + t.padding, h = 'M 0,' + c + ' a ' + l + ',' + c + ' 0,0,0 ' + o + ' 0 a ' + l + ',' + c + ' 0,0,0 ' + -o + ' 0 l 0,' + d + ' a ' + l + ',' + c + ' 0,0,0 ' + o + ' 0 l 0,' + -d, u = n .attr('label-offset-y', c) .insert('path', ':first-child') .attr('style', t.style) .attr('d', h) .attr( 'transform', 'translate(' + -o / 2 + ',' + -(d / 2 + c) + ')' ); return ( Object(s.updateNodeBounds)(t, u), (t.intersect = function (e) { var i = a.default.rect(t, e), n = i.x - t.x; if ( 0 != l && (Math.abs(n) < t.width / 2 || (Math.abs(n) == t.width / 2 && Math.abs(i.y - t.y) > t.height / 2 - c)) ) { var r = c * c * (1 - (n * n) / (l * l)); 0 != r && (r = Math.sqrt(r)), (r = c - r), e.y - t.y > 0 && (r = -r), (i.y += r); } return i; }), n ); }, start: function (e, t) { var i = e .insert('g') .attr('class', 'node default') .attr('id', t.domId || t.id), n = i.insert('circle', ':first-child'); return ( n .attr('class', 'state-start') .attr('r', 7) .attr('width', 14) .attr('height', 14), Object(s.updateNodeBounds)(t, n), (t.intersect = function (e) { return a.default.circle(t, 7, e); }), i ); }, end: function (e, t) { var i = e .insert('g') .attr('class', 'node default') .attr('id', t.domId || t.id), n = i.insert('circle', ':first-child'), r = i.insert('circle', ':first-child'); return ( r .attr('class', 'state-start') .attr('r', 7) .attr('width', 14) .attr('height', 14), n .attr('class', 'state-end') .attr('r', 5) .attr('width', 10) .attr('height', 10), Object(s.updateNodeBounds)(t, r), (t.intersect = function (e) { return a.default.circle(t, 7, e); }), i ); }, note: c.default, subroutine: function (e, t) { var i = Object(s.labelHelper)(e, t, void 0, !0), n = i.shapeSvg, r = i.bbox, o = r.width + t.padding, l = r.height + t.padding, c = [ { x: 0, y: 0 }, { x: o, y: 0 }, { x: o, y: -l }, { x: 0, y: -l }, { x: 0, y: 0 }, { x: -8, y: 0 }, { x: o + 8, y: 0 }, { x: o + 8, y: -l }, { x: -8, y: -l }, { x: -8, y: 0 }, ], d = Object(s.insertPolygonShape)(n, o, l, c); return ( d.attr('style', t.style), Object(s.updateNodeBounds)(t, d), (t.intersect = function (e) { return a.default.polygon(t, c, e); }), n ); }, fork: h, join: h, class_box: function (e, t) { var i, r = t.padding / 2; i = t.classes ? 'node ' + t.classes : 'node default'; var c = e .insert('g') .attr('class', i) .attr('id', t.domId || t.id), h = c.insert('rect', ':first-child'), u = c.insert('line'), g = c.insert('line'), f = 0, p = 4, m = c.insert('g').attr('class', 'label'), _ = 0, b = t.classData.annotations && t.classData.annotations[0], v = t.classData.annotations[0] ? '«' + t.classData.annotations[0] + '»' : '', y = m .node() .appendChild( Object(l.default)(v, t.labelStyle, !0, !0) ), w = y.getBBox(); if (Object(o.getConfig)().flowchart.htmlLabels) { var C = y.children[0], S = Object(n.select)(y); (w = C.getBoundingClientRect()), S.attr('width', w.width), S.attr('height', w.height); } t.classData.annotations[0] && ((p += w.height + 4), (f += w.width)); var k = t.classData.id; void 0 !== t.classData.type && '' !== t.classData.type && (k += '<' + t.classData.type + '>'); var x = m .node() .appendChild( Object(l.default)(k, t.labelStyle, !0, !0) ); Object(n.select)(x).attr('class', 'classTitle'); var L = x.getBBox(); if (Object(o.getConfig)().flowchart.htmlLabels) { var M = x.children[0], D = Object(n.select)(x); (L = M.getBoundingClientRect()), D.attr('width', L.width), D.attr('height', L.height); } (p += L.height + 4), L.width > f && (f = L.width); var N = []; t.classData.members.forEach(function (e) { var i = Object(d.parseMember)(e).displayText, r = m .node() .appendChild( Object(l.default)(i, t.labelStyle, !0, !0) ), s = r.getBBox(); if (Object(o.getConfig)().flowchart.htmlLabels) { var a = r.children[0], c = Object(n.select)(r); (s = a.getBoundingClientRect()), c.attr('width', s.width), c.attr('height', s.height); } s.width > f && (f = s.width), (p += s.height + 4), N.push(r); }), (p += 8); var E = []; if ( (t.classData.methods.forEach(function (e) { var i = Object(d.parseMember)(e).displayText, r = m .node() .appendChild( Object(l.default)(i, t.labelStyle, !0, !0) ), s = r.getBBox(); if (Object(o.getConfig)().flowchart.htmlLabels) { var a = r.children[0], c = Object(n.select)(r); (s = a.getBoundingClientRect()), c.attr('width', s.width), c.attr('height', s.height); } s.width > f && (f = s.width), (p += s.height + 4), E.push(r); }), (p += 8), b) ) { var T = (f - w.width) / 2; Object(n.select)(y).attr( 'transform', 'translate( ' + ((-1 * f) / 2 + T) + ', ' + (-1 * p) / 2 + ')' ), (_ = w.height + 4); } var I = (f - L.width) / 2; return ( Object(n.select)(x).attr( 'transform', 'translate( ' + ((-1 * f) / 2 + I) + ', ' + ((-1 * p) / 2 + _) + ')' ), (_ += L.height + 4), u .attr('class', 'divider') .attr('x1', -f / 2 - r) .attr('x2', f / 2 + r) .attr('y1', -p / 2 - r + 8 + _) .attr('y2', -p / 2 - r + 8 + _), (_ += 8), N.forEach(function (e) { Object(n.select)(e).attr( 'transform', 'translate( ' + -f / 2 + ', ' + ((-1 * p) / 2 + _ + 4) + ')' ), (_ += L.height + 4); }), (_ += 8), g .attr('class', 'divider') .attr('x1', -f / 2 - r) .attr('x2', f / 2 + r) .attr('y1', -p / 2 - r + 8 + _) .attr('y2', -p / 2 - r + 8 + _), (_ += 8), E.forEach(function (e) { Object(n.select)(e).attr( 'transform', 'translate( ' + -f / 2 + ', ' + ((-1 * p) / 2 + _) + ')' ), (_ += L.height + 4); }), h .attr('class', 'outer title-state') .attr('x', -f / 2 - r) .attr('y', -p / 2 - r) .attr('width', f + t.padding) .attr('height', p + t.padding), Object(s.updateNodeBounds)(t, h), (t.intersect = function (e) { return a.default.rect(t, e); }), c ); }, }, g = {}, f = function (e, t, i) { var n, r; t.link ? ((n = e .insert('svg:a') .attr('xlink:href', t.link) .attr('target', t.linkTarget || '_blank')), (r = u[t.shape](n, t, i))) : (n = r = u[t.shape](e, t, i)), t.tooltip && r.attr('title', t.tooltip), t.class && r.attr('class', 'node default ' + t.class), (g[t.id] = n), t.haveCallback && g[t.id].attr( 'class', g[t.id].attr('class') + ' clickable' ); }, p = function (e, t) { g[t.id] = e; }, m = function () { g = {}; }, _ = function (e) { var t = g[e.id]; r.log.trace( 'Transforming node', e, 'translate(' + (e.x - e.width / 2 - 5) + ', ' + (e.y - e.height / 2 - 5) + ')' ), e.clusterNode ? t.attr( 'transform', 'translate(' + (e.x - e.width / 2 - 8) + ', ' + (e.y - e.height / 2 - 8) + ')' ) : t.attr( 'transform', 'translate(' + e.x + ', ' + e.y + ')' ); }; }, './src/dagre-wrapper/shapes/note.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('./src/dagre-wrapper/shapes/util.js'), r = i('./src/logger.js'), s = i('./src/dagre-wrapper/intersect/index.js'); t.default = function (e, t) { var i = Object(n.labelHelper)(e, t, 'node ' + t.classes, !0), o = i.shapeSvg, a = i.bbox, l = i.halfPadding; r.log.info('Classes = ', t.classes); var c = o.insert('rect', ':first-child'); return ( c .attr('rx', t.rx) .attr('ry', t.ry) .attr('x', -a.width / 2 - l) .attr('y', -a.height / 2 - l) .attr('width', a.width + t.padding) .attr('height', a.height + t.padding), Object(n.updateNodeBounds)(t, c), (t.intersect = function (e) { return s.default.rect(t, e); }), o ); }; }, './src/dagre-wrapper/shapes/util.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'labelHelper', function () { return o; }), i.d(t, 'updateNodeBounds', function () { return a; }), i.d(t, 'insertPolygonShape', function () { return l; }); var n = i('./src/dagre-wrapper/createLabel.js'), r = i('./src/config.js'), s = i('d3'), o = function (e, t, i, o) { var a; a = i || 'node default'; var l = e .insert('g') .attr('class', a) .attr('id', t.domId || t.id), c = l .insert('g') .attr('class', 'label') .attr('style', t.labelStyle), d = c .node() .appendChild( Object(n.default)(t.labelText, t.labelStyle, !1, o) ), h = d.getBBox(); if (Object(r.getConfig)().flowchart.htmlLabels) { var u = d.children[0], g = Object(s.select)(d); (h = u.getBoundingClientRect()), g.attr('width', h.width), g.attr('height', h.height); } var f = t.padding / 2; return ( c.attr( 'transform', 'translate(' + -h.width / 2 + ', ' + -h.height / 2 + ')' ), { shapeSvg: l, bbox: h, halfPadding: f, label: c } ); }, a = function (e, t) { var i = t.node().getBBox(); (e.width = i.width), (e.height = i.height); }; function l(e, t, i, n) { return e .insert('polygon', ':first-child') .attr( 'points', n .map(function (e) { return e.x + ',' + e.y; }) .join(' ') ) .attr('class', 'label-container') .attr( 'transform', 'translate(' + -t / 2 + ',' + i / 2 + ')' ); } }, './src/defaultConfig.js': function (e, t, i) { 'use strict'; i.r(t); var n = { theme: 'default', themeVariables: i( './src/themes/index.js' ).default.default.getThemeVariables(), themeCSS: void 0, maxTextSize: 5e4, fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', logLevel: 5, securityLevel: 'strict', startOnLoad: !0, arrowMarkerAbsolute: !1, secure: [ 'secure', 'securityLevel', 'startOnLoad', 'maxTextSize', ], deterministicIds: !1, deterministicIDSeed: void 0, flowchart: { diagramPadding: 8, htmlLabels: !0, nodeSpacing: 50, rankSpacing: 50, curve: 'basis', padding: 15, useMaxWidth: !0, }, sequence: { activationWidth: 10, diagramMarginX: 50, diagramMarginY: 10, actorMargin: 50, width: 150, height: 65, boxMargin: 10, boxTextMargin: 5, noteMargin: 10, messageMargin: 35, messageAlign: 'center', mirrorActors: !0, bottomMarginAdj: 1, useMaxWidth: !0, rightAngles: !1, showSequenceNumbers: !1, actorFontSize: 14, actorFontFamily: '"Open-Sans", "sans-serif"', actorFontWeight: 400, noteFontSize: 14, noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif', noteFontWeight: 400, noteAlign: 'center', messageFontSize: 16, messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif', messageFontWeight: 400, wrap: !1, wrapPadding: 10, labelBoxWidth: 50, labelBoxHeight: 20, messageFont: function () { return { fontFamily: this.messageFontFamily, fontSize: this.messageFontSize, fontWeight: this.messageFontWeight, }; }, noteFont: function () { return { fontFamily: this.noteFontFamily, fontSize: this.noteFontSize, fontWeight: this.noteFontWeight, }; }, actorFont: function () { return { fontFamily: this.actorFontFamily, fontSize: this.actorFontSize, fontWeight: this.actorFontWeight, }; }, }, gantt: { titleTopMargin: 25, barHeight: 20, barGap: 4, topPadding: 50, rightPadding: 75, leftPadding: 75, gridLineStartPadding: 35, fontSize: 11, sectionFontSize: 11, numberSectionStyles: 4, axisFormat: '%Y-%m-%d', useMaxWidth: !0, topAxis: !1, useWidth: void 0, }, journey: { diagramMarginX: 50, diagramMarginY: 10, leftMargin: 150, width: 150, height: 50, boxMargin: 10, boxTextMargin: 5, noteMargin: 10, messageMargin: 35, messageAlign: 'center', bottomMarginAdj: 1, useMaxWidth: !0, rightAngles: !1, taskFontSize: 14, taskFontFamily: '"Open-Sans", "sans-serif"', taskMargin: 50, activationWidth: 10, textPlacement: 'fo', actorColours: [ '#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0', ], sectionFills: [ '#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B', ], sectionColours: ['#fff'], }, class: { arrowMarkerAbsolute: !1, useMaxWidth: !0 }, git: { arrowMarkerAbsolute: !1, useWidth: void 0, useMaxWidth: !0, }, state: { dividerMargin: 10, sizeUnit: 5, padding: 8, textHeight: 10, titleShift: -15, noteMargin: 10, forkWidth: 70, forkHeight: 7, miniPadding: 2, fontSizeFactor: 5.02, fontSize: 24, labelHeight: 16, edgeLengthFactor: '20', compositTitleSize: 35, radius: 5, useMaxWidth: !0, }, er: { diagramPadding: 20, layoutDirection: 'TB', minEntityWidth: 100, minEntityHeight: 75, entityPadding: 15, stroke: 'gray', fill: 'honeydew', fontSize: 12, useMaxWidth: !0, }, pie: { useWidth: void 0, useMaxWidth: !0 }, requirement: { useWidth: void 0, useMaxWidth: !0, rect_fill: '#f9f9f9', text_color: '#333', rect_border_size: '0.5px', rect_border_color: '#bbb', rect_min_width: 200, rect_min_height: 200, fontSize: 14, rect_padding: 10, line_height: 20, }, }; (n.class.arrowMarkerAbsolute = n.arrowMarkerAbsolute), (n.git.arrowMarkerAbsolute = n.arrowMarkerAbsolute), (t.default = n); }, './src/diagrams/class/classDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return f; }), i.d(t, 'addClass', function () { return m; }), i.d(t, 'lookUpDomId', function () { return _; }), i.d(t, 'clear', function () { return b; }), i.d(t, 'getClass', function () { return v; }), i.d(t, 'getClasses', function () { return y; }), i.d(t, 'getRelations', function () { return w; }), i.d(t, 'addRelation', function () { return C; }), i.d(t, 'addAnnotation', function () { return S; }), i.d(t, 'addMember', function () { return k; }), i.d(t, 'addMembers', function () { return x; }), i.d(t, 'cleanupLabel', function () { return L; }), i.d(t, 'setCssClass', function () { return M; }), i.d(t, 'setLink', function () { return D; }), i.d(t, 'setClickEvent', function () { return N; }), i.d(t, 'bindFunctions', function () { return T; }), i.d(t, 'lineType', function () { return I; }), i.d(t, 'relationType', function () { return O; }); var n = i('d3'), r = i('./src/logger.js'), s = i('./src/config.js'), o = i('./src/diagrams/common/common.js'), a = i('./src/utils.js'), l = i('./src/mermaidAPI.js'); var c = 'classid-', d = [], h = {}, u = 0, g = [], f = function (e, t, i) { l.default.parseDirective(this, e, t, i); }, p = function (e) { var t = '', i = e; if (e.indexOf('~') > 0) { var n = e.split('~'); (i = n[0]), (t = n[1]); } return { className: i, type: t }; }, m = function (e) { var t = p(e); void 0 === h[t.className] && ((h[t.className] = { id: t.className, type: t.type, cssClasses: [], methods: [], members: [], annotations: [], domId: c + t.className + '-' + u, }), u++); }, _ = function (e) { for (var t = Object.keys(h), i = 0; i < t.length; i++) if (h[t[i]].id === e) return h[t[i]].domId; }, b = function () { (d = []), (h = {}), (g = []).push(A); }, v = function (e) { return h[e]; }, y = function () { return h; }, w = function () { return d; }, C = function (e) { r.log.debug('Adding relation: ' + JSON.stringify(e)), m(e.id1), m(e.id2), (e.id1 = p(e.id1).className), (e.id2 = p(e.id2).className), d.push(e); }, S = function (e, t) { var i = p(e).className; h[i].annotations.push(t); }, k = function (e, t) { var i = p(e).className, n = h[i]; if ('string' == typeof t) { var r = t.trim(); r.startsWith('<<') && r.endsWith('>>') ? n.annotations.push(r.substring(2, r.length - 2)) : r.indexOf(')') > 0 ? n.methods.push(r) : r && n.members.push(r); } }, x = function (e, t) { Array.isArray(t) && (t.reverse(), t.forEach(function (t) { return k(e, t); })); }, L = function (e) { return ':' === e.substring(0, 1) ? e.substr(1).trim() : e.trim(); }, M = function (e, t) { e.split(',').forEach(function (e) { var i = e; e[0].match(/\d/) && (i = c + i), void 0 !== h[i] && h[i].cssClasses.push(t); }); }, D = function (e, t, i) { var n = s.getConfig(); e.split(',').forEach(function (e) { var r = e; e[0].match(/\d/) && (r = c + r), void 0 !== h[r] && ((h[r].link = a.default.formatUrl(t, n)), (h[r].linkTarget = 'string' == typeof i ? i : '_blank')); }), M(e, 'clickable'); }, N = function (e, t, i) { e.split(',').forEach(function (e) { E(e, t, i), (h[e].haveCallback = !0); }), M(e, 'clickable'); }, E = function (e, t, i) { var n = s.getConfig(), r = e, o = _(r); if ( 'loose' === n.securityLevel && void 0 !== t && void 0 !== h[r] ) { var l = []; if ('string' == typeof i) { l = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (var c = 0; c < l.length; c++) { var d = l[c].trim(); '"' === d.charAt(0) && '"' === d.charAt(d.length - 1) && (d = d.substr(1, d.length - 2)), (l[c] = d); } } 0 === l.length && l.push(o), g.push(function () { var e = document.querySelector( '[id="'.concat(o, '"]') ); null !== e && e.addEventListener( 'click', function () { var e; a.default.runFunc.apply( a.default, [t].concat( (function (e) { if (Array.isArray(e)) { for ( var t = 0, i = new Array(e.length); t < e.length; t++ ) i[t] = e[t]; return i; } })((e = l)) || (function (e) { if ( Symbol.iterator in Object(e) || '[object Arguments]' === Object.prototype.toString.call(e) ) return Array.from(e); })(e) || (function () { throw new TypeError( 'Invalid attempt to spread non-iterable instance' ); })() ) ); }, !1 ); }); } }, T = function (e) { g.forEach(function (t) { t(e); }); }, I = { LINE: 0, DOTTED_LINE: 1 }, O = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3, }, A = function (e) { var t = Object(n.select)('.mermaidTooltip'); null === (t._groups || t)[0][0] && (t = Object(n.select)('body') .append('div') .attr('class', 'mermaidTooltip') .style('opacity', 0)), Object(n.select)(e) .select('svg') .selectAll('g.node') .on('mouseover', function () { var e = Object(n.select)(this); if (null !== e.attr('title')) { var i = this.getBoundingClientRect(); t.transition().duration(200).style('opacity', '.9'), t .html(e.attr('title')) .style( 'left', window.scrollX + i.left + (i.right - i.left) / 2 + 'px' ) .style( 'top', window.scrollY + i.top - 14 + document.body.scrollTop + 'px' ), e.classed('hover', !0); } }) .on('mouseout', function () { t.transition().duration(500).style('opacity', 0), Object(n.select)(this).classed('hover', !1); }); }; g.push(A), (t.default = { parseDirective: f, getConfig: function () { return s.getConfig().class; }, addClass: m, bindFunctions: T, clear: b, getClass: v, getClasses: y, addAnnotation: S, getRelations: w, addRelation: C, addMember: k, addMembers: x, cleanupLabel: L, lineType: I, relationType: O, setClickEvent: N, setCssClass: M, setLink: D, setTooltip: function (e, t) { var i = s.getConfig(); e.split(',').forEach(function (e) { void 0 !== t && (h[e].tooltip = o.default.sanitizeText(t, i)); }); }, lookUpDomId: _, }); }, './src/diagrams/class/classRenderer-v2.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'addClasses', function () { return b; }), i.d(t, 'addRelations', function () { return v; }), i.d(t, 'setConf', function () { return w; }), i.d(t, 'drawOld', function () { return C; }), i.d(t, 'draw', function () { return S; }); var n = i('d3'), r = i('dagre'), s = i.n(r), o = i('graphlib'), a = i.n(o), l = i('./src/logger.js'), c = i('./src/diagrams/class/classDb.js'), d = i('./src/diagrams/class/parser/classDiagram.jison'), h = i('./src/diagrams/class/svgDraw.js'), u = i('./src/config.js'), g = i('./src/dagre-wrapper/index.js'), f = i('./src/utils.js'), p = i('./src/diagrams/common/common.js'); d.parser.yy = c.default; var m = {}, _ = { dividerMargin: 10, padding: 5, textHeight: 10 }, b = function (e, t) { var i = Object.keys(e); l.log.info('keys:', i), l.log.info(e), i.forEach(function (i) { var n = e[i], r = ''; n.cssClasses.length > 0 && (r = r + ' ' + n.cssClasses.join(' ')); var s = { labelStyle: '' }, o = void 0 !== n.text ? n.text : n.id, a = ''; switch (n.type) { case 'class': a = 'class_box'; break; default: a = 'class_box'; } t.setNode(n.id, { labelStyle: s.labelStyle, shape: a, labelText: o, classData: n, rx: 0, ry: 0, class: r, style: s.style, id: n.id, domId: n.domId, haveCallback: n.haveCallback, link: n.link, width: 'group' === n.type ? 500 : void 0, type: n.type, padding: Object(u.getConfig)().flowchart.padding, }), l.log.info('setNode', { labelStyle: s.labelStyle, shape: a, labelText: o, rx: 0, ry: 0, class: r, style: s.style, id: n.id, width: 'group' === n.type ? 500 : void 0, type: n.type, padding: Object(u.getConfig)().flowchart.padding, }); }); }, v = function (e, t) { var i = 0; e.forEach(function (r) { i++; var s = { classes: 'relation' }; (s.pattern = 1 == r.relation.lineType ? 'dashed' : 'solid'), (s.id = 'id' + i), 'arrow_open' === r.type ? (s.arrowhead = 'none') : (s.arrowhead = 'normal'), l.log.info(s, r), (s.startLabelRight = 'none' === r.relationTitle1 ? '' : r.relationTitle1), (s.endLabelLeft = 'none' === r.relationTitle2 ? '' : r.relationTitle2), (s.arrowTypeStart = k(r.relation.type1)), (s.arrowTypeEnd = k(r.relation.type2)); var o = '', a = ''; if (void 0 !== r.style) { var c = Object(f.getStylesFromArray)(r.style); (o = c.style), (a = c.labelStyle); } else o = 'fill:none'; (s.style = o), (s.labelStyle = a), void 0 !== r.interpolate ? (s.curve = Object(f.interpolateToCurve)( r.interpolate, n.curveLinear )) : void 0 !== e.defaultInterpolate ? (s.curve = Object(f.interpolateToCurve)( e.defaultInterpolate, n.curveLinear )) : (s.curve = Object(f.interpolateToCurve)( _.curve, n.curveLinear )), (r.text = r.title), void 0 === r.text ? void 0 !== r.style && (s.arrowheadStyle = 'fill: #333') : ((s.arrowheadStyle = 'fill: #333'), (s.labelpos = 'c'), Object(u.getConfig)().flowchart.htmlLabels, (s.labelType = 'text'), (s.label = r.text.replace( p.default.lineBreakRegex, '\n' )), void 0 === r.style && (s.style = s.style || 'stroke: #333; stroke-width: 1.5px;fill:none'), (s.labelStyle = s.labelStyle.replace( 'color:', 'fill:' ))), t.setEdge(r.id1, r.id2, s, i); }); }, y = function (e) { for (var t = Object.keys(m), i = 0; i < t.length; i++) if (m[t[i]].label === e) return t[i]; }, w = function (e) { Object.keys(e).forEach(function (t) { _[t] = e[t]; }); }, C = function (e, t) { (m = {}), d.parser.yy.clear(), d.parser.parse(e), l.log.info('Rendering diagram ' + e); var i = Object(n.select)("[id='".concat(t, "']")), r = new a.a.Graph({ multigraph: !0 }); r.setGraph({ isMultiGraph: !0 }), r.setDefaultEdgeLabel(function () { return {}; }); var o = c.default.getClasses(); l.log.info('classes:'), l.log.info(o); for (var u = Object.keys(o), g = 0; g < u.length; g++) { var p = o[u[g]], b = h.default.drawClass(i, p, _); (m[b.id] = b), r.setNode(b.id, b), l.log.info('Org height: ' + b.height); } var v = c.default.getRelations(); l.log.info('relations:', v), v.forEach(function (e) { l.log.info( 'tjoho' + y(e.id1) + y(e.id2) + JSON.stringify(e) ), r.setEdge( y(e.id1), y(e.id2), { relation: e }, e.title || 'DEFAULT' ); }), s.a.layout(r), r.nodes().forEach(function (e) { void 0 !== e && void 0 !== r.node(e) && (l.log.debug( 'Node ' + e + ': ' + JSON.stringify(r.node(e)) ), Object(n.select)('#' + Object(c.lookUpDomId)(e)).attr( 'transform', 'translate(' + (r.node(e).x - r.node(e).width / 2) + ',' + (r.node(e).y - r.node(e).height / 2) + ' )' )); }), r.edges().forEach(function (e) { void 0 !== e && void 0 !== r.edge(e) && (l.log.debug( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(r.edge(e)) ), h.default.drawEdge( i, r.edge(e), r.edge(e).relation, _ )); }); var w = i.node().getBBox(), C = w.width + 40, S = w.height + 40; Object(f.configureSvgSize)(i, S, C, _.useMaxWidth); var k = '' .concat(w.x - 20, ' ') .concat(w.y - 20, ' ') .concat(C, ' ') .concat(S); l.log.debug('viewBox '.concat(k)), i.attr('viewBox', k); }, S = function (e, t) { l.log.info('Drawing class'), c.default.clear(), d.parser.parse(e); var i = Object(u.getConfig)().flowchart; l.log.info('config:', i); var r = i.nodeSpacing || 50, s = i.rankSpacing || 50, o = new a.a.Graph({ multigraph: !0, compound: !0 }) .setGraph({ rankdir: 'TD', nodesep: r, ranksep: s, marginx: 8, marginy: 8, }) .setDefaultEdgeLabel(function () { return {}; }), h = c.default.getClasses(), p = c.default.getRelations(); l.log.info(p), b(h, o, t), v(p, o); var m = Object(n.select)('[id="'.concat(t, '"]')); m.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); var _ = Object(n.select)('#' + t + ' g'); Object(g.render)( _, o, ['aggregation', 'extension', 'composition', 'dependency'], 'classDiagram', t ); var y = m.node().getBBox(), w = y.width + 16, C = y.height + 16; if ( (l.log.debug( 'new ViewBox 0 0 '.concat(w, ' ').concat(C), 'translate(' .concat(8 - o._label.marginx, ', ') .concat(8 - o._label.marginy, ')') ), Object(f.configureSvgSize)(m, C, w, i.useMaxWidth), m.attr('viewBox', '0 0 '.concat(w, ' ').concat(C)), m .select('g') .attr( 'transform', 'translate(' .concat(8 - o._label.marginx, ', ') .concat(8 - y.y, ')') ), !i.htmlLabels) ) for ( var S = document.querySelectorAll( '[id="' + t + '"] .edgeLabel .label' ), k = 0; k < S.length; k++ ) { var x = S[k], L = x.getBBox(), M = document.createElementNS( 'http://www.w3.org/2000/svg', 'rect' ); M.setAttribute('rx', 0), M.setAttribute('ry', 0), M.setAttribute('width', L.width), M.setAttribute('height', L.height), M.setAttribute('style', 'fill:#e8e8e8;'), x.insertBefore(M, x.firstChild); } }; function k(e) { var t; switch (e) { case 0: t = 'aggregation'; break; case 1: t = 'extension'; break; case 2: t = 'composition'; break; case 3: t = 'dependency'; break; default: t = 'none'; } return t; } t.default = { setConf: w, draw: S }; }, './src/diagrams/class/classRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return m; }), i.d(t, 'draw', function () { return _; }); var n = i('d3'), r = i('dagre'), s = i.n(r), o = i('graphlib'), a = i.n(o), l = i('./src/logger.js'), c = i('./src/diagrams/class/classDb.js'), d = i('./src/diagrams/class/parser/classDiagram.jison'), h = i('./src/diagrams/class/svgDraw.js'), u = i('./src/utils.js'); d.parser.yy = c.default; var g = {}, f = { dividerMargin: 10, padding: 5, textHeight: 10 }, p = function (e) { for (var t = Object.keys(g), i = 0; i < t.length; i++) if (g[t[i]].label === e) return t[i]; }, m = function (e) { Object.keys(e).forEach(function (t) { f[t] = e[t]; }); }, _ = function (e, t) { (g = {}), d.parser.yy.clear(), d.parser.parse(e), l.log.info('Rendering diagram ' + e); var i, r = Object(n.select)("[id='".concat(t, "']")); r.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), (i = r) .append('defs') .append('marker') .attr('id', 'extensionStart') .attr('class', 'extension') .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,7 L18,13 V 1 Z'), i .append('defs') .append('marker') .attr('id', 'extensionEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 1,1 V 13 L18,7 Z'), i .append('defs') .append('marker') .attr('id', 'compositionStart') .attr('class', 'extension') .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), i .append('defs') .append('marker') .attr('id', 'compositionEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), i .append('defs') .append('marker') .attr('id', 'aggregationStart') .attr('class', 'extension') .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), i .append('defs') .append('marker') .attr('id', 'aggregationEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'), i .append('defs') .append('marker') .attr('id', 'dependencyStart') .attr('class', 'extension') .attr('refX', 0) .attr('refY', 7) .attr('markerWidth', 190) .attr('markerHeight', 240) .attr('orient', 'auto') .append('path') .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'), i .append('defs') .append('marker') .attr('id', 'dependencyEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); var o = new a.a.Graph({ multigraph: !0 }); o.setGraph({ isMultiGraph: !0 }), o.setDefaultEdgeLabel(function () { return {}; }); for ( var m = c.default.getClasses(), _ = Object.keys(m), b = 0; b < _.length; b++ ) { var v = m[_[b]], y = h.default.drawClass(r, v, f); (g[y.id] = y), o.setNode(y.id, y), l.log.info('Org height: ' + y.height); } c.default.getRelations().forEach(function (e) { l.log.info( 'tjoho' + p(e.id1) + p(e.id2) + JSON.stringify(e) ), o.setEdge( p(e.id1), p(e.id2), { relation: e }, e.title || 'DEFAULT' ); }), s.a.layout(o), o.nodes().forEach(function (e) { void 0 !== e && void 0 !== o.node(e) && (l.log.debug( 'Node ' + e + ': ' + JSON.stringify(o.node(e)) ), Object(n.select)('#' + Object(c.lookUpDomId)(e)).attr( 'transform', 'translate(' + (o.node(e).x - o.node(e).width / 2) + ',' + (o.node(e).y - o.node(e).height / 2) + ' )' )); }), o.edges().forEach(function (e) { void 0 !== e && void 0 !== o.edge(e) && (l.log.debug( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(o.edge(e)) ), h.default.drawEdge( r, o.edge(e), o.edge(e).relation, f )); }); var w = r.node().getBBox(), C = w.width + 40, S = w.height + 40; Object(u.configureSvgSize)(r, S, C, f.useMaxWidth); var k = '' .concat(w.x - 20, ' ') .concat(w.y - 20, ' ') .concat(C, ' ') .concat(S); l.log.debug('viewBox '.concat(k)), r.attr('viewBox', k); }; t.default = { setConf: m, draw: _ }; }, './src/diagrams/class/parser/classDiagram.jison': function ( e, t, i ) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 7], i = [1, 6], n = [1, 14], r = [1, 25], s = [1, 28], o = [1, 26], a = [1, 27], l = [1, 29], c = [1, 30], d = [1, 31], h = [1, 32], u = [1, 35], g = [1, 36], f = [1, 37], p = [1, 38], m = [10, 19], _ = [1, 50], b = [1, 51], v = [1, 52], y = [1, 53], w = [1, 54], C = [1, 55], S = [ 10, 19, 26, 33, 34, 42, 45, 46, 47, 48, 49, 50, 55, 57, ], k = [ 10, 19, 24, 26, 33, 34, 38, 42, 45, 46, 47, 48, 49, 50, 55, 57, 72, 73, 74, 75, ], x = [10, 13, 17, 19], L = [42, 72, 73, 74, 75], M = [42, 49, 50, 72, 73, 74, 75], D = [42, 45, 46, 47, 48, 72, 73, 74, 75], N = [10, 19, 26], E = [1, 87], T = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, graphConfig: 6, openDirective: 7, typeDirective: 8, closeDirective: 9, NEWLINE: 10, ':': 11, argDirective: 12, open_directive: 13, type_directive: 14, arg_directive: 15, close_directive: 16, CLASS_DIAGRAM: 17, statements: 18, EOF: 19, statement: 20, className: 21, alphaNumToken: 22, classLiteralName: 23, GENERICTYPE: 24, relationStatement: 25, LABEL: 26, classStatement: 27, methodStatement: 28, annotationStatement: 29, clickStatement: 30, cssClassStatement: 31, CLASS: 32, STYLE_SEPARATOR: 33, STRUCT_START: 34, members: 35, STRUCT_STOP: 36, ANNOTATION_START: 37, ANNOTATION_END: 38, MEMBER: 39, SEPARATOR: 40, relation: 41, STR: 42, relationType: 43, lineType: 44, AGGREGATION: 45, EXTENSION: 46, COMPOSITION: 47, DEPENDENCY: 48, LINE: 49, DOTTED_LINE: 50, CALLBACK: 51, LINK: 52, LINK_TARGET: 53, CLICK: 54, CALLBACK_NAME: 55, CALLBACK_ARGS: 56, HREF: 57, CSSCLASS: 58, commentToken: 59, textToken: 60, graphCodeTokens: 61, textNoTagsToken: 62, TAGSTART: 63, TAGEND: 64, '==': 65, '--': 66, PCT: 67, DEFAULT: 68, SPACE: 69, MINUS: 70, keywords: 71, UNICODE_TEXT: 72, NUM: 73, ALPHA: 74, BQUOTE_STR: 75, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 10: 'NEWLINE', 11: ':', 13: 'open_directive', 14: 'type_directive', 15: 'arg_directive', 16: 'close_directive', 17: 'CLASS_DIAGRAM', 19: 'EOF', 24: 'GENERICTYPE', 26: 'LABEL', 32: 'CLASS', 33: 'STYLE_SEPARATOR', 34: 'STRUCT_START', 36: 'STRUCT_STOP', 37: 'ANNOTATION_START', 38: 'ANNOTATION_END', 39: 'MEMBER', 40: 'SEPARATOR', 42: 'STR', 45: 'AGGREGATION', 46: 'EXTENSION', 47: 'COMPOSITION', 48: 'DEPENDENCY', 49: 'LINE', 50: 'DOTTED_LINE', 51: 'CALLBACK', 52: 'LINK', 53: 'LINK_TARGET', 54: 'CLICK', 55: 'CALLBACK_NAME', 56: 'CALLBACK_ARGS', 57: 'HREF', 58: 'CSSCLASS', 61: 'graphCodeTokens', 63: 'TAGSTART', 64: 'TAGEND', 65: '==', 66: '--', 67: 'PCT', 68: 'DEFAULT', 69: 'SPACE', 70: 'MINUS', 71: 'keywords', 72: 'UNICODE_TEXT', 73: 'NUM', 74: 'ALPHA', 75: 'BQUOTE_STR', }, productions_: [ 0, [3, 1], [3, 2], [4, 1], [5, 4], [5, 6], [7, 1], [8, 1], [12, 1], [9, 1], [6, 4], [18, 1], [18, 2], [18, 3], [21, 1], [21, 1], [21, 2], [21, 2], [21, 2], [20, 1], [20, 2], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [27, 2], [27, 4], [27, 5], [27, 7], [29, 4], [35, 1], [35, 2], [28, 1], [28, 2], [28, 1], [28, 1], [25, 3], [25, 4], [25, 4], [25, 5], [41, 3], [41, 2], [41, 2], [41, 1], [43, 1], [43, 1], [43, 1], [43, 1], [44, 1], [44, 1], [30, 3], [30, 4], [30, 3], [30, 4], [30, 4], [30, 5], [30, 3], [30, 4], [30, 4], [30, 5], [30, 3], [30, 4], [30, 4], [30, 5], [31, 3], [59, 1], [59, 1], [60, 1], [60, 1], [60, 1], [60, 1], [60, 1], [60, 1], [60, 1], [62, 1], [62, 1], [62, 1], [62, 1], [22, 1], [22, 1], [22, 1], [23, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 6: n.parseDirective('%%{', 'open_directive'); break; case 7: n.parseDirective(s[a], 'type_directive'); break; case 8: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 9: n.parseDirective( '}%%', 'close_directive', 'class' ); break; case 14: case 15: this.$ = s[a]; break; case 16: this.$ = s[a - 1] + s[a]; break; case 17: case 18: this.$ = s[a - 1] + '~' + s[a]; break; case 19: n.addRelation(s[a]); break; case 20: (s[a - 1].title = n.cleanupLabel(s[a])), n.addRelation(s[a - 1]); break; case 27: n.addClass(s[a]); break; case 28: n.addClass(s[a - 2]), n.setCssClass(s[a - 2], s[a]); break; case 29: n.addClass(s[a - 3]), n.addMembers(s[a - 3], s[a - 1]); break; case 30: n.addClass(s[a - 5]), n.setCssClass(s[a - 5], s[a - 3]), n.addMembers(s[a - 5], s[a - 1]); break; case 31: n.addAnnotation(s[a], s[a - 2]); break; case 32: this.$ = [s[a]]; break; case 33: s[a].push(s[a - 1]), (this.$ = s[a]); break; case 34: break; case 35: n.addMember(s[a - 1], n.cleanupLabel(s[a])); break; case 36: case 37: break; case 38: this.$ = { id1: s[a - 2], id2: s[a], relation: s[a - 1], relationTitle1: 'none', relationTitle2: 'none', }; break; case 39: this.$ = { id1: s[a - 3], id2: s[a], relation: s[a - 1], relationTitle1: s[a - 2], relationTitle2: 'none', }; break; case 40: this.$ = { id1: s[a - 3], id2: s[a], relation: s[a - 2], relationTitle1: 'none', relationTitle2: s[a - 1], }; break; case 41: this.$ = { id1: s[a - 4], id2: s[a], relation: s[a - 2], relationTitle1: s[a - 3], relationTitle2: s[a - 1], }; break; case 42: this.$ = { type1: s[a - 2], type2: s[a], lineType: s[a - 1], }; break; case 43: this.$ = { type1: 'none', type2: s[a], lineType: s[a - 1], }; break; case 44: this.$ = { type1: s[a - 1], type2: 'none', lineType: s[a], }; break; case 45: this.$ = { type1: 'none', type2: 'none', lineType: s[a], }; break; case 46: this.$ = n.relationType.AGGREGATION; break; case 47: this.$ = n.relationType.EXTENSION; break; case 48: this.$ = n.relationType.COMPOSITION; break; case 49: this.$ = n.relationType.DEPENDENCY; break; case 50: this.$ = n.lineType.LINE; break; case 51: this.$ = n.lineType.DOTTED_LINE; break; case 52: case 58: (this.$ = s[a - 2]), n.setClickEvent(s[a - 1], s[a]); break; case 53: case 59: (this.$ = s[a - 3]), n.setClickEvent(s[a - 2], s[a - 1]), n.setTooltip(s[a - 2], s[a]); break; case 54: case 62: (this.$ = s[a - 2]), n.setLink(s[a - 1], s[a]); break; case 55: (this.$ = s[a - 3]), n.setLink(s[a - 2], s[a - 1], s[a]); break; case 56: case 64: (this.$ = s[a - 3]), n.setLink(s[a - 2], s[a - 1]), n.setTooltip(s[a - 2], s[a]); break; case 57: case 65: (this.$ = s[a - 4]), n.setLink(s[a - 3], s[a - 2], s[a]), n.setTooltip(s[a - 3], s[a - 1]); break; case 60: (this.$ = s[a - 3]), n.setClickEvent(s[a - 2], s[a - 1], s[a]); break; case 61: (this.$ = s[a - 4]), n.setClickEvent(s[a - 3], s[a - 2], s[a - 1]), n.setTooltip(s[a - 3], s[a]); break; case 63: (this.$ = s[a - 3]), n.setLink(s[a - 2], s[a - 1], s[a]); break; case 66: n.setCssClass(s[a - 1], s[a]); } }, table: [ { 3: 1, 4: 2, 5: 3, 6: 4, 7: 5, 13: t, 17: i }, { 1: [3] }, { 1: [2, 1] }, { 3: 8, 4: 2, 5: 3, 6: 4, 7: 5, 13: t, 17: i }, { 1: [2, 3] }, { 8: 9, 14: [1, 10] }, { 10: [1, 11] }, { 14: [2, 6] }, { 1: [2, 2] }, { 9: 12, 11: [1, 13], 16: n }, e([11, 16], [2, 7]), { 5: 23, 7: 5, 13: t, 18: 15, 20: 16, 21: 24, 22: 33, 23: 34, 25: 17, 27: 18, 28: 19, 29: 20, 30: 21, 31: 22, 32: r, 37: s, 39: o, 40: a, 51: l, 52: c, 54: d, 58: h, 72: u, 73: g, 74: f, 75: p, }, { 10: [1, 39] }, { 12: 40, 15: [1, 41] }, { 10: [2, 9] }, { 19: [1, 42] }, { 10: [1, 43], 19: [2, 11] }, e(m, [2, 19], { 26: [1, 44] }), e(m, [2, 21]), e(m, [2, 22]), e(m, [2, 23]), e(m, [2, 24]), e(m, [2, 25]), e(m, [2, 26]), e(m, [2, 34], { 41: 45, 43: 48, 44: 49, 26: [1, 47], 42: [1, 46], 45: _, 46: b, 47: v, 48: y, 49: w, 50: C, }), { 21: 56, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, e(m, [2, 36]), e(m, [2, 37]), { 22: 57, 72: u, 73: g, 74: f }, { 21: 58, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, { 21: 59, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, { 21: 60, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, { 42: [1, 61] }, e(S, [2, 14], { 22: 33, 23: 34, 21: 62, 24: [1, 63], 72: u, 73: g, 74: f, 75: p, }), e(S, [2, 15], { 24: [1, 64] }), e(k, [2, 80]), e(k, [2, 81]), e(k, [2, 82]), e( [ 10, 19, 24, 26, 33, 34, 42, 45, 46, 47, 48, 49, 50, 55, 57, ], [2, 83] ), e(x, [2, 4]), { 9: 65, 16: n }, { 16: [2, 8] }, { 1: [2, 10] }, { 5: 23, 7: 5, 13: t, 18: 66, 19: [2, 12], 20: 16, 21: 24, 22: 33, 23: 34, 25: 17, 27: 18, 28: 19, 29: 20, 30: 21, 31: 22, 32: r, 37: s, 39: o, 40: a, 51: l, 52: c, 54: d, 58: h, 72: u, 73: g, 74: f, 75: p, }, e(m, [2, 20]), { 21: 67, 22: 33, 23: 34, 42: [1, 68], 72: u, 73: g, 74: f, 75: p, }, { 41: 69, 43: 48, 44: 49, 45: _, 46: b, 47: v, 48: y, 49: w, 50: C, }, e(m, [2, 35]), { 44: 70, 49: w, 50: C }, e(L, [2, 45], { 43: 71, 45: _, 46: b, 47: v, 48: y }), e(M, [2, 46]), e(M, [2, 47]), e(M, [2, 48]), e(M, [2, 49]), e(D, [2, 50]), e(D, [2, 51]), e(m, [2, 27], { 33: [1, 72], 34: [1, 73] }), { 38: [1, 74] }, { 42: [1, 75] }, { 42: [1, 76] }, { 55: [1, 77], 57: [1, 78] }, { 22: 79, 72: u, 73: g, 74: f }, e(S, [2, 16]), e(S, [2, 17]), e(S, [2, 18]), { 10: [1, 80] }, { 19: [2, 13] }, e(N, [2, 38]), { 21: 81, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, { 21: 82, 22: 33, 23: 34, 42: [1, 83], 72: u, 73: g, 74: f, 75: p, }, e(L, [2, 44], { 43: 84, 45: _, 46: b, 47: v, 48: y }), e(L, [2, 43]), { 22: 85, 72: u, 73: g, 74: f }, { 35: 86, 39: E }, { 21: 88, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, e(m, [2, 52], { 42: [1, 89] }), e(m, [2, 54], { 42: [1, 91], 53: [1, 90] }), e(m, [2, 58], { 42: [1, 92], 56: [1, 93] }), e(m, [2, 62], { 42: [1, 95], 53: [1, 94] }), e(m, [2, 66]), e(x, [2, 5]), e(N, [2, 40]), e(N, [2, 39]), { 21: 96, 22: 33, 23: 34, 72: u, 73: g, 74: f, 75: p, }, e(L, [2, 42]), e(m, [2, 28], { 34: [1, 97] }), { 36: [1, 98] }, { 35: 99, 36: [2, 32], 39: E }, e(m, [2, 31]), e(m, [2, 53]), e(m, [2, 55]), e(m, [2, 56], { 53: [1, 100] }), e(m, [2, 59]), e(m, [2, 60], { 42: [1, 101] }), e(m, [2, 63]), e(m, [2, 64], { 53: [1, 102] }), e(N, [2, 41]), { 35: 103, 39: E }, e(m, [2, 29]), { 36: [2, 33] }, e(m, [2, 57]), e(m, [2, 61]), e(m, [2, 65]), { 36: [1, 104] }, e(m, [2, 30]), ], defaultActions: { 2: [2, 1], 4: [2, 3], 7: [2, 6], 8: [2, 2], 14: [2, 9], 41: [2, 8], 42: [2, 10], 66: [2, 13], 99: [2, 33], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, I = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: {}, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 13; case 1: return this.begin('type_directive'), 14; case 2: return ( this.popState(), this.begin('arg_directive'), 11 ); case 3: return this.popState(), this.popState(), 16; case 4: return 15; case 5: case 6: break; case 7: return 10; case 8: break; case 9: case 10: return 17; case 11: return this.begin('struct'), 34; case 12: return 'EOF_IN_STRUCT'; case 13: return 'OPEN_IN_STRUCT'; case 14: return this.popState(), 36; case 15: break; case 16: return 'MEMBER'; case 17: return 32; case 18: return 58; case 19: return 51; case 20: return 52; case 21: return 54; case 22: return 37; case 23: return 38; case 24: this.begin('generic'); break; case 25: this.popState(); break; case 26: return 'GENERICTYPE'; case 27: this.begin('string'); break; case 28: this.popState(); break; case 29: return 'STR'; case 30: this.begin('bqstring'); break; case 31: this.popState(); break; case 32: return 'BQUOTE_STR'; case 33: this.begin('href'); break; case 34: this.popState(); break; case 35: return 57; case 36: this.begin('callback_name'); break; case 37: this.popState(); break; case 38: this.popState(), this.begin('callback_args'); break; case 39: return 55; case 40: this.popState(); break; case 41: return 56; case 42: case 43: case 44: case 45: return 53; case 46: case 47: return 46; case 48: case 49: return 48; case 50: return 47; case 51: return 45; case 52: return 49; case 53: return 50; case 54: return 26; case 55: return 33; case 56: return 70; case 57: return 'DOT'; case 58: return 'PLUS'; case 59: return 67; case 60: case 61: return 'EQUALS'; case 62: return 74; case 63: return 'PUNCTUATION'; case 64: return 73; case 65: return 72; case 66: return 69; case 67: return 19; } }, rules: [ /^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, /^(?:%%[^\n]*(\r?\n)*)/, /^(?:(\r?\n)+)/, /^(?:\s+)/, /^(?:classDiagram-v2\b)/, /^(?:classDiagram\b)/, /^(?:[{])/, /^(?:$)/, /^(?:[{])/, /^(?:[}])/, /^(?:[\n])/, /^(?:[^{}\n]*)/, /^(?:class\b)/, /^(?:cssClass\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:click\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:[~])/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:[`])/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:--)/, /^(?:\.\.)/, /^(?::{1}[^:\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:[!"#$%&'*+,-.`?\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:$)/, ], conditions: { arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, callback_args: { rules: [40, 41], inclusive: !1 }, callback_name: { rules: [37, 38, 39], inclusive: !1 }, href: { rules: [34, 35], inclusive: !1 }, struct: { rules: [12, 13, 14, 15, 16], inclusive: !1, }, generic: { rules: [25, 26], inclusive: !1 }, bqstring: { rules: [31, 32], inclusive: !1 }, string: { rules: [28, 29], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 9, 10, 11, 17, 18, 19, 20, 21, 22, 23, 24, 27, 30, 33, 36, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, ], inclusive: !0, }, }, }; function O() { this.yy = {}; } return ( (T.lexer = I), (O.prototype = T), (T.Parser = O), new O() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/class/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return 'g.classGroup text {\n fill: ' .concat(e.nodeBorder, ';\n fill: ') .concat( e.classText, ';\n stroke: none;\n font-family: ' ) .concat( e.fontFamily, ';\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ' ) .concat( e.nodeBorder, ';\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n}\n\ng.classGroup line {\n stroke: ' ) .concat( e.nodeBorder, ';\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ' ) .concat( e.mainBkg, ';\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ' ) .concat( e.nodeBorder, ';\n font-size: 10px;\n}\n\n.relation {\n stroke: ' ) .concat( e.lineColor, ';\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ' ) .concat(e.lineColor, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ' ) .concat(e.mainBkg, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ' ) .concat(e.mainBkg, ' !important;\n stroke: ') .concat( e.lineColor, ' !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n' ); }); }, './src/diagrams/class/svgDraw.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'drawEdge', function () { return l; }), i.d(t, 'drawClass', function () { return c; }), i.d(t, 'parseMember', function () { return d; }); var n = i('d3'), r = i('./src/diagrams/class/classDb.js'), s = i('./src/utils.js'), o = i('./src/logger.js'), a = 0, l = function (e, t, i, l) { var c = function (e) { switch (e) { case r.relationType.AGGREGATION: return 'aggregation'; case r.relationType.EXTENSION: return 'extension'; case r.relationType.COMPOSITION: return 'composition'; case r.relationType.DEPENDENCY: return 'dependency'; } }; t.points = t.points.filter(function (e) { return !Number.isNaN(e.y); }); var d, h, u = t.points, g = Object(n.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }) .curve(n.curveBasis), f = e .append('path') .attr('d', g(u)) .attr('id', 'edge' + a) .attr('class', 'relation'), p = ''; l.arrowMarkerAbsolute && (p = (p = (p = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace(/\(/g, '\\(')).replace( /\)/g, '\\)' )), 1 == i.relation.lineType && f.attr('class', 'relation dashed-line'), 'none' !== i.relation.type1 && f.attr( 'marker-start', 'url(' + p + '#' + c(i.relation.type1) + 'Start)' ), 'none' !== i.relation.type2 && f.attr( 'marker-end', 'url(' + p + '#' + c(i.relation.type2) + 'End)' ); var m, _, b, v, y = t.points.length, w = s.default.calcLabelPosition(t.points); if (((d = w.x), (h = w.y), y % 2 != 0 && y > 1)) { var C = s.default.calcCardinalityPosition( 'none' !== i.relation.type1, t.points, t.points[0] ), S = s.default.calcCardinalityPosition( 'none' !== i.relation.type2, t.points, t.points[y - 1] ); o.log.debug('cardinality_1_point ' + JSON.stringify(C)), o.log.debug('cardinality_2_point ' + JSON.stringify(S)), (m = C.x), (_ = C.y), (b = S.x), (v = S.y); } if (void 0 !== i.title) { var k = e.append('g').attr('class', 'classLabel'), x = k .append('text') .attr('class', 'label') .attr('x', d) .attr('y', h) .attr('fill', 'red') .attr('text-anchor', 'middle') .text(i.title); window.label = x; var L = x.node().getBBox(); k.insert('rect', ':first-child') .attr('class', 'box') .attr('x', L.x - l.padding / 2) .attr('y', L.y - l.padding / 2) .attr('width', L.width + l.padding) .attr('height', L.height + l.padding); } o.log.info('Rendering relation ' + JSON.stringify(i)), void 0 !== i.relationTitle1 && 'none' !== i.relationTitle1 && e .append('g') .attr('class', 'cardinality') .append('text') .attr('class', 'type1') .attr('x', m) .attr('y', _) .attr('fill', 'black') .attr('font-size', '6') .text(i.relationTitle1), void 0 !== i.relationTitle2 && 'none' !== i.relationTitle2 && e .append('g') .attr('class', 'cardinality') .append('text') .attr('class', 'type2') .attr('x', b) .attr('y', v) .attr('fill', 'black') .attr('font-size', '6') .text(i.relationTitle2), a++; }, c = function (e, t, i) { o.log.info('Rendering class ' + t); var n, s = t.id, a = { id: s, label: t.id, width: 0, height: 0 }, l = e .append('g') .attr('id', Object(r.lookUpDomId)(s)) .attr('class', 'classGroup'); n = t.link ? l .append('svg:a') .attr('xlink:href', t.link) .attr('target', t.linkTarget) .append('text') .attr('y', i.textHeight + i.padding) .attr('x', 0) : l .append('text') .attr('y', i.textHeight + i.padding) .attr('x', 0); var c = !0; t.annotations.forEach(function (e) { var t = n.append('tspan').text('«' + e + '»'); c || t.attr('dy', i.textHeight), (c = !1); }); var d = t.id; void 0 !== t.type && '' !== t.type && (d += '<' + t.type + '>'); var h = n.append('tspan').text(d).attr('class', 'title'); c || h.attr('dy', i.textHeight); var u = n.node().getBBox().height, g = l .append('line') .attr('x1', 0) .attr('y1', i.padding + u + i.dividerMargin / 2) .attr('y2', i.padding + u + i.dividerMargin / 2), p = l .append('text') .attr('x', i.padding) .attr('y', u + i.dividerMargin + i.textHeight) .attr('fill', 'white') .attr('class', 'classText'); (c = !0), t.members.forEach(function (e) { f(p, e, c, i), (c = !1); }); var m = p.node().getBBox(), _ = l .append('line') .attr('x1', 0) .attr('y1', i.padding + u + i.dividerMargin + m.height) .attr('y2', i.padding + u + i.dividerMargin + m.height), b = l .append('text') .attr('x', i.padding) .attr( 'y', u + 2 * i.dividerMargin + m.height + i.textHeight ) .attr('fill', 'white') .attr('class', 'classText'); (c = !0), t.methods.forEach(function (e) { f(b, e, c, i), (c = !1); }); var v = l.node().getBBox(), y = ' '; t.cssClasses.length > 0 && (y += t.cssClasses.join(' ')); var w = l .insert('rect', ':first-child') .attr('x', 0) .attr('y', 0) .attr('width', v.width + 2 * i.padding) .attr( 'height', v.height + i.padding + 0.5 * i.dividerMargin ) .attr('class', y) .node() .getBBox().width; return ( n.node().childNodes.forEach(function (e) { e.setAttribute('x', (w - e.getBBox().width) / 2); }), t.tooltip && n.insert('title').text(t.tooltip), g.attr('x2', w), _.attr('x2', w), (a.width = w), (a.height = v.height + i.padding + 0.5 * i.dividerMargin), a ); }, d = function (e) { var t = e.match(/(\+|-|~|#)?(\w+)(~\w+~|\[\])?\s+(\w+)/), i = e.match( /^([+|\-|~|#])?(\w+) *\( *(.*)\) *(\*|\$)? *(\w*[~|[\]]*\s*\w*~?)$/ ); return t && !i ? h(t) : i ? u(i) : g(e); }, h = function (e) { var t = ''; try { t = (e[1] ? e[1].trim() : '') + (e[2] ? e[2].trim() : '') + (e[3] ? p(e[3].trim()) : '') + ' ' + (e[4] ? e[4].trim() : ''); } catch (i) { t = e; } return { displayText: t, cssStyle: '' }; }, u = function (e) { var t = '', i = ''; try { var n = e[1] ? e[1].trim() : '', r = e[2] ? e[2].trim() : '', s = e[3] ? p(e[3].trim()) : '', o = e[4] ? e[4].trim() : ''; (i = n + r + '(' + s + ')' + (e[5] ? ' : ' + p(e[5]).trim() : '')), (t = m(o)); } catch (t) { i = e; } return { displayText: i, cssStyle: t }; }, g = function (e) { var t = '', i = '', n = '', r = e.indexOf('('), s = e.indexOf(')'); if (r > 1 && s > r && s <= e.length) { var o = '', a = '', l = e.substring(0, 1); l.match(/\w/) ? (a = e.substring(0, r).trim()) : (l.match(/\+|-|~|#/) && (o = l), (a = e.substring(1, r).trim())); var c = e.substring(r + 1, s), d = e.substring(s + 1, 1); (i = m(d)), (t = o + a + '(' + p(c.trim()) + ')'), s < ''.length && '' !== (n = e.substring(s + 2).trim()) && (n = ' : ' + p(n)); } else t = p(e); return { displayText: t, cssStyle: i }; }, f = function (e, t, i, n) { var r = d(t), s = e .append('tspan') .attr('x', n.padding) .text(r.displayText); '' !== r.cssStyle && s.attr('style', r.cssStyle), i || s.attr('dy', n.textHeight); }, p = function e(t) { var i = t; return -1 != t.indexOf('~') ? e((i = (i = i.replace('~', '<')).replace('~', '>'))) : i; }, m = function (e) { switch (e) { case '*': return 'font-style:italic;'; case '$': return 'text-decoration:underline;'; default: return ''; } }; t.default = { drawClass: c, drawEdge: l, parseMember: d }; }, './src/diagrams/common/common.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getRows', function () { return n; }), i.d(t, 'removeScript', function () { return r; }), i.d(t, 'sanitizeText', function () { return s; }), i.d(t, 'lineBreakRegex', function () { return o; }), i.d(t, 'hasBreaks', function () { return a; }), i.d(t, 'splitBreaks', function () { return l; }); var n = function (e) { if (!e) return 1; var t = c(e); return (t = t.replace(/\\n/g, '#br#')).split('#br#'); }, r = function (e) { for (var t = '', i = 0; i >= 0; ) { if (!((i = e.indexOf('= 0)) { (t += e), (i = -1); break; } (t += e.substr(0, i)), (i = (e = e.substr(i + 1)).indexOf('')) >= 0 && ((i += 9), (e = e.substr(i))); } return t; }, s = function (e, t) { var i = e, n = !0; if ( (!t.flowchart || (!1 !== t.flowchart.htmlLabels && 'false' !== t.flowchart.htmlLabels) || (n = !1), n) ) { var s = t.securityLevel; 'antiscript' === s ? (i = r(i)) : 'loose' !== s && ((i = (i = (i = c(i)) .replace(//g, '>')).replace(/=/g, '=')), (i = d(i))); } return i; }, o = //gi, a = function (e) { return //gi.test(e); }, l = function (e) { return e.split(//gi); }, c = function (e) { return e.replace(o, '#br#'); }, d = function (e) { return e.replace(/#br#/g, '
'); }; t.default = { getRows: n, sanitizeText: s, hasBreaks: a, splitBreaks: l, lineBreakRegex: o, removeScript: r, getUrl: function (e) { var t = ''; return ( e && (t = (t = (t = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace( /\(/g, '\\(' )).replace(/\)/g, '\\)')), t ); }, }; }, './src/diagrams/er/erDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return c; }); var n = i('./src/logger.js'), r = i('./src/mermaidAPI.js'), s = i('./src/config.js'), o = {}, a = [], l = '', c = function (e, t, i) { r.default.parseDirective(this, e, t, i); }, d = function (e) { return ( void 0 === o[e] && ((o[e] = { attributes: [] }), n.log.info('Added new entity :', e)), o[e] ); }; t.default = { Cardinality: { ZERO_OR_ONE: 'ZERO_OR_ONE', ZERO_OR_MORE: 'ZERO_OR_MORE', ONE_OR_MORE: 'ONE_OR_MORE', ONLY_ONE: 'ONLY_ONE', }, Identification: { NON_IDENTIFYING: 'NON_IDENTIFYING', IDENTIFYING: 'IDENTIFYING', }, parseDirective: c, getConfig: function () { return s.getConfig().er; }, addEntity: d, addAttributes: function (e, t) { var i, r = d(e); for (i = t.length - 1; i >= 0; i--) r.attributes.push(t[i]), n.log.debug('Added attribute ', t[i].attributeName); }, getEntities: function () { return o; }, addRelationship: function (e, t, i, r) { var s = { entityA: e, roleA: t, entityB: i, relSpec: r }; a.push(s), n.log.debug('Added new relationship :', s); }, getRelationships: function () { return a; }, clear: function () { (o = {}), (a = []), (l = ''); }, setTitle: function (e) { l = e; }, getTitle: function () { return l; }, }; }, './src/diagrams/er/erMarkers.js': function (e, t, i) { 'use strict'; i.r(t); var n = { ONLY_ONE_START: 'ONLY_ONE_START', ONLY_ONE_END: 'ONLY_ONE_END', ZERO_OR_ONE_START: 'ZERO_OR_ONE_START', ZERO_OR_ONE_END: 'ZERO_OR_ONE_END', ONE_OR_MORE_START: 'ONE_OR_MORE_START', ONE_OR_MORE_END: 'ONE_OR_MORE_END', ZERO_OR_MORE_START: 'ZERO_OR_MORE_START', ZERO_OR_MORE_END: 'ZERO_OR_MORE_END', }; t.default = { ERMarkers: n, insertMarkers: function (e, t) { var i; e .append('defs') .append('marker') .attr('id', n.ONLY_ONE_START) .attr('refX', 0) .attr('refY', 9) .attr('markerWidth', 18) .attr('markerHeight', 18) .attr('orient', 'auto') .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M9,0 L9,18 M15,0 L15,18'), e .append('defs') .append('marker') .attr('id', n.ONLY_ONE_END) .attr('refX', 18) .attr('refY', 9) .attr('markerWidth', 18) .attr('markerHeight', 18) .attr('orient', 'auto') .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M3,0 L3,18 M9,0 L9,18'), (i = e .append('defs') .append('marker') .attr('id', n.ZERO_OR_ONE_START) .attr('refX', 0) .attr('refY', 9) .attr('markerWidth', 30) .attr('markerHeight', 18) .attr('orient', 'auto')) .append('circle') .attr('stroke', t.stroke) .attr('fill', 'white') .attr('cx', 21) .attr('cy', 9) .attr('r', 6), i .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M9,0 L9,18'), (i = e .append('defs') .append('marker') .attr('id', n.ZERO_OR_ONE_END) .attr('refX', 30) .attr('refY', 9) .attr('markerWidth', 30) .attr('markerHeight', 18) .attr('orient', 'auto')) .append('circle') .attr('stroke', t.stroke) .attr('fill', 'white') .attr('cx', 9) .attr('cy', 9) .attr('r', 6), i .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M21,0 L21,18'), e .append('defs') .append('marker') .attr('id', n.ONE_OR_MORE_START) .attr('refX', 18) .attr('refY', 18) .attr('markerWidth', 45) .attr('markerHeight', 36) .attr('orient', 'auto') .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr( 'd', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27' ), e .append('defs') .append('marker') .attr('id', n.ONE_OR_MORE_END) .attr('refX', 27) .attr('refY', 18) .attr('markerWidth', 45) .attr('markerHeight', 36) .attr('orient', 'auto') .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'), (i = e .append('defs') .append('marker') .attr('id', n.ZERO_OR_MORE_START) .attr('refX', 18) .attr('refY', 18) .attr('markerWidth', 57) .attr('markerHeight', 36) .attr('orient', 'auto')) .append('circle') .attr('stroke', t.stroke) .attr('fill', 'white') .attr('cx', 48) .attr('cy', 18) .attr('r', 6), i .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'), (i = e .append('defs') .append('marker') .attr('id', n.ZERO_OR_MORE_END) .attr('refX', 39) .attr('refY', 18) .attr('markerWidth', 57) .attr('markerHeight', 36) .attr('orient', 'auto')) .append('circle') .attr('stroke', t.stroke) .attr('fill', 'white') .attr('cx', 9) .attr('cy', 18) .attr('r', 6), i .append('path') .attr('stroke', t.stroke) .attr('fill', 'none') .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18'); }, }; }, './src/diagrams/er/erRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return m; }), i.d(t, 'draw', function () { return v; }); var n = i('graphlib'), r = i.n(n), s = i('d3'), o = i('./src/diagrams/er/erDb.js'), a = i('./src/diagrams/er/parser/erDiagram.jison'), l = i.n(a), c = i('dagre'), d = i.n(c), h = i('./src/config.js'), u = i('./src/logger.js'), g = i('./src/diagrams/er/erMarkers.js'), f = i('./src/utils.js'), p = {}, m = function (e) { for (var t = Object.keys(e), i = 0; i < t.length; i++) p[t[i]] = e[t[i]]; }, _ = function (e) { return (e.entityA + e.roleA + e.entityB).replace(/\s/g, ''); }, b = 0, v = function (e, t) { u.log.info('Drawing ER diagram'), o.default.clear(); var i = l.a.parser; i.yy = o.default; try { i.parse(e); } catch (e) { u.log.debug('Parsing failed'); } var n, a = Object(s.select)("[id='".concat(t, "']")); g.default.insertMarkers(a, p), (n = new r.a.Graph({ multigraph: !0, directed: !0, compound: !1, }) .setGraph({ rankdir: p.layoutDirection, marginx: 20, marginy: 20, nodesep: 100, edgesep: 100, ranksep: 100, }) .setDefaultEdgeLabel(function () { return {}; })); var c, m, v = (function (e, t, i) { var n; return ( Object.keys(t).forEach(function (r) { var s = e.append('g').attr('id', r); n = void 0 === n ? r : n; var o = 'entity-' + r, a = s .append('text') .attr('class', 'er entityLabel') .attr('id', o) .attr('x', 0) .attr('y', 0) .attr('dominant-baseline', 'middle') .attr('text-anchor', 'middle') .attr( 'style', 'font-family: ' + Object(h.getConfig)().fontFamily + '; font-size: ' + p.fontSize + 'px' ) .text(r), l = (function (e, t, i) { var n = p.entityPadding / 3, r = p.entityPadding / 3, s = 0.85 * p.fontSize, o = t.node().getBBox(), a = [], l = 0, c = 0, d = o.height + 2 * n, u = 1; i.forEach(function (i) { var r = '' .concat(t.node().id, '-attr-') .concat(u), o = e .append('text') .attr('class', 'er entityLabel') .attr('id', ''.concat(r, '-type')) .attr('x', 0) .attr('y', 0) .attr('dominant-baseline', 'middle') .attr('text-anchor', 'left') .attr( 'style', 'font-family: ' + Object(h.getConfig)().fontFamily + '; font-size: ' + s + 'px' ) .text(i.attributeType), g = e .append('text') .attr('class', 'er entityLabel') .attr('id', ''.concat(r, '-name')) .attr('x', 0) .attr('y', 0) .attr('dominant-baseline', 'middle') .attr('text-anchor', 'left') .attr( 'style', 'font-family: ' + Object(h.getConfig)().fontFamily + '; font-size: ' + s + 'px' ) .text(i.attributeName); a.push({ tn: o, nn: g }); var f = o.node().getBBox(), p = g.node().getBBox(); (l = Math.max(l, f.width)), (c = Math.max(c, p.width)), (d += Math.max(f.height, p.height) + 2 * n), (u += 1); }); var g = { width: Math.max( p.minEntityWidth, Math.max( o.width + 2 * p.entityPadding, l + c + 4 * r ) ), height: i.length > 0 ? d : Math.max( p.minEntityHeight, o.height + 2 * p.entityPadding ), }, f = Math.max(0, g.width - (l + c) - 4 * r); if (i.length > 0) { t.attr( 'transform', 'translate(' + g.width / 2 + ',' + (n + o.height / 2) + ')' ); var m = o.height + 2 * n, _ = 'attributeBoxOdd'; a.forEach(function (t) { var i = m + n + Math.max( t.tn.node().getBBox().height, t.nn.node().getBBox().height ) / 2; t.tn.attr( 'transform', 'translate(' + r + ',' + i + ')' ); var s = e .insert('rect', '#' + t.tn.node().id) .attr('class', 'er '.concat(_)) .attr('fill', p.fill) .attr('fill-opacity', '100%') .attr('stroke', p.stroke) .attr('x', 0) .attr('y', m) .attr('width', l + 2 * r + f / 2) .attr( 'height', t.tn.node().getBBox().height + 2 * n ); t.nn.attr( 'transform', 'translate(' + (parseFloat(s.attr('width')) + r) + ',' + i + ')' ), e .insert('rect', '#' + t.nn.node().id) .attr('class', 'er '.concat(_)) .attr('fill', p.fill) .attr('fill-opacity', '100%') .attr('stroke', p.stroke) .attr( 'x', ''.concat( s.attr('x') + s.attr('width') ) ) .attr('y', m) .attr('width', c + 2 * r + f / 2) .attr( 'height', t.nn.node().getBBox().height + 2 * n ), (m += Math.max( t.tn.node().getBBox().height, t.nn.node().getBBox().height ) + 2 * n), (_ = 'attributeBoxOdd' == _ ? 'attributeBoxEven' : 'attributeBoxOdd'); }); } else (g.height = Math.max(p.minEntityHeight, d)), t.attr( 'transform', 'translate(' + g.width / 2 + ',' + g.height / 2 + ')' ); return g; })(s, a, t[r].attributes), c = l.width, d = l.height, u = s .insert('rect', '#' + o) .attr('class', 'er entityBox') .attr('fill', p.fill) .attr('fill-opacity', '100%') .attr('stroke', p.stroke) .attr('x', 0) .attr('y', 0) .attr('width', c) .attr('height', d) .node() .getBBox(); i.setNode(r, { width: u.width, height: u.height, shape: 'rect', id: r, }); }), n ); })(a, o.default.getEntities(), n), y = (function (e, t) { return ( e.forEach(function (e) { t.setEdge( e.entityA, e.entityB, { relationship: e }, _(e) ); }), e ); })(o.default.getRelationships(), n); d.a.layout(n), (c = a), (m = n).nodes().forEach(function (e) { void 0 !== e && void 0 !== m.node(e) && c .select('#' + e) .attr( 'transform', 'translate(' + (m.node(e).x - m.node(e).width / 2) + ',' + (m.node(e).y - m.node(e).height / 2) + ' )' ); }), y.forEach(function (e) { !(function (e, t, i, n) { b++; var r = i.edge(t.entityA, t.entityB, _(t)), a = Object(s.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }) .curve(s.curveBasis), l = e .insert('path', '#' + n) .attr('class', 'er relationshipLine') .attr('d', a(r.points)) .attr('stroke', p.stroke) .attr('fill', 'none'); t.relSpec.relType === o.default.Identification.NON_IDENTIFYING && l.attr('stroke-dasharray', '8,8'); var c = ''; switch ( (p.arrowMarkerAbsolute && (c = (c = (c = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace( /\(/g, '\\(' )).replace(/\)/g, '\\)')), t.relSpec.cardA) ) { case o.default.Cardinality.ZERO_OR_ONE: l.attr( 'marker-end', 'url(' + c + '#' + g.default.ERMarkers.ZERO_OR_ONE_END + ')' ); break; case o.default.Cardinality.ZERO_OR_MORE: l.attr( 'marker-end', 'url(' + c + '#' + g.default.ERMarkers.ZERO_OR_MORE_END + ')' ); break; case o.default.Cardinality.ONE_OR_MORE: l.attr( 'marker-end', 'url(' + c + '#' + g.default.ERMarkers.ONE_OR_MORE_END + ')' ); break; case o.default.Cardinality.ONLY_ONE: l.attr( 'marker-end', 'url(' + c + '#' + g.default.ERMarkers.ONLY_ONE_END + ')' ); } switch (t.relSpec.cardB) { case o.default.Cardinality.ZERO_OR_ONE: l.attr( 'marker-start', 'url(' + c + '#' + g.default.ERMarkers.ZERO_OR_ONE_START + ')' ); break; case o.default.Cardinality.ZERO_OR_MORE: l.attr( 'marker-start', 'url(' + c + '#' + g.default.ERMarkers.ZERO_OR_MORE_START + ')' ); break; case o.default.Cardinality.ONE_OR_MORE: l.attr( 'marker-start', 'url(' + c + '#' + g.default.ERMarkers.ONE_OR_MORE_START + ')' ); break; case o.default.Cardinality.ONLY_ONE: l.attr( 'marker-start', 'url(' + c + '#' + g.default.ERMarkers.ONLY_ONE_START + ')' ); } var d = l.node().getTotalLength(), u = l.node().getPointAtLength(0.5 * d), f = 'rel' + b, m = e .append('text') .attr('class', 'er relationshipLabel') .attr('id', f) .attr('x', u.x) .attr('y', u.y) .attr('text-anchor', 'middle') .attr('dominant-baseline', 'middle') .attr( 'style', 'font-family: ' + Object(h.getConfig)().fontFamily + '; font-size: ' + p.fontSize + 'px' ) .text(t.roleA) .node() .getBBox(); e.insert('rect', '#' + f) .attr('class', 'er relationshipLabelBox') .attr('x', u.x - m.width / 2) .attr('y', u.y - m.height / 2) .attr('width', m.width) .attr('height', m.height) .attr('fill', 'white') .attr('fill-opacity', '85%'); })(a, e, n, v); }); var w = p.diagramPadding, C = a.node().getBBox(), S = C.width + 2 * w, k = C.height + 2 * w; Object(f.configureSvgSize)(a, k, S, p.useMaxWidth), a.attr( 'viewBox', '' .concat(C.x - w, ' ') .concat(C.y - w, ' ') .concat(S, ' ') .concat(k) ); }; t.default = { setConf: m, draw: v }; }, './src/diagrams/er/parser/erDiagram.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 2], i = [1, 5], n = [6, 9, 11, 23, 37], r = [1, 17], s = [1, 20], o = [1, 25], a = [1, 26], l = [1, 27], c = [1, 28], d = [1, 37], h = [23, 34, 35], u = [4, 6, 9, 11, 23, 37], g = [30, 31, 32, 33], f = [22, 27], p = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, ER_DIAGRAM: 4, document: 5, EOF: 6, directive: 7, line: 8, SPACE: 9, statement: 10, NEWLINE: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, ':': 15, argDirective: 16, entityName: 17, relSpec: 18, role: 19, BLOCK_START: 20, attributes: 21, BLOCK_STOP: 22, ALPHANUM: 23, attribute: 24, attributeType: 25, attributeName: 26, ATTRIBUTE_WORD: 27, cardinality: 28, relType: 29, ZERO_OR_ONE: 30, ZERO_OR_MORE: 31, ONE_OR_MORE: 32, ONLY_ONE: 33, NON_IDENTIFYING: 34, IDENTIFYING: 35, WORD: 36, open_directive: 37, type_directive: 38, arg_directive: 39, close_directive: 40, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'ER_DIAGRAM', 6: 'EOF', 9: 'SPACE', 11: 'NEWLINE', 15: ':', 20: 'BLOCK_START', 22: 'BLOCK_STOP', 23: 'ALPHANUM', 27: 'ATTRIBUTE_WORD', 30: 'ZERO_OR_ONE', 31: 'ZERO_OR_MORE', 32: 'ONE_OR_MORE', 33: 'ONLY_ONE', 34: 'NON_IDENTIFYING', 35: 'IDENTIFYING', 36: 'WORD', 37: 'open_directive', 38: 'type_directive', 39: 'arg_directive', 40: 'close_directive', }, productions_: [ 0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 5], [10, 4], [10, 3], [10, 1], [17, 1], [21, 1], [21, 2], [24, 2], [25, 1], [26, 1], [18, 3], [28, 1], [28, 1], [28, 1], [28, 1], [29, 1], [29, 1], [19, 1], [19, 1], [12, 1], [13, 1], [16, 1], [14, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 1: break; case 3: this.$ = []; break; case 4: s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 5: case 6: this.$ = s[a]; break; case 7: case 8: this.$ = []; break; case 12: n.addEntity(s[a - 4]), n.addEntity(s[a - 2]), n.addRelationship( s[a - 4], s[a], s[a - 2], s[a - 3] ); break; case 13: n.addEntity(s[a - 3]), n.addAttributes(s[a - 3], s[a - 1]); break; case 14: n.addEntity(s[a - 2]); break; case 15: n.addEntity(s[a]); break; case 16: this.$ = s[a]; break; case 17: this.$ = [s[a]]; break; case 18: s[a].push(s[a - 1]), (this.$ = s[a]); break; case 19: this.$ = { attributeType: s[a - 1], attributeName: s[a], }; break; case 20: case 21: this.$ = s[a]; break; case 22: this.$ = { cardA: s[a], relType: s[a - 1], cardB: s[a - 2], }; break; case 23: this.$ = n.Cardinality.ZERO_OR_ONE; break; case 24: this.$ = n.Cardinality.ZERO_OR_MORE; break; case 25: this.$ = n.Cardinality.ONE_OR_MORE; break; case 26: this.$ = n.Cardinality.ONLY_ONE; break; case 27: this.$ = n.Identification.NON_IDENTIFYING; break; case 28: this.$ = n.Identification.IDENTIFYING; break; case 29: this.$ = s[a].replace(/"/g, ''); break; case 30: this.$ = s[a]; break; case 31: n.parseDirective('%%{', 'open_directive'); break; case 32: n.parseDirective(s[a], 'type_directive'); break; case 33: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 34: n.parseDirective('}%%', 'close_directive', 'er'); } }, table: [ { 3: 1, 4: t, 7: 3, 12: 4, 37: i }, { 1: [3] }, e(n, [2, 3], { 5: 6 }), { 3: 7, 4: t, 7: 3, 12: 4, 37: i }, { 13: 8, 38: [1, 9] }, { 38: [2, 31] }, { 6: [1, 10], 7: 15, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: 16, 23: r, 37: i, }, { 1: [2, 2] }, { 14: 18, 15: [1, 19], 40: s }, e([15, 40], [2, 32]), e(n, [2, 8], { 1: [2, 1] }), e(n, [2, 4]), { 7: 15, 10: 21, 12: 4, 17: 16, 23: r, 37: i }, e(n, [2, 6]), e(n, [2, 7]), e(n, [2, 11]), e(n, [2, 15], { 18: 22, 28: 24, 20: [1, 23], 30: o, 31: a, 32: l, 33: c, }), e( [6, 9, 11, 15, 20, 23, 30, 31, 32, 33, 37], [2, 16] ), { 11: [1, 29] }, { 16: 30, 39: [1, 31] }, { 11: [2, 34] }, e(n, [2, 5]), { 17: 32, 23: r }, { 21: 33, 22: [1, 34], 24: 35, 25: 36, 27: d }, { 29: 38, 34: [1, 39], 35: [1, 40] }, e(h, [2, 23]), e(h, [2, 24]), e(h, [2, 25]), e(h, [2, 26]), e(u, [2, 9]), { 14: 41, 40: s }, { 40: [2, 33] }, { 15: [1, 42] }, { 22: [1, 43] }, e(n, [2, 14]), { 21: 44, 22: [2, 17], 24: 35, 25: 36, 27: d }, { 26: 45, 27: [1, 46] }, { 27: [2, 20] }, { 28: 47, 30: o, 31: a, 32: l, 33: c }, e(g, [2, 27]), e(g, [2, 28]), { 11: [1, 48] }, { 19: 49, 23: [1, 51], 36: [1, 50] }, e(n, [2, 13]), { 22: [2, 18] }, e(f, [2, 19]), e(f, [2, 21]), { 23: [2, 22] }, e(u, [2, 10]), e(n, [2, 12]), e(n, [2, 29]), e(n, [2, 30]), ], defaultActions: { 5: [2, 31], 7: [2, 2], 20: [2, 34], 31: [2, 33], 37: [2, 20], 44: [2, 18], 47: [2, 22], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, m = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 37; case 1: return this.begin('type_directive'), 38; case 2: return ( this.popState(), this.begin('arg_directive'), 15 ); case 3: return this.popState(), this.popState(), 40; case 4: return 39; case 5: case 6: break; case 7: return 11; case 8: break; case 9: return 9; case 10: return 36; case 11: return 4; case 12: return this.begin('block'), 20; case 13: break; case 14: return 27; case 15: break; case 16: return this.popState(), 22; case 17: return t.yytext[0]; case 18: return 30; case 19: return 31; case 20: return 32; case 21: return 33; case 22: return 30; case 23: return 31; case 24: return 32; case 25: return 34; case 26: return 35; case 27: case 28: return 34; case 29: return 23; case 30: return t.yytext[0]; case 31: return 6; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:[\s]+)/i, /^(?:"[^"]*")/i, /^(?:erDiagram\b)/i, /^(?:\{)/i, /^(?:\s+)/i, /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, /^(?:[\n]+)/i, /^(?:\})/i, /^(?:.)/i, /^(?:\|o\b)/i, /^(?:\}o\b)/i, /^(?:\}\|)/i, /^(?:\|\|)/i, /^(?:o\|)/i, /^(?:o\{)/i, /^(?:\|\{)/i, /^(?:\.\.)/i, /^(?:--)/i, /^(?:\.-)/i, /^(?:-\.)/i, /^(?:[A-Za-z][A-Za-z0-9\-_]*)/i, /^(?:.)/i, /^(?:$)/i, ], conditions: { open_directive: { rules: [1], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, block: { rules: [13, 14, 15, 16, 17], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 9, 10, 11, 12, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, ], inclusive: !0, }, }, }; function _() { this.yy = {}; } return ( (p.lexer = m), (_.prototype = p), (p.Parser = _), new _() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/er/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return '\n .entityBox {\n fill: ' .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ' ) .concat( e.nodeBorder, ';\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ' ) .concat( e.nodeBorder, ';\n }\n\n .relationshipLabelBox {\n fill: ' ) .concat( e.tertiaryColor, ';\n opacity: 0.7;\n background-color: ' ) .concat( e.tertiaryColor, ';\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ' ) .concat(e.lineColor, ';\n }\n'); }); }, './src/diagrams/flowchart/flowChartShapes.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'addToRender', function () { return m; }), i.d(t, 'addToRenderV2', function () { return _; }); var n = i('dagre-d3'), r = i.n(n); function s(e, t, i) { var n = 0.9 * (t.width + t.height), s = [ { x: n / 2, y: 0 }, { x: n, y: -n / 2 }, { x: n / 2, y: -n }, { x: 0, y: -n / 2 }, ], o = b(e, n, n, s); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, s, e); }), o ); } function o(e, t, i) { var n = t.height, s = n / 4, o = t.width + 2 * s, a = [ { x: s, y: 0 }, { x: o - s, y: 0 }, { x: o, y: -n / 2 }, { x: o - s, y: -n }, { x: s, y: -n }, { x: 0, y: -n / 2 }, ], l = b(e, o, n, a); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, a, e); }), l ); } function a(e, t, i) { var n = t.width, s = t.height, o = [ { x: -s / 2, y: 0 }, { x: n, y: 0 }, { x: n, y: -s }, { x: -s / 2, y: -s }, { x: 0, y: -s / 2 }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function l(e, t, i) { var n = t.width, s = t.height, o = [ { x: (-2 * s) / 6, y: 0 }, { x: n - s / 6, y: 0 }, { x: n + (2 * s) / 6, y: -s }, { x: s / 6, y: -s }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function c(e, t, i) { var n = t.width, s = t.height, o = [ { x: (2 * s) / 6, y: 0 }, { x: n + s / 6, y: 0 }, { x: n - (2 * s) / 6, y: -s }, { x: -s / 6, y: -s }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function d(e, t, i) { var n = t.width, s = t.height, o = [ { x: (-2 * s) / 6, y: 0 }, { x: n + (2 * s) / 6, y: 0 }, { x: n - s / 6, y: -s }, { x: s / 6, y: -s }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function h(e, t, i) { var n = t.width, s = t.height, o = [ { x: s / 6, y: 0 }, { x: n - s / 6, y: 0 }, { x: n + (2 * s) / 6, y: -s }, { x: (-2 * s) / 6, y: -s }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function u(e, t, i) { var n = t.width, s = t.height, o = [ { x: 0, y: 0 }, { x: n + s / 2, y: 0 }, { x: n, y: -s / 2 }, { x: n + s / 2, y: -s }, { x: 0, y: -s }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function g(e, t, i) { var n = t.height, s = t.width + n / 4, o = e .insert('rect', ':first-child') .attr('rx', n / 2) .attr('ry', n / 2) .attr('x', -s / 2) .attr('y', -n / 2) .attr('width', s) .attr('height', n); return ( (i.intersect = function (e) { return r.a.intersect.rect(i, e); }), o ); } function f(e, t, i) { var n = t.width, s = t.height, o = [ { x: 0, y: 0 }, { x: n, y: 0 }, { x: n, y: -s }, { x: 0, y: -s }, { x: 0, y: 0 }, { x: -8, y: 0 }, { x: n + 8, y: 0 }, { x: n + 8, y: -s }, { x: -8, y: -s }, { x: -8, y: 0 }, ], a = b(e, n, s, o); return ( (i.intersect = function (e) { return r.a.intersect.polygon(i, o, e); }), a ); } function p(e, t, i) { var n = t.width, s = n / 2, o = s / (2.5 + n / 50), a = t.height + o, l = 'M 0,' + o + ' a ' + s + ',' + o + ' 0,0,0 ' + n + ' 0 a ' + s + ',' + o + ' 0,0,0 ' + -n + ' 0 l 0,' + a + ' a ' + s + ',' + o + ' 0,0,0 ' + n + ' 0 l 0,' + -a, c = e .attr('label-offset-y', o) .insert('path', ':first-child') .attr('d', l) .attr( 'transform', 'translate(' + -n / 2 + ',' + -(a / 2 + o) + ')' ); return ( (i.intersect = function (e) { var t = r.a.intersect.rect(i, e), n = t.x - i.x; if ( 0 != s && (Math.abs(n) < i.width / 2 || (Math.abs(n) == i.width / 2 && Math.abs(t.y - i.y) > i.height / 2 - o)) ) { var a = o * o * (1 - (n * n) / (s * s)); 0 != a && (a = Math.sqrt(a)), (a = o - a), e.y - i.y > 0 && (a = -a), (t.y += a); } return t; }), c ); } function m(e) { (e.shapes().question = s), (e.shapes().hexagon = o), (e.shapes().stadium = g), (e.shapes().subroutine = f), (e.shapes().cylinder = p), (e.shapes().rect_left_inv_arrow = a), (e.shapes().lean_right = l), (e.shapes().lean_left = c), (e.shapes().trapezoid = d), (e.shapes().inv_trapezoid = h), (e.shapes().rect_right_inv_arrow = u); } function _(e) { e({ question: s }), e({ hexagon: o }), e({ stadium: g }), e({ subroutine: f }), e({ cylinder: p }), e({ rect_left_inv_arrow: a }), e({ lean_right: l }), e({ lean_left: c }), e({ trapezoid: d }), e({ inv_trapezoid: h }), e({ rect_right_inv_arrow: u }); } function b(e, t, i, n) { return e .insert('polygon', ':first-child') .attr( 'points', n .map(function (e) { return e.x + ',' + e.y; }) .join(' ') ) .attr( 'transform', 'translate(' + -t / 2 + ',' + i / 2 + ')' ); } t.default = { addToRender: m, addToRenderV2: _ }; }, './src/diagrams/flowchart/flowDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return S; }), i.d(t, 'lookUpDomId', function () { return k; }), i.d(t, 'addVertex', function () { return x; }), i.d(t, 'addSingleLink', function () { return L; }), i.d(t, 'addLink', function () { return M; }), i.d(t, 'updateLinkInterpolate', function () { return D; }), i.d(t, 'updateLink', function () { return N; }), i.d(t, 'addClass', function () { return E; }), i.d(t, 'setDirection', function () { return T; }), i.d(t, 'setClass', function () { return I; }), i.d(t, 'setLink', function () { return O; }), i.d(t, 'getTooltip', function () { return A; }), i.d(t, 'setClickEvent', function () { return R; }), i.d(t, 'bindFunctions', function () { return P; }), i.d(t, 'getDirection', function () { return F; }), i.d(t, 'getVertices', function () { return B; }), i.d(t, 'getEdges', function () { return W; }), i.d(t, 'getClasses', function () { return Y; }), i.d(t, 'clear', function () { return j; }), i.d(t, 'setGen', function () { return V; }), i.d(t, 'defaultStyle', function () { return z; }), i.d(t, 'addSubGraph', function () { return U; }), i.d(t, 'getDepthFirstPos', function () { return Z; }), i.d(t, 'indexNodes', function () { return J; }), i.d(t, 'getSubGraphs', function () { return Q; }), i.d(t, 'firstGraph', function () { return X; }); var n = i('d3'), r = i('./src/utils.js'), s = i('./src/config.js'), o = i('./src/diagrams/common/common.js'), a = i('./src/mermaidAPI.js'), l = i('./src/logger.js'); function c(e) { return (c = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } var d, h, u = 0, g = s.getConfig(), f = {}, p = [], m = [], _ = [], b = {}, v = {}, y = 0, w = !0, C = [], S = function (e, t, i) { a.default.parseDirective(this, e, t, i); }, k = function (e) { for (var t = Object.keys(f), i = 0; i < t.length; i++) if (f[t[i]].id === e) return f[t[i]].domId; return e; }, x = function (e, t, i, n, r) { var a, l = e; void 0 !== l && 0 !== l.trim().length && (void 0 === f[l] && (f[l] = { id: l, domId: 'flowchart-' + l + '-' + u, styles: [], classes: [], }), u++, void 0 !== t ? ((g = s.getConfig()), '"' === (a = o.default.sanitizeText(t.trim(), g))[0] && '"' === a[a.length - 1] && (a = a.substring(1, a.length - 1)), (f[l].text = a)) : void 0 === f[l].text && (f[l].text = e), void 0 !== i && (f[l].type = i), null != n && n.forEach(function (e) { f[l].styles.push(e); }), null != r && r.forEach(function (e) { f[l].classes.push(e); })); }, L = function (e, t, i, n) { var r = { start: e, end: t, type: void 0, text: '' }; void 0 !== (n = i.text) && ((r.text = o.default.sanitizeText(n.trim(), g)), '"' === r.text[0] && '"' === r.text[r.text.length - 1] && (r.text = r.text.substring(1, r.text.length - 1))), void 0 !== i && ((r.type = i.type), (r.stroke = i.stroke), (r.length = i.length)), p.push(r); }, M = function (e, t, i, n) { var r, s; for (r = 0; r < e.length; r++) for (s = 0; s < t.length; s++) L(e[r], t[s], i, n); }, D = function (e, t) { e.forEach(function (e) { 'default' === e ? (p.defaultInterpolate = t) : (p[e].interpolate = t); }); }, N = function (e, t) { e.forEach(function (e) { 'default' === e ? (p.defaultStyle = t) : (-1 === r.default.isSubstringInArray('fill', t) && t.push('fill:none'), (p[e].style = t)); }); }, E = function (e, t) { void 0 === m[e] && (m[e] = { id: e, styles: [], textStyles: [] }), null != t && t.forEach(function (t) { if (t.match('color')) { var i = t .replace('fill', 'bgFill') .replace('color', 'fill'); m[e].textStyles.push(i); } m[e].styles.push(t); }); }, T = function (e) { (d = e).match(/.*/) && (d = 'LR'), d.match(/.*v/) && (d = 'TB'); }, I = function (e, t) { e.split(',').forEach(function (e) { var i = e; void 0 !== f[i] && f[i].classes.push(t), void 0 !== b[i] && b[i].classes.push(t); }); }, O = function (e, t, i) { e.split(',').forEach(function (e) { void 0 !== f[e] && ((f[e].link = r.default.formatUrl(t, g)), (f[e].linkTarget = i)); }), I(e, 'clickable'); }, A = function (e) { return v[e]; }, R = function (e, t, i) { e.split(',').forEach(function (e) { !(function (e, t, i) { var n = k(e); if ( 'loose' === s.getConfig().securityLevel && void 0 !== t ) { var o = []; if ('string' == typeof i) { o = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (var a = 0; a < o.length; a++) { var l = o[a].trim(); '"' === l.charAt(0) && '"' === l.charAt(l.length - 1) && (l = l.substr(1, l.length - 2)), (o[a] = l); } } 0 === o.length && o.push(e), void 0 !== f[e] && ((f[e].haveCallback = !0), C.push(function () { var e = document.querySelector( '[id="'.concat(n, '"]') ); null !== e && e.addEventListener( 'click', function () { var e; r.default.runFunc.apply( r.default, [t].concat( (function (e) { if (Array.isArray(e)) { for ( var t = 0, i = new Array(e.length); t < e.length; t++ ) i[t] = e[t]; return i; } })((e = o)) || (function (e) { if ( Symbol.iterator in Object(e) || '[object Arguments]' === Object.prototype.toString.call( e ) ) return Array.from(e); })(e) || (function () { throw new TypeError( 'Invalid attempt to spread non-iterable instance' ); })() ) ); }, !1 ); })); } })(e, t, i); }), I(e, 'clickable'); }, P = function (e) { C.forEach(function (t) { t(e); }); }, F = function () { return d.trim(); }, B = function () { return f; }, W = function () { return p; }, Y = function () { return m; }, H = function (e) { var t = Object(n.select)('.mermaidTooltip'); null === (t._groups || t)[0][0] && (t = Object(n.select)('body') .append('div') .attr('class', 'mermaidTooltip') .style('opacity', 0)), Object(n.select)(e) .select('svg') .selectAll('g.node') .on('mouseover', function () { var e = Object(n.select)(this); if (null !== e.attr('title')) { var i = this.getBoundingClientRect(); t.transition().duration(200).style('opacity', '.9'), t .html(e.attr('title')) .style( 'left', window.scrollX + i.left + (i.right - i.left) / 2 + 'px' ) .style( 'top', window.scrollY + i.top - 14 + document.body.scrollTop + 'px' ), e.classed('hover', !0); } }) .on('mouseout', function () { t.transition().duration(500).style('opacity', 0), Object(n.select)(this).classed('hover', !1); }); }; C.push(H); var j = function (e) { (f = {}), (m = {}), (p = []), (C = []).push(H), (_ = []), (b = {}), (y = 0), (v = []), (w = !0), (h = e || 'gen-1'); }, V = function (e) { h = e || 'gen-1'; }, z = function () { return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;'; }, U = function (e, t, i) { var n = e.trim(), r = i; e === i && i.match(/\s/) && (n = void 0); var s, a, d, u = []; if ( ((s = u.concat.apply(u, t)), (a = { boolean: {}, number: {}, string: {} }), (d = []), (u = s.filter(function (e) { var t = c(e); return ( '' !== e.trim() && (t in a ? !a[t].hasOwnProperty(e) && (a[t][e] = !0) : !(d.indexOf(e) >= 0) && d.push(e)) ); })), 'gen-1' === h) ) { l.log.warn('LOOKING UP'); for (var f = 0; f < u.length; f++) u[f] = k(u[f]); } (n = n || 'subGraph' + y), (r = r || ''), (r = o.default.sanitizeText(r, g)), (y += 1); var p = { id: n, nodes: u, title: r.trim(), classes: [] }; return ( l.log.info('Adding', p.id, p.nodes), (p.nodes = te(p, _).nodes), _.push(p), (b[n] = p), n ); }, $ = function (e) { for (var t = 0; t < _.length; t++) if (_[t].id === e) return t; return -1; }, K = -1, q = [], G = function e(t, i) { var n = _[i].nodes; if (!((K += 1) > 2e3)) { if (((q[K] = i), _[i].id === t)) return { result: !0, count: 0 }; for (var r = 0, s = 1; r < n.length; ) { var o = $(n[r]); if (o >= 0) { var a = e(t, o); if (a.result) return { result: !0, count: s + a.count }; s += a.count; } r += 1; } return { result: !1, count: s }; } }, Z = function (e) { return q[e]; }, J = function () { (K = -1), _.length > 0 && G('none', _.length - 1); }, Q = function () { return _; }, X = function () { return !!w && ((w = !1), !0); }, ee = function (e, t) { var i = !1; return ( e.forEach(function (e) { e.nodes.indexOf(t) >= 0 && (i = !0); }), i ); }, te = function (e, t) { var i = []; return ( e.nodes.forEach(function (n, r) { ee(t, n) || i.push(e.nodes[r]); }), { nodes: i } ); }; t.default = { parseDirective: S, defaultConfig: function () { return s.defaultConfig.flowchart; }, addVertex: x, lookUpDomId: k, addLink: M, updateLinkInterpolate: D, updateLink: N, addClass: E, setDirection: T, setClass: I, setTooltip: function (e, t) { e.split(',').forEach(function (e) { void 0 !== t && (v['gen-1' === h ? k(e) : e] = o.default.sanitizeText( t, g )); }); }, getTooltip: A, setClickEvent: R, setLink: O, bindFunctions: P, getDirection: F, getVertices: B, getEdges: W, getClasses: Y, clear: j, setGen: V, defaultStyle: z, addSubGraph: U, getDepthFirstPos: Z, indexNodes: J, getSubGraphs: Q, destructLink: function (e, t) { var i, n = (function (e) { var t = e.trim(), i = t.slice(0, -1), n = 'arrow_open'; switch (t.slice(-1)) { case 'x': (n = 'arrow_cross'), 'x' === t[0] && ((n = 'double_' + n), (i = i.slice(1))); break; case '>': (n = 'arrow_point'), '<' === t[0] && ((n = 'double_' + n), (i = i.slice(1))); break; case 'o': (n = 'arrow_circle'), 'o' === t[0] && ((n = 'double_' + n), (i = i.slice(1))); } var r = 'normal', s = i.length - 1; '=' === i[0] && (r = 'thick'); var o = (function (e, t) { for (var i = t.length, n = 0, r = 0; r < i; ++r) '.' === t[r] && ++n; return n; })(0, i); return ( o && ((r = 'dotted'), (s = o)), { type: n, stroke: r, length: s } ); })(e); if (t) { if ( (i = (function (e) { var t = e.trim(), i = 'arrow_open'; switch (t[0]) { case '<': (i = 'arrow_point'), (t = t.slice(1)); break; case 'x': (i = 'arrow_cross'), (t = t.slice(1)); break; case 'o': (i = 'arrow_circle'), (t = t.slice(1)); } var n = 'normal'; return ( -1 !== t.indexOf('=') && (n = 'thick'), -1 !== t.indexOf('.') && (n = 'dotted'), { type: i, stroke: n } ); })(t)).stroke !== n.stroke ) return { type: 'INVALID', stroke: 'INVALID' }; if ('arrow_open' === i.type) i.type = n.type; else { if (i.type !== n.type) return { type: 'INVALID', stroke: 'INVALID' }; i.type = 'double_' + i.type; } return ( 'double_arrow' === i.type && (i.type = 'double_arrow_point'), (i.length = n.length), i ); } return n; }, lex: { firstGraph: X }, exists: ee, makeUniq: te, }; }, './src/diagrams/flowchart/flowRenderer-v2.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return _; }), i.d(t, 'addVertices', function () { return b; }), i.d(t, 'addEdges', function () { return v; }), i.d(t, 'getClasses', function () { return y; }), i.d(t, 'draw', function () { return w; }); var n = i('graphlib'), r = i.n(n), s = i('d3'), o = i('./src/diagrams/flowchart/flowDb.js'), a = i('./src/diagrams/flowchart/parser/flow.jison'), l = i.n(a), c = i('./src/config.js'), d = i('./src/dagre-wrapper/index.js'), h = i('dagre-d3/lib/label/add-html-label.js'), u = i.n(h), g = i('./src/logger.js'), f = i('./src/diagrams/common/common.js'), p = i('./src/utils.js'), m = {}, _ = function (e) { for (var t = Object.keys(e), i = 0; i < t.length; i++) m[t[i]] = e[t[i]]; }, b = function (e, t, i) { var n = Object(s.select)('[id="'.concat(i, '"]')); Object.keys(e).forEach(function (i) { var r = e[i], s = 'default'; r.classes.length > 0 && (s = r.classes.join(' ')); var a, l = Object(p.getStylesFromArray)(r.styles), d = void 0 !== r.text ? r.text : r.id; if (Object(c.getConfig)().flowchart.htmlLabels) { var h = { label: d.replace( /fa[lrsb]?:fa-[\w-]+/g, function (e) { return "" ); } ), }; (a = u()(n, h).node()).parentNode.removeChild(a); } else { var m = document.createElementNS( 'http://www.w3.org/2000/svg', 'text' ); m.setAttribute( 'style', l.labelStyle.replace('color:', 'fill:') ); for ( var _ = d.split(f.default.lineBreakRegex), b = 0; b < _.length; b++ ) { var v = document.createElementNS( 'http://www.w3.org/2000/svg', 'tspan' ); v.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve' ), v.setAttribute('dy', '1em'), v.setAttribute('x', '1'), (v.textContent = _[b]), m.appendChild(v); } a = m; } var y = 0, w = ''; switch (r.type) { case 'round': (y = 5), (w = 'rect'); break; case 'square': w = 'rect'; break; case 'diamond': w = 'question'; break; case 'hexagon': w = 'hexagon'; break; case 'odd': w = 'rect_left_inv_arrow'; break; case 'lean_right': w = 'lean_right'; break; case 'lean_left': w = 'lean_left'; break; case 'trapezoid': w = 'trapezoid'; break; case 'inv_trapezoid': w = 'inv_trapezoid'; break; case 'odd_right': w = 'rect_left_inv_arrow'; break; case 'circle': w = 'circle'; break; case 'ellipse': w = 'ellipse'; break; case 'stadium': w = 'stadium'; break; case 'subroutine': w = 'subroutine'; break; case 'cylinder': w = 'cylinder'; break; case 'group': w = 'rect'; break; default: w = 'rect'; } t.setNode(r.id, { labelStyle: l.labelStyle, shape: w, labelText: d, rx: y, ry: y, class: s, style: l.style, id: r.id, link: r.link, linkTarget: r.linkTarget, tooltip: o.default.getTooltip(r.id) || '', domId: o.default.lookUpDomId(r.id), haveCallback: r.haveCallback, width: 'group' === r.type ? 500 : void 0, type: r.type, padding: Object(c.getConfig)().flowchart.padding, }), g.log.info('setNode', { labelStyle: l.labelStyle, shape: w, labelText: d, rx: y, ry: y, class: s, style: l.style, id: r.id, domId: o.default.lookUpDomId(r.id), width: 'group' === r.type ? 500 : void 0, type: r.type, padding: Object(c.getConfig)().flowchart.padding, }); }); }, v = function (e, t) { var i, n, r = 0; if (void 0 !== e.defaultStyle) { var o = Object(p.getStylesFromArray)(e.defaultStyle); (i = o.style), (n = o.labelStyle); } e.forEach(function (o) { r++; var a = 'L-' + o.start + '-' + o.end, l = 'LS-' + o.start, c = 'LE-' + o.end, d = { style: '', labelStyle: '' }; switch ( ((d.minlen = o.length || 1), 'arrow_open' === o.type ? (d.arrowhead = 'none') : (d.arrowhead = 'normal'), (d.arrowTypeStart = 'arrow_open'), (d.arrowTypeEnd = 'arrow_open'), o.type) ) { case 'double_arrow_cross': d.arrowTypeStart = 'arrow_cross'; case 'arrow_cross': d.arrowTypeEnd = 'arrow_cross'; break; case 'double_arrow_point': d.arrowTypeStart = 'arrow_point'; case 'arrow_point': d.arrowTypeEnd = 'arrow_point'; break; case 'double_arrow_circle': d.arrowTypeStart = 'arrow_circle'; case 'arrow_circle': d.arrowTypeEnd = 'arrow_circle'; } var h = '', u = ''; switch (o.stroke) { case 'normal': (h = 'fill:none;'), void 0 !== i && (h = i), void 0 !== n && (u = n), (d.thickness = 'normal'), (d.pattern = 'solid'); break; case 'dotted': (d.thickness = 'normal'), (d.pattern = 'dotted'), (d.style = 'fill:none;stroke-width:2px;stroke-dasharray:3;'); break; case 'thick': (d.thickness = 'thick'), (d.pattern = 'solid'), (d.style = 'stroke-width: 3.5px;fill:none;'); } if (void 0 !== o.style) { var g = Object(p.getStylesFromArray)(o.style); (h = g.style), (u = g.labelStyle); } (d.style = d.style += h), (d.labelStyle = d.labelStyle += u), void 0 !== o.interpolate ? (d.curve = Object(p.interpolateToCurve)( o.interpolate, s.curveLinear )) : void 0 !== e.defaultInterpolate ? (d.curve = Object(p.interpolateToCurve)( e.defaultInterpolate, s.curveLinear )) : (d.curve = Object(p.interpolateToCurve)( m.curve, s.curveLinear )), void 0 === o.text ? void 0 !== o.style && (d.arrowheadStyle = 'fill: #333') : ((d.arrowheadStyle = 'fill: #333'), (d.labelpos = 'c')), (d.labelType = 'text'), (d.label = o.text.replace( f.default.lineBreakRegex, '\n' )), void 0 === o.style && (d.style = d.style || 'stroke: #333; stroke-width: 1.5px;fill:none;'), (d.labelStyle = d.labelStyle.replace( 'color:', 'fill:' )), (d.id = a), (d.classes = 'flowchart-link ' + l + ' ' + c), t.setEdge(o.start, o.end, d, r); }); }, y = function (e) { g.log.info('Extracting classes'), o.default.clear(); var t = l.a.parser; t.yy = o.default; try { t.parse(e); } catch (e) { return; } return o.default.getClasses(); }, w = function (e, t) { g.log.info('Drawing flowchart'), o.default.clear(), o.default.setGen('gen-2'); var i = l.a.parser; (i.yy = o.default), i.parse(e); var n = o.default.getDirection(); void 0 === n && (n = 'TD'); var a, h = Object(c.getConfig)().flowchart, u = h.nodeSpacing || 50, f = h.rankSpacing || 50, m = new r.a.Graph({ multigraph: !0, compound: !0 }) .setGraph({ rankdir: n, nodesep: u, ranksep: f, marginx: 8, marginy: 8, }) .setDefaultEdgeLabel(function () { return {}; }), _ = o.default.getSubGraphs(); g.log.info('Subgraphs - ', _); for (var y = _.length - 1; y >= 0; y--) (a = _[y]), g.log.info('Subgraph - ', a), o.default.addVertex( a.id, a.title, 'group', void 0, a.classes ); var w = o.default.getVertices(), C = o.default.getEdges(); g.log.info(C); var S = 0; for (S = _.length - 1; S >= 0; S--) { (a = _[S]), Object(s.selectAll)('cluster').append('text'); for (var k = 0; k < a.nodes.length; k++) g.log.info('Setting up subgraphs', a.nodes[k], a.id), m.setParent(a.nodes[k], a.id); } b(w, m, t), v(C, m); var x = Object(s.select)('[id="'.concat(t, '"]')); x.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'); var L = Object(s.select)('#' + t + ' g'); Object(d.render)( L, m, ['point', 'circle', 'cross'], 'flowchart', t ); var M = h.diagramPadding, D = x.node().getBBox(), N = D.width + 2 * M, E = D.height + 2 * M; if ( (g.log.debug( 'new ViewBox 0 0 '.concat(N, ' ').concat(E), 'translate(' .concat(M - m._label.marginx, ', ') .concat(M - m._label.marginy, ')') ), Object(p.configureSvgSize)(x, E, N, h.useMaxWidth), x.attr('viewBox', '0 0 '.concat(N, ' ').concat(E)), x .select('g') .attr( 'transform', 'translate(' .concat(M - m._label.marginx, ', ') .concat(M - D.y, ')') ), o.default.indexNodes('subGraph' + S), !h.htmlLabels) ) for ( var T = document.querySelectorAll( '[id="' + t + '"] .edgeLabel .label' ), I = 0; I < T.length; I++ ) { var O = T[I], A = O.getBBox(), R = document.createElementNS( 'http://www.w3.org/2000/svg', 'rect' ); R.setAttribute('rx', 0), R.setAttribute('ry', 0), R.setAttribute('width', A.width), R.setAttribute('height', A.height), O.insertBefore(R, O.firstChild); } Object.keys(w).forEach(function (e) { var i = w[e]; if (i.link) { var n = Object(s.select)('#' + t + ' [id="' + e + '"]'); if (n) { var r = document.createElementNS( 'http://www.w3.org/2000/svg', 'a' ); r.setAttributeNS( 'http://www.w3.org/2000/svg', 'class', i.classes.join(' ') ), r.setAttributeNS( 'http://www.w3.org/2000/svg', 'href', i.link ), r.setAttributeNS( 'http://www.w3.org/2000/svg', 'rel', 'noopener' ), i.linkTarget && r.setAttributeNS( 'http://www.w3.org/2000/svg', 'target', i.linkTarget ); var o = n.insert(function () { return r; }, ':first-child'), a = n.select('.label-container'); a && o.append(function () { return a.node(); }); var l = n.select('.label'); l && o.append(function () { return l.node(); }); } } }); }; t.default = { setConf: _, addVertices: b, addEdges: v, getClasses: y, draw: w, }; }, './src/diagrams/flowchart/flowRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return v; }), i.d(t, 'addVertices', function () { return y; }), i.d(t, 'addEdges', function () { return w; }), i.d(t, 'getClasses', function () { return C; }), i.d(t, 'draw', function () { return S; }); var n = i('graphlib'), r = i.n(n), s = i('d3'), o = i('./src/diagrams/flowchart/flowDb.js'), a = i('./src/diagrams/flowchart/parser/flow.jison'), l = i.n(a), c = i('./src/config.js'), d = i('dagre-d3'), h = i.n(d), u = i('dagre-d3/lib/label/add-html-label.js'), g = i.n(u), f = i('./src/logger.js'), p = i('./src/diagrams/common/common.js'), m = i('./src/utils.js'), _ = i('./src/diagrams/flowchart/flowChartShapes.js'), b = {}, v = function (e) { for (var t = Object.keys(e), i = 0; i < t.length; i++) b[t[i]] = e[t[i]]; }, y = function (e, t, i) { var n = Object(s.select)('[id="'.concat(i, '"]')); Object.keys(e).forEach(function (i) { var r = e[i], s = 'default'; r.classes.length > 0 && (s = r.classes.join(' ')); var a, l = Object(m.getStylesFromArray)(r.styles), d = void 0 !== r.text ? r.text : r.id; if (Object(c.getConfig)().flowchart.htmlLabels) { var h = { label: d.replace( /fa[lrsb]?:fa-[\w-]+/g, function (e) { return "" ); } ), }; (a = g()(n, h).node()).parentNode.removeChild(a); } else { var u = document.createElementNS( 'http://www.w3.org/2000/svg', 'text' ); u.setAttribute( 'style', l.labelStyle.replace('color:', 'fill:') ); for ( var _ = d.split(p.default.lineBreakRegex), b = 0; b < _.length; b++ ) { var v = document.createElementNS( 'http://www.w3.org/2000/svg', 'tspan' ); v.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve' ), v.setAttribute('dy', '1em'), v.setAttribute('x', '1'), (v.textContent = _[b]), u.appendChild(v); } a = u; } var y = 0, w = ''; switch (r.type) { case 'round': (y = 5), (w = 'rect'); break; case 'square': w = 'rect'; break; case 'diamond': w = 'question'; break; case 'hexagon': w = 'hexagon'; break; case 'odd': w = 'rect_left_inv_arrow'; break; case 'lean_right': w = 'lean_right'; break; case 'lean_left': w = 'lean_left'; break; case 'trapezoid': w = 'trapezoid'; break; case 'inv_trapezoid': w = 'inv_trapezoid'; break; case 'odd_right': w = 'rect_left_inv_arrow'; break; case 'circle': w = 'circle'; break; case 'ellipse': w = 'ellipse'; break; case 'stadium': w = 'stadium'; break; case 'subroutine': w = 'subroutine'; break; case 'cylinder': w = 'cylinder'; break; case 'group': w = 'rect'; break; default: w = 'rect'; } f.log.warn('Adding node', r.id, r.domId), t.setNode(o.default.lookUpDomId(r.id), { labelType: 'svg', labelStyle: l.labelStyle, shape: w, label: a, rx: y, ry: y, class: s, style: l.style, id: o.default.lookUpDomId(r.id), }); }); }, w = function (e, t) { var i, n, r = 0; if (void 0 !== e.defaultStyle) { var a = Object(m.getStylesFromArray)(e.defaultStyle); (i = a.style), (n = a.labelStyle); } e.forEach(function (a) { r++; var l = 'L-' + a.start + '-' + a.end, d = 'LS-' + a.start, h = 'LE-' + a.end, u = {}; 'arrow_open' === a.type ? (u.arrowhead = 'none') : (u.arrowhead = 'normal'); var g = '', f = ''; if (void 0 !== a.style) { var _ = Object(m.getStylesFromArray)(a.style); (g = _.style), (f = _.labelStyle); } else switch (a.stroke) { case 'normal': (g = 'fill:none'), void 0 !== i && (g = i), void 0 !== n && (f = n); break; case 'dotted': g = 'fill:none;stroke-width:2px;stroke-dasharray:3;'; break; case 'thick': g = ' stroke-width: 3.5px;fill:none'; } (u.style = g), (u.labelStyle = f), void 0 !== a.interpolate ? (u.curve = Object(m.interpolateToCurve)( a.interpolate, s.curveLinear )) : void 0 !== e.defaultInterpolate ? (u.curve = Object(m.interpolateToCurve)( e.defaultInterpolate, s.curveLinear )) : (u.curve = Object(m.interpolateToCurve)( b.curve, s.curveLinear )), void 0 === a.text ? void 0 !== a.style && (u.arrowheadStyle = 'fill: #333') : ((u.arrowheadStyle = 'fill: #333'), (u.labelpos = 'c'), Object(c.getConfig)().flowchart.htmlLabels ? ((u.labelType = 'html'), (u.label = '') .concat( a.text.replace( /fa[lrsb]?:fa-[\w-]+/g, function (e) { return "" ); } ), '' ))) : ((u.labelType = 'text'), (u.label = a.text.replace( p.default.lineBreakRegex, '\n' )), void 0 === a.style && (u.style = u.style || 'stroke: #333; stroke-width: 1.5px;fill:none'), (u.labelStyle = u.labelStyle.replace( 'color:', 'fill:' )))), (u.id = l), (u.class = d + ' ' + h), (u.minlen = a.length || 1), t.setEdge( o.default.lookUpDomId(a.start), o.default.lookUpDomId(a.end), u, r ); }); }, C = function (e) { f.log.info('Extracting classes'), o.default.clear(); try { var t = l.a.parser; return ( (t.yy = o.default), t.parse(e), o.default.getClasses() ); } catch (e) { return; } }, S = function (e, t) { f.log.info('Drawing flowchart'), o.default.clear(), o.default.setGen('gen-1'); var i = l.a.parser; (i.yy = o.default), i.parse(e); var n = o.default.getDirection(); void 0 === n && (n = 'TD'); for ( var a, d = Object(c.getConfig)().flowchart, u = d.nodeSpacing || 50, g = d.rankSpacing || 50, p = new r.a.Graph({ multigraph: !0, compound: !0 }) .setGraph({ rankdir: n, nodesep: u, ranksep: g, marginx: 8, marginy: 8, }) .setDefaultEdgeLabel(function () { return {}; }), b = o.default.getSubGraphs(), v = b.length - 1; v >= 0; v-- ) (a = b[v]), o.default.addVertex( a.id, a.title, 'group', void 0, a.classes ); var C = o.default.getVertices(); f.log.warn('Get vertices', C); var S = o.default.getEdges(), k = 0; for (k = b.length - 1; k >= 0; k--) { (a = b[k]), Object(s.selectAll)('cluster').append('text'); for (var x = 0; x < a.nodes.length; x++) f.log.warn( 'Setting subgraph', a.nodes[x], o.default.lookUpDomId(a.nodes[x]), o.default.lookUpDomId(a.id) ), p.setParent( o.default.lookUpDomId(a.nodes[x]), o.default.lookUpDomId(a.id) ); } y(C, p, t), w(S, p); var L = new (0, h.a.render)(); _.default.addToRender(L), (L.arrows().none = function (e, t, i, n) { var r = e .append('marker') .attr('id', t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'strokeWidth') .attr('markerWidth', 8) .attr('markerHeight', 6) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 0 0 L 0 0 z'); h.a.util.applyStyle(r, i[n + 'Style']); }), (L.arrows().normal = function (e, t) { e.append('marker') .attr('id', t) .attr('viewBox', '0 0 10 10') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'strokeWidth') .attr('markerWidth', 8) .attr('markerHeight', 6) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 10 5 L 0 10 z') .attr('class', 'arrowheadPath') .style('stroke-width', 1) .style('stroke-dasharray', '1,0'); }); var M = Object(s.select)('[id="'.concat(t, '"]')); M.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), f.log.warn(p); var D = Object(s.select)('#' + t + ' g'); L(D, p), D.selectAll('g.node').attr('title', function () { return o.default.getTooltip(this.id); }); var N = d.diagramPadding, E = M.node().getBBox(), T = E.width + 2 * N, I = E.height + 2 * N; Object(m.configureSvgSize)(M, I, T, d.useMaxWidth); var O = '' .concat(E.x - N, ' ') .concat(E.y - N, ' ') .concat(T, ' ') .concat(I); for ( f.log.debug('viewBox '.concat(O)), M.attr('viewBox', O), o.default.indexNodes('subGraph' + k), k = 0; k < b.length; k++ ) if ('undefined' !== (a = b[k]).title) { var A = document.querySelectorAll( '#' + t + ' [id="' + o.default.lookUpDomId(a.id) + '"] rect' ), R = document.querySelectorAll( '#' + t + ' [id="' + o.default.lookUpDomId(a.id) + '"]' ), P = A[0].x.baseVal.value, F = A[0].y.baseVal.value, B = A[0].width.baseVal.value, W = Object(s.select)(R[0]).select('.label'); W.attr( 'transform', 'translate(' .concat(P + B / 2, ', ') .concat(F + 14, ')') ), W.attr('id', t + 'Text'); for (var Y = 0; Y < a.classes.length; Y++) R[0].classList.add(a.classes[Y]); } d.htmlLabels; for ( var H = document.querySelectorAll( '[id="' + t + '"] .edgeLabel .label' ), j = 0; j < H.length; j++ ) { var V = H[j], z = V.getBBox(), U = document.createElementNS( 'http://www.w3.org/2000/svg', 'rect' ); U.setAttribute('rx', 0), U.setAttribute('ry', 0), U.setAttribute('width', z.width), U.setAttribute('height', z.height), V.insertBefore(U, V.firstChild); } Object.keys(C).forEach(function (e) { var i = C[e]; if (i.link) { var n = Object(s.select)( '#' + t + ' [id="' + o.default.lookUpDomId(e) + '"]' ); if (n) { var r = document.createElementNS( 'http://www.w3.org/2000/svg', 'a' ); r.setAttributeNS( 'http://www.w3.org/2000/svg', 'class', i.classes.join(' ') ), r.setAttributeNS( 'http://www.w3.org/2000/svg', 'href', i.link ), r.setAttributeNS( 'http://www.w3.org/2000/svg', 'rel', 'noopener' ), i.linkTarget && r.setAttributeNS( 'http://www.w3.org/2000/svg', 'target', i.linkTarget ); var a = n.insert(function () { return r; }, ':first-child'), l = n.select('.label-container'); l && a.append(function () { return l.node(); }); var c = n.select('.label'); c && a.append(function () { return c.node(); }); } } }); }; t.default = { setConf: v, addVertices: y, addEdges: w, getClasses: C, draw: S, }; }, './src/diagrams/flowchart/parser/flow.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 9], i = [1, 7], n = [1, 6], r = [1, 8], s = [ 1, 20, 21, 22, 23, 38, 46, 75, 76, 77, 78, 79, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], o = [2, 10], a = [1, 20], l = [1, 21], c = [1, 22], d = [1, 23], h = [1, 30], u = [1, 54], g = [1, 32], f = [1, 33], p = [1, 34], m = [1, 35], _ = [1, 36], b = [1, 48], v = [1, 43], y = [1, 45], w = [1, 40], C = [1, 44], S = [1, 47], k = [1, 51], x = [1, 52], L = [1, 53], M = [1, 42], D = [1, 46], N = [1, 49], E = [1, 50], T = [1, 41], I = [1, 57], O = [1, 62], A = [ 1, 20, 21, 22, 23, 38, 42, 46, 75, 76, 77, 78, 79, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], R = [1, 66], P = [1, 65], F = [1, 67], B = [20, 21, 23, 69, 70], W = [1, 88], Y = [1, 93], H = [1, 90], j = [1, 95], V = [1, 98], z = [1, 96], U = [1, 97], $ = [1, 91], K = [1, 103], q = [1, 102], G = [1, 92], Z = [1, 94], J = [1, 99], Q = [1, 100], X = [1, 101], ee = [1, 104], te = [20, 21, 22, 23, 69, 70], ie = [20, 21, 22, 23, 47, 69, 70], ne = [ 20, 21, 22, 23, 40, 46, 47, 49, 51, 53, 55, 57, 59, 61, 62, 64, 69, 70, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], re = [20, 21, 23], se = [ 20, 21, 23, 46, 69, 70, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], oe = [ 1, 12, 20, 21, 22, 23, 24, 38, 42, 46, 75, 76, 77, 78, 79, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], ae = [ 46, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], le = [1, 136], ce = [1, 144], de = [1, 145], he = [1, 146], ue = [1, 147], ge = [1, 131], fe = [1, 132], pe = [1, 128], me = [1, 139], _e = [1, 140], be = [1, 141], ve = [1, 142], ye = [1, 143], we = [1, 148], Ce = [1, 149], Se = [1, 134], ke = [1, 137], xe = [1, 133], Le = [1, 130], Me = [ 20, 21, 22, 23, 38, 42, 46, 75, 76, 77, 78, 79, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], De = [1, 152], Ne = [ 20, 21, 22, 23, 26, 46, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], Ee = [ 20, 21, 22, 23, 24, 26, 38, 40, 41, 42, 46, 50, 52, 54, 56, 58, 60, 61, 63, 65, 69, 70, 71, 75, 76, 77, 78, 79, 80, 81, 84, 94, 95, 98, 99, 100, 102, 103, 104, 105, 109, 110, 111, 112, 113, 114, ], Te = [12, 21, 22, 24], Ie = [22, 95], Oe = [1, 233], Ae = [1, 237], Re = [1, 234], Pe = [1, 231], Fe = [1, 228], Be = [1, 229], We = [1, 230], Ye = [1, 232], He = [1, 235], je = [1, 236], Ve = [1, 238], ze = [1, 255], Ue = [20, 21, 23, 95], $e = [ 20, 21, 22, 23, 75, 91, 94, 95, 98, 99, 100, 101, 102, 103, 104, ], Ke = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, mermaidDoc: 4, directive: 5, openDirective: 6, typeDirective: 7, closeDirective: 8, separator: 9, ':': 10, argDirective: 11, open_directive: 12, type_directive: 13, arg_directive: 14, close_directive: 15, graphConfig: 16, document: 17, line: 18, statement: 19, SEMI: 20, NEWLINE: 21, SPACE: 22, EOF: 23, GRAPH: 24, NODIR: 25, DIR: 26, FirstStmtSeperator: 27, ending: 28, endToken: 29, spaceList: 30, spaceListNewline: 31, verticeStatement: 32, styleStatement: 33, linkStyleStatement: 34, classDefStatement: 35, classStatement: 36, clickStatement: 37, subgraph: 38, text: 39, SQS: 40, SQE: 41, end: 42, link: 43, node: 44, vertex: 45, AMP: 46, STYLE_SEPARATOR: 47, idString: 48, PS: 49, PE: 50, '(-': 51, '-)': 52, STADIUMSTART: 53, STADIUMEND: 54, SUBROUTINESTART: 55, SUBROUTINEEND: 56, CYLINDERSTART: 57, CYLINDEREND: 58, DIAMOND_START: 59, DIAMOND_STOP: 60, TAGEND: 61, TRAPSTART: 62, TRAPEND: 63, INVTRAPSTART: 64, INVTRAPEND: 65, linkStatement: 66, arrowText: 67, TESTSTR: 68, START_LINK: 69, LINK: 70, PIPE: 71, textToken: 72, STR: 73, keywords: 74, STYLE: 75, LINKSTYLE: 76, CLASSDEF: 77, CLASS: 78, CLICK: 79, DOWN: 80, UP: 81, textNoTags: 82, textNoTagsToken: 83, DEFAULT: 84, stylesOpt: 85, alphaNum: 86, CALLBACKNAME: 87, CALLBACKARGS: 88, HREF: 89, LINK_TARGET: 90, HEX: 91, numList: 92, INTERPOLATE: 93, NUM: 94, COMMA: 95, style: 96, styleComponent: 97, ALPHA: 98, COLON: 99, MINUS: 100, UNIT: 101, BRKT: 102, DOT: 103, PCT: 104, TAGSTART: 105, alphaNumToken: 106, idStringToken: 107, alphaNumStatement: 108, PUNCTUATION: 109, UNICODE_TEXT: 110, PLUS: 111, EQUALS: 112, MULT: 113, UNDERSCORE: 114, graphCodeTokens: 115, ARROW_CROSS: 116, ARROW_POINT: 117, ARROW_CIRCLE: 118, ARROW_OPEN: 119, QUOTE: 120, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 10: ':', 12: 'open_directive', 13: 'type_directive', 14: 'arg_directive', 15: 'close_directive', 20: 'SEMI', 21: 'NEWLINE', 22: 'SPACE', 23: 'EOF', 24: 'GRAPH', 25: 'NODIR', 26: 'DIR', 38: 'subgraph', 40: 'SQS', 41: 'SQE', 42: 'end', 46: 'AMP', 47: 'STYLE_SEPARATOR', 49: 'PS', 50: 'PE', 51: '(-', 52: '-)', 53: 'STADIUMSTART', 54: 'STADIUMEND', 55: 'SUBROUTINESTART', 56: 'SUBROUTINEEND', 57: 'CYLINDERSTART', 58: 'CYLINDEREND', 59: 'DIAMOND_START', 60: 'DIAMOND_STOP', 61: 'TAGEND', 62: 'TRAPSTART', 63: 'TRAPEND', 64: 'INVTRAPSTART', 65: 'INVTRAPEND', 68: 'TESTSTR', 69: 'START_LINK', 70: 'LINK', 71: 'PIPE', 73: 'STR', 75: 'STYLE', 76: 'LINKSTYLE', 77: 'CLASSDEF', 78: 'CLASS', 79: 'CLICK', 80: 'DOWN', 81: 'UP', 84: 'DEFAULT', 87: 'CALLBACKNAME', 88: 'CALLBACKARGS', 89: 'HREF', 90: 'LINK_TARGET', 91: 'HEX', 93: 'INTERPOLATE', 94: 'NUM', 95: 'COMMA', 98: 'ALPHA', 99: 'COLON', 100: 'MINUS', 101: 'UNIT', 102: 'BRKT', 103: 'DOT', 104: 'PCT', 105: 'TAGSTART', 109: 'PUNCTUATION', 110: 'UNICODE_TEXT', 111: 'PLUS', 112: 'EQUALS', 113: 'MULT', 114: 'UNDERSCORE', 116: 'ARROW_CROSS', 117: 'ARROW_POINT', 118: 'ARROW_CIRCLE', 119: 'ARROW_OPEN', 120: 'QUOTE', }, productions_: [ 0, [3, 1], [3, 2], [5, 4], [5, 6], [6, 1], [7, 1], [11, 1], [8, 1], [4, 2], [17, 0], [17, 2], [18, 1], [18, 1], [18, 1], [18, 1], [18, 1], [16, 2], [16, 2], [16, 2], [16, 3], [28, 2], [28, 1], [29, 1], [29, 1], [29, 1], [27, 1], [27, 1], [27, 2], [31, 2], [31, 2], [31, 1], [31, 1], [30, 2], [30, 1], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 2], [19, 9], [19, 6], [19, 4], [9, 1], [9, 1], [9, 1], [32, 3], [32, 4], [32, 2], [32, 1], [44, 1], [44, 5], [44, 3], [45, 4], [45, 6], [45, 4], [45, 4], [45, 4], [45, 4], [45, 4], [45, 4], [45, 6], [45, 4], [45, 4], [45, 4], [45, 4], [45, 4], [45, 1], [43, 2], [43, 3], [43, 3], [43, 1], [43, 3], [66, 1], [67, 3], [39, 1], [39, 2], [39, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [74, 1], [82, 1], [82, 2], [35, 5], [35, 5], [36, 5], [37, 2], [37, 4], [37, 3], [37, 5], [37, 2], [37, 4], [37, 4], [37, 6], [37, 2], [37, 4], [37, 2], [37, 4], [37, 4], [37, 6], [33, 5], [33, 5], [34, 5], [34, 5], [34, 9], [34, 9], [34, 7], [34, 7], [92, 1], [92, 3], [85, 1], [85, 3], [96, 1], [96, 2], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [97, 1], [72, 1], [72, 1], [72, 1], [72, 1], [72, 1], [72, 1], [83, 1], [83, 1], [83, 1], [83, 1], [48, 1], [48, 2], [86, 1], [86, 2], [108, 1], [108, 1], [108, 1], [108, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [106, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [107, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], [115, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 5: n.parseDirective('%%{', 'open_directive'); break; case 6: n.parseDirective(s[a], 'type_directive'); break; case 7: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 8: n.parseDirective( '}%%', 'close_directive', 'flowchart' ); break; case 10: this.$ = []; break; case 11: s[a] !== [] && s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 12: case 76: case 78: case 90: case 146: case 148: case 149: this.$ = s[a]; break; case 19: n.setDirection('TB'), (this.$ = 'TB'); break; case 20: n.setDirection(s[a - 1]), (this.$ = s[a - 1]); break; case 35: this.$ = s[a - 1].nodes; break; case 36: case 37: case 38: case 39: case 40: this.$ = []; break; case 41: this.$ = n.addSubGraph( s[a - 6], s[a - 1], s[a - 4] ); break; case 42: this.$ = n.addSubGraph( s[a - 3], s[a - 1], s[a - 3] ); break; case 43: this.$ = n.addSubGraph(void 0, s[a - 1], void 0); break; case 47: n.addLink(s[a - 2].stmt, s[a], s[a - 1]), (this.$ = { stmt: s[a], nodes: s[a].concat(s[a - 2].nodes), }); break; case 48: n.addLink(s[a - 3].stmt, s[a - 1], s[a - 2]), (this.$ = { stmt: s[a - 1], nodes: s[a - 1].concat(s[a - 3].nodes), }); break; case 49: this.$ = { stmt: s[a - 1], nodes: s[a - 1] }; break; case 50: this.$ = { stmt: s[a], nodes: s[a] }; break; case 51: this.$ = [s[a]]; break; case 52: this.$ = s[a - 4].concat(s[a]); break; case 53: (this.$ = [s[a - 2]]), n.setClass(s[a - 2], s[a]); break; case 54: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'square'); break; case 55: (this.$ = s[a - 5]), n.addVertex(s[a - 5], s[a - 2], 'circle'); break; case 56: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'ellipse'); break; case 57: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'stadium'); break; case 58: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'subroutine'); break; case 59: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'cylinder'); break; case 60: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'round'); break; case 61: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'diamond'); break; case 62: (this.$ = s[a - 5]), n.addVertex(s[a - 5], s[a - 2], 'hexagon'); break; case 63: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'odd'); break; case 64: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'trapezoid'); break; case 65: (this.$ = s[a - 3]), n.addVertex( s[a - 3], s[a - 1], 'inv_trapezoid' ); break; case 66: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'lean_right'); break; case 67: (this.$ = s[a - 3]), n.addVertex(s[a - 3], s[a - 1], 'lean_left'); break; case 68: (this.$ = s[a]), n.addVertex(s[a]); break; case 69: (s[a - 1].text = s[a]), (this.$ = s[a - 1]); break; case 70: case 71: (s[a - 2].text = s[a - 1]), (this.$ = s[a - 2]); break; case 72: this.$ = s[a]; break; case 73: var l = n.destructLink(s[a], s[a - 2]); this.$ = { type: l.type, stroke: l.stroke, length: l.length, text: s[a - 1], }; break; case 74: (l = n.destructLink(s[a])), (this.$ = { type: l.type, stroke: l.stroke, length: l.length, }); break; case 75: this.$ = s[a - 1]; break; case 77: case 91: case 147: this.$ = s[a - 1] + '' + s[a]; break; case 92: case 93: (this.$ = s[a - 4]), n.addClass(s[a - 2], s[a]); break; case 94: (this.$ = s[a - 4]), n.setClass(s[a - 2], s[a]); break; case 95: case 103: (this.$ = s[a - 1]), n.setClickEvent(s[a - 1], s[a]); break; case 96: case 104: (this.$ = s[a - 3]), n.setClickEvent(s[a - 3], s[a - 2]), n.setTooltip(s[a - 3], s[a]); break; case 97: (this.$ = s[a - 2]), n.setClickEvent(s[a - 2], s[a - 1], s[a]); break; case 98: (this.$ = s[a - 4]), n.setClickEvent(s[a - 4], s[a - 3], s[a - 2]), n.setTooltip(s[a - 4], s[a]); break; case 99: case 105: (this.$ = s[a - 1]), n.setLink(s[a - 1], s[a]); break; case 100: case 106: (this.$ = s[a - 3]), n.setLink(s[a - 3], s[a - 2]), n.setTooltip(s[a - 3], s[a]); break; case 101: case 107: (this.$ = s[a - 3]), n.setLink(s[a - 3], s[a - 2], s[a]); break; case 102: case 108: (this.$ = s[a - 5]), n.setLink(s[a - 5], s[a - 4], s[a]), n.setTooltip(s[a - 5], s[a - 2]); break; case 109: (this.$ = s[a - 4]), n.addVertex(s[a - 2], void 0, void 0, s[a]); break; case 110: case 112: (this.$ = s[a - 4]), n.updateLink(s[a - 2], s[a]); break; case 111: (this.$ = s[a - 4]), n.updateLink([s[a - 2]], s[a]); break; case 113: (this.$ = s[a - 8]), n.updateLinkInterpolate([s[a - 6]], s[a - 2]), n.updateLink([s[a - 6]], s[a]); break; case 114: (this.$ = s[a - 8]), n.updateLinkInterpolate(s[a - 6], s[a - 2]), n.updateLink(s[a - 6], s[a]); break; case 115: (this.$ = s[a - 6]), n.updateLinkInterpolate([s[a - 4]], s[a]); break; case 116: (this.$ = s[a - 6]), n.updateLinkInterpolate(s[a - 4], s[a]); break; case 117: case 119: this.$ = [s[a]]; break; case 118: case 120: s[a - 2].push(s[a]), (this.$ = s[a - 2]); break; case 122: this.$ = s[a - 1] + s[a]; break; case 144: this.$ = s[a]; break; case 145: this.$ = s[a - 1] + '' + s[a]; break; case 150: this.$ = 'v'; break; case 151: this.$ = '-'; } }, table: [ { 3: 1, 4: 2, 5: 3, 6: 5, 12: t, 16: 4, 21: i, 22: n, 24: r, }, { 1: [3] }, { 1: [2, 1] }, { 3: 10, 4: 2, 5: 3, 6: 5, 12: t, 16: 4, 21: i, 22: n, 24: r, }, e(s, o, { 17: 11 }), { 7: 12, 13: [1, 13] }, { 16: 14, 21: i, 22: n, 24: r }, { 16: 15, 21: i, 22: n, 24: r }, { 25: [1, 16], 26: [1, 17] }, { 13: [2, 5] }, { 1: [2, 2] }, { 1: [2, 9], 18: 18, 19: 19, 20: a, 21: l, 22: c, 23: d, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: h, 44: 31, 45: 37, 46: u, 48: 38, 75: g, 76: f, 77: p, 78: m, 79: _, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, { 8: 55, 10: [1, 56], 15: I }, e([10, 15], [2, 6]), e(s, [2, 17]), e(s, [2, 18]), e(s, [2, 19]), { 20: [1, 59], 21: [1, 60], 22: O, 27: 58, 30: 61 }, e(A, [2, 11]), e(A, [2, 12]), e(A, [2, 13]), e(A, [2, 14]), e(A, [2, 15]), e(A, [2, 16]), { 9: 63, 20: R, 21: P, 23: F, 43: 64, 66: 68, 69: [1, 69], 70: [1, 70], }, { 9: 71, 20: R, 21: P, 23: F }, { 9: 72, 20: R, 21: P, 23: F }, { 9: 73, 20: R, 21: P, 23: F }, { 9: 74, 20: R, 21: P, 23: F }, { 9: 75, 20: R, 21: P, 23: F }, { 9: 77, 20: R, 21: P, 22: [1, 76], 23: F }, e(B, [2, 50], { 30: 78, 22: O }), { 22: [1, 79] }, { 22: [1, 80] }, { 22: [1, 81] }, { 22: [1, 82] }, { 26: W, 46: Y, 73: [1, 86], 80: H, 86: 85, 87: [1, 83], 89: [1, 84], 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(te, [2, 51], { 47: [1, 105] }), e(ie, [2, 68], { 107: 116, 40: [1, 106], 46: u, 49: [1, 107], 51: [1, 108], 53: [1, 109], 55: [1, 110], 57: [1, 111], 59: [1, 112], 61: [1, 113], 62: [1, 114], 64: [1, 115], 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }), e(ne, [2, 144]), e(ne, [2, 165]), e(ne, [2, 166]), e(ne, [2, 167]), e(ne, [2, 168]), e(ne, [2, 169]), e(ne, [2, 170]), e(ne, [2, 171]), e(ne, [2, 172]), e(ne, [2, 173]), e(ne, [2, 174]), e(ne, [2, 175]), e(ne, [2, 176]), e(ne, [2, 177]), e(ne, [2, 178]), e(ne, [2, 179]), { 9: 117, 20: R, 21: P, 23: F }, { 11: 118, 14: [1, 119] }, e(re, [2, 8]), e(s, [2, 20]), e(s, [2, 26]), e(s, [2, 27]), { 21: [1, 120] }, e(se, [2, 34], { 30: 121, 22: O }), e(A, [2, 35]), { 44: 122, 45: 37, 46: u, 48: 38, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, e(oe, [2, 44]), e(oe, [2, 45]), e(oe, [2, 46]), e(ae, [2, 72], { 67: 123, 68: [1, 124], 71: [1, 125], }), { 22: le, 24: ce, 26: de, 38: he, 39: 126, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e( [ 46, 68, 71, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], [2, 74] ), e(A, [2, 36]), e(A, [2, 37]), e(A, [2, 38]), e(A, [2, 39]), e(A, [2, 40]), { 22: le, 24: ce, 26: de, 38: he, 39: 150, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(Me, o, { 17: 151 }), e(B, [2, 49], { 46: De }), { 26: W, 46: Y, 80: H, 86: 153, 91: [1, 154], 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 84: [1, 155], 92: 156, 94: [1, 157] }, { 26: W, 46: Y, 80: H, 84: [1, 158], 86: 159, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 26: W, 46: Y, 80: H, 86: 160, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(re, [2, 95], { 22: [1, 161], 88: [1, 162] }), e(re, [2, 99], { 22: [1, 163] }), e(re, [2, 103], { 106: 89, 108: 165, 22: [1, 164], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }), e(re, [2, 105], { 22: [1, 166] }), e(Ne, [2, 146]), e(Ne, [2, 148]), e(Ne, [2, 149]), e(Ne, [2, 150]), e(Ne, [2, 151]), e(Ee, [2, 152]), e(Ee, [2, 153]), e(Ee, [2, 154]), e(Ee, [2, 155]), e(Ee, [2, 156]), e(Ee, [2, 157]), e(Ee, [2, 158]), e(Ee, [2, 159]), e(Ee, [2, 160]), e(Ee, [2, 161]), e(Ee, [2, 162]), e(Ee, [2, 163]), e(Ee, [2, 164]), { 46: u, 48: 167, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, { 22: le, 24: ce, 26: de, 38: he, 39: 168, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 170, 42: ue, 46: Y, 49: [1, 169], 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 171, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 172, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 173, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 174, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 175, 42: ue, 46: Y, 59: [1, 176], 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 177, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 178, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 179, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(ne, [2, 145]), e(Te, [2, 3]), { 8: 180, 15: I }, { 15: [2, 7] }, e(s, [2, 28]), e(se, [2, 33]), e(B, [2, 47], { 30: 181, 22: O }), e(ae, [2, 69], { 22: [1, 182] }), { 22: [1, 183] }, { 22: le, 24: ce, 26: de, 38: he, 39: 184, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 61: ge, 69: fe, 70: [1, 185], 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(Ee, [2, 76]), e(Ee, [2, 78]), e(Ee, [2, 134]), e(Ee, [2, 135]), e(Ee, [2, 136]), e(Ee, [2, 137]), e(Ee, [2, 138]), e(Ee, [2, 139]), e(Ee, [2, 140]), e(Ee, [2, 141]), e(Ee, [2, 142]), e(Ee, [2, 143]), e(Ee, [2, 79]), e(Ee, [2, 80]), e(Ee, [2, 81]), e(Ee, [2, 82]), e(Ee, [2, 83]), e(Ee, [2, 84]), e(Ee, [2, 85]), e(Ee, [2, 86]), e(Ee, [2, 87]), e(Ee, [2, 88]), e(Ee, [2, 89]), { 9: 188, 20: R, 21: P, 22: le, 23: F, 24: ce, 26: de, 38: he, 40: [1, 187], 42: ue, 46: Y, 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 18: 18, 19: 19, 20: a, 21: l, 22: c, 23: d, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: h, 42: [1, 189], 44: 31, 45: 37, 46: u, 48: 38, 75: g, 76: f, 77: p, 78: m, 79: _, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, { 22: O, 30: 190 }, { 22: [1, 191], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 165, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: [1, 192] }, { 22: [1, 193] }, { 22: [1, 194], 95: [1, 195] }, e(Ie, [2, 117]), { 22: [1, 196] }, { 22: [1, 197], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 165, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: [1, 198], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 165, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 73: [1, 199] }, e(re, [2, 97], { 22: [1, 200] }), { 73: [1, 201], 90: [1, 202] }, { 73: [1, 203] }, e(Ne, [2, 147]), { 73: [1, 204], 90: [1, 205] }, e(te, [2, 53], { 107: 116, 46: u, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }), { 22: le, 24: ce, 26: de, 38: he, 41: [1, 206], 42: ue, 46: Y, 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 207, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 50: [1, 208], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 52: [1, 209], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 54: [1, 210], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 56: [1, 211], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 58: [1, 212], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 60: [1, 213], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 39: 214, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 41: [1, 215], 42: ue, 46: Y, 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 61: ge, 63: [1, 216], 65: [1, 217], 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 61: ge, 63: [1, 219], 65: [1, 218], 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 9: 220, 20: R, 21: P, 23: F }, e(B, [2, 48], { 46: De }), e(ae, [2, 71]), e(ae, [2, 70]), { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 61: ge, 69: fe, 71: [1, 221], 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(ae, [2, 73]), e(Ee, [2, 77]), { 22: le, 24: ce, 26: de, 38: he, 39: 222, 42: ue, 46: Y, 61: ge, 69: fe, 72: 127, 73: pe, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(Me, o, { 17: 223 }), e(A, [2, 43]), { 45: 224, 46: u, 48: 38, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, { 22: Oe, 75: Ae, 85: 225, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 22: Oe, 75: Ae, 85: 239, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 22: Oe, 75: Ae, 85: 240, 91: Re, 93: [1, 241], 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 22: Oe, 75: Ae, 85: 242, 91: Re, 93: [1, 243], 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 94: [1, 244] }, { 22: Oe, 75: Ae, 85: 245, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 22: Oe, 75: Ae, 85: 246, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 26: W, 46: Y, 80: H, 86: 247, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(re, [2, 96]), { 73: [1, 248] }, e(re, [2, 100], { 22: [1, 249] }), e(re, [2, 101]), e(re, [2, 104]), e(re, [2, 106], { 22: [1, 250] }), e(re, [2, 107]), e(ie, [2, 54]), { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 50: [1, 251], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(ie, [2, 60]), e(ie, [2, 56]), e(ie, [2, 57]), e(ie, [2, 58]), e(ie, [2, 59]), e(ie, [2, 61]), { 22: le, 24: ce, 26: de, 38: he, 42: ue, 46: Y, 60: [1, 252], 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(ie, [2, 63]), e(ie, [2, 64]), e(ie, [2, 66]), e(ie, [2, 65]), e(ie, [2, 67]), e(Te, [2, 4]), e( [ 22, 46, 80, 94, 95, 98, 99, 100, 102, 103, 109, 110, 111, 112, 113, 114, ], [2, 75] ), { 22: le, 24: ce, 26: de, 38: he, 41: [1, 253], 42: ue, 46: Y, 61: ge, 69: fe, 72: 186, 74: 138, 75: me, 76: _e, 77: be, 78: ve, 79: ye, 80: we, 81: Ce, 83: 129, 84: Se, 94: j, 95: V, 98: z, 99: U, 100: ke, 102: K, 103: q, 104: xe, 105: Le, 106: 135, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 18: 18, 19: 19, 20: a, 21: l, 22: c, 23: d, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: h, 42: [1, 254], 44: 31, 45: 37, 46: u, 48: 38, 75: g, 76: f, 77: p, 78: m, 79: _, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, e(te, [2, 52]), e(re, [2, 109], { 95: ze }), e(Ue, [2, 119], { 97: 256, 22: Oe, 75: Ae, 91: Re, 94: Pe, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }), e($e, [2, 121]), e($e, [2, 123]), e($e, [2, 124]), e($e, [2, 125]), e($e, [2, 126]), e($e, [2, 127]), e($e, [2, 128]), e($e, [2, 129]), e($e, [2, 130]), e($e, [2, 131]), e($e, [2, 132]), e($e, [2, 133]), e(re, [2, 110], { 95: ze }), e(re, [2, 111], { 95: ze }), { 22: [1, 257] }, e(re, [2, 112], { 95: ze }), { 22: [1, 258] }, e(Ie, [2, 118]), e(re, [2, 92], { 95: ze }), e(re, [2, 93], { 95: ze }), e(re, [2, 94], { 106: 89, 108: 165, 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }), e(re, [2, 98]), { 90: [1, 259] }, { 90: [1, 260] }, { 50: [1, 261] }, { 60: [1, 262] }, { 9: 263, 20: R, 21: P, 23: F }, e(A, [2, 42]), { 22: Oe, 75: Ae, 91: Re, 94: Pe, 96: 264, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, e($e, [2, 122]), { 26: W, 46: Y, 80: H, 86: 265, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, { 26: W, 46: Y, 80: H, 86: 266, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 106: 89, 108: 87, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }, e(re, [2, 102]), e(re, [2, 108]), e(ie, [2, 55]), e(ie, [2, 62]), e(Me, o, { 17: 267 }), e(Ue, [2, 120], { 97: 256, 22: Oe, 75: Ae, 91: Re, 94: Pe, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }), e(re, [2, 115], { 106: 89, 108: 165, 22: [1, 268], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }), e(re, [2, 116], { 106: 89, 108: 165, 22: [1, 269], 26: W, 46: Y, 80: H, 94: j, 95: V, 98: z, 99: U, 100: $, 102: K, 103: q, 109: G, 110: Z, 111: J, 112: Q, 113: X, 114: ee, }), { 18: 18, 19: 19, 20: a, 21: l, 22: c, 23: d, 32: 24, 33: 25, 34: 26, 35: 27, 36: 28, 37: 29, 38: h, 42: [1, 270], 44: 31, 45: 37, 46: u, 48: 38, 75: g, 76: f, 77: p, 78: m, 79: _, 80: b, 94: v, 95: y, 98: w, 99: C, 100: S, 102: k, 103: x, 107: 39, 109: L, 110: M, 111: D, 112: N, 113: E, 114: T, }, { 22: Oe, 75: Ae, 85: 271, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, { 22: Oe, 75: Ae, 85: 272, 91: Re, 94: Pe, 96: 226, 97: 227, 98: Fe, 99: Be, 100: We, 101: Ye, 102: He, 103: je, 104: Ve, }, e(A, [2, 41]), e(re, [2, 113], { 95: ze }), e(re, [2, 114], { 95: ze }), ], defaultActions: { 2: [2, 1], 9: [2, 5], 10: [2, 2], 119: [2, 7], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, qe = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: {}, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 12; case 1: return this.begin('type_directive'), 13; case 2: return ( this.popState(), this.begin('arg_directive'), 10 ); case 3: return this.popState(), this.popState(), 15; case 4: return 14; case 5: case 6: break; case 7: this.begin('string'); break; case 8: this.popState(); break; case 9: return 'STR'; case 10: return 75; case 11: return 84; case 12: return 76; case 13: return 93; case 14: return 77; case 15: return 78; case 16: this.begin('href'); break; case 17: this.popState(); break; case 18: return 89; case 19: this.begin('callbackname'); break; case 20: this.popState(); break; case 21: this.popState(), this.begin('callbackargs'); break; case 22: return 87; case 23: this.popState(); break; case 24: return 88; case 25: this.begin('click'); break; case 26: this.popState(); break; case 27: return 79; case 28: case 29: return ( e.lex.firstGraph() && this.begin('dir'), 24 ); case 30: return 38; case 31: return 42; case 32: case 33: case 34: case 35: return 90; case 36: return this.popState(), 25; case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: return this.popState(), 26; case 47: return 94; case 48: return 102; case 49: return 47; case 50: return 99; case 51: return 46; case 52: return 20; case 53: return 95; case 54: return 113; case 55: case 56: case 57: return 70; case 58: case 59: case 60: return 69; case 61: return 51; case 62: return 52; case 63: return 53; case 64: return 54; case 65: return 55; case 66: return 56; case 67: return 57; case 68: return 58; case 69: return 100; case 70: return 103; case 71: return 114; case 72: return 111; case 73: return 104; case 74: case 75: return 112; case 76: return 105; case 77: return 61; case 78: return 81; case 79: return 'SEP'; case 80: return 80; case 81: return 98; case 82: return 63; case 83: return 62; case 84: return 65; case 85: return 64; case 86: return 109; case 87: return 110; case 88: return 71; case 89: return 49; case 90: return 50; case 91: return 40; case 92: return 41; case 93: return 59; case 94: return 60; case 95: return 120; case 96: return 21; case 97: return 22; case 98: return 23; } }, rules: [ /^(?:%%\{)/, /^(?:((?:(?!\}%%)[^:.])*))/, /^(?::)/, /^(?:\}%%)/, /^(?:((?:(?!\}%%).|\n)*))/, /^(?:%%(?!\{)[^\n]*)/, /^(?:[^\}]%%[^\n]*)/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:href[\s]+["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:call[\s]+)/, /^(?:\([\s]*\))/, /^(?:\()/, /^(?:[^(]*)/, /^(?:\))/, /^(?:[^)]*)/, /^(?:click[\s]+)/, /^(?:[\s\n])/, /^(?:[^\s\n]*)/, /^(?:graph\b)/, /^(?:flowchart\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:_self\b)/, /^(?:_blank\b)/, /^(?:_parent\b)/, /^(?:_top\b)/, /^(?:(\r?\n)*\s*\n)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\[)/, /^(?:\]\))/, /^(?:\[\[)/, /^(?:\]\])/, /^(?:\[\()/, /^(?:\)\])/, /^(?:-)/, /^(?:\.)/, /^(?:[\_])/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:[A-Za-z]+)/, /^(?:\\\])/, /^(?:\[\/)/, /^(?:\/\])/, /^(?:\[\\)/, /^(?:[!"#$%&'*+,-.`?\\_/])/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\|)/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{)/, /^(?:\})/, /^(?:")/, /^(?:(\r?\n)+)/, /^(?:\s)/, /^(?:$)/, ], conditions: { close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, callbackargs: { rules: [23, 24], inclusive: !1 }, callbackname: { rules: [20, 21, 22], inclusive: !1 }, href: { rules: [17, 18], inclusive: !1 }, click: { rules: [26, 27], inclusive: !1 }, vertex: { rules: [], inclusive: !1 }, dir: { rules: [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], inclusive: !1, }, string: { rules: [8, 9], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 19, 25, 28, 29, 30, 31, 32, 33, 34, 35, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, ], inclusive: !0, }, }, }; function Ge() { this.yy = {}; } return ( (Ke.lexer = qe), (Ge.prototype = Ke), (Ke.Parser = Ge), new Ge() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/flowchart/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return '.label {\n font-family: ' .concat(e.fontFamily, ';\n color: ') .concat( e.nodeTextColor || e.textColor, ';\n }\n .cluster-label text {\n fill: ' ) .concat( e.titleColor, ';\n }\n .cluster-label span {\n color: ' ) .concat( e.titleColor, ';\n }\n\n .label text,span {\n fill: ' ) .concat(e.nodeTextColor || e.textColor, ';\n color: ') .concat( e.nodeTextColor || e.textColor, ';\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ' ) .concat( e.arrowheadColor, ';\n }\n\n .edgePath .path {\n stroke: ' ) .concat( e.lineColor, ';\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ' ) .concat( e.lineColor, ';\n fill: none;\n }\n\n .edgeLabel {\n background-color: ' ) .concat( e.edgeLabelBackground, ';\n rect {\n opacity: 0.5;\n background-color: ' ) .concat(e.edgeLabelBackground, ';\n fill: ') .concat( e.edgeLabelBackground, ';\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ' ) .concat(e.clusterBkg, ';\n stroke: ') .concat( e.clusterBorder, ';\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ' ) .concat( e.titleColor, ';\n }\n\n .cluster span {\n color: ' ) .concat( e.titleColor, ';\n }\n // .cluster div {\n // color: ' ) .concat( e.titleColor, ';\n // }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ' ) .concat( e.fontFamily, ';\n font-size: 12px;\n background: ' ) .concat(e.tertiaryColor, ';\n border: 1px solid ') .concat( e.border2, ';\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n' ); }); }, './src/diagrams/gantt/ganttDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return x; }), i.d(t, 'clear', function () { return L; }), i.d(t, 'setAxisFormat', function () { return M; }), i.d(t, 'getAxisFormat', function () { return D; }), i.d(t, 'setTodayMarker', function () { return N; }), i.d(t, 'getTodayMarker', function () { return E; }), i.d(t, 'setDateFormat', function () { return T; }), i.d(t, 'enableInclusiveEndDates', function () { return I; }), i.d(t, 'endDatesAreInclusive', function () { return O; }), i.d(t, 'enableTopAxis', function () { return A; }), i.d(t, 'topAxisEnabled', function () { return R; }), i.d(t, 'getDateFormat', function () { return P; }), i.d(t, 'setExcludes', function () { return F; }), i.d(t, 'getExcludes', function () { return B; }), i.d(t, 'setTitle', function () { return W; }), i.d(t, 'getTitle', function () { return Y; }), i.d(t, 'addSection', function () { return H; }), i.d(t, 'getSections', function () { return j; }), i.d(t, 'getTasks', function () { return V; }), i.d(t, 'addTask', function () { return ee; }), i.d(t, 'findTaskById', function () { return te; }), i.d(t, 'addTaskOrg', function () { return ie; }), i.d(t, 'setLink', function () { return re; }), i.d(t, 'setClass', function () { return se; }), i.d(t, 'setClickEvent', function () { return ae; }), i.d(t, 'bindFunctions', function () { return le; }); var n = i('moment-mini'), r = i.n(n), s = i('@braintree/sanitize-url'), o = i('./src/logger.js'), a = i('./src/config.js'), l = i('./src/utils.js'), c = i('./src/mermaidAPI.js'); var d, h, u = '', g = '', f = '', p = [], m = '', _ = [], b = [], v = '', y = ['active', 'done', 'crit', 'milestone'], w = [], C = !1, S = !1, k = 0, x = function (e, t, i) { c.default.parseDirective(this, e, t, i); }, L = function () { (_ = []), (b = []), (v = ''), (w = []), (m = ''), (Z = 0), (d = void 0), (h = void 0), (Q = []), (u = ''), (g = ''), (f = ''), (p = []), (C = !1), (S = !1), (k = 0); }, M = function (e) { g = e; }, D = function () { return g; }, N = function (e) { f = e; }, E = function () { return f; }, T = function (e) { u = e; }, I = function () { C = !0; }, O = function () { return C; }, A = function () { S = !0; }, R = function () { return S; }, P = function () { return u; }, F = function (e) { p = e.toLowerCase().split(/[\s,]+/); }, B = function () { return p; }, W = function (e) { m = e; }, Y = function () { return m; }, H = function (e) { (v = e), _.push(e); }, j = function () { return _; }, V = function () { for (var e = ne(), t = 0; !e && t < 10; ) (e = ne()), t++; return (b = Q); }, z = function (e, t, i) { return ( (e.isoWeekday() >= 6 && i.indexOf('weekends') >= 0) || i.indexOf(e.format('dddd').toLowerCase()) >= 0 || i.indexOf(e.format(t.trim())) >= 0 ); }, U = function (e, t, i) { if (i.length && !e.manualEndTime) { var n = r()(e.startTime, t, !0); n.add(1, 'd'); var s = r()(e.endTime, t, !0), o = $(n, s, t, i); (e.endTime = s.toDate()), (e.renderEndTime = o); } }, $ = function (e, t, i, n) { for (var r = !1, s = null; e <= t; ) r || (s = t.toDate()), (r = z(e, i, n)) && t.add(1, 'd'), e.add(1, 'd'); return s; }, K = function (e, t, i) { i = i.trim(); var n = /^after\s+([\d\w- ]+)/.exec(i.trim()); if (null !== n) { var s = null; if ( (n[1].split(' ').forEach(function (e) { var t = te(e); void 0 !== t && (s ? t.endTime > s.endTime && (s = t) : (s = t)); }), s) ) return s.endTime; var a = new Date(); return a.setHours(0, 0, 0, 0), a; } var l = r()(i, t.trim(), !0); return l.isValid() ? l.toDate() : (o.log.debug('Invalid date:' + i), o.log.debug('With date format:' + t.trim()), new Date()); }, q = function (e, t) { if (null !== e) switch (e[2]) { case 's': t.add(e[1], 'seconds'); break; case 'm': t.add(e[1], 'minutes'); break; case 'h': t.add(e[1], 'hours'); break; case 'd': t.add(e[1], 'days'); break; case 'w': t.add(e[1], 'weeks'); } return t.toDate(); }, G = function (e, t, i, n) { (n = n || !1), (i = i.trim()); var s = r()(i, t.trim(), !0); return s.isValid() ? (n && s.add(1, 'd'), s.toDate()) : q(/^([\d]+)([wdhms])/.exec(i.trim()), r()(e)); }, Z = 0, J = function (e) { return void 0 === e ? 'task' + (Z += 1) : e; }, Q = [], X = {}, ee = function (e, t) { var i = { section: v, type: v, processed: !1, manualEndTime: !1, renderEndTime: null, raw: { data: t }, task: e, classes: [], }, n = (function (e, t) { var i = (':' === t.substr(0, 1) ? t.substr(1, t.length) : t ).split(','), n = {}; ce(i, n, y); for (var r = 0; r < i.length; r++) i[r] = i[r].trim(); switch (i.length) { case 1: (n.id = J()), (n.startTime = { type: 'prevTaskEnd', id: e }), (n.endTime = { data: i[0] }); break; case 2: (n.id = J()), (n.startTime = { type: 'getStartDate', startData: i[0], }), (n.endTime = { data: i[1] }); break; case 3: (n.id = J(i[0])), (n.startTime = { type: 'getStartDate', startData: i[1], }), (n.endTime = { data: i[2] }); } return n; })(h, t); (i.raw.startTime = n.startTime), (i.raw.endTime = n.endTime), (i.id = n.id), (i.prevTaskId = h), (i.active = n.active), (i.done = n.done), (i.crit = n.crit), (i.milestone = n.milestone), (i.order = k), k++; var r = Q.push(i); (h = i.id), (X[i.id] = r - 1); }, te = function (e) { var t = X[e]; return Q[t]; }, ie = function (e, t) { var i = { section: v, type: v, description: e, task: e, classes: [], }, n = (function (e, t) { var i = (':' === t.substr(0, 1) ? t.substr(1, t.length) : t ).split(','), n = {}; ce(i, n, y); for (var s = 0; s < i.length; s++) i[s] = i[s].trim(); var o = ''; switch (i.length) { case 1: (n.id = J()), (n.startTime = e.endTime), (o = i[0]); break; case 2: (n.id = J()), (n.startTime = K(0, u, i[0])), (o = i[1]); break; case 3: (n.id = J(i[0])), (n.startTime = K(0, u, i[1])), (o = i[2]); } return ( o && ((n.endTime = G(n.startTime, u, o, C)), (n.manualEndTime = r()( o, 'YYYY-MM-DD', !0 ).isValid()), U(n, u, p)), n ); })(d, t); (i.startTime = n.startTime), (i.endTime = n.endTime), (i.id = n.id), (i.active = n.active), (i.done = n.done), (i.crit = n.crit), (i.milestone = n.milestone), (d = i), b.push(i); }, ne = function () { for ( var e = function (e) { var t = Q[e], i = ''; switch (Q[e].raw.startTime.type) { case 'prevTaskEnd': var n = te(t.prevTaskId); t.startTime = n.endTime; break; case 'getStartDate': (i = K(0, u, Q[e].raw.startTime.startData)) && (Q[e].startTime = i); } return ( Q[e].startTime && ((Q[e].endTime = G( Q[e].startTime, u, Q[e].raw.endTime.data, C )), Q[e].endTime && ((Q[e].processed = !0), (Q[e].manualEndTime = r()( Q[e].raw.endTime.data, 'YYYY-MM-DD', !0 ).isValid()), U(Q[e], u, p))), Q[e].processed ); }, t = !0, i = 0; i < Q.length; i++ ) e(i), (t = t && Q[i].processed); return t; }, re = function (e, t) { var i = t; 'loose' !== a.getConfig().securityLevel && (i = Object(s.sanitizeUrl)(t)), e.split(',').forEach(function (e) { void 0 !== te(e) && oe(e, function () { window.open(i, '_self'); }); }), se(e, 'clickable'); }, se = function (e, t) { e.split(',').forEach(function (e) { var i = te(e); void 0 !== i && i.classes.push(t); }); }, oe = function (e, t) { w.push(function () { var i = document.querySelector('[id="'.concat(e, '"]')); null !== i && i.addEventListener('click', function () { t(); }); }), w.push(function () { var i = document.querySelector( '[id="'.concat(e, '-text"]') ); null !== i && i.addEventListener('click', function () { t(); }); }); }, ae = function (e, t, i) { e.split(',').forEach(function (e) { !(function (e, t, i) { if ( 'loose' === a.getConfig().securityLevel && void 0 !== t ) { var n = []; if ('string' == typeof i) { n = i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); for (var r = 0; r < n.length; r++) { var s = n[r].trim(); '"' === s.charAt(0) && '"' === s.charAt(s.length - 1) && (s = s.substr(1, s.length - 2)), (n[r] = s); } } 0 === n.length && n.push(e), void 0 !== te(e) && oe(e, function () { var e; l.default.runFunc.apply( l.default, [t].concat( (function (e) { if (Array.isArray(e)) { for ( var t = 0, i = new Array(e.length); t < e.length; t++ ) i[t] = e[t]; return i; } })((e = n)) || (function (e) { if ( Symbol.iterator in Object(e) || '[object Arguments]' === Object.prototype.toString.call(e) ) return Array.from(e); })(e) || (function () { throw new TypeError( 'Invalid attempt to spread non-iterable instance' ); })() ) ); }); } })(e, t, i); }), se(e, 'clickable'); }, le = function (e) { w.forEach(function (t) { t(e); }); }; function ce(e, t, i) { for (var n = !0; n; ) (n = !1), i.forEach(function (i) { var r = new RegExp('^\\s*' + i + '\\s*$'); e[0].match(r) && ((t[i] = !0), e.shift(1), (n = !0)); }); } t.default = { parseDirective: x, getConfig: function () { return a.getConfig().gantt; }, clear: L, setDateFormat: T, getDateFormat: P, enableInclusiveEndDates: I, endDatesAreInclusive: O, enableTopAxis: A, topAxisEnabled: R, setAxisFormat: M, getAxisFormat: D, setTodayMarker: N, getTodayMarker: E, setTitle: W, getTitle: Y, addSection: H, getSections: j, getTasks: V, addTask: ee, findTaskById: te, addTaskOrg: ie, setExcludes: F, getExcludes: B, setClickEvent: ae, setLink: re, bindFunctions: le, durationToDate: q, }; }, './src/diagrams/gantt/ganttRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return d; }), i.d(t, 'draw', function () { return h; }); var n = i('d3'), r = i('./src/diagrams/gantt/parser/gantt.jison'), s = i('./src/diagrams/common/common.js'), o = i('./src/diagrams/gantt/ganttDb.js'), a = i('./src/config.js'), l = i('./src/utils.js'); r.parser.yy = o.default; var c, d = function () {}, h = function (e, t) { var i = Object(a.getConfig)().gantt; r.parser.yy.clear(), r.parser.parse(e); var d = document.getElementById(t); void 0 === (c = d.parentElement.offsetWidth) && (c = 1200), void 0 !== i.useWidth && (c = i.useWidth); var h = r.parser.yy.getTasks(), u = h.length * (i.barHeight + i.barGap) + 2 * i.topPadding; d.setAttribute('viewBox', '0 0 ' + c + ' ' + u); for ( var g = Object(n.select)('[id="'.concat(t, '"]')), f = Object(n.scaleTime)() .domain([ Object(n.min)(h, function (e) { return e.startTime; }), Object(n.max)(h, function (e) { return e.endTime; }), ]) .rangeRound([0, c - i.leftPadding - i.rightPadding]), p = [], m = 0; m < h.length; m++ ) p.push(h[m].type); var _, b, v, y, w, C, S, k = p; (p = (function (e) { for (var t = {}, i = [], n = 0, r = e.length; n < r; ++n) t.hasOwnProperty(e[n]) || ((t[e[n]] = !0), i.push(e[n])); return i; })(p)), h.sort(function (e, t) { var i = e.startTime, n = t.startTime, r = 0; return i > n ? (r = 1) : i < n && (r = -1), r; }), (_ = h), (b = c), (v = u), (w = (y = i.barHeight) + i.barGap), (C = i.topPadding), (S = i.leftPadding), Object(n.scaleLinear)() .domain([0, p.length]) .range(['#00B9FA', '#F95002']) .interpolate(n.interpolateHcl), (function (e, t, s, a) { var l = Object(n.axisBottom)(f) .tickSize(-a + t + i.gridLineStartPadding) .tickFormat( Object(n.timeFormat)( r.parser.yy.getAxisFormat() || i.axisFormat || '%Y-%m-%d' ) ); if ( (g .append('g') .attr('class', 'grid') .attr( 'transform', 'translate(' + e + ', ' + (a - 50) + ')' ) .call(l) .selectAll('text') .style('text-anchor', 'middle') .attr('fill', '#000') .attr('stroke', 'none') .attr('font-size', 10) .attr('dy', '1em'), o.default.topAxisEnabled() || i.topAxis) ) { var c = Object(n.axisTop)(f) .tickSize(-a + t + i.gridLineStartPadding) .tickFormat( Object(n.timeFormat)( r.parser.yy.getAxisFormat() || i.axisFormat || '%Y-%m-%d' ) ); g.append('g') .attr('class', 'grid') .attr( 'transform', 'translate(' + e + ', ' + t + ')' ) .call(c) .selectAll('text') .style('text-anchor', 'middle') .attr('fill', '#000') .attr('stroke', 'none') .attr('font-size', 10); } })(S, C, 0, v), (function (e, t, n, r, s, o, a) { g.append('g') .selectAll('rect') .data(e) .enter() .append('rect') .attr('x', 0) .attr('y', function (e, i) { return e.order * t + n - 2; }) .attr('width', function () { return a - i.rightPadding / 2; }) .attr('height', t) .attr('class', function (e) { for (var t = 0; t < p.length; t++) if (e.type === p[t]) return ( 'section section' + (t % i.numberSectionStyles) ); return 'section section0'; }); var l = g.append('g').selectAll('rect').data(e).enter(); l .append('rect') .attr('id', function (e) { return e.id; }) .attr('rx', 3) .attr('ry', 3) .attr('x', function (e) { return e.milestone ? f(e.startTime) + r + 0.5 * (f(e.endTime) - f(e.startTime)) - 0.5 * s : f(e.startTime) + r; }) .attr('y', function (e, i) { return e.order * t + n; }) .attr('width', function (e) { return e.milestone ? s : f(e.renderEndTime || e.endTime) - f(e.startTime); }) .attr('height', s) .attr('transform-origin', function (e, i) { return ( (i = e.order), ( f(e.startTime) + r + 0.5 * (f(e.endTime) - f(e.startTime)) ).toString() + 'px ' + (i * t + n + 0.5 * s).toString() + 'px' ); }) .attr('class', function (e) { var t = ''; e.classes.length > 0 && (t = e.classes.join(' ')); for (var n = 0, r = 0; r < p.length; r++) e.type === p[r] && (n = r % i.numberSectionStyles); var s = ''; return ( e.active ? e.crit ? (s += ' activeCrit') : (s = ' active') : e.done ? (s = e.crit ? ' doneCrit' : ' done') : e.crit && (s += ' crit'), 0 === s.length && (s = ' task'), e.milestone && (s = ' milestone ' + s), 'task' + (s += n) + ' ' + t ); }), l .append('text') .attr('id', function (e) { return e.id + '-text'; }) .text(function (e) { return e.task; }) .attr('font-size', i.fontSize) .attr('x', function (e) { var t = f(e.startTime), n = f(e.renderEndTime || e.endTime); e.milestone && (t += 0.5 * (f(e.endTime) - f(e.startTime)) - 0.5 * s), e.milestone && (n = t + s); var o = this.getBBox().width; return o > n - t ? n + o + 1.5 * i.leftPadding > a ? t + r - 5 : n + r + 5 : (n - t) / 2 + t + r; }) .attr('y', function (e, r) { return ( e.order * t + i.barHeight / 2 + (i.fontSize / 2 - 2) + n ); }) .attr('text-height', s) .attr('class', function (e) { var t = f(e.startTime), n = f(e.endTime); e.milestone && (n = t + s); var r = this.getBBox().width, o = ''; e.classes.length > 0 && (o = e.classes.join(' ')); for (var l = 0, c = 0; c < p.length; c++) e.type === p[c] && (l = c % i.numberSectionStyles); var d = ''; return ( e.active && (d = e.crit ? 'activeCritText' + l : 'activeText' + l), e.done ? (d = e.crit ? d + ' doneCritText' + l : d + ' doneText' + l) : e.crit && (d = d + ' critText' + l), e.milestone && (d += ' milestoneText'), r > n - t ? n + r + 1.5 * i.leftPadding > a ? o + ' taskTextOutsideLeft taskTextOutside' + l + ' ' + d : o + ' taskTextOutsideRight taskTextOutside' + l + ' ' + d + ' width-' + r : o + ' taskText taskText' + l + ' ' + d + ' width-' + r ); }); })(_, w, C, S, y, 0, b), (function (e, t) { for (var n = [], r = 0, o = 0; o < p.length; o++) n[o] = [ p[o], ((a = p[o]), (l = k), (function (e) { for (var t = e.length, i = {}; t; ) i[e[--t]] = (i[e[t]] || 0) + 1; return i; })(l)[a] || 0), ]; var a, l; g.append('g') .selectAll('text') .data(n) .enter() .append(function (e) { var t = e[0].split(s.default.lineBreakRegex), i = -(t.length - 1) / 2, n = document.createElementNS( 'http://www.w3.org/2000/svg', 'text' ); n.setAttribute('dy', i + 'em'); for (var r = 0; r < t.length; r++) { var o = document.createElementNS( 'http://www.w3.org/2000/svg', 'tspan' ); o.setAttribute('alignment-baseline', 'central'), o.setAttribute('x', '10'), r > 0 && o.setAttribute('dy', '1em'), (o.textContent = t[r]), n.appendChild(o); } return n; }) .attr('x', 10) .attr('y', function (i, s) { if (!(s > 0)) return (i[1] * e) / 2 + t; for (var o = 0; o < s; o++) return ( (r += n[s - 1][1]), (i[1] * e) / 2 + r * e + t ); }) .attr('font-size', i.sectionFontSize) .attr('font-size', i.sectionFontSize) .attr('class', function (e) { for (var t = 0; t < p.length; t++) if (e[0] === p[t]) return ( 'sectionTitle sectionTitle' + (t % i.numberSectionStyles) ); return 'sectionTitle'; }); })(w, C), (function (e, t, n, r) { var s = o.default.getTodayMarker(); if ('off' !== s) { var a = g.append('g').attr('class', 'today'), l = new Date(), c = a.append('line'); c .attr('x1', f(l) + e) .attr('x2', f(l) + e) .attr('y1', i.titleTopMargin) .attr('y2', r - i.titleTopMargin) .attr('class', 'today'), '' !== s && c.attr('style', s.replace(/,/g, ';')); } })(S, 0, 0, v), Object(l.configureSvgSize)(g, u, c, i.useMaxWidth), g .append('text') .text(r.parser.yy.getTitle()) .attr('x', c / 2) .attr('y', i.titleTopMargin) .attr('class', 'titleText'); }; t.default = { setConf: d, draw: h }; }, './src/diagrams/gantt/parser/gantt.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 3], i = [1, 5], n = [ 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 28, 33, ], r = [1, 15], s = [1, 16], o = [1, 17], a = [1, 18], l = [1, 19], c = [1, 20], d = [1, 21], h = [1, 22], u = [1, 24], g = [1, 26], f = [1, 29], p = [ 5, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 28, 33, ], m = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, directive: 4, gantt: 5, document: 6, EOF: 7, line: 8, SPACE: 9, statement: 10, NL: 11, dateFormat: 12, inclusiveEndDates: 13, topAxis: 14, axisFormat: 15, excludes: 16, todayMarker: 17, title: 18, section: 19, clickStatement: 20, taskTxt: 21, taskData: 22, openDirective: 23, typeDirective: 24, closeDirective: 25, ':': 26, argDirective: 27, click: 28, callbackname: 29, callbackargs: 30, href: 31, clickStatementDebug: 32, open_directive: 33, type_directive: 34, arg_directive: 35, close_directive: 36, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 5: 'gantt', 7: 'EOF', 9: 'SPACE', 11: 'NL', 12: 'dateFormat', 13: 'inclusiveEndDates', 14: 'topAxis', 15: 'axisFormat', 16: 'excludes', 17: 'todayMarker', 18: 'title', 19: 'section', 21: 'taskTxt', 22: 'taskData', 26: ':', 28: 'click', 29: 'callbackname', 30: 'callbackargs', 31: 'href', 33: 'open_directive', 34: 'type_directive', 35: 'arg_directive', 36: 'close_directive', }, productions_: [ 0, [3, 2], [3, 3], [6, 0], [6, 2], [8, 2], [8, 1], [8, 1], [8, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 1], [4, 4], [4, 6], [20, 2], [20, 3], [20, 3], [20, 4], [20, 3], [20, 4], [20, 2], [32, 2], [32, 3], [32, 3], [32, 4], [32, 3], [32, 4], [32, 2], [23, 1], [24, 1], [27, 1], [25, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 2: return s[a - 1]; case 3: this.$ = []; break; case 4: s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 5: case 6: this.$ = s[a]; break; case 7: case 8: this.$ = []; break; case 9: n.setDateFormat(s[a].substr(11)), (this.$ = s[a].substr(11)); break; case 10: n.enableInclusiveEndDates(), (this.$ = s[a].substr(18)); break; case 11: n.TopAxis(), (this.$ = s[a].substr(8)); break; case 12: n.setAxisFormat(s[a].substr(11)), (this.$ = s[a].substr(11)); break; case 13: n.setExcludes(s[a].substr(9)), (this.$ = s[a].substr(9)); break; case 14: n.setTodayMarker(s[a].substr(12)), (this.$ = s[a].substr(12)); break; case 15: n.setTitle(s[a].substr(6)), (this.$ = s[a].substr(6)); break; case 16: n.addSection(s[a].substr(8)), (this.$ = s[a].substr(8)); break; case 18: n.addTask(s[a - 1], s[a]), (this.$ = 'task'); break; case 22: (this.$ = s[a - 1]), n.setClickEvent(s[a - 1], s[a], null); break; case 23: (this.$ = s[a - 2]), n.setClickEvent(s[a - 2], s[a - 1], s[a]); break; case 24: (this.$ = s[a - 2]), n.setClickEvent(s[a - 2], s[a - 1], null), n.setLink(s[a - 2], s[a]); break; case 25: (this.$ = s[a - 3]), n.setClickEvent(s[a - 3], s[a - 2], s[a - 1]), n.setLink(s[a - 3], s[a]); break; case 26: (this.$ = s[a - 2]), n.setClickEvent(s[a - 2], s[a], null), n.setLink(s[a - 2], s[a - 1]); break; case 27: (this.$ = s[a - 3]), n.setClickEvent(s[a - 3], s[a - 1], s[a]), n.setLink(s[a - 3], s[a - 2]); break; case 28: (this.$ = s[a - 1]), n.setLink(s[a - 1], s[a]); break; case 29: case 35: this.$ = s[a - 1] + ' ' + s[a]; break; case 30: case 31: case 33: this.$ = s[a - 2] + ' ' + s[a - 1] + ' ' + s[a]; break; case 32: case 34: this.$ = s[a - 3] + ' ' + s[a - 2] + ' ' + s[a - 1] + ' ' + s[a]; break; case 36: n.parseDirective('%%{', 'open_directive'); break; case 37: n.parseDirective(s[a], 'type_directive'); break; case 38: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 39: n.parseDirective( '}%%', 'close_directive', 'gantt' ); } }, table: [ { 3: 1, 4: 2, 5: t, 23: 4, 33: i }, { 1: [3] }, { 3: 6, 4: 2, 5: t, 23: 4, 33: i }, e(n, [2, 3], { 6: 7 }), { 24: 8, 34: [1, 9] }, { 34: [2, 36] }, { 1: [2, 1] }, { 4: 25, 7: [1, 10], 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: r, 13: s, 14: o, 15: a, 16: l, 17: c, 18: d, 19: h, 20: 23, 21: u, 23: 4, 28: g, 33: i, }, { 25: 27, 26: [1, 28], 36: f }, e([26, 36], [2, 37]), e(n, [2, 8], { 1: [2, 2] }), e(n, [2, 4]), { 4: 25, 10: 30, 12: r, 13: s, 14: o, 15: a, 16: l, 17: c, 18: d, 19: h, 20: 23, 21: u, 23: 4, 28: g, 33: i, }, e(n, [2, 6]), e(n, [2, 7]), e(n, [2, 9]), e(n, [2, 10]), e(n, [2, 11]), e(n, [2, 12]), e(n, [2, 13]), e(n, [2, 14]), e(n, [2, 15]), e(n, [2, 16]), e(n, [2, 17]), { 22: [1, 31] }, e(n, [2, 19]), { 29: [1, 32], 31: [1, 33] }, { 11: [1, 34] }, { 27: 35, 35: [1, 36] }, { 11: [2, 39] }, e(n, [2, 5]), e(n, [2, 18]), e(n, [2, 22], { 30: [1, 37], 31: [1, 38] }), e(n, [2, 28], { 29: [1, 39] }), e(p, [2, 20]), { 25: 40, 36: f }, { 36: [2, 38] }, e(n, [2, 23], { 31: [1, 41] }), e(n, [2, 24]), e(n, [2, 26], { 30: [1, 42] }), { 11: [1, 43] }, e(n, [2, 25]), e(n, [2, 27]), e(p, [2, 21]), ], defaultActions: { 5: [2, 36], 6: [2, 1], 29: [2, 39], 36: [2, 38], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, _ = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 33; case 1: return this.begin('type_directive'), 34; case 2: return ( this.popState(), this.begin('arg_directive'), 26 ); case 3: return this.popState(), this.popState(), 36; case 4: return 35; case 5: case 6: case 7: break; case 8: return 11; case 9: case 10: case 11: break; case 12: this.begin('href'); break; case 13: this.popState(); break; case 14: return 31; case 15: this.begin('callbackname'); break; case 16: this.popState(); break; case 17: this.popState(), this.begin('callbackargs'); break; case 18: return 29; case 19: this.popState(); break; case 20: return 30; case 21: this.begin('click'); break; case 22: this.popState(); break; case 23: return 28; case 24: return 5; case 25: return 12; case 26: return 13; case 27: return 14; case 28: return 15; case 29: return 16; case 30: return 17; case 31: return 'date'; case 32: return 18; case 33: return 19; case 34: return 21; case 35: return 22; case 36: return 26; case 37: return 7; case 38: return 'INVALID'; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)*[^\n]*)/i, /^(?:[^\}]%%*[^\n]*)/i, /^(?:%%*[^\n]*[\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:href[\s]+["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:call[\s]+)/i, /^(?:\([\s]*\))/i, /^(?:\()/i, /^(?:[^(]*)/i, /^(?:\))/i, /^(?:[^)]*)/i, /^(?:click[\s]+)/i, /^(?:[\s\n])/i, /^(?:[^\s\n]*)/i, /^(?:gantt\b)/i, /^(?:dateFormat\s[^#\n;]+)/i, /^(?:inclusiveEndDates\b)/i, /^(?:topAxis\b)/i, /^(?:axisFormat\s[^#\n;]+)/i, /^(?:excludes\s[^#\n;]+)/i, /^(?:todayMarker\s[^\n;]+)/i, /^(?:\d\d\d\d-\d\d-\d\d\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:section\s[^#:\n;]+)/i, /^(?:[^#:\n;]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i, ], conditions: { close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, callbackargs: { rules: [19, 20], inclusive: !1 }, callbackname: { rules: [16, 17, 18], inclusive: !1 }, href: { rules: [13, 14], inclusive: !1 }, click: { rules: [22, 23], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, ], inclusive: !0, }, }, }; function b() { this.yy = {}; } return ( (m.lexer = _), (b.prototype = m), (m.Parser = b), new b() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/gantt/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return '\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ' .concat( e.sectionBkgColor, ';\n }\n\n .section2 {\n fill: ' ) .concat( e.sectionBkgColor2, ';\n }\n\n .section1,\n .section3 {\n fill: ' ) .concat( e.altSectionBkgColor, ';\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ' ) .concat( e.titleColor, ';\n }\n\n .sectionTitle1 {\n fill: ' ) .concat( e.titleColor, ';\n }\n\n .sectionTitle2 {\n fill: ' ) .concat( e.titleColor, ';\n }\n\n .sectionTitle3 {\n fill: ' ) .concat( e.titleColor, ';\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ' ) .concat( e.ganttFontSize, ";\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: " ) .concat( e.gridColor, ';\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ' ) .concat(e.fontFamily, ';\n fill: ') .concat( e.textColor, ';\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ' ) .concat( e.todayLineColor, ";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: " ) .concat( e.ganttFontSize, ';\n // }\n\n .taskTextOutsideRight {\n fill: ' ) .concat( e.taskTextDarkColor, ';\n text-anchor: start;\n // font-size: ' ) .concat( e.ganttFontSize, ";\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: " ) .concat( e.taskTextDarkColor, ';\n text-anchor: end;\n // font-size: ' ) .concat( e.ganttFontSize, ';\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ' ) .concat( e.taskTextClickableColor, ' !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ' ) .concat( e.taskTextClickableColor, ' !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ' ) .concat( e.taskTextClickableColor, ' !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ' ) .concat( e.taskTextColor, ';\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ' ) .concat(e.taskBkgColor, ';\n stroke: ') .concat( e.taskBorderColor, ';\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ' ) .concat( e.taskTextOutsideColor, ';\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ' ) .concat( e.taskTextOutsideColor, ';\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ' ) .concat(e.activeTaskBkgColor, ';\n stroke: ') .concat( e.activeTaskBorderColor, ';\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ' ) .concat( e.taskTextDarkColor, ' !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ' ) .concat(e.doneTaskBorderColor, ';\n fill: ') .concat( e.doneTaskBkgColor, ';\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ' ) .concat( e.taskTextDarkColor, ' !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ' ) .concat(e.critBorderColor, ';\n fill: ') .concat( e.critBkgColor, ';\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ' ) .concat(e.critBorderColor, ';\n fill: ') .concat( e.activeTaskBkgColor, ';\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ' ) .concat(e.critBorderColor, ';\n fill: ') .concat( e.doneTaskBkgColor, ';\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ' ) .concat( e.taskTextDarkColor, ' !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ' ) .concat( e.taskTextDarkColor, ' !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ' ) .concat( e.textColor, " ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n" ); }); }, './src/diagrams/git/gitGraphAst.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setDirection', function () { return g; }), i.d(t, 'setOptions', function () { return p; }), i.d(t, 'getOptions', function () { return m; }), i.d(t, 'commit', function () { return _; }), i.d(t, 'branch', function () { return b; }), i.d(t, 'merge', function () { return v; }), i.d(t, 'checkout', function () { return y; }), i.d(t, 'reset', function () { return w; }), i.d(t, 'prettyPrint', function () { return k; }), i.d(t, 'clear', function () { return x; }), i.d(t, 'getBranchesAsObjArray', function () { return L; }), i.d(t, 'getBranches', function () { return M; }), i.d(t, 'getCommits', function () { return D; }), i.d(t, 'getCommitsArray', function () { return N; }), i.d(t, 'getCurrentBranch', function () { return E; }), i.d(t, 'getDirection', function () { return T; }), i.d(t, 'getHead', function () { return I; }); var n = i('./src/logger.js'), r = i('./src/utils.js'), s = {}, o = null, a = { master: o }, l = 'master', c = 'LR', d = 0; function h() { return Object(r.random)({ length: 7 }); } function u(e, t) { for ( n.log.debug('Entering isfastforwardable:', e.id, t.id); e.seq <= t.seq && e !== t && null != t.parent; ) { if (Array.isArray(t.parent)) return ( n.log.debug('In merge commit:', t.parent), u(e, s[t.parent[0]]) || u(e, s[t.parent[1]]) ); t = s[t.parent]; } return n.log.debug(e.id, t.id), e.id === t.id; } var g = function (e) { c = e; }, f = {}, p = function (e) { n.log.debug('options str', e), (e = (e = e && e.trim()) || '{}'); try { f = JSON.parse(e); } catch (e) { n.log.error( 'error while parsing gitGraph options', e.message ); } }, m = function () { return f; }, _ = function (e) { var t = { id: h(), message: e, seq: d++, parent: null == o ? null : o.id, }; (o = t), (s[t.id] = t), (a[l] = t.id), n.log.debug('in pushCommit ' + t.id); }, b = function (e) { (a[e] = null != o ? o.id : null), n.log.debug('in createBranch'); }, v = function (e) { var t = s[a[l]], i = s[a[e]]; if ( (function (e, t) { return e.seq > t.seq && u(t, e); })(t, i) ) n.log.debug('Already merged'); else { if (u(t, i)) (a[l] = a[e]), (o = s[a[l]]); else { var r = { id: h(), message: 'merged branch ' + e + ' into ' + l, seq: d++, parent: [null == o ? null : o.id, a[e]], }; (o = r), (s[r.id] = r), (a[l] = r.id); } n.log.debug(a), n.log.debug('in mergeBranch'); } }, y = function (e) { n.log.debug('in checkout'); var t = a[(l = e)]; o = s[t]; }, w = function (e) { n.log.debug('in reset', e); var t = e.split(':')[0], i = parseInt(e.split(':')[1]), r = 'HEAD' === t ? o : s[a[t]]; for (n.log.debug(r, i); i > 0; ) if ((i--, !(r = s[r.parent]))) { var c = 'Critical error - unique parent commit not found during reset'; throw (n.log.error(c), c); } (o = r), (a[l] = r.id); }; function C(e, t, i) { var n = e.indexOf(t); -1 === n ? e.push(i) : e.splice(n, 1, i); } function S(e) { var t = e.reduce(function (e, t) { return e.seq > t.seq ? e : t; }, e[0]), i = ''; e.forEach(function (e) { i += e === t ? '\t*' : '\t|'; }); var r, o, l, c = [i, t.id, t.seq]; for (var d in a) a[d] === t.id && c.push(d); if ((n.log.debug(c.join(' ')), Array.isArray(t.parent))) { var h = s[t.parent[0]]; C(e, t, h), e.push(s[t.parent[1]]); } else { if (null == t.parent) return; var u = s[t.parent]; C(e, t, u); } (r = e), (o = function (e) { return e.id; }), (l = Object.create(null)), S( (e = r.reduce(function (e, t) { var i = o(t); return l[i] || ((l[i] = !0), e.push(t)), e; }, [])) ); } var k = function () { n.log.debug(s), S([N()[0]]); }, x = function () { (s = {}), (a = { master: (o = null) }), (l = 'master'), (d = 0); }, L = function () { var e = []; for (var t in a) e.push({ name: t, commit: s[a[t]] }); return e; }, M = function () { return a; }, D = function () { return s; }, N = function () { var e = Object.keys(s).map(function (e) { return s[e]; }); return ( e.forEach(function (e) { n.log.debug(e.id); }), e.sort(function (e, t) { return t.seq - e.seq; }), e ); }, E = function () { return l; }, T = function () { return c; }, I = function () { return o; }; t.default = { setDirection: g, setOptions: p, getOptions: m, commit: _, branch: b, merge: v, checkout: y, reset: w, prettyPrint: k, clear: x, getBranchesAsObjArray: L, getBranches: M, getCommits: D, getCommitsArray: N, getCurrentBranch: E, getDirection: T, getHead: I, }; }, './src/diagrams/git/gitGraphRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return g; }), i.d(t, 'draw', function () { return y; }); var n, r = i('d3'), s = i('./src/diagrams/git/gitGraphAst.js'), o = i('./src/diagrams/git/parser/gitGraph.jison'), a = i.n(o), l = i('./src/logger.js'), c = i('./src/utils.js'), d = {}, h = { nodeSpacing: 150, nodeFillColor: 'yellow', nodeStrokeWidth: 2, nodeStrokeColor: 'grey', lineStrokeWidth: 4, branchOffset: 50, lineColor: 'grey', leftMargin: 50, branchColors: ['#442f74', '#983351', '#609732', '#AA9A39'], nodeRadius: 10, nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, }, u = {}, g = function (e) { u = e; }; function f(e, t, i, n) { var s = Object(c.interpolateToCurve)(n, r.curveBasis), o = h.branchColors[i % h.branchColors.length], a = Object(r.line)() .x(function (e) { return Math.round(e.x); }) .y(function (e) { return Math.round(e.y); }) .curve(s); e.append('svg:path') .attr('d', a(t)) .style('stroke', o) .style('stroke-width', h.lineStrokeWidth) .style('fill', 'none'); } function p(e, t) { t = t || e.node().getBBox(); var i = e.node().getCTM(); return { left: i.e + t.x * i.a, top: i.f + t.y * i.d, width: t.width, height: t.height, }; } function m(e, t, i, n, r) { l.log.debug('svgDrawLineForCommits: ', t, i); var s = p(e.select('#node-' + t + ' circle')), o = p(e.select('#node-' + i + ' circle')); switch (n) { case 'LR': if (s.left - o.left > h.nodeSpacing) { var a = { x: s.left - h.nodeSpacing, y: o.top + o.height / 2, }; f( e, [a, { x: o.left + o.width, y: o.top + o.height / 2 }], r, 'linear' ), f( e, [ { x: s.left, y: s.top + s.height / 2 }, { x: s.left - h.nodeSpacing / 2, y: s.top + s.height / 2, }, { x: s.left - h.nodeSpacing / 2, y: a.y }, a, ], r ); } else f( e, [ { x: s.left, y: s.top + s.height / 2 }, { x: s.left - h.nodeSpacing / 2, y: s.top + s.height / 2, }, { x: s.left - h.nodeSpacing / 2, y: o.top + o.height / 2, }, { x: o.left + o.width, y: o.top + o.height / 2 }, ], r ); break; case 'BT': if (o.top - s.top > h.nodeSpacing) { var c = { x: o.left + o.width / 2, y: s.top + s.height + h.nodeSpacing, }; f( e, [c, { x: o.left + o.width / 2, y: o.top }], r, 'linear' ), f( e, [ { x: s.left + s.width / 2, y: s.top + s.height }, { x: s.left + s.width / 2, y: s.top + s.height + h.nodeSpacing / 2, }, { x: o.left + o.width / 2, y: c.y - h.nodeSpacing / 2, }, c, ], r ); } else f( e, [ { x: s.left + s.width / 2, y: s.top + s.height }, { x: s.left + s.width / 2, y: s.top + h.nodeSpacing / 2, }, { x: o.left + o.width / 2, y: o.top - h.nodeSpacing / 2, }, { x: o.left + o.width / 2, y: o.top }, ], r ); } } function _(e, t) { return e.select(t).node().cloneNode(!0); } function b(e, t, i, r) { var s, o = Object.keys(d).length; if ('string' == typeof t) do { if ( ((s = d[t]), l.log.debug('in renderCommitHistory', s.id, s.seq), e.select('#node-' + t).size() > 0) ) return; e.append(function () { return _(e, '#def-commit'); }) .attr('class', 'commit') .attr('id', function () { return 'node-' + s.id; }) .attr('transform', function () { switch (r) { case 'LR': return ( 'translate(' + (s.seq * h.nodeSpacing + h.leftMargin) + ', ' + n * h.branchOffset + ')' ); case 'BT': return ( 'translate(' + (n * h.branchOffset + h.leftMargin) + ', ' + (o - s.seq) * h.nodeSpacing + ')' ); } }) .attr('fill', h.nodeFillColor) .attr('stroke', h.nodeStrokeColor) .attr('stroke-width', h.nodeStrokeWidth); var a = void 0; for (var c in i) if (i[c].commit === s) { a = i[c]; break; } a && (l.log.debug('found branch ', a.name), e .select('#node-' + s.id + ' p') .append('xhtml:span') .attr('class', 'branch-label') .text(a.name + ', ')), e .select('#node-' + s.id + ' p') .append('xhtml:span') .attr('class', 'commit-id') .text(s.id), '' !== s.message && 'BT' === r && e .select('#node-' + s.id + ' p') .append('xhtml:span') .attr('class', 'commit-msg') .text(', ' + s.message), (t = s.parent); } while (t && d[t]); Array.isArray(t) && (l.log.debug('found merge commmit', t), b(e, t[0], i, r), n++, b(e, t[1], i, r), n--); } function v(e, t, i, n) { for (n = n || 0; t.seq > 0 && !t.lineDrawn; ) 'string' == typeof t.parent ? (m(e, t.id, t.parent, i, n), (t.lineDrawn = !0), (t = d[t.parent])) : Array.isArray(t.parent) && (m(e, t.id, t.parent[0], i, n), m(e, t.id, t.parent[1], i, n + 1), v(e, d[t.parent[1]], i, n + 1), (t.lineDrawn = !0), (t = d[t.parent[0]])); } var y = function (e, t, i) { try { var o = a.a.parser; (o.yy = s.default), o.yy.clear(), l.log.debug( 'in gitgraph renderer', e + '\n', 'id:', t, i ), o.parse(e + '\n'), (h = Object.assign(h, u, s.default.getOptions())), l.log.debug('effective options', h); var c = s.default.getDirection(); d = s.default.getCommits(); var g = s.default.getBranchesAsObjArray(); 'BT' === c && ((h.nodeLabel.x = g.length * h.branchOffset), (h.nodeLabel.width = '100%'), (h.nodeLabel.y = -2 * h.nodeRadius)); var f = Object(r.select)('[id="'.concat(t, '"]')); for (var p in ((function (e) { e .append('defs') .append('g') .attr('id', 'def-commit') .append('circle') .attr('r', h.nodeRadius) .attr('cx', 0) .attr('cy', 0), e .select('#def-commit') .append('foreignObject') .attr('width', h.nodeLabel.width) .attr('height', h.nodeLabel.height) .attr('x', h.nodeLabel.x) .attr('y', h.nodeLabel.y) .attr('class', 'node-label') .attr( 'requiredFeatures', 'http://www.w3.org/TR/SVG11/feature#Extensibility' ) .append('p') .html(''); })(f), (n = 1), g)) { var m = g[p]; b(f, m.commit.id, g, c), v(f, m.commit, c), n++; } f.attr('height', function () { return 'BT' === c ? Object.keys(d).length * h.nodeSpacing : (g.length + 1) * h.branchOffset; }); } catch (e) { l.log.error('Error while rendering gitgraph'), l.log.error(e.message); } }; t.default = { setConf: g, draw: y }; }, './src/diagrams/git/parser/gitGraph.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [2, 3], i = [1, 7], n = [7, 12, 15, 17, 19, 20, 21], r = [7, 11, 12, 15, 17, 19, 20, 21], s = [2, 20], o = [1, 32], a = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, GG: 4, ':': 5, document: 6, EOF: 7, DIR: 8, options: 9, body: 10, OPT: 11, NL: 12, line: 13, statement: 14, COMMIT: 15, commit_arg: 16, BRANCH: 17, ID: 18, CHECKOUT: 19, MERGE: 20, RESET: 21, reset_arg: 22, STR: 23, HEAD: 24, reset_parents: 25, CARET: 26, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'GG', 5: ':', 7: 'EOF', 8: 'DIR', 11: 'OPT', 12: 'NL', 15: 'COMMIT', 17: 'BRANCH', 18: 'ID', 19: 'CHECKOUT', 20: 'MERGE', 21: 'RESET', 23: 'STR', 24: 'HEAD', 26: 'CARET', }, productions_: [ 0, [3, 4], [3, 5], [6, 0], [6, 2], [9, 2], [9, 1], [10, 0], [10, 2], [13, 2], [13, 1], [14, 2], [14, 2], [14, 2], [14, 2], [14, 2], [16, 0], [16, 1], [22, 2], [22, 2], [25, 0], [25, 2], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 1: return s[a - 1]; case 2: return n.setDirection(s[a - 3]), s[a - 1]; case 4: n.setOptions(s[a - 1]), (this.$ = s[a]); break; case 5: (s[a - 1] += s[a]), (this.$ = s[a - 1]); break; case 7: this.$ = []; break; case 8: s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 9: this.$ = s[a - 1]; break; case 11: n.commit(s[a]); break; case 12: n.branch(s[a]); break; case 13: n.checkout(s[a]); break; case 14: n.merge(s[a]); break; case 15: n.reset(s[a]); break; case 16: this.$ = ''; break; case 17: this.$ = s[a]; break; case 18: this.$ = s[a - 1] + ':' + s[a]; break; case 19: (this.$ = s[a - 1] + ':' + n.count), (n.count = 0); break; case 20: n.count = 0; break; case 21: n.count += 1; } }, table: [ { 3: 1, 4: [1, 2] }, { 1: [3] }, { 5: [1, 3], 8: [1, 4] }, { 6: 5, 7: t, 9: 6, 12: i }, { 5: [1, 8] }, { 7: [1, 9] }, e(n, [2, 7], { 10: 10, 11: [1, 11] }), e(r, [2, 6]), { 6: 12, 7: t, 9: 6, 12: i }, { 1: [2, 1] }, { 7: [2, 4], 12: [1, 15], 13: 13, 14: 14, 15: [1, 16], 17: [1, 17], 19: [1, 18], 20: [1, 19], 21: [1, 20], }, e(r, [2, 5]), { 7: [1, 21] }, e(n, [2, 8]), { 12: [1, 22] }, e(n, [2, 10]), { 12: [2, 16], 16: 23, 23: [1, 24] }, { 18: [1, 25] }, { 18: [1, 26] }, { 18: [1, 27] }, { 18: [1, 30], 22: 28, 24: [1, 29] }, { 1: [2, 2] }, e(n, [2, 9]), { 12: [2, 11] }, { 12: [2, 17] }, { 12: [2, 12] }, { 12: [2, 13] }, { 12: [2, 14] }, { 12: [2, 15] }, { 12: s, 25: 31, 26: o }, { 12: s, 25: 33, 26: o }, { 12: [2, 18] }, { 12: s, 25: 34, 26: o }, { 12: [2, 19] }, { 12: [2, 21] }, ], defaultActions: { 9: [2, 1], 21: [2, 2], 23: [2, 11], 24: [2, 17], 25: [2, 12], 26: [2, 13], 27: [2, 14], 28: [2, 15], 31: [2, 18], 33: [2, 19], 34: [2, 21], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, l = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return 12; case 1: case 2: case 3: break; case 4: return 4; case 5: return 15; case 6: return 17; case 7: return 20; case 8: return 21; case 9: return 19; case 10: case 11: return 8; case 12: return 5; case 13: return 26; case 14: this.begin('options'); break; case 15: this.popState(); break; case 16: return 11; case 17: this.begin('string'); break; case 18: this.popState(); break; case 19: return 23; case 20: return 18; case 21: return 7; } }, rules: [ /^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:gitGraph\b)/i, /^(?:commit\b)/i, /^(?:branch\b)/i, /^(?:merge\b)/i, /^(?:reset\b)/i, /^(?:checkout\b)/i, /^(?:LR\b)/i, /^(?:BT\b)/i, /^(?::)/i, /^(?:\^)/i, /^(?:options\r?\n)/i, /^(?:end\r?\n)/i, /^(?:[^\n]+\r?\n)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i, /^(?:$)/i, ], conditions: { options: { rules: [15, 16], inclusive: !1 }, string: { rules: [18, 19], inclusive: !1 }, INITIAL: { rules: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 20, 21, ], inclusive: !0, }, }, }; function c() { this.yy = {}; } return ( (a.lexer = l), (c.prototype = a), (a.Parser = c), new c() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/git/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function () { return "\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"; }); }, './src/diagrams/info/infoDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setMessage', function () { return o; }), i.d(t, 'getMessage', function () { return a; }), i.d(t, 'setInfo', function () { return l; }), i.d(t, 'getInfo', function () { return c; }); var n = i('./src/logger.js'), r = '', s = !1, o = function (e) { n.log.debug('Setting message to: ' + e), (r = e); }, a = function () { return r; }, l = function (e) { s = e; }, c = function () { return s; }; t.default = { setMessage: o, getMessage: a, setInfo: l, getInfo: c, }; }, './src/diagrams/info/infoRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return c; }), i.d(t, 'draw', function () { return d; }); var n = i('d3'), r = i('./src/diagrams/info/infoDb.js'), s = i('./src/diagrams/info/parser/info.jison'), o = i.n(s), a = i('./src/logger.js'), l = {}, c = function (e) { Object.keys(e).forEach(function (t) { l[t] = e[t]; }); }, d = function (e, t, i) { try { var s = o.a.parser; (s.yy = r.default), a.log.debug('Renering info diagram\n' + e), s.parse(e), a.log.debug('Parsed info diagram'); var l = Object(n.select)('#' + t); l .append('g') .append('text') .attr('x', 100) .attr('y', 40) .attr('class', 'version') .attr('font-size', '32px') .style('text-anchor', 'middle') .text('v ' + i), l.attr('height', 100), l.attr('width', 400); } catch (e) { a.log.error('Error while rendering info diagram'), a.log.error(e.message); } }; t.default = { setConf: c, draw: d }; }, './src/diagrams/info/parser/info.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [6, 9, 10], i = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, info: 4, document: 5, EOF: 6, line: 7, statement: 8, NL: 9, showInfo: 10, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'info', 6: 'EOF', 9: 'NL', 10: 'showInfo', }, productions_: [ 0, [3, 3], [5, 0], [5, 2], [7, 1], [7, 1], [8, 1], ], performAction: function (e, t, i, n, r, s, o) { switch ((s.length, r)) { case 1: return n; case 4: break; case 6: n.setInfo(!0); } }, table: [ { 3: 1, 4: [1, 2] }, { 1: [3] }, e(t, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: 6, 9: [1, 7], 10: [1, 8] }, { 1: [2, 1] }, e(t, [2, 3]), e(t, [2, 4]), e(t, [2, 5]), e(t, [2, 6]), ], defaultActions: { 4: [2, 1] }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, n = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return 4; case 1: return 9; case 2: return 'space'; case 3: return 10; case 4: return 6; case 5: return 'TXT'; } }, rules: [ /^(?:info\b)/i, /^(?:[\s\n\r]+)/i, /^(?:[\s]+)/i, /^(?:showInfo\b)/i, /^(?:$)/i, /^(?:.)/i, ], conditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: !0 }, }, }; function r() { this.yy = {}; } return ( (i.lexer = n), (r.prototype = i), (i.Parser = r), new r() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/info/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function () { return ''; }); }, './src/diagrams/pie/parser/pie.jison': function (e, t, i) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 4], i = [1, 5], n = [1, 6], r = [1, 7], s = [1, 9], o = [1, 10, 12, 19, 20, 21, 22], a = [1, 6, 10, 12, 19, 20, 21, 22], l = [19, 20, 21], c = [1, 22], d = [6, 19, 20, 21, 22], h = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, eol: 4, directive: 5, PIE: 6, document: 7, line: 8, statement: 9, txt: 10, value: 11, title: 12, title_value: 13, openDirective: 14, typeDirective: 15, closeDirective: 16, ':': 17, argDirective: 18, NEWLINE: 19, ';': 20, EOF: 21, open_directive: 22, type_directive: 23, arg_directive: 24, close_directive: 25, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 6: 'PIE', 10: 'txt', 11: 'value', 12: 'title', 13: 'title_value', 17: ':', 19: 'NEWLINE', 20: ';', 21: 'EOF', 22: 'open_directive', 23: 'type_directive', 24: 'arg_directive', 25: 'close_directive', }, productions_: [ 0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [9, 0], [9, 2], [9, 2], [9, 1], [5, 3], [5, 5], [4, 1], [4, 1], [4, 1], [14, 1], [15, 1], [18, 1], [16, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 6: this.$ = s[a - 1]; break; case 8: n.addSection(s[a - 1], n.cleanupValue(s[a])); break; case 9: (this.$ = s[a].trim()), n.setTitle(this.$); break; case 16: n.parseDirective('%%{', 'open_directive'); break; case 17: n.parseDirective(s[a], 'type_directive'); break; case 18: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 19: n.parseDirective('}%%', 'close_directive', 'pie'); } }, table: [ { 3: 1, 4: 2, 5: 3, 6: t, 14: 8, 19: i, 20: n, 21: r, 22: s, }, { 1: [3] }, { 3: 10, 4: 2, 5: 3, 6: t, 14: 8, 19: i, 20: n, 21: r, 22: s, }, { 3: 11, 4: 2, 5: 3, 6: t, 14: 8, 19: i, 20: n, 21: r, 22: s, }, e(o, [2, 4], { 7: 12 }), e(a, [2, 13]), e(a, [2, 14]), e(a, [2, 15]), { 15: 13, 23: [1, 14] }, { 23: [2, 16] }, { 1: [2, 1] }, { 1: [2, 2] }, e(l, [2, 7], { 14: 8, 8: 15, 9: 16, 5: 19, 1: [2, 3], 10: [1, 17], 12: [1, 18], 22: s, }), { 16: 20, 17: [1, 21], 25: c }, e([17, 25], [2, 17]), e(o, [2, 5]), { 4: 23, 19: i, 20: n, 21: r }, { 11: [1, 24] }, { 13: [1, 25] }, e(l, [2, 10]), e(d, [2, 11]), { 18: 26, 24: [1, 27] }, e(d, [2, 19]), e(o, [2, 6]), e(l, [2, 8]), e(l, [2, 9]), { 16: 28, 25: c }, { 25: [2, 18] }, e(d, [2, 12]), ], defaultActions: { 9: [2, 16], 10: [2, 1], 11: [2, 2], 27: [2, 18], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, u = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 22; case 1: return this.begin('type_directive'), 23; case 2: return ( this.popState(), this.begin('arg_directive'), 17 ); case 3: return this.popState(), this.popState(), 25; case 4: return 24; case 5: case 6: break; case 7: return 19; case 8: case 9: break; case 10: return this.begin('title'), 12; case 11: return this.popState(), 'title_value'; case 12: this.begin('string'); break; case 13: this.popState(); break; case 14: return 'txt'; case 15: return 6; case 16: return 'value'; case 17: return 21; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:[\s]+)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:pie\b)/i, /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i, /^(?:$)/i, ], conditions: { close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, title: { rules: [11], inclusive: !1 }, string: { rules: [13, 14], inclusive: !1 }, INITIAL: { rules: [0, 5, 6, 7, 8, 9, 10, 12, 15, 16, 17], inclusive: !0, }, }, }; function g() { this.yy = {}; } return ( (h.lexer = u), (g.prototype = h), (h.Parser = g), new g() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/pie/pieDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return l; }); var n = i('./src/logger.js'), r = i('./src/mermaidAPI.js'), s = i('./src/config.js'), o = {}, a = '', l = function (e, t, i) { r.default.parseDirective(this, e, t, i); }; t.default = { parseDirective: l, getConfig: function () { return s.getConfig().pie; }, addSection: function (e, t) { void 0 === o[e] && ((o[e] = t), n.log.debug('Added new section :', e)); }, getSections: function () { return o; }, cleanupValue: function (e) { return ':' === e.substring(0, 1) ? ((e = e.substring(1).trim()), Number(e.trim())) : Number(e.trim()); }, clear: function () { (o = {}), (a = ''); }, setTitle: function (e) { a = e; }, getTitle: function () { return a; }, }; }, './src/diagrams/pie/pieRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return h; }), i.d(t, 'draw', function () { return u; }); var n, r = i('d3'), s = i('./src/diagrams/pie/pieDb.js'), o = i('./src/diagrams/pie/parser/pie.jison'), a = i.n(o), l = i('./src/logger.js'), c = i('./src/utils.js'), d = {}, h = function (e) { Object.keys(e).forEach(function (t) { d[t] = e[t]; }); }, u = function (e, t) { try { var i = a.a.parser; (i.yy = s.default), l.log.debug('Rendering info diagram\n' + e), i.yy.clear(), i.parse(e), l.log.debug('Parsed info diagram'); var o = document.getElementById(t); void 0 === (n = o.parentElement.offsetWidth) && (n = 1200), void 0 !== d.useWidth && (n = d.useWidth); var h = Object(r.select)('#' + t); Object(c.configureSvgSize)(h, 450, n, d.useMaxWidth), o.setAttribute('viewBox', '0 0 ' + n + ' 450'); var u = Math.min(n, 450) / 2 - 40, g = h .append('g') .attr('transform', 'translate(' + n / 2 + ',225)'), f = s.default.getSections(), p = 0; Object.keys(f).forEach(function (e) { p += f[e]; }); var m = Object(r.scaleOrdinal)() .domain(f) .range(r.schemeSet2), _ = Object(r.pie)().value(function (e) { return e.value; })(Object(r.entries)(f)), b = Object(r.arc)().innerRadius(0).outerRadius(u); g .selectAll('mySlices') .data(_) .enter() .append('path') .attr('d', b) .attr('fill', function (e) { return m(e.data.key); }) .attr('stroke', 'black') .style('stroke-width', '2px') .style('opacity', 0.7), g .selectAll('mySlices') .data( _.filter(function (e) { return 0 !== e.data.value; }) ) .enter() .append('text') .text(function (e) { return ((e.data.value / p) * 100).toFixed(0) + '%'; }) .attr('transform', function (e) { return 'translate(' + b.centroid(e) + ')'; }) .style('text-anchor', 'middle') .attr('class', 'slice') .style('font-size', 17), g .append('text') .text(i.yy.getTitle()) .attr('x', 0) .attr('y', -200) .attr('class', 'pieTitleText'); var v = g .selectAll('.legend') .data(m.domain()) .enter() .append('g') .attr('class', 'legend') .attr('transform', function (e, t) { return ( 'translate(216,' + (22 * t - (22 * m.domain().length) / 2) + ')' ); }); v .append('rect') .attr('width', 18) .attr('height', 18) .style('fill', m) .style('stroke', m), v .append('text') .attr('x', 22) .attr('y', 14) .text(function (e) { return e; }); } catch (e) { l.log.error('Error while rendering info diagram'), l.log.error(e); } }; t.default = { setConf: h, draw: u }; }, './src/diagrams/pie/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return '.pieTitleText {\n text-anchor: middle;\n font-size: 25px;\n fill: ' .concat(e.taskTextDarkColor, ';\n font-family: ') .concat( e.fontFamily, ';\n }\n .slice {\n font-family: ' ) .concat(e.fontFamily, ';\n fill: ') .concat( e.textColor, ';\n // fill: white;\n }\n .legend text {\n fill: ' ) .concat(e.taskTextDarkColor, ';\n font-family: ') .concat(e.fontFamily, ';\n font-size: 17px;\n }\n'); }); }, './src/diagrams/requirement/parser/requirementDiagram.jison': function ( e, t, i ) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 3], i = [1, 5], n = [1, 14], r = [2, 9], s = [1, 18], o = [1, 19], a = [1, 20], l = [1, 21], c = [1, 22], d = [1, 23], h = [1, 16], u = [1, 24], g = [1, 25], f = [1, 28], p = [66, 67], m = [6, 8, 35, 36, 37, 38, 39, 40, 48, 55, 57, 66, 67], _ = [5, 14], b = [1, 47], v = [1, 48], y = [1, 49], w = [1, 50], C = [1, 51], S = [1, 52], k = [1, 53], x = [57, 58], L = [1, 65], M = [1, 61], D = [1, 62], N = [1, 63], E = [1, 64], T = [1, 66], I = [1, 70], O = [1, 71], A = [1, 68], R = [1, 69], P = [6, 8, 35, 36, 37, 38, 39, 40, 48, 66, 67], F = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, directive: 4, RD: 5, NEWLINE: 6, diagram: 7, EOF: 8, openDirective: 9, typeDirective: 10, closeDirective: 11, ':': 12, argDirective: 13, open_directive: 14, type_directive: 15, arg_directive: 16, close_directive: 17, requirementDef: 18, elementDef: 19, relationshipDef: 20, requirementType: 21, requirementName: 22, STRUCT_START: 23, requirementBody: 24, ID: 25, COLONSEP: 26, id: 27, TEXT: 28, text: 29, RISK: 30, riskLevel: 31, VERIFYMTHD: 32, verifyType: 33, STRUCT_STOP: 34, REQUIREMENT: 35, FUNCTIONAL_REQUIREMENT: 36, INTERFACE_REQUIREMENT: 37, PERFORMANCE_REQUIREMENT: 38, PHYSICAL_REQUIREMENT: 39, DESIGN_CONSTRAINT: 40, LOW_RISK: 41, MED_RISK: 42, HIGH_RISK: 43, VERIFY_ANALYSIS: 44, VERIFY_DEMONSTRATION: 45, VERIFY_INSPECTION: 46, VERIFY_TEST: 47, ELEMENT: 48, elementName: 49, elementBody: 50, TYPE: 51, type: 52, DOCREF: 53, ref: 54, END_ARROW_L: 55, relationship: 56, LINE: 57, END_ARROW_R: 58, CONTAINS: 59, COPIES: 60, DERIVES: 61, SATISFIES: 62, VERIFIES: 63, REFINES: 64, TRACES: 65, unqString: 66, qString: 67, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 5: 'RD', 6: 'NEWLINE', 8: 'EOF', 12: ':', 14: 'open_directive', 15: 'type_directive', 16: 'arg_directive', 17: 'close_directive', 23: 'STRUCT_START', 25: 'ID', 26: 'COLONSEP', 28: 'TEXT', 30: 'RISK', 32: 'VERIFYMTHD', 34: 'STRUCT_STOP', 35: 'REQUIREMENT', 36: 'FUNCTIONAL_REQUIREMENT', 37: 'INTERFACE_REQUIREMENT', 38: 'PERFORMANCE_REQUIREMENT', 39: 'PHYSICAL_REQUIREMENT', 40: 'DESIGN_CONSTRAINT', 41: 'LOW_RISK', 42: 'MED_RISK', 43: 'HIGH_RISK', 44: 'VERIFY_ANALYSIS', 45: 'VERIFY_DEMONSTRATION', 46: 'VERIFY_INSPECTION', 47: 'VERIFY_TEST', 48: 'ELEMENT', 51: 'TYPE', 53: 'DOCREF', 55: 'END_ARROW_L', 57: 'LINE', 58: 'END_ARROW_R', 59: 'CONTAINS', 60: 'COPIES', 61: 'DERIVES', 62: 'SATISFIES', 63: 'VERIFIES', 64: 'REFINES', 65: 'TRACES', 66: 'unqString', 67: 'qString', }, productions_: [ 0, [3, 2], [3, 4], [4, 3], [4, 5], [9, 1], [10, 1], [13, 1], [11, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [18, 5], [24, 5], [24, 5], [24, 5], [24, 5], [24, 2], [24, 1], [21, 1], [21, 1], [21, 1], [21, 1], [21, 1], [21, 1], [31, 1], [31, 1], [31, 1], [33, 1], [33, 1], [33, 1], [33, 1], [19, 5], [50, 5], [50, 5], [50, 2], [50, 1], [20, 5], [20, 5], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [22, 1], [22, 1], [27, 1], [27, 1], [29, 1], [29, 1], [49, 1], [49, 1], [52, 1], [52, 1], [54, 1], [54, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 5: n.parseDirective('%%{', 'open_directive'); break; case 6: n.parseDirective(s[a], 'type_directive'); break; case 7: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 8: n.parseDirective('}%%', 'close_directive', 'pie'); break; case 9: this.$ = []; break; case 14: n.addRequirement(s[a - 3], s[a - 4]); break; case 15: n.setNewReqId(s[a - 2]); break; case 16: n.setNewReqText(s[a - 2]); break; case 17: n.setNewReqRisk(s[a - 2]); break; case 18: n.setNewReqVerifyMethod(s[a - 2]); break; case 21: this.$ = n.RequirementType.REQUIREMENT; break; case 22: this.$ = n.RequirementType.FUNCTIONAL_REQUIREMENT; break; case 23: this.$ = n.RequirementType.INTERFACE_REQUIREMENT; break; case 24: this.$ = n.RequirementType.PERFORMANCE_REQUIREMENT; break; case 25: this.$ = n.RequirementType.PHYSICAL_REQUIREMENT; break; case 26: this.$ = n.RequirementType.DESIGN_CONSTRAINT; break; case 27: this.$ = n.RiskLevel.LOW_RISK; break; case 28: this.$ = n.RiskLevel.MED_RISK; break; case 29: this.$ = n.RiskLevel.HIGH_RISK; break; case 30: this.$ = n.VerifyType.VERIFY_ANALYSIS; break; case 31: this.$ = n.VerifyType.VERIFY_DEMONSTRATION; break; case 32: this.$ = n.VerifyType.VERIFY_INSPECTION; break; case 33: this.$ = n.VerifyType.VERIFY_TEST; break; case 34: n.addElement(s[a - 3]); break; case 35: n.setNewElementType(s[a - 2]); break; case 36: n.setNewElementDocRef(s[a - 2]); break; case 39: n.addRelationship(s[a - 2], s[a], s[a - 4]); break; case 40: n.addRelationship(s[a - 2], s[a - 4], s[a]); break; case 41: this.$ = n.Relationships.CONTAINS; break; case 42: this.$ = n.Relationships.COPIES; break; case 43: this.$ = n.Relationships.DERIVES; break; case 44: this.$ = n.Relationships.SATISFIES; break; case 45: this.$ = n.Relationships.VERIFIES; break; case 46: this.$ = n.Relationships.REFINES; break; case 47: this.$ = n.Relationships.TRACES; } }, table: [ { 3: 1, 4: 2, 5: t, 9: 4, 14: i }, { 1: [3] }, { 3: 6, 4: 2, 5: t, 9: 4, 14: i }, { 6: [1, 7] }, { 10: 8, 15: [1, 9] }, { 15: [2, 5] }, { 1: [2, 1] }, { 6: n, 7: 10, 8: r, 18: 11, 19: 12, 20: 13, 21: 15, 27: 17, 35: s, 36: o, 37: a, 38: l, 39: c, 40: d, 48: h, 66: u, 67: g, }, { 11: 26, 12: [1, 27], 17: f }, e([12, 17], [2, 6]), { 8: [1, 29] }, { 6: n, 7: 30, 8: r, 18: 11, 19: 12, 20: 13, 21: 15, 27: 17, 35: s, 36: o, 37: a, 38: l, 39: c, 40: d, 48: h, 66: u, 67: g, }, { 6: n, 7: 31, 8: r, 18: 11, 19: 12, 20: 13, 21: 15, 27: 17, 35: s, 36: o, 37: a, 38: l, 39: c, 40: d, 48: h, 66: u, 67: g, }, { 6: n, 7: 32, 8: r, 18: 11, 19: 12, 20: 13, 21: 15, 27: 17, 35: s, 36: o, 37: a, 38: l, 39: c, 40: d, 48: h, 66: u, 67: g, }, { 6: n, 7: 33, 8: r, 18: 11, 19: 12, 20: 13, 21: 15, 27: 17, 35: s, 36: o, 37: a, 38: l, 39: c, 40: d, 48: h, 66: u, 67: g, }, { 22: 34, 66: [1, 35], 67: [1, 36] }, { 49: 37, 66: [1, 38], 67: [1, 39] }, { 55: [1, 40], 57: [1, 41] }, e(p, [2, 21]), e(p, [2, 22]), e(p, [2, 23]), e(p, [2, 24]), e(p, [2, 25]), e(p, [2, 26]), e(m, [2, 50]), e(m, [2, 51]), e(_, [2, 3]), { 13: 42, 16: [1, 43] }, e(_, [2, 8]), { 1: [2, 2] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 8: [2, 13] }, { 23: [1, 44] }, { 23: [2, 48] }, { 23: [2, 49] }, { 23: [1, 45] }, { 23: [2, 54] }, { 23: [2, 55] }, { 56: 46, 59: b, 60: v, 61: y, 62: w, 63: C, 64: S, 65: k, }, { 56: 54, 59: b, 60: v, 61: y, 62: w, 63: C, 64: S, 65: k, }, { 11: 55, 17: f }, { 17: [2, 7] }, { 6: [1, 56] }, { 6: [1, 57] }, { 57: [1, 58] }, e(x, [2, 41]), e(x, [2, 42]), e(x, [2, 43]), e(x, [2, 44]), e(x, [2, 45]), e(x, [2, 46]), e(x, [2, 47]), { 58: [1, 59] }, e(_, [2, 4]), { 6: L, 24: 60, 25: M, 28: D, 30: N, 32: E, 34: T }, { 6: I, 34: O, 50: 67, 51: A, 53: R }, { 27: 72, 66: u, 67: g }, { 27: 73, 66: u, 67: g }, e(P, [2, 14]), { 26: [1, 74] }, { 26: [1, 75] }, { 26: [1, 76] }, { 26: [1, 77] }, { 6: L, 24: 78, 25: M, 28: D, 30: N, 32: E, 34: T }, e(P, [2, 20]), e(P, [2, 34]), { 26: [1, 79] }, { 26: [1, 80] }, { 6: I, 34: O, 50: 81, 51: A, 53: R }, e(P, [2, 38]), e(P, [2, 39]), e(P, [2, 40]), { 27: 82, 66: u, 67: g }, { 29: 83, 66: [1, 84], 67: [1, 85] }, { 31: 86, 41: [1, 87], 42: [1, 88], 43: [1, 89] }, { 33: 90, 44: [1, 91], 45: [1, 92], 46: [1, 93], 47: [1, 94], }, e(P, [2, 19]), { 52: 95, 66: [1, 96], 67: [1, 97] }, { 54: 98, 66: [1, 99], 67: [1, 100] }, e(P, [2, 37]), { 6: [1, 101] }, { 6: [1, 102] }, { 6: [2, 52] }, { 6: [2, 53] }, { 6: [1, 103] }, { 6: [2, 27] }, { 6: [2, 28] }, { 6: [2, 29] }, { 6: [1, 104] }, { 6: [2, 30] }, { 6: [2, 31] }, { 6: [2, 32] }, { 6: [2, 33] }, { 6: [1, 105] }, { 6: [2, 56] }, { 6: [2, 57] }, { 6: [1, 106] }, { 6: [2, 58] }, { 6: [2, 59] }, { 6: L, 24: 107, 25: M, 28: D, 30: N, 32: E, 34: T }, { 6: L, 24: 108, 25: M, 28: D, 30: N, 32: E, 34: T }, { 6: L, 24: 109, 25: M, 28: D, 30: N, 32: E, 34: T }, { 6: L, 24: 110, 25: M, 28: D, 30: N, 32: E, 34: T }, { 6: I, 34: O, 50: 111, 51: A, 53: R }, { 6: I, 34: O, 50: 112, 51: A, 53: R }, e(P, [2, 15]), e(P, [2, 16]), e(P, [2, 17]), e(P, [2, 18]), e(P, [2, 35]), e(P, [2, 36]), ], defaultActions: { 5: [2, 5], 6: [2, 1], 29: [2, 2], 30: [2, 10], 31: [2, 11], 32: [2, 12], 33: [2, 13], 35: [2, 48], 36: [2, 49], 38: [2, 54], 39: [2, 55], 43: [2, 7], 84: [2, 52], 85: [2, 53], 87: [2, 27], 88: [2, 28], 89: [2, 29], 91: [2, 30], 92: [2, 31], 93: [2, 32], 94: [2, 33], 96: [2, 56], 97: [2, 57], 99: [2, 58], 100: [2, 59], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, B = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 14; case 1: return this.begin('type_directive'), 15; case 2: return ( this.popState(), this.begin('arg_directive'), 12 ); case 3: return this.popState(), this.popState(), 17; case 4: return 16; case 5: return 6; case 6: case 7: case 8: break; case 9: return 8; case 10: return 5; case 11: return 23; case 12: return 34; case 13: return 26; case 14: return 25; case 15: return 28; case 16: return 30; case 17: return 32; case 18: return 35; case 19: return 36; case 20: return 37; case 21: return 38; case 22: return 39; case 23: return 40; case 24: return 41; case 25: return 42; case 26: return 43; case 27: return 44; case 28: return 45; case 29: return 46; case 30: return 47; case 31: return 48; case 32: return 59; case 33: return 60; case 34: return 61; case 35: return 62; case 36: return 63; case 37: return 64; case 38: return 65; case 39: return 51; case 40: return 53; case 41: return 55; case 42: return 58; case 43: return 57; case 44: this.begin('string'); break; case 45: this.popState(); break; case 46: return 'qString'; case 47: return (t.yytext = t.yytext.trim()), 66; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\b)/i, /^(?:\{)/i, /^(?:\})/i, /^(?::)/i, /^(?:id\b)/i, /^(?:text\b)/i, /^(?:risk\b)/i, /^(?:verifyMethod\b)/i, /^(?:requirement\b)/i, /^(?:functionalRequirement\b)/i, /^(?:interfaceRequirement\b)/i, /^(?:performanceRequirement\b)/i, /^(?:physicalRequirement\b)/i, /^(?:designConstraint\b)/i, /^(?:low\b)/i, /^(?:medium\b)/i, /^(?:high\b)/i, /^(?:analysis\b)/i, /^(?:demonstration\b)/i, /^(?:inspection\b)/i, /^(?:test\b)/i, /^(?:element\b)/i, /^(?:contains\b)/i, /^(?:copies\b)/i, /^(?:derives\b)/i, /^(?:satisfies\b)/i, /^(?:verifies\b)/i, /^(?:refines\b)/i, /^(?:traces\b)/i, /^(?:type\b)/i, /^(?:docref\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[\w][^\r\n\{\<\>\-\=]*)/i, ], conditions: { close_directive: { rules: [], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, open_directive: { rules: [1], inclusive: !1 }, unqString: { rules: [], inclusive: !1 }, token: { rules: [], inclusive: !1 }, string: { rules: [45, 46], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, ], inclusive: !0, }, }, }; function W() { this.yy = {}; } return ( (F.lexer = B), (W.prototype = F), (F.Parser = W), new W() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/requirement/requirementDb.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return h; }); var n = i('./src/config.js'), r = i('./src/logger.js'), s = i('./src/mermaidAPI.js'), o = [], a = {}, l = {}, c = {}, d = {}, h = function (e, t, i) { s.default.parseDirective(this, e, t, i); }; t.default = { RequirementType: { REQUIREMENT: 'Requirement', FUNCTIONAL_REQUIREMENT: 'Functional Requirement', INTERFACE_REQUIREMENT: 'Interface Requirement', PERFORMANCE_REQUIREMENT: 'Performance Requirement', PHYSICAL_REQUIREMENT: 'Physical Requirement', DESIGN_CONSTRAINT: 'Design Constraint', }, RiskLevel: { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High', }, VerifyType: { VERIFY_ANALYSIS: 'Analysis', VERIFY_DEMONSTRATION: 'Demonstration', VERIFY_INSPECTION: 'Inspection', VERIFY_TEST: 'Test', }, Relationships: { CONTAINS: 'contains', COPIES: 'copies', DERIVES: 'derives', SATISFIES: 'satisfies', VERIFIES: 'verifies', REFINES: 'refines', TRACES: 'traces', }, parseDirective: h, getConfig: function () { return n.getConfig().req; }, addRequirement: function (e, t) { return ( void 0 === l[e] && (l[e] = { name: e, type: t, id: a.id, text: a.text, risk: a.risk, verifyMethod: a.verifyMethod, }), (a = {}), l[e] ); }, getRequirements: function () { return l; }, setNewReqId: function (e) { void 0 !== a && (a.id = e); }, setNewReqText: function (e) { void 0 !== a && (a.text = e); }, setNewReqRisk: function (e) { void 0 !== a && (a.risk = e); }, setNewReqVerifyMethod: function (e) { void 0 !== a && (a.verifyMethod = e); }, addElement: function (e) { return ( void 0 === d[e] && ((d[e] = { name: e, type: c.type, docRef: c.docRef }), r.log.info('Added new requirement: ', e)), (c = {}), d[e] ); }, getElements: function () { return d; }, setNewElementType: function (e) { void 0 !== c && (c.type = e); }, setNewElementDocRef: function (e) { void 0 !== c && (c.docRef = e); }, addRelationship: function (e, t, i) { o.push({ type: e, src: t, dst: i }); }, getRelationships: function () { return o; }, clear: function () { (o = []), (a = {}), (l = {}), (c = {}), (d = {}); }, }; }, './src/diagrams/requirement/requirementMarkers.js': function ( e, t, i ) { 'use strict'; i.r(t); var n = { CONTAINS: 'contains', ARROW: 'arrow' }; t.default = { ReqMarkers: n, insertLineEndings: function (e, t) { var i = e .append('defs') .append('marker') .attr('id', n.CONTAINS + '_line_ending') .attr('refX', 0) .attr('refY', t.line_height / 2) .attr('markerWidth', t.line_height) .attr('markerHeight', t.line_height) .attr('orient', 'auto') .append('g'); i .append('circle') .attr('cx', t.line_height / 2) .attr('cy', t.line_height / 2) .attr('r', t.line_height / 2) .attr('stroke', t.rect_border_color) .attr('stroke-width', 1) .attr('fill', 'none'), i .append('line') .attr('x1', 0) .attr('x2', t.line_height) .attr('y1', t.line_height / 2) .attr('y2', t.line_height / 2) .attr('stroke', t.rect_border_color) .attr('stroke-width', 1), i .append('line') .attr('y1', 0) .attr('y2', t.line_height) .attr('x1', t.line_height / 2) .attr('x2', t.line_height / 2) .attr('stroke', t.rect_border_color) .attr('stroke-width', 1), e .append('defs') .append('marker') .attr('id', n.ARROW + '_line_ending') .attr('refX', t.line_height) .attr('refY', 0.5 * t.line_height) .attr('markerWidth', t.line_height) .attr('markerHeight', t.line_height) .attr('orient', 'auto') .append('path') .attr( 'd', 'M0,0 \n L' .concat(t.line_height, ',') .concat(t.line_height / 2, ' \n M') .concat(t.line_height, ',') .concat(t.line_height / 2, ' \n L0,') .concat(t.line_height) ) .attr('stroke-width', 1) .attr('stroke', t.rect_border_color); }, }; }, './src/diagrams/requirement/requirementRenderer.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return _; }), i.d(t, 'drawReqs', function () { return w; }), i.d(t, 'drawElements', function () { return C; }), i.d(t, 'draw', function () { return k; }); var n = i('d3'), r = i('dagre'), s = i.n(r), o = i('graphlib'), a = i.n(o), l = i('./src/config.js'), c = i('./src/logger.js'), d = i('./src/utils.js'), h = i('./src/diagrams/common/common.js'), u = i( './src/diagrams/requirement/parser/requirementDiagram.jison' ), g = i('./src/diagrams/requirement/requirementDb.js'), f = i('./src/diagrams/requirement/requirementMarkers.js'), p = {}, m = 0, _ = function (e) { if (void 0 !== e) for (var t = Object.keys(e), i = 0; i < t.length; i++) p[t[i]] = e[t[i]]; }, b = function (e, t) { return e .insert('rect', '#' + t) .attr('class', 'req reqBox') .attr('fill', p.rect_fill) .attr('fill-opacity', '100%') .attr('stroke', p.rect_border_color) .attr('stroke-size', p.rect_border_size) .attr('x', 0) .attr('y', 0) .attr('width', p.rect_min_width + 'px') .attr('height', p.rect_min_height + 'px'); }, v = function (e, t, i) { var n = p.rect_min_width / 2, r = e .append('text') .attr('class', 'req reqLabel reqTitle') .attr('id', t) .attr('x', n) .attr('y', p.rect_padding) .attr('dominant-baseline', 'hanging') .attr( 'style', 'font-family: ' + l.getConfig().fontFamily + '; font-size: ' + p.fontSize + 'px' ), s = 0; i.forEach(function (e) { 0 == s ? r .append('tspan') .attr('text-anchor', 'middle') .attr('x', p.rect_min_width / 2) .attr('dy', 0) .text(e) : r .append('tspan') .attr('text-anchor', 'middle') .attr('x', p.rect_min_width / 2) .attr('dy', 0.75 * p.line_height) .text(e), s++; }); var o = 1.5 * p.rect_padding + s * p.line_height * 0.75; return ( e .append('line') .attr('x1', '0') .attr('x2', p.rect_min_width) .attr('y1', o) .attr('y2', o) .attr( 'style', 'stroke: '.concat( p.rect_border_color, '; stroke-width: 1' ) ), { titleNode: r, y: o } ); }, y = function (e, t, i, n) { var r = e .append('text') .attr('class', 'req reqLabel') .attr('id', t) .attr('x', p.rect_padding) .attr('y', n) .attr('dominant-baseline', 'hanging') .attr( 'style', 'font-family: ' + l.getConfig().fontFamily + '; font-size: ' + p.fontSize + 'px' ), s = 0, o = []; return ( i.forEach(function (e) { for (var t = e.length; t > 30 && s < 3; ) { var i = e.substring(0, 30); (t = (e = e.substring(30, e.length)).length), (o[o.length] = i), s++; } if (3 == s) { var n = o[o.length - 1]; o[o.length - 1] = n.substring(0, n.length - 4) + '...'; } else o[o.length] = e; s = 0; }), o.forEach(function (e) { r.append('tspan') .attr('x', p.rect_padding) .attr('dy', p.line_height) .text(e); }), r ); }, w = function (e, t, i) { Object.keys(e).forEach(function (n) { var r = e[n]; (n = S(n)), console.log('reqName: ', n), c.log.info('Added new requirement: ', n); var s = i.append('g').attr('id', n), o = b(s, 'req-' + n), a = [], l = v(s, n + '_title', [ '<<'.concat(r.type, '>>'), ''.concat(r.name), ]); a.push(l.titleNode); var d = y( s, n + '_body', [ 'Id: '.concat(r.id), 'Text: '.concat(r.text), 'Risk: '.concat(r.risk), 'Verification: '.concat(r.verifyMethod), ], l.y ); a.push(d); var h = o.node().getBBox(); t.setNode(n, { width: h.width, height: h.height, shape: 'rect', id: n, }); }); }, C = function (e, t, i) { Object.keys(e).forEach(function (n) { var r = e[n], s = S(n), o = i.append('g').attr('id', s), a = 'element-' + s, l = b(o, a), c = [], d = v(o, a + '_title', ['<>', ''.concat(n)]); c.push(d.titleNode); var h = y( o, a + '_body', [ 'Type: '.concat(r.type || 'Not Specified'), 'Doc Ref: '.concat(r.docref || 'None'), ], d.y ); c.push(h); var u = l.node().getBBox(); t.setNode(s, { width: u.width, height: u.height, shape: 'rect', id: s, }); }); }, S = function (e) { return e.replace(/\s/g, '').replace(/\./g, '_'); }, k = function (e, t) { (u.parser.yy = g.default), u.parser.parse(e); var i = Object(n.select)("[id='".concat(t, "']")); f.default.insertLineEndings(i, p); var r, o, l = new a.a.Graph({ multigraph: !1, compound: !1, directed: !0, }) .setGraph({ rankdir: p.layoutDirection, marginx: 20, marginy: 20, nodesep: 100, edgesep: 100, ranksep: 100, }) .setDefaultEdgeLabel(function () { return {}; }), c = g.default.getRequirements(), _ = g.default.getElements(), b = g.default.getRelationships(); w(c, l, i), C(_, l, i), (function (e, t) { e.forEach(function (e) { var i = S(e.src), n = S(e.dst); t.setEdge(i, n, { relationship: e }); }); })(b, l), s.a.layout(l), (r = i), (o = l).nodes().forEach(function (e) { void 0 !== e && void 0 !== o.node(e) && (r.select('#' + e), r .select('#' + e) .attr( 'transform', 'translate(' + (o.node(e).x - o.node(e).width / 2) + ',' + (o.node(e).y - o.node(e).height / 2) + ' )' )); }), b.forEach(function (e) { !(function (e, t, i, r) { var s = i.edge(S(t.src), S(t.dst)), o = Object(n.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }), a = e .insert('path', '#' + r) .attr('class', 'er relationshipLine') .attr('d', o(s.points)) .attr('stroke', p.rect_border_color) .attr('fill', 'none'); t.type == g.default.Relationships.CONTAINS ? a.attr( 'marker-start', 'url(' + h.default.getUrl(p.arrowMarkerAbsolute) + '#' + t.type + '_line_ending)' ) : (a.attr('stroke-dasharray', '10,7'), a.attr( 'marker-end', 'url(' + h.default.getUrl(p.arrowMarkerAbsolute) + '#' + f.default.ReqMarkers.ARROW + '_line_ending)' )), (function (e, t, i, n) { var r = t.node().getTotalLength(), s = t.node().getPointAtLength(0.5 * r), o = 'rel' + m; m++; var a = e .append('text') .attr('class', 'er relationshipLabel') .attr('id', o) .attr('x', s.x) .attr('y', s.y) .attr('text-anchor', 'middle') .attr('dominant-baseline', 'middle') .attr( 'style', 'font-family: ' + i.fontFamily + '; font-size: ' + i.fontSize + 'px' ) .text(n) .node() .getBBox(); e.insert('rect', '#' + o) .attr('class', 'req reqLabelBox') .attr('x', s.x - a.width / 2) .attr('y', s.y - a.height / 2) .attr('width', a.width) .attr('height', a.height) .attr('fill', 'white') .attr('fill-opacity', '85%'); })(e, a, p, '<<'.concat(t.type, '>>')); })(i, e, l, t); }); var v = p.rect_padding, y = i.node().getBBox(), k = y.width + 2 * v, x = y.height + 2 * v; Object(d.configureSvgSize)(i, x, k, p.useMaxWidth), i.attr( 'viewBox', '' .concat(y.x - v, ' ') .concat(y.y - v, ' ') .concat(k, ' ') .concat(x) ); }; t.default = { setConf: _, draw: k }; }, './src/diagrams/requirement/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function () { return ''; }); }, './src/diagrams/sequence/parser/sequenceDiagram.jison': function ( e, t, i ) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 2], i = [1, 3], n = [1, 5], r = [1, 7], s = [2, 5], o = [1, 15], a = [1, 17], l = [1, 18], c = [1, 20], d = [1, 21], h = [1, 22], u = [1, 24], g = [1, 25], f = [1, 26], p = [1, 27], m = [1, 28], _ = [1, 29], b = [1, 32], v = [1, 33], y = [1, 36], w = [ 1, 4, 5, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 35, 36, 37, 48, 58, ], C = [1, 44], S = [ 4, 5, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 37, 48, 58, ], k = [ 4, 5, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 36, 37, 48, 58, ], x = [ 4, 5, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 35, 37, 48, 58, ], L = [46, 47, 48], M = [ 1, 4, 5, 7, 16, 21, 22, 23, 25, 27, 28, 29, 30, 31, 33, 35, 36, 37, 48, 58, ], D = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, SPACE: 4, NEWLINE: 5, directive: 6, SD: 7, document: 8, line: 9, statement: 10, openDirective: 11, typeDirective: 12, closeDirective: 13, ':': 14, argDirective: 15, participant: 16, actor: 17, AS: 18, restOfLine: 19, signal: 20, autonumber: 21, activate: 22, deactivate: 23, note_statement: 24, title: 25, text2: 26, loop: 27, end: 28, rect: 29, opt: 30, alt: 31, else_sections: 32, par: 33, par_sections: 34, and: 35, else: 36, note: 37, placement: 38, over: 39, actor_pair: 40, spaceList: 41, ',': 42, left_of: 43, right_of: 44, signaltype: 45, '+': 46, '-': 47, ACTOR: 48, SOLID_OPEN_ARROW: 49, DOTTED_OPEN_ARROW: 50, SOLID_ARROW: 51, DOTTED_ARROW: 52, SOLID_CROSS: 53, DOTTED_CROSS: 54, SOLID_POINT: 55, DOTTED_POINT: 56, TXT: 57, open_directive: 58, type_directive: 59, arg_directive: 60, close_directive: 61, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'SPACE', 5: 'NEWLINE', 7: 'SD', 14: ':', 16: 'participant', 18: 'AS', 19: 'restOfLine', 21: 'autonumber', 22: 'activate', 23: 'deactivate', 25: 'title', 27: 'loop', 28: 'end', 29: 'rect', 30: 'opt', 31: 'alt', 33: 'par', 35: 'and', 36: 'else', 37: 'note', 39: 'over', 42: ',', 43: 'left_of', 44: 'right_of', 46: '+', 47: '-', 48: 'ACTOR', 49: 'SOLID_OPEN_ARROW', 50: 'DOTTED_OPEN_ARROW', 51: 'SOLID_ARROW', 52: 'DOTTED_ARROW', 53: 'SOLID_CROSS', 54: 'DOTTED_CROSS', 55: 'SOLID_POINT', 56: 'DOTTED_POINT', 57: 'TXT', 58: 'open_directive', 59: 'type_directive', 60: 'arg_directive', 61: 'close_directive', }, productions_: [ 0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [9, 1], [9, 1], [6, 4], [6, 6], [10, 5], [10, 3], [10, 2], [10, 1], [10, 3], [10, 3], [10, 2], [10, 3], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [10, 1], [34, 1], [34, 4], [32, 1], [32, 4], [24, 4], [24, 4], [41, 2], [41, 1], [40, 3], [40, 1], [38, 1], [38, 1], [20, 5], [20, 5], [20, 4], [17, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [45, 1], [26, 1], [11, 1], [12, 1], [15, 1], [13, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 4: return n.apply(s[a]), s[a]; case 5: this.$ = []; break; case 6: s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 7: case 8: this.$ = s[a]; break; case 9: this.$ = []; break; case 12: (s[a - 3].description = n.parseMessage(s[a - 1])), (this.$ = s[a - 3]); break; case 13: this.$ = s[a - 1]; break; case 15: n.enableSequenceNumbers(); break; case 16: this.$ = { type: 'activeStart', signalType: n.LINETYPE.ACTIVE_START, actor: s[a - 1], }; break; case 17: this.$ = { type: 'activeEnd', signalType: n.LINETYPE.ACTIVE_END, actor: s[a - 1], }; break; case 19: this.$ = [{ type: 'setTitle', text: s[a - 1] }]; break; case 20: s[a - 1].unshift({ type: 'loopStart', loopText: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.LOOP_START, }), s[a - 1].push({ type: 'loopEnd', loopText: s[a - 2], signalType: n.LINETYPE.LOOP_END, }), (this.$ = s[a - 1]); break; case 21: s[a - 1].unshift({ type: 'rectStart', color: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.RECT_START, }), s[a - 1].push({ type: 'rectEnd', color: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.RECT_END, }), (this.$ = s[a - 1]); break; case 22: s[a - 1].unshift({ type: 'optStart', optText: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.OPT_START, }), s[a - 1].push({ type: 'optEnd', optText: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.OPT_END, }), (this.$ = s[a - 1]); break; case 23: s[a - 1].unshift({ type: 'altStart', altText: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.ALT_START, }), s[a - 1].push({ type: 'altEnd', signalType: n.LINETYPE.ALT_END, }), (this.$ = s[a - 1]); break; case 24: s[a - 1].unshift({ type: 'parStart', parText: n.parseMessage(s[a - 2]), signalType: n.LINETYPE.PAR_START, }), s[a - 1].push({ type: 'parEnd', signalType: n.LINETYPE.PAR_END, }), (this.$ = s[a - 1]); break; case 27: this.$ = s[a - 3].concat([ { type: 'and', parText: n.parseMessage(s[a - 1]), signalType: n.LINETYPE.PAR_AND, }, s[a], ]); break; case 29: this.$ = s[a - 3].concat([ { type: 'else', altText: n.parseMessage(s[a - 1]), signalType: n.LINETYPE.ALT_ELSE, }, s[a], ]); break; case 30: this.$ = [ s[a - 1], { type: 'addNote', placement: s[a - 2], actor: s[a - 1].actor, text: s[a], }, ]; break; case 31: (s[a - 2] = [] .concat(s[a - 1], s[a - 1]) .slice(0, 2)), (s[a - 2][0] = s[a - 2][0].actor), (s[a - 2][1] = s[a - 2][1].actor), (this.$ = [ s[a - 1], { type: 'addNote', placement: n.PLACEMENT.OVER, actor: s[a - 2].slice(0, 2), text: s[a], }, ]); break; case 34: this.$ = [s[a - 2], s[a]]; break; case 35: this.$ = s[a]; break; case 36: this.$ = n.PLACEMENT.LEFTOF; break; case 37: this.$ = n.PLACEMENT.RIGHTOF; break; case 38: this.$ = [ s[a - 4], s[a - 1], { type: 'addMessage', from: s[a - 4].actor, to: s[a - 1].actor, signalType: s[a - 3], msg: s[a], }, { type: 'activeStart', signalType: n.LINETYPE.ACTIVE_START, actor: s[a - 1], }, ]; break; case 39: this.$ = [ s[a - 4], s[a - 1], { type: 'addMessage', from: s[a - 4].actor, to: s[a - 1].actor, signalType: s[a - 3], msg: s[a], }, { type: 'activeEnd', signalType: n.LINETYPE.ACTIVE_END, actor: s[a - 4], }, ]; break; case 40: this.$ = [ s[a - 3], s[a - 1], { type: 'addMessage', from: s[a - 3].actor, to: s[a - 1].actor, signalType: s[a - 2], msg: s[a], }, ]; break; case 41: this.$ = { type: 'addActor', actor: s[a] }; break; case 42: this.$ = n.LINETYPE.SOLID_OPEN; break; case 43: this.$ = n.LINETYPE.DOTTED_OPEN; break; case 44: this.$ = n.LINETYPE.SOLID; break; case 45: this.$ = n.LINETYPE.DOTTED; break; case 46: this.$ = n.LINETYPE.SOLID_CROSS; break; case 47: this.$ = n.LINETYPE.DOTTED_CROSS; break; case 48: this.$ = n.LINETYPE.SOLID_POINT; break; case 49: this.$ = n.LINETYPE.DOTTED_POINT; break; case 50: this.$ = n.parseMessage(s[a].trim().substring(1)); break; case 51: n.parseDirective('%%{', 'open_directive'); break; case 52: n.parseDirective(s[a], 'type_directive'); break; case 53: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 54: n.parseDirective( '}%%', 'close_directive', 'sequence' ); } }, table: [ { 3: 1, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, { 1: [3] }, { 3: 8, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, { 3: 9, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, { 3: 10, 4: t, 5: i, 6: 4, 7: n, 11: 6, 58: r }, e( [ 1, 4, 5, 16, 21, 22, 23, 25, 27, 29, 30, 31, 33, 37, 48, 58, ], s, { 8: 11 } ), { 12: 12, 59: [1, 13] }, { 59: [2, 51] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, { 1: [2, 4], 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 29: f, 30: p, 31: m, 33: _, 37: b, 48: v, 58: r, }, { 13: 34, 14: [1, 35], 61: y }, e([14, 61], [2, 52]), e(w, [2, 6]), { 6: 30, 10: 37, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 29: f, 30: p, 31: m, 33: _, 37: b, 48: v, 58: r, }, e(w, [2, 8]), e(w, [2, 9]), { 17: 38, 48: v }, { 5: [1, 39] }, e(w, [2, 15]), { 17: 40, 48: v }, { 17: 41, 48: v }, { 5: [1, 42] }, { 26: 43, 57: C }, { 19: [1, 45] }, { 19: [1, 46] }, { 19: [1, 47] }, { 19: [1, 48] }, { 19: [1, 49] }, e(w, [2, 25]), { 45: 50, 49: [1, 51], 50: [1, 52], 51: [1, 53], 52: [1, 54], 53: [1, 55], 54: [1, 56], 55: [1, 57], 56: [1, 58], }, { 38: 59, 39: [1, 60], 43: [1, 61], 44: [1, 62] }, e( [5, 18, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57], [2, 41] ), { 5: [1, 63] }, { 15: 64, 60: [1, 65] }, { 5: [2, 54] }, e(w, [2, 7]), { 5: [1, 67], 18: [1, 66] }, e(w, [2, 14]), { 5: [1, 68] }, { 5: [1, 69] }, e(w, [2, 18]), { 5: [1, 70] }, { 5: [2, 50] }, e(S, s, { 8: 71 }), e(S, s, { 8: 72 }), e(S, s, { 8: 73 }), e(k, s, { 32: 74, 8: 75 }), e(x, s, { 34: 76, 8: 77 }), { 17: 80, 46: [1, 78], 47: [1, 79], 48: v }, e(L, [2, 42]), e(L, [2, 43]), e(L, [2, 44]), e(L, [2, 45]), e(L, [2, 46]), e(L, [2, 47]), e(L, [2, 48]), e(L, [2, 49]), { 17: 81, 48: v }, { 17: 83, 40: 82, 48: v }, { 48: [2, 36] }, { 48: [2, 37] }, e(M, [2, 10]), { 13: 84, 61: y }, { 61: [2, 53] }, { 19: [1, 85] }, e(w, [2, 13]), e(w, [2, 16]), e(w, [2, 17]), e(w, [2, 19]), { 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 28: [1, 86], 29: f, 30: p, 31: m, 33: _, 37: b, 48: v, 58: r, }, { 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 28: [1, 87], 29: f, 30: p, 31: m, 33: _, 37: b, 48: v, 58: r, }, { 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 28: [1, 88], 29: f, 30: p, 31: m, 33: _, 37: b, 48: v, 58: r, }, { 28: [1, 89] }, { 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 28: [2, 28], 29: f, 30: p, 31: m, 33: _, 36: [1, 90], 37: b, 48: v, 58: r, }, { 28: [1, 91] }, { 4: o, 5: a, 6: 30, 9: 14, 10: 16, 11: 6, 16: l, 17: 31, 20: 19, 21: c, 22: d, 23: h, 24: 23, 25: u, 27: g, 28: [2, 26], 29: f, 30: p, 31: m, 33: _, 35: [1, 92], 37: b, 48: v, 58: r, }, { 17: 93, 48: v }, { 17: 94, 48: v }, { 26: 95, 57: C }, { 26: 96, 57: C }, { 26: 97, 57: C }, { 42: [1, 98], 57: [2, 35] }, { 5: [1, 99] }, { 5: [1, 100] }, e(w, [2, 20]), e(w, [2, 21]), e(w, [2, 22]), e(w, [2, 23]), { 19: [1, 101] }, e(w, [2, 24]), { 19: [1, 102] }, { 26: 103, 57: C }, { 26: 104, 57: C }, { 5: [2, 40] }, { 5: [2, 30] }, { 5: [2, 31] }, { 17: 105, 48: v }, e(M, [2, 11]), e(w, [2, 12]), e(k, s, { 8: 75, 32: 106 }), e(x, s, { 8: 77, 34: 107 }), { 5: [2, 38] }, { 5: [2, 39] }, { 57: [2, 34] }, { 28: [2, 29] }, { 28: [2, 27] }, ], defaultActions: { 7: [2, 51], 8: [2, 1], 9: [2, 2], 10: [2, 3], 36: [2, 54], 44: [2, 50], 61: [2, 36], 62: [2, 37], 65: [2, 53], 95: [2, 40], 96: [2, 30], 97: [2, 31], 103: [2, 38], 104: [2, 39], 105: [2, 34], 106: [2, 29], 107: [2, 27], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, N = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 58; case 1: return this.begin('type_directive'), 59; case 2: return ( this.popState(), this.begin('arg_directive'), 14 ); case 3: return this.popState(), this.popState(), 61; case 4: return 60; case 5: return 5; case 6: case 7: case 8: case 9: case 10: break; case 11: return this.begin('ID'), 16; case 12: return ( (t.yytext = t.yytext.trim()), this.begin('ALIAS'), 48 ); case 13: return ( this.popState(), this.popState(), this.begin('LINE'), 18 ); case 14: return this.popState(), this.popState(), 5; case 15: return this.begin('LINE'), 27; case 16: return this.begin('LINE'), 29; case 17: return this.begin('LINE'), 30; case 18: return this.begin('LINE'), 31; case 19: return this.begin('LINE'), 36; case 20: return this.begin('LINE'), 33; case 21: return this.begin('LINE'), 35; case 22: return this.popState(), 19; case 23: return 28; case 24: return 43; case 25: return 44; case 26: return 39; case 27: return 37; case 28: return this.begin('ID'), 22; case 29: return this.begin('ID'), 23; case 30: return 25; case 31: return 7; case 32: return 21; case 33: return 42; case 34: return 5; case 35: return (t.yytext = t.yytext.trim()), 48; case 36: return 51; case 37: return 52; case 38: return 49; case 39: return 50; case 40: return 53; case 41: return 54; case 42: return 55; case 43: return 56; case 44: return 57; case 45: return 46; case 46: return 47; case 47: return 5; case 48: return 'INVALID'; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:participant\b)/i, /^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, /^(?:as\b)/i, /^(?:(?:))/i, /^(?:loop\b)/i, /^(?:rect\b)/i, /^(?:opt\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:par\b)/i, /^(?:and\b)/i, /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:activate\b)/i, /^(?:deactivate\b)/i, /^(?:title\b)/i, /^(?:sequenceDiagram\b)/i, /^(?:autonumber\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i, /^(?:->>)/i, /^(?:-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?:-[\)])/i, /^(?:--[\)])/i, /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:$)/i, /^(?:.)/i, ], conditions: { open_directive: { rules: [1, 8], inclusive: !1 }, type_directive: { rules: [2, 3, 8], inclusive: !1 }, arg_directive: { rules: [3, 4, 8], inclusive: !1 }, ID: { rules: [7, 8, 12], inclusive: !1 }, ALIAS: { rules: [7, 8, 13, 14], inclusive: !1 }, LINE: { rules: [7, 8, 22], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, ], inclusive: !0, }, }, }; function E() { this.yy = {}; } return ( (D.lexer = N), (E.prototype = D), (D.Parser = E), new E() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/sequence/sequenceDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return f; }), i.d(t, 'addActor', function () { return p; }), i.d(t, 'addMessage', function () { return _; }), i.d(t, 'addSignal', function () { return b; }), i.d(t, 'getMessages', function () { return v; }), i.d(t, 'getActors', function () { return y; }), i.d(t, 'getActor', function () { return w; }), i.d(t, 'getActorKeys', function () { return C; }), i.d(t, 'getTitle', function () { return S; }), i.d(t, 'getTitleWrapped', function () { return k; }), i.d(t, 'enableSequenceNumbers', function () { return x; }), i.d(t, 'showSequenceNumbers', function () { return L; }), i.d(t, 'setWrap', function () { return M; }), i.d(t, 'autoWrap', function () { return D; }), i.d(t, 'clear', function () { return N; }), i.d(t, 'parseMessage', function () { return E; }), i.d(t, 'LINETYPE', function () { return T; }), i.d(t, 'ARROWTYPE', function () { return I; }), i.d(t, 'PLACEMENT', function () { return O; }), i.d(t, 'addNote', function () { return A; }), i.d(t, 'setTitle', function () { return R; }), i.d(t, 'apply', function () { return P; }); var n = i('./src/mermaidAPI.js'), r = i('./src/config.js'), s = i('./src/logger.js'), o = void 0, a = {}, l = [], c = [], d = '', h = !1, u = !1, g = !1, f = function (e, t, i) { n.default.parseDirective(this, e, t, i); }, p = function (e, t, i) { var n = a[e]; (n && t === n.name && null == i) || ((null != i && null != i.text) || (i = { text: t, wrap: null }), (a[e] = { name: t, description: i.text, wrap: (void 0 === i.wrap && D()) || !!i.wrap, prevActor: o, }), o && a[o] && (a[o].nextActor = e), (o = e)); }, m = function (e) { var t, i = 0; for (t = 0; t < l.length; t++) l[t].type === T.ACTIVE_START && l[t].from.actor === e && i++, l[t].type === T.ACTIVE_END && l[t].from.actor === e && i--; return i; }, _ = function (e, t, i, n) { l.push({ from: e, to: t, message: i.text, wrap: (void 0 === i.wrap && D()) || !!i.wrap, answer: n, }); }, b = function (e, t) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : { text: void 0, wrap: void 0 }, n = arguments.length > 3 ? arguments[3] : void 0; if (n === T.ACTIVE_END) { var r = m(e.actor); if (r < 1) { var s = new Error( 'Trying to inactivate an inactive participant (' + e.actor + ')' ); throw ( ((s.hash = { text: '->>-', token: '->>-', line: '1', loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1, }, expected: ["'ACTIVE_PARTICIPANT'"], }), s) ); } } return ( l.push({ from: e, to: t, message: i.text, wrap: (void 0 === i.wrap && D()) || !!i.wrap, type: n, }), !0 ); }, v = function () { return l; }, y = function () { return a; }, w = function (e) { return a[e]; }, C = function () { return Object.keys(a); }, S = function () { return d; }, k = function () { return h; }, x = function () { u = !0; }, L = function () { return u; }, M = function (e) { g = e; }, D = function () { return g; }, N = function () { (a = {}), (l = []); }, E = function (e) { var t = e.trim(), i = { text: t.replace(/^[:]?(?:no)?wrap:/, '').trim(), wrap: null !== t.match(/^[:]?wrap:/) || (null === t.match(/^[:]?nowrap:/) && void 0), }; return s.log.debug('parseMessage:', i), i; }, T = { SOLID: 0, DOTTED: 1, NOTE: 2, SOLID_CROSS: 3, DOTTED_CROSS: 4, SOLID_OPEN: 5, DOTTED_OPEN: 6, LOOP_START: 10, LOOP_END: 11, ALT_START: 12, ALT_ELSE: 13, ALT_END: 14, OPT_START: 15, OPT_END: 16, ACTIVE_START: 17, ACTIVE_END: 18, PAR_START: 19, PAR_AND: 20, PAR_END: 21, RECT_START: 22, RECT_END: 23, SOLID_POINT: 24, DOTTED_POINT: 25, }, I = { FILLED: 0, OPEN: 1 }, O = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, A = function (e, t, i) { var n = { actor: e, placement: t, message: i.text, wrap: (void 0 === i.wrap && D()) || !!i.wrap, }, r = [].concat(e, e); c.push(n), l.push({ from: r[0], to: r[1], message: i.text, wrap: (void 0 === i.wrap && D()) || !!i.wrap, type: T.NOTE, placement: t, }); }, R = function (e) { (d = e.text), (h = (void 0 === e.wrap && D()) || !!e.wrap); }, P = function e(t) { if (t instanceof Array) t.forEach(function (t) { e(t); }); else switch (t.type) { case 'addActor': p(t.actor, t.actor, t.description); break; case 'activeStart': case 'activeEnd': b(t.actor, void 0, void 0, t.signalType); break; case 'addNote': A(t.actor, t.placement, t.text); break; case 'addMessage': b(t.from, t.to, t.msg, t.signalType); break; case 'loopStart': b(void 0, void 0, t.loopText, t.signalType); break; case 'loopEnd': b(void 0, void 0, void 0, t.signalType); break; case 'rectStart': b(void 0, void 0, t.color, t.signalType); break; case 'rectEnd': b(void 0, void 0, void 0, t.signalType); break; case 'optStart': b(void 0, void 0, t.optText, t.signalType); break; case 'optEnd': b(void 0, void 0, void 0, t.signalType); break; case 'altStart': case 'else': b(void 0, void 0, t.altText, t.signalType); break; case 'altEnd': b(void 0, void 0, void 0, t.signalType); break; case 'setTitle': R(t.text); break; case 'parStart': case 'and': b(void 0, void 0, t.parText, t.signalType); break; case 'parEnd': b(void 0, void 0, void 0, t.signalType); } }; t.default = { addActor: p, addMessage: _, addSignal: b, autoWrap: D, setWrap: M, enableSequenceNumbers: x, showSequenceNumbers: L, getMessages: v, getActors: y, getActor: w, getActorKeys: C, getTitle: S, parseDirective: f, getConfig: function () { return r.getConfig().sequence; }, getTitleWrapped: k, clear: N, parseMessage: E, LINETYPE: T, ARROWTYPE: I, PLACEMENT: O, addNote: A, setTitle: R, apply: P, }; }, './src/diagrams/sequence/sequenceRenderer.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'bounds', function () { return u; }), i.d(t, 'drawActors', function () { return m; }), i.d(t, 'setConf', function () { return _; }), i.d(t, 'draw', function () { return w; }); var n = i('d3'), r = i('./src/diagrams/sequence/svgDraw.js'), s = i('./src/logger.js'), o = i('./src/diagrams/sequence/parser/sequenceDiagram.jison'), a = i('./src/diagrams/common/common.js'), l = i('./src/diagrams/sequence/sequenceDb.js'), c = i('./src/config.js'), d = i('./src/utils.js'); o.parser.yy = l.default; var h = {}, u = { data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, }, verticalPos: 0, sequenceItems: [], activations: [], models: { getHeight: function () { return ( Math.max.apply( null, 0 === this.actors.length ? [0] : this.actors.map(function (e) { return e.height || 0; }) ) + (0 === this.loops.length ? 0 : this.loops .map(function (e) { return e.height || 0; }) .reduce(function (e, t) { return e + t; })) + (0 === this.messages.length ? 0 : this.messages .map(function (e) { return e.height || 0; }) .reduce(function (e, t) { return e + t; })) + (0 === this.notes.length ? 0 : this.notes .map(function (e) { return e.height || 0; }) .reduce(function (e, t) { return e + t; })) ); }, clear: function () { (this.actors = []), (this.loops = []), (this.messages = []), (this.notes = []); }, addActor: function (e) { this.actors.push(e); }, addLoop: function (e) { this.loops.push(e); }, addMessage: function (e) { this.messages.push(e); }, addNote: function (e) { this.notes.push(e); }, lastActor: function () { return this.actors[this.actors.length - 1]; }, lastLoop: function () { return this.loops[this.loops.length - 1]; }, lastMessage: function () { return this.messages[this.messages.length - 1]; }, lastNote: function () { return this.notes[this.notes.length - 1]; }, actors: [], loops: [], messages: [], notes: [], }, init: function () { (this.sequenceItems = []), (this.activations = []), this.models.clear(), (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, }), (this.verticalPos = 0), _(o.parser.yy.getConfig()); }, updateVal: function (e, t, i, n) { void 0 === e[t] ? (e[t] = i) : (e[t] = n(i, e[t])); }, updateBounds: function (e, t, i, n) { var r = this, s = 0; function o(o) { return function (a) { s++; var l = r.sequenceItems.length - s + 1; r.updateVal( a, 'starty', t - l * h.boxMargin, Math.min ), r.updateVal( a, 'stopy', n + l * h.boxMargin, Math.max ), r.updateVal( u.data, 'startx', e - l * h.boxMargin, Math.min ), r.updateVal( u.data, 'stopx', i + l * h.boxMargin, Math.max ), 'activation' !== o && (r.updateVal( a, 'startx', e - l * h.boxMargin, Math.min ), r.updateVal( a, 'stopx', i + l * h.boxMargin, Math.max ), r.updateVal( u.data, 'starty', t - l * h.boxMargin, Math.min ), r.updateVal( u.data, 'stopy', n + l * h.boxMargin, Math.max )); }; } this.sequenceItems.forEach(o()), this.activations.forEach(o('activation')); }, insert: function (e, t, i, n) { var r = Math.min(e, i), s = Math.max(e, i), o = Math.min(t, n), a = Math.max(t, n); this.updateVal(u.data, 'startx', r, Math.min), this.updateVal(u.data, 'starty', o, Math.min), this.updateVal(u.data, 'stopx', s, Math.max), this.updateVal(u.data, 'stopy', a, Math.max), this.updateBounds(r, o, s, a); }, newActivation: function (e, t, i) { var n = i[e.from.actor], s = b(e.from.actor).length || 0, o = n.x + n.width / 2 + ((s - 1) * h.activationWidth) / 2; this.activations.push({ startx: o, starty: this.verticalPos + 2, stopx: o + h.activationWidth, stopy: void 0, actor: e.from.actor, anchored: r.default.anchorElement(t), }); }, endActivation: function (e) { var t = this.activations .map(function (e) { return e.actor; }) .lastIndexOf(e.from.actor); return this.activations.splice(t, 1)[0]; }, createLoop: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : { message: void 0, wrap: !1, width: void 0 }, t = arguments.length > 1 ? arguments[1] : void 0; return { startx: void 0, starty: this.verticalPos, stopx: void 0, stopy: void 0, title: e.message, wrap: e.wrap, width: e.width, height: 0, fill: t, }; }, newLoop: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : { message: void 0, wrap: !1, width: void 0 }, t = arguments.length > 1 ? arguments[1] : void 0; this.sequenceItems.push(this.createLoop(e, t)); }, endLoop: function () { return this.sequenceItems.pop(); }, addSectionToLoop: function (e) { var t = this.sequenceItems.pop(); (t.sections = t.sections || []), (t.sectionTitles = t.sectionTitles || []), t.sections.push({ y: u.getVerticalPos(), height: 0 }), t.sectionTitles.push(e), this.sequenceItems.push(t); }, bumpVerticalPos: function (e) { (this.verticalPos = this.verticalPos + e), (this.data.stopy = this.verticalPos); }, getVerticalPos: function () { return this.verticalPos; }, getBounds: function () { return { bounds: this.data, models: this.models }; }, }, g = function (e) { return { fontFamily: e.messageFontFamily, fontSize: e.messageFontSize, fontWeight: e.messageFontWeight, }; }, f = function (e) { return { fontFamily: e.noteFontFamily, fontSize: e.noteFontSize, fontWeight: e.noteFontWeight, }; }, p = function (e) { return { fontFamily: e.actorFontFamily, fontSize: e.actorFontSize, fontWeight: e.actorFontWeight, }; }, m = function (e, t, i, n) { for (var s = 0, o = 0, a = 0; a < i.length; a++) { var l = t[i[a]]; (l.width = l.width || h.width), (l.height = Math.max(l.height || h.height, h.height)), (l.margin = l.margin || h.actorMargin), (l.x = s + o), (l.y = n), r.default.drawActor(e, l, h), u.insert(l.x, n, l.x + l.width, l.height), (s += l.width), (o += l.margin), u.models.addActor(l); } u.bumpVerticalPos(h.height); }, _ = function (e) { Object(d.assignWithDepth)(h, e), e.fontFamily && (h.actorFontFamily = h.noteFontFamily = h.messageFontFamily = e.fontFamily), e.fontSize && (h.actorFontSize = h.noteFontSize = h.messageFontSize = e.fontSize), e.fontWeight && (h.actorFontWeight = h.noteFontWeight = h.messageFontWeight = e.fontWeight); }, b = function (e) { return u.activations.filter(function (t) { return t.actor === e; }); }, v = function (e, t) { var i = t[e], n = b(e); return [ n.reduce(function (e, t) { return Math.min(e, t.startx); }, i.x + i.width / 2), n.reduce(function (e, t) { return Math.max(e, t.stopx); }, i.x + i.width / 2), ]; }; function y(e, t, i, n, r) { u.bumpVerticalPos(i); var o = n; if (t.id && t.message && e[t.id]) { var a = e[t.id].width, l = g(h); (t.message = d.default.wrapLabel( '['.concat(t.message, ']'), a - 2 * h.wrapPadding, l )), (t.width = a), (t.wrap = !0); var c = d.default.calculateTextDimensions(t.message, l), f = Math.max(c.height, h.labelBoxHeight); (o = n + f), s.log.debug(''.concat(f, ' - ').concat(t.message)); } r(t), u.bumpVerticalPos(o); } var w = function (e, t) { (h = c.getConfig().sequence), o.parser.yy.clear(), o.parser.yy.setWrap(h.wrap), o.parser.parse(e + '\n'), u.init(), s.log.debug('C:'.concat(JSON.stringify(h, null, 2))); var i = Object(n.select)('[id="'.concat(t, '"]')), f = o.parser.yy.getActors(), p = o.parser.yy.getActorKeys(), _ = o.parser.yy.getMessages(), v = o.parser.yy.getTitle(), w = C(f, _); (h.height = S(f, w)), m(i, f, p, 0); var x = k(_, f, w); r.default.insertArrowHead(i), r.default.insertArrowCrossHead(i), r.default.insertArrowFilledHead(i), r.default.insertSequenceNumber(i); var L = 1; _.forEach(function (e) { var t, n, c; switch (e.type) { case o.parser.yy.LINETYPE.NOTE: (n = e.noteModel), (function (e, t) { u.bumpVerticalPos(h.boxMargin), (t.height = h.boxMargin), (t.starty = u.getVerticalPos()); var i = r.default.getNoteRect(); (i.x = t.startx), (i.y = t.starty), (i.width = t.width || h.width), (i.class = 'note'); var n = e.append('g'), s = r.default.drawRect(n, i), o = r.default.getTextObj(); (o.x = t.startx), (o.y = t.starty), (o.width = i.width), (o.dy = '1em'), (o.text = t.message), (o.class = 'noteText'), (o.fontFamily = h.noteFontFamily), (o.fontSize = h.noteFontSize), (o.fontWeight = h.noteFontWeight), (o.anchor = h.noteAlign), (o.textMargin = h.noteMargin), (o.valign = h.noteAlign); var a = Object(r.drawText)(n, o), l = Math.round( a .map(function (e) { return (e._groups || e)[0][0].getBBox().height; }) .reduce(function (e, t) { return e + t; }) ); s.attr('height', l + 2 * h.noteMargin), (t.height += l + 2 * h.noteMargin), u.bumpVerticalPos(l + 2 * h.noteMargin), (t.stopy = t.starty + l + 2 * h.noteMargin), (t.stopx = t.startx + i.width), u.insert(t.startx, t.starty, t.stopx, t.stopy), u.models.addNote(t); })(i, n); break; case o.parser.yy.LINETYPE.ACTIVE_START: u.newActivation(e, i, f); break; case o.parser.yy.LINETYPE.ACTIVE_END: !(function (e, t) { var n = u.endActivation(e); n.starty + 18 > t && ((n.starty = t - 6), (t += 12)), r.default.drawActivation( i, n, t, h, b(e.from.actor).length ), u.insert(n.startx, t - 10, n.stopx, t); })(e, u.getVerticalPos()); break; case o.parser.yy.LINETYPE.LOOP_START: y( x, e, h.boxMargin, h.boxMargin + h.boxTextMargin, function (e) { return u.newLoop(e); } ); break; case o.parser.yy.LINETYPE.LOOP_END: (t = u.endLoop()), r.default.drawLoop(i, t, 'loop', h), u.bumpVerticalPos(t.stopy - u.getVerticalPos()), u.models.addLoop(t); break; case o.parser.yy.LINETYPE.RECT_START: y(x, e, h.boxMargin, h.boxMargin, function (e) { return u.newLoop(void 0, e.message); }); break; case o.parser.yy.LINETYPE.RECT_END: (t = u.endLoop()), r.default.drawBackgroundRect(i, t), u.models.addLoop(t), u.bumpVerticalPos(t.stopy - u.getVerticalPos()); break; case o.parser.yy.LINETYPE.OPT_START: y( x, e, h.boxMargin, h.boxMargin + h.boxTextMargin, function (e) { return u.newLoop(e); } ); break; case o.parser.yy.LINETYPE.OPT_END: (t = u.endLoop()), r.default.drawLoop(i, t, 'opt', h), u.bumpVerticalPos(t.stopy - u.getVerticalPos()), u.models.addLoop(t); break; case o.parser.yy.LINETYPE.ALT_START: y( x, e, h.boxMargin, h.boxMargin + h.boxTextMargin, function (e) { return u.newLoop(e); } ); break; case o.parser.yy.LINETYPE.ALT_ELSE: y( x, e, h.boxMargin + h.boxTextMargin, h.boxMargin, function (e) { return u.addSectionToLoop(e); } ); break; case o.parser.yy.LINETYPE.ALT_END: (t = u.endLoop()), r.default.drawLoop(i, t, 'alt', h), u.bumpVerticalPos(t.stopy - u.getVerticalPos()), u.models.addLoop(t); break; case o.parser.yy.LINETYPE.PAR_START: y( x, e, h.boxMargin, h.boxMargin + h.boxTextMargin, function (e) { return u.newLoop(e); } ); break; case o.parser.yy.LINETYPE.PAR_AND: y( x, e, h.boxMargin + h.boxTextMargin, h.boxMargin, function (e) { return u.addSectionToLoop(e); } ); break; case o.parser.yy.LINETYPE.PAR_END: (t = u.endLoop()), r.default.drawLoop(i, t, 'par', h), u.bumpVerticalPos(t.stopy - u.getVerticalPos()), u.models.addLoop(t); break; default: try { ((c = e.msgModel).starty = u.getVerticalPos()), (c.sequenceIndex = L), (function (e, t) { u.bumpVerticalPos(10); var i = t.startx, n = t.stopx, s = t.starty, c = t.message, f = t.type, p = t.sequenceIndex, m = a.default.splitBreaks(c).length, _ = d.default.calculateTextDimensions( c, g(h) ), b = _.height / m; (t.height += b), u.bumpVerticalPos(b); var v = r.default.getTextObj(); (v.x = i), (v.y = s + 10), (v.width = n - i), (v.class = 'messageText'), (v.dy = '1em'), (v.text = c), (v.fontFamily = h.messageFontFamily), (v.fontSize = h.messageFontSize), (v.fontWeight = h.messageFontWeight), (v.anchor = h.messageAlign), (v.valign = h.messageAlign), (v.textMargin = h.wrapPadding), (v.tspan = !1), Object(r.drawText)(e, v); var y, w, C = _.height - 10, S = _.width; if (i === n) { (w = u.getVerticalPos() + C), h.rightAngles ? (y = e.append('path').attr( 'd', 'M ' .concat(i, ',') .concat(w, ' H ') .concat( i + Math.max(h.width / 2, S / 2), ' V ' ) .concat(w + 25, ' H ') .concat(i) )) : ((C += h.boxMargin), (w = u.getVerticalPos() + C), (y = e .append('path') .attr( 'd', 'M ' + i + ',' + w + ' C ' + (i + 60) + ',' + (w - 10) + ' ' + (i + 60) + ',' + (w + 30) + ' ' + i + ',' + (w + 20) ))), (C += 30); var k = Math.max(S / 2, h.width / 2); u.insert( i - k, u.getVerticalPos() - 10 + C, n + k, u.getVerticalPos() + 30 + C ); } else (C += h.boxMargin), (w = u.getVerticalPos() + C), (y = e.append('line')).attr('x1', i), y.attr('y1', w), y.attr('x2', n), y.attr('y2', w), u.insert(i, w - 10, n, w); f === o.parser.yy.LINETYPE.DOTTED || f === o.parser.yy.LINETYPE.DOTTED_CROSS || f === o.parser.yy.LINETYPE.DOTTED_POINT || f === o.parser.yy.LINETYPE.DOTTED_OPEN ? (y.style('stroke-dasharray', '3, 3'), y.attr('class', 'messageLine1')) : y.attr('class', 'messageLine0'); var x = ''; h.arrowMarkerAbsolute && (x = (x = (x = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace( /\(/g, '\\(' )).replace(/\)/g, '\\)')), y.attr('stroke-width', 2), y.attr('stroke', 'none'), y.style('fill', 'none'), (f !== o.parser.yy.LINETYPE.SOLID && f !== o.parser.yy.LINETYPE.DOTTED) || y.attr( 'marker-end', 'url(' + x + '#arrowhead)' ), (f !== o.parser.yy.LINETYPE.SOLID_POINT && f !== o.parser.yy.LINETYPE.DOTTED_POINT) || y.attr( 'marker-end', 'url(' + x + '#filled-head)' ), (f !== o.parser.yy.LINETYPE.SOLID_CROSS && f !== o.parser.yy.LINETYPE.DOTTED_CROSS) || y.attr( 'marker-end', 'url(' + x + '#crosshead)' ), (l.default.showSequenceNumbers() || h.showSequenceNumbers) && (y.attr( 'marker-start', 'url(' + x + '#sequencenumber)' ), e .append('text') .attr('x', i) .attr('y', w + 4) .attr('font-family', 'sans-serif') .attr('font-size', '12px') .attr('text-anchor', 'middle') .attr('textLength', '16px') .attr('class', 'sequenceNumber') .text(p)), u.bumpVerticalPos(C), (t.height += C), (t.stopy = t.starty + t.height), u.insert( t.fromBounds, t.starty, t.toBounds, t.stopy ); })(i, c), u.models.addMessage(c); } catch (e) { s.log.error('error while drawing message', e); } } [ o.parser.yy.LINETYPE.SOLID_OPEN, o.parser.yy.LINETYPE.DOTTED_OPEN, o.parser.yy.LINETYPE.SOLID, o.parser.yy.LINETYPE.DOTTED, o.parser.yy.LINETYPE.SOLID_CROSS, o.parser.yy.LINETYPE.DOTTED_CROSS, o.parser.yy.LINETYPE.SOLID_POINT, o.parser.yy.LINETYPE.DOTTED_POINT, ].includes(e.type) && L++; }), h.mirrorActors && (u.bumpVerticalPos(2 * h.boxMargin), m(i, f, p, u.getVerticalPos())); var M = u.getBounds().bounds; s.log.debug( 'For line height fix Querying: #' + t + ' .actor-line' ), Object(n.selectAll)('#' + t + ' .actor-line').attr( 'y2', M.stopy ); var D = M.stopy - M.starty + 2 * h.diagramMarginY; h.mirrorActors && (D = D - h.boxMargin + h.bottomMarginAdj); var N = M.stopx - M.startx + 2 * h.diagramMarginX; v && i .append('text') .text(v) .attr( 'x', (M.stopx - M.startx) / 2 - 2 * h.diagramMarginX ) .attr('y', -25), Object(d.configureSvgSize)(i, D, N, h.useMaxWidth); var E = v ? 40 : 0; i.attr( 'viewBox', M.startx - h.diagramMarginX + ' -' + (h.diagramMarginY + E) + ' ' + N + ' ' + (D + E) ), s.log.debug('models:', u.models); }, C = function (e, t) { var i = {}; return ( t.forEach(function (t) { if (e[t.to] && e[t.from]) { var n = e[t.to]; if ( t.placement === o.parser.yy.PLACEMENT.LEFTOF && !n.prevActor ) return; if ( t.placement === o.parser.yy.PLACEMENT.RIGHTOF && !n.nextActor ) return; var r = void 0 !== t.placement, s = !r, a = r ? f(h) : g(h), l = t.wrap ? d.default.wrapLabel( t.message, h.width - 2 * h.wrapPadding, a ) : t.message, c = d.default.calculateTextDimensions(l, a).width + 2 * h.wrapPadding; s && t.from === n.nextActor ? (i[t.to] = Math.max(i[t.to] || 0, c)) : s && t.from === n.prevActor ? (i[t.from] = Math.max(i[t.from] || 0, c)) : s && t.from === t.to ? ((i[t.from] = Math.max(i[t.from] || 0, c / 2)), (i[t.to] = Math.max(i[t.to] || 0, c / 2))) : t.placement === o.parser.yy.PLACEMENT.RIGHTOF ? (i[t.from] = Math.max(i[t.from] || 0, c)) : t.placement === o.parser.yy.PLACEMENT.LEFTOF ? (i[n.prevActor] = Math.max( i[n.prevActor] || 0, c )) : t.placement === o.parser.yy.PLACEMENT.OVER && (n.prevActor && (i[n.prevActor] = Math.max( i[n.prevActor] || 0, c / 2 )), n.nextActor && (i[t.from] = Math.max(i[t.from] || 0, c / 2))); } }), s.log.debug('maxMessageWidthPerActor:', i), i ); }, S = function (e, t) { var i = 0; for (var n in (Object.keys(e).forEach(function (t) { var n = e[t]; n.wrap && (n.description = d.default.wrapLabel( n.description, h.width - 2 * h.wrapPadding, p(h) )); var r = d.default.calculateTextDimensions( n.description, p(h) ); (n.width = n.wrap ? h.width : Math.max(h.width, r.width + 2 * h.wrapPadding)), (n.height = n.wrap ? Math.max(r.height, h.height) : h.height), (i = Math.max(i, n.height)); }), t)) { var r = e[n]; if (r) { var s = e[r.nextActor]; if (s) { var o = t[n] + h.actorMargin - r.width / 2 - s.width / 2; r.margin = Math.max(o, h.actorMargin); } } } return Math.max(i, h.height); }, k = function (e, t) { var i, n, r, a = {}, l = []; return ( e.forEach(function (e) { switch ( ((e.id = d.default.random({ length: 10 })), e.type) ) { case o.parser.yy.LINETYPE.LOOP_START: case o.parser.yy.LINETYPE.ALT_START: case o.parser.yy.LINETYPE.OPT_START: case o.parser.yy.LINETYPE.PAR_START: l.push({ id: e.id, msg: e.message, from: Number.MAX_SAFE_INTEGER, to: Number.MIN_SAFE_INTEGER, width: 0, }); break; case o.parser.yy.LINETYPE.ALT_ELSE: case o.parser.yy.LINETYPE.PAR_AND: e.message && ((i = l.pop()), (a[i.id] = i), (a[e.id] = i), l.push(i)); break; case o.parser.yy.LINETYPE.LOOP_END: case o.parser.yy.LINETYPE.ALT_END: case o.parser.yy.LINETYPE.OPT_END: case o.parser.yy.LINETYPE.PAR_END: (i = l.pop()), (a[i.id] = i); break; case o.parser.yy.LINETYPE.ACTIVE_START: var c = t[e.from ? e.from.actor : e.to.actor], p = b(e.from ? e.from.actor : e.to.actor).length, m = c.x + c.width / 2 + ((p - 1) * h.activationWidth) / 2, _ = { startx: m, stopx: m + h.activationWidth, actor: e.from.actor, enabled: !0, }; u.activations.push(_); break; case o.parser.yy.LINETYPE.ACTIVE_END: var y = u.activations .map(function (e) { return e.actor; }) .lastIndexOf(e.from.actor); delete u.activations.splice(y, 1)[0]; } void 0 !== e.placement ? ((n = (function (e, t) { var i = t[e.from].x, n = t[e.to].x, r = e.wrap && e.message, a = d.default.calculateTextDimensions( r ? d.default.wrapLabel( e.message, h.width, f(h) ) : e.message, f(h) ), l = { width: r ? h.width : Math.max( h.width, a.width + 2 * h.noteMargin ), height: 0, startx: t[e.from].x, stopx: 0, starty: 0, stopy: 0, message: e.message, }; return ( e.placement === o.parser.yy.PLACEMENT.RIGHTOF ? ((l.width = r ? Math.max(h.width, a.width) : Math.max( t[e.from].width / 2 + t[e.to].width / 2, a.width + 2 * h.noteMargin )), (l.startx = i + (t[e.from].width + h.actorMargin) / 2)) : e.placement === o.parser.yy.PLACEMENT.LEFTOF ? ((l.width = r ? Math.max( h.width, a.width + 2 * h.noteMargin ) : Math.max( t[e.from].width / 2 + t[e.to].width / 2, a.width + 2 * h.noteMargin )), (l.startx = i - l.width + (t[e.from].width - h.actorMargin) / 2)) : e.to === e.from ? ((a = d.default.calculateTextDimensions( r ? d.default.wrapLabel( e.message, Math.max(h.width, t[e.from].width), f(h) ) : e.message, f(h) )), (l.width = r ? Math.max(h.width, t[e.from].width) : Math.max( t[e.from].width, h.width, a.width + 2 * h.noteMargin )), (l.startx = i + (t[e.from].width - l.width) / 2)) : ((l.width = Math.abs( i + t[e.from].width / 2 - (n + t[e.to].width / 2) ) + h.actorMargin), (l.startx = i < n ? i + t[e.from].width / 2 - h.actorMargin / 2 : n + t[e.to].width / 2 - h.actorMargin / 2)), r && (l.message = d.default.wrapLabel( e.message, l.width - 2 * h.wrapPadding, f(h) )), s.log.debug( 'NM:[' .concat(l.startx, ',') .concat(l.stopx, ',') .concat(l.starty, ',') .concat(l.stopy, ':') .concat(l.width, ',') .concat(l.height, '=') .concat(e.message, ']') ), l ); })(e, t)), (e.noteModel = n), l.forEach(function (e) { ((i = e).from = Math.min(i.from, n.startx)), (i.to = Math.max(i.to, n.startx + n.width)), (i.width = Math.max(i.width, Math.abs(i.from - i.to)) - h.labelBoxWidth); })) : ((r = (function (e, t) { var i = !1; if ( ([ o.parser.yy.LINETYPE.SOLID_OPEN, o.parser.yy.LINETYPE.DOTTED_OPEN, o.parser.yy.LINETYPE.SOLID, o.parser.yy.LINETYPE.DOTTED, o.parser.yy.LINETYPE.SOLID_CROSS, o.parser.yy.LINETYPE.DOTTED_CROSS, o.parser.yy.LINETYPE.SOLID_POINT, o.parser.yy.LINETYPE.DOTTED_POINT, ].includes(e.type) && (i = !0), !i) ) return {}; var n = v(e.from, t), r = v(e.to, t), s = n[0] <= r[0] ? 1 : 0, a = n[0] < r[0] ? 0 : 1, l = n.concat(r), c = Math.abs(r[a] - n[s]); e.wrap && e.message && (e.message = d.default.wrapLabel( e.message, Math.max(c + 2 * h.wrapPadding, h.width), g(h) )); var u = d.default.calculateTextDimensions( e.message, g(h) ); return { width: Math.max( e.wrap ? 0 : u.width + 2 * h.wrapPadding, c + 2 * h.wrapPadding, h.width ), height: 0, startx: n[s], stopx: r[a], starty: 0, stopy: 0, message: e.message, type: e.type, wrap: e.wrap, fromBounds: Math.min.apply(null, l), toBounds: Math.max.apply(null, l), }; })(e, t)), (e.msgModel = r), r.startx && r.stopx && l.length > 0 && l.forEach(function (n) { if (((i = n), r.startx === r.stopx)) { var s = t[e.from], o = t[e.to]; (i.from = Math.min( s.x - r.width / 2, s.x - s.width / 2, i.from )), (i.to = Math.max( o.x + r.width / 2, o.x + s.width / 2, i.to )), (i.width = Math.max( i.width, Math.abs(i.to - i.from) ) - h.labelBoxWidth); } else (i.from = Math.min(r.startx, i.from)), (i.to = Math.max(r.stopx, i.to)), (i.width = Math.max(i.width, r.width) - h.labelBoxWidth); })); }), (u.activations = []), s.log.debug('Loop type widths:', a), a ); }; t.default = { bounds: u, drawActors: m, setConf: _, draw: w }; }, './src/diagrams/sequence/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return '.actor {\n stroke: ' .concat(e.actorBorder, ';\n fill: ') .concat( e.actorBkg, ';\n }\n\n text.actor > tspan {\n fill: ' ) .concat( e.actorTextColor, ';\n stroke: none;\n }\n\n .actor-line {\n stroke: ' ) .concat( e.actorLineColor, ';\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ' ) .concat( e.signalColor, ';\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ' ) .concat( e.signalColor, ';\n }\n\n #arrowhead path {\n fill: ' ) .concat(e.signalColor, ';\n stroke: ') .concat( e.signalColor, ';\n }\n\n .sequenceNumber {\n fill: ' ) .concat( e.sequenceNumberColor, ';\n }\n\n #sequencenumber {\n fill: ' ) .concat( e.signalColor, ';\n }\n\n #crosshead path {\n fill: ' ) .concat(e.signalColor, ';\n stroke: ') .concat( e.signalColor, ';\n }\n\n .messageText {\n fill: ' ) .concat(e.signalTextColor, ';\n stroke: ') .concat( e.signalTextColor, ';\n }\n\n .labelBox {\n stroke: ' ) .concat(e.labelBoxBorderColor, ';\n fill: ') .concat( e.labelBoxBkgColor, ';\n }\n\n .labelText, .labelText > tspan {\n fill: ' ) .concat( e.labelTextColor, ';\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ' ) .concat( e.loopTextColor, ';\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ' ) .concat(e.labelBoxBorderColor, ';\n fill: ') .concat( e.labelBoxBorderColor, ';\n }\n\n .note {\n //stroke: #decc93;\n stroke: ' ) .concat(e.noteBorderColor, ';\n fill: ') .concat( e.noteBkgColor, ';\n }\n\n .noteText, .noteText > tspan {\n fill: ' ) .concat( e.noteTextColor, ';\n stroke: none;\n }\n\n .activation0 {\n fill: ' ) .concat(e.activationBkgColor, ';\n stroke: ') .concat( e.activationBorderColor, ';\n }\n\n .activation1 {\n fill: ' ) .concat(e.activationBkgColor, ';\n stroke: ') .concat( e.activationBorderColor, ';\n }\n\n .activation2 {\n fill: ' ) .concat(e.activationBkgColor, ';\n stroke: ') .concat(e.activationBorderColor, ';\n }\n'); }); }, './src/diagrams/sequence/svgDraw.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'drawRect', function () { return r; }), i.d(t, 'drawText', function () { return s; }), i.d(t, 'drawLabel', function () { return o; }), i.d(t, 'drawActor', function () { return l; }), i.d(t, 'anchorElement', function () { return c; }), i.d(t, 'drawActivation', function () { return d; }), i.d(t, 'drawLoop', function () { return h; }), i.d(t, 'drawBackgroundRect', function () { return u; }), i.d(t, 'insertArrowHead', function () { return g; }), i.d(t, 'insertArrowFilledHead', function () { return f; }), i.d(t, 'insertSequenceNumber', function () { return p; }), i.d(t, 'insertArrowCrossHead', function () { return m; }), i.d(t, 'getTextObj', function () { return _; }), i.d(t, 'getNoteRect', function () { return b; }); var n = i('./src/diagrams/common/common.js'), r = function (e, t) { var i = e.append('rect'); return ( i.attr('x', t.x), i.attr('y', t.y), i.attr('fill', t.fill), i.attr('stroke', t.stroke), i.attr('width', t.width), i.attr('height', t.height), i.attr('rx', t.rx), i.attr('ry', t.ry), void 0 !== t.class && i.attr('class', t.class), i ); }, s = function (e, t) { var i = 0, r = 0, s = t.text.split(n.default.lineBreakRegex), o = [], a = 0, l = function () { return t.y; }; if ( void 0 !== t.valign && void 0 !== t.textMargin && t.textMargin > 0 ) switch (t.valign) { case 'top': case 'start': l = function () { return Math.round(t.y + t.textMargin); }; break; case 'middle': case 'center': l = function () { return Math.round(t.y + (i + r + t.textMargin) / 2); }; break; case 'bottom': case 'end': l = function () { return Math.round( t.y + (i + r + 2 * t.textMargin) - t.textMargin ); }; } if ( void 0 !== t.anchor && void 0 !== t.textMargin && void 0 !== t.width ) switch (t.anchor) { case 'left': case 'start': (t.x = Math.round(t.x + t.textMargin)), (t.anchor = 'start'), (t.dominantBaseline = 'text-after-edge'), (t.alignmentBaseline = 'middle'); break; case 'middle': case 'center': (t.x = Math.round(t.x + t.width / 2)), (t.anchor = 'middle'), (t.dominantBaseline = 'middle'), (t.alignmentBaseline = 'middle'); break; case 'right': case 'end': (t.x = Math.round(t.x + t.width - t.textMargin)), (t.anchor = 'end'), (t.dominantBaseline = 'text-before-edge'), (t.alignmentBaseline = 'middle'); } for (var c = 0; c < s.length; c++) { var d = s[c]; void 0 !== t.textMargin && 0 === t.textMargin && void 0 !== t.fontSize && (a = c * t.fontSize); var h = e.append('text'); if ( (h.attr('x', t.x), h.attr('y', l()), void 0 !== t.anchor && h .attr('text-anchor', t.anchor) .attr('dominant-baseline', t.dominantBaseline) .attr('alignment-baseline', t.alignmentBaseline), void 0 !== t.fontFamily && h.style('font-family', t.fontFamily), void 0 !== t.fontSize && h.style('font-size', t.fontSize), void 0 !== t.fontWeight && h.style('font-weight', t.fontWeight), void 0 !== t.fill && h.attr('fill', t.fill), void 0 !== t.class && h.attr('class', t.class), void 0 !== t.dy ? h.attr('dy', t.dy) : 0 !== a && h.attr('dy', a), t.tspan) ) { var u = h.append('tspan'); u.attr('x', t.x), void 0 !== t.fill && u.attr('fill', t.fill), u.text(d); } else h.text(d); void 0 !== t.valign && void 0 !== t.textMargin && t.textMargin > 0 && ((r += (h._groups || h)[0][0].getBBox().height), (i = r)), o.push(h); } return o; }, o = function (e, t) { var i, n, r, o, a = e.append('polygon'); return ( a.attr( 'points', (i = t.x) + ',' + (n = t.y) + ' ' + (i + (r = t.width)) + ',' + n + ' ' + (i + r) + ',' + (n + (o = t.height) - 7) + ' ' + (i + r - 8.4) + ',' + (n + o) + ' ' + i + ',' + (n + o) ), a.attr('class', 'labelBox'), (t.y = t.y + t.height / 2), s(e, t), a ); }, a = -1, l = function (e, t, i) { var n = t.x + t.width / 2, s = e.append('g'); 0 === t.y && (a++, s .append('line') .attr('id', 'actor' + a) .attr('x1', n) .attr('y1', 5) .attr('x2', n) .attr('y2', 2e3) .attr('class', 'actor-line') .attr('stroke-width', '0.5px') .attr('stroke', '#999')); var o = b(); (o.x = t.x), (o.y = t.y), (o.fill = '#eaeaea'), (o.width = t.width), (o.height = t.height), (o.class = 'actor'), (o.rx = 3), (o.ry = 3), r(s, o), v(i)( t.description, s, o.x, o.y, o.width, o.height, { class: 'actor' }, i ); }, c = function (e) { return e.append('g'); }, d = function (e, t, i, n, s) { var o = b(), a = t.anchored; (o.x = t.startx), (o.y = t.starty), (o.class = 'activation' + (s % 3)), (o.width = t.stopx - t.startx), (o.height = i - t.starty), r(a, o); }, h = function (e, t, i, n) { var r = n.boxMargin, a = n.boxTextMargin, l = n.labelBoxHeight, c = n.labelBoxWidth, d = n.messageFontFamily, h = n.messageFontSize, u = n.messageFontWeight, g = e.append('g'), f = function (e, t, i, n) { return g .append('line') .attr('x1', e) .attr('y1', t) .attr('x2', i) .attr('y2', n) .attr('class', 'loopLine'); }; f(t.startx, t.starty, t.stopx, t.starty), f(t.stopx, t.starty, t.stopx, t.stopy), f(t.startx, t.stopy, t.stopx, t.stopy), f(t.startx, t.starty, t.startx, t.stopy), void 0 !== t.sections && t.sections.forEach(function (e) { f(t.startx, e.y, t.stopx, e.y).style( 'stroke-dasharray', '3, 3' ); }); var p = _(); (p.text = i), (p.x = t.startx), (p.y = t.starty), (p.fontFamily = d), (p.fontSize = h), (p.fontWeight = u), (p.anchor = 'middle'), (p.valign = 'middle'), (p.tspan = !1), (p.width = c || 50), (p.height = l || 20), (p.textMargin = a), (p.class = 'labelText'), o(g, p), ((p = _()).text = t.title), (p.x = t.startx + c / 2 + (t.stopx - t.startx) / 2), (p.y = t.starty + r + a), (p.anchor = 'middle'), (p.valign = 'middle'), (p.textMargin = a), (p.class = 'loopText'), (p.fontFamily = d), (p.fontSize = h), (p.fontWeight = u), (p.wrap = !0); var m = s(g, p); return ( void 0 !== t.sectionTitles && t.sectionTitles.forEach(function (e, i) { if (e.message) { (p.text = e.message), (p.x = t.startx + (t.stopx - t.startx) / 2), (p.y = t.sections[i].y + r + a), (p.class = 'loopText'), (p.anchor = 'middle'), (p.valign = 'middle'), (p.tspan = !1), (p.fontFamily = d), (p.fontSize = h), (p.fontWeight = u), (p.wrap = t.wrap), (m = s(g, p)); var n = Math.round( m .map(function (e) { return (e._groups || e)[0][0].getBBox().height; }) .reduce(function (e, t) { return e + t; }) ); t.sections[i].height += n - (r + a); } }), (t.height = Math.round(t.stopy - t.starty)), g ); }, u = function (e, t) { r(e, { x: t.startx, y: t.starty, width: t.stopx - t.startx, height: t.stopy - t.starty, fill: t.fill, class: 'rect', }).lower(); }, g = function (e) { e.append('defs') .append('marker') .attr('id', 'arrowhead') .attr('refX', 9) .attr('refY', 5) .attr('markerUnits', 'userSpaceOnUse') .attr('markerWidth', 12) .attr('markerHeight', 12) .attr('orient', 'auto') .append('path') .attr('d', 'M 0 0 L 10 5 L 0 10 z'); }, f = function (e) { e.append('defs') .append('marker') .attr('id', 'filled-head') .attr('refX', 18) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'); }, p = function (e) { e.append('defs') .append('marker') .attr('id', 'sequencenumber') .attr('refX', 15) .attr('refY', 15) .attr('markerWidth', 60) .attr('markerHeight', 40) .attr('orient', 'auto') .append('circle') .attr('cx', 15) .attr('cy', 15) .attr('r', 6); }, m = function (e) { var t = e .append('defs') .append('marker') .attr('id', 'crosshead') .attr('markerWidth', 15) .attr('markerHeight', 8) .attr('orient', 'auto') .attr('refX', 16) .attr('refY', 4); t .append('path') .attr('fill', 'black') .attr('stroke', '#000000') .style('stroke-dasharray', '0, 0') .attr('stroke-width', '1px') .attr('d', 'M 9,2 V 6 L16,4 Z'), t .append('path') .attr('fill', 'none') .attr('stroke', '#000000') .style('stroke-dasharray', '0, 0') .attr('stroke-width', '1px') .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7'); }, _ = function () { return { x: 0, y: 0, fill: void 0, anchor: void 0, style: '#666', width: void 0, height: void 0, textMargin: 0, rx: 0, ry: 0, tspan: !0, valign: void 0, }; }, b = function () { return { x: 0, y: 0, fill: '#EDF2AE', stroke: '#666', width: 100, anchor: 'start', height: 100, rx: 0, ry: 0, }; }, v = (function () { function e(e, t, i, n, s, o, a) { r( t .append('text') .attr('x', i + s / 2) .attr('y', n + o / 2 + 5) .style('text-anchor', 'middle') .text(e), a ); } function t(e, t, i, s, o, a, l, c) { for ( var d = c.actorFontSize, h = c.actorFontFamily, u = c.actorFontWeight, g = e.split(n.default.lineBreakRegex), f = 0; f < g.length; f++ ) { var p = f * d - (d * (g.length - 1)) / 2, m = t .append('text') .attr('x', i + o / 2) .attr('y', s) .style('text-anchor', 'middle') .style('font-size', d) .style('font-weight', u) .style('font-family', h); m .append('tspan') .attr('x', i + o / 2) .attr('dy', p) .text(g[f]), m .attr('y', s + a / 2) .attr('dominant-baseline', 'central') .attr('alignment-baseline', 'central'), r(m, l); } } function i(e, i, n, s, o, a, l, c) { var d = i.append('switch'), h = d .append('foreignObject') .attr('x', n) .attr('y', s) .attr('width', o) .attr('height', a) .append('div') .style('display', 'table') .style('height', '100%') .style('width', '100%'); h .append('div') .style('display', 'table-cell') .style('text-align', 'center') .style('vertical-align', 'middle') .text(e), t(e, d, n, s, o, a, l, c), r(h, l); } function r(e, t) { for (var i in t) t.hasOwnProperty(i) && e.attr(i, t[i]); } return function (n) { return 'fo' === n.textPlacement ? i : 'old' === n.textPlacement ? e : t; }; })(); t.default = { drawRect: r, drawText: s, drawLabel: o, drawActor: l, anchorElement: c, drawActivation: d, drawLoop: h, drawBackgroundRect: u, insertArrowHead: g, insertArrowFilledHead: f, insertSequenceNumber: p, insertArrowCrossHead: m, getTextObj: _, getNoteRect: b, }; }, './src/diagrams/state/id-cache.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'set', function () { return r; }), i.d(t, 'get', function () { return s; }), i.d(t, 'keys', function () { return o; }), i.d(t, 'size', function () { return a; }); var n = {}, r = function (e, t) { n[e] = t; }, s = function (e) { return n[e]; }, o = function () { return Object.keys(n); }, a = function () { return o().length; }; t.default = { get: s, set: r, keys: o, size: a }; }, './src/diagrams/state/parser/stateDiagram.jison': function ( e, t, i ) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 2], i = [1, 3], n = [1, 5], r = [1, 7], s = [2, 5], o = [1, 15], a = [1, 17], l = [1, 19], c = [1, 20], d = [1, 21], h = [1, 22], u = [1, 28], g = [1, 23], f = [1, 24], p = [1, 25], m = [1, 26], _ = [1, 29], b = [1, 32], v = [ 1, 4, 5, 14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 36, 39, ], y = [ 1, 4, 5, 12, 13, 14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 36, 39, ], w = [ 1, 4, 5, 7, 14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 36, 39, ], C = [ 4, 5, 14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 36, 39, ], S = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, SPACE: 4, NL: 5, directive: 6, SD: 7, document: 8, line: 9, statement: 10, idStatement: 11, DESCR: 12, '--\x3e': 13, HIDE_EMPTY: 14, scale: 15, WIDTH: 16, COMPOSIT_STATE: 17, STRUCT_START: 18, STRUCT_STOP: 19, STATE_DESCR: 20, AS: 21, ID: 22, FORK: 23, JOIN: 24, CONCURRENT: 25, note: 26, notePosition: 27, NOTE_TEXT: 28, openDirective: 29, typeDirective: 30, closeDirective: 31, ':': 32, argDirective: 33, eol: 34, ';': 35, EDGE_STATE: 36, left_of: 37, right_of: 38, open_directive: 39, type_directive: 40, arg_directive: 41, close_directive: 42, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'SPACE', 5: 'NL', 7: 'SD', 12: 'DESCR', 13: '--\x3e', 14: 'HIDE_EMPTY', 15: 'scale', 16: 'WIDTH', 17: 'COMPOSIT_STATE', 18: 'STRUCT_START', 19: 'STRUCT_STOP', 20: 'STATE_DESCR', 21: 'AS', 22: 'ID', 23: 'FORK', 24: 'JOIN', 25: 'CONCURRENT', 26: 'note', 28: 'NOTE_TEXT', 32: ':', 35: ';', 36: 'EDGE_STATE', 37: 'left_of', 38: 'right_of', 39: 'open_directive', 40: 'type_directive', 41: 'arg_directive', 42: 'close_directive', }, productions_: [ 0, [3, 2], [3, 2], [3, 2], [3, 2], [8, 0], [8, 2], [9, 2], [9, 1], [9, 1], [10, 1], [10, 2], [10, 3], [10, 4], [10, 1], [10, 2], [10, 1], [10, 4], [10, 3], [10, 6], [10, 1], [10, 1], [10, 1], [10, 4], [10, 4], [10, 1], [6, 3], [6, 5], [34, 1], [34, 1], [11, 1], [11, 1], [27, 1], [27, 1], [29, 1], [30, 1], [33, 1], [31, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 4: return n.setRootDoc(s[a]), s[a]; case 5: this.$ = []; break; case 6: 'nl' != s[a] && (s[a - 1].push(s[a]), (this.$ = s[a - 1])); break; case 7: case 8: this.$ = s[a]; break; case 9: this.$ = 'nl'; break; case 10: this.$ = { stmt: 'state', id: s[a], type: 'default', description: '', }; break; case 11: this.$ = { stmt: 'state', id: s[a - 1], type: 'default', description: n.trimColon(s[a]), }; break; case 12: this.$ = { stmt: 'relation', state1: { stmt: 'state', id: s[a - 2], type: 'default', description: '', }, state2: { stmt: 'state', id: s[a], type: 'default', description: '', }, }; break; case 13: this.$ = { stmt: 'relation', state1: { stmt: 'state', id: s[a - 3], type: 'default', description: '', }, state2: { stmt: 'state', id: s[a - 1], type: 'default', description: '', }, description: s[a].substr(1).trim(), }; break; case 17: this.$ = { stmt: 'state', id: s[a - 3], type: 'default', description: '', doc: s[a - 1], }; break; case 18: var l = s[a], c = s[a - 2].trim(); if (s[a].match(':')) { var d = s[a].split(':'); (l = d[0]), (c = [c, d[1]]); } this.$ = { stmt: 'state', id: l, type: 'default', description: c, }; break; case 19: this.$ = { stmt: 'state', id: s[a - 3], type: 'default', description: s[a - 5], doc: s[a - 1], }; break; case 20: this.$ = { stmt: 'state', id: s[a], type: 'fork', }; break; case 21: this.$ = { stmt: 'state', id: s[a], type: 'join', }; break; case 22: this.$ = { stmt: 'state', id: n.getDividerId(), type: 'divider', }; break; case 23: this.$ = { stmt: 'state', id: s[a - 1].trim(), note: { position: s[a - 2].trim(), text: s[a].trim(), }, }; break; case 30: case 31: this.$ = s[a]; break; case 34: n.parseDirective('%%{', 'open_directive'); break; case 35: n.parseDirective(s[a], 'type_directive'); break; case 36: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 37: n.parseDirective( '}%%', 'close_directive', 'state' ); } }, table: [ { 3: 1, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, { 1: [3] }, { 3: 8, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, { 3: 9, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, { 3: 10, 4: t, 5: i, 6: 4, 7: n, 29: 6, 39: r }, e( [ 1, 4, 5, 14, 15, 17, 20, 22, 23, 24, 25, 26, 36, 39, ], s, { 8: 11 } ), { 30: 12, 40: [1, 13] }, { 40: [2, 34] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, { 1: [2, 4], 4: o, 5: a, 6: 27, 9: 14, 10: 16, 11: 18, 14: l, 15: c, 17: d, 20: h, 22: u, 23: g, 24: f, 25: p, 26: m, 29: 6, 36: _, 39: r, }, { 31: 30, 32: [1, 31], 42: b }, e([32, 42], [2, 35]), e(v, [2, 6]), { 6: 27, 10: 33, 11: 18, 14: l, 15: c, 17: d, 20: h, 22: u, 23: g, 24: f, 25: p, 26: m, 29: 6, 36: _, 39: r, }, e(v, [2, 8]), e(v, [2, 9]), e(v, [2, 10], { 12: [1, 34], 13: [1, 35] }), e(v, [2, 14]), { 16: [1, 36] }, e(v, [2, 16], { 18: [1, 37] }), { 21: [1, 38] }, e(v, [2, 20]), e(v, [2, 21]), e(v, [2, 22]), { 27: 39, 28: [1, 40], 37: [1, 41], 38: [1, 42] }, e(v, [2, 25]), e(y, [2, 30]), e(y, [2, 31]), e(w, [2, 26]), { 33: 43, 41: [1, 44] }, e(w, [2, 37]), e(v, [2, 7]), e(v, [2, 11]), { 11: 45, 22: u, 36: _ }, e(v, [2, 15]), e(C, s, { 8: 46 }), { 22: [1, 47] }, { 22: [1, 48] }, { 21: [1, 49] }, { 22: [2, 32] }, { 22: [2, 33] }, { 31: 50, 42: b }, { 42: [2, 36] }, e(v, [2, 12], { 12: [1, 51] }), { 4: o, 5: a, 6: 27, 9: 14, 10: 16, 11: 18, 14: l, 15: c, 17: d, 19: [1, 52], 20: h, 22: u, 23: g, 24: f, 25: p, 26: m, 29: 6, 36: _, 39: r, }, e(v, [2, 18], { 18: [1, 53] }), { 28: [1, 54] }, { 22: [1, 55] }, e(w, [2, 27]), e(v, [2, 13]), e(v, [2, 17]), e(C, s, { 8: 56 }), e(v, [2, 23]), e(v, [2, 24]), { 4: o, 5: a, 6: 27, 9: 14, 10: 16, 11: 18, 14: l, 15: c, 17: d, 19: [1, 57], 20: h, 22: u, 23: g, 24: f, 25: p, 26: m, 29: 6, 36: _, 39: r, }, e(v, [2, 19]), ], defaultActions: { 7: [2, 34], 8: [2, 1], 9: [2, 2], 10: [2, 3], 41: [2, 32], 42: [2, 33], 44: [2, 36], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, k = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 39; case 1: return this.begin('type_directive'), 40; case 2: return ( this.popState(), this.begin('arg_directive'), 32 ); case 3: return this.popState(), this.popState(), 42; case 4: return 41; case 5: break; case 6: console.log('Crap after close'); break; case 7: return 5; case 8: case 9: case 10: case 11: break; case 12: return this.pushState('SCALE'), 15; case 13: return 16; case 14: this.popState(); break; case 15: this.pushState('STATE'); break; case 16: return ( this.popState(), (t.yytext = t.yytext.slice(0, -8).trim()), 23 ); case 17: return ( this.popState(), (t.yytext = t.yytext.slice(0, -8).trim()), 24 ); case 18: return ( this.popState(), (t.yytext = t.yytext.slice(0, -8).trim()), 23 ); case 19: return ( this.popState(), (t.yytext = t.yytext.slice(0, -8).trim()), 24 ); case 20: this.begin('STATE_STRING'); break; case 21: return ( this.popState(), this.pushState('STATE_ID'), 'AS' ); case 22: return this.popState(), 'ID'; case 23: this.popState(); break; case 24: return 'STATE_DESCR'; case 25: return 17; case 26: this.popState(); break; case 27: return ( this.popState(), this.pushState('struct'), 18 ); case 28: return this.popState(), 19; case 29: break; case 30: return this.begin('NOTE'), 26; case 31: return ( this.popState(), this.pushState('NOTE_ID'), 37 ); case 32: return ( this.popState(), this.pushState('NOTE_ID'), 38 ); case 33: this.popState(), this.pushState('FLOATING_NOTE'); break; case 34: return ( this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS' ); case 35: break; case 36: return 'NOTE_TEXT'; case 37: return this.popState(), 'ID'; case 38: return ( this.popState(), this.pushState('NOTE_TEXT'), 22 ); case 39: return ( this.popState(), (t.yytext = t.yytext.substr(2).trim()), 28 ); case 40: return ( this.popState(), (t.yytext = t.yytext.slice(0, -8).trim()), 28 ); case 41: case 42: return 7; case 43: return 14; case 44: return 36; case 45: return 22; case 46: return (t.yytext = t.yytext.trim()), 12; case 47: return 13; case 48: return 25; case 49: return 5; case 50: return 'INVALID'; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:[\s]+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<>)/i, /^(?:.*<>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:["])/i, /^(?:\s*as\s+)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:[\s\S]*?end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:stateDiagram-v2\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?:$)/i, /^(?:.)/i, ], conditions: { LINE: { rules: [9, 10], inclusive: !1 }, close_directive: { rules: [9, 10], inclusive: !1 }, arg_directive: { rules: [3, 4, 9, 10], inclusive: !1, }, type_directive: { rules: [2, 3, 9, 10], inclusive: !1, }, open_directive: { rules: [1, 9, 10], inclusive: !1 }, struct: { rules: [9, 10, 15, 28, 29, 30, 44, 45, 46, 47, 48], inclusive: !1, }, FLOATING_NOTE_ID: { rules: [37], inclusive: !1 }, FLOATING_NOTE: { rules: [34, 35, 36], inclusive: !1 }, NOTE_TEXT: { rules: [39, 40], inclusive: !1 }, NOTE_ID: { rules: [38], inclusive: !1 }, NOTE: { rules: [31, 32, 33], inclusive: !1 }, SCALE: { rules: [13, 14], inclusive: !1 }, ALIAS: { rules: [], inclusive: !1 }, STATE_ID: { rules: [22], inclusive: !1 }, STATE_STRING: { rules: [23, 24], inclusive: !1 }, FORK_STATE: { rules: [], inclusive: !1 }, STATE: { rules: [9, 10, 16, 17, 18, 19, 20, 21, 25, 26, 27], inclusive: !1, }, ID: { rules: [9, 10], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 10, 11, 12, 15, 27, 30, 41, 42, 43, 44, 45, 46, 47, 49, 50, ], inclusive: !0, }, }, }; function x() { this.yy = {}; } return ( (S.lexer = k), (x.prototype = S), (S.Parser = x), new x() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/state/shapes.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'drawStartState', function () { return d; }), i.d(t, 'drawDivider', function () { return h; }), i.d(t, 'drawSimpleState', function () { return u; }), i.d(t, 'drawDescrState', function () { return g; }), i.d(t, 'addTitleAndBox', function () { return f; }), i.d(t, 'drawText', function () { return p; }), i.d(t, 'drawNote', function () { return m; }), i.d(t, 'drawState', function () { return _; }), i.d(t, 'drawEdge', function () { return v; }); var n = i('d3'), r = i('./src/diagrams/state/id-cache.js'), s = i('./src/diagrams/state/stateDb.js'), o = i('./src/utils.js'), a = i('./src/diagrams/common/common.js'), l = i('./src/config.js'), c = i('./src/logger.js'), d = function (e) { return e .append('circle') .attr('class', 'start-state') .attr('r', Object(l.getConfig)().state.sizeUnit) .attr( 'cx', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit ) .attr( 'cy', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit ); }, h = function (e) { return e .append('line') .style('stroke', 'grey') .style('stroke-dasharray', '3') .attr('x1', Object(l.getConfig)().state.textHeight) .attr('class', 'divider') .attr('x2', 2 * Object(l.getConfig)().state.textHeight) .attr('y1', 0) .attr('y2', 0); }, u = function (e, t) { var i = e .append('text') .attr('x', 2 * Object(l.getConfig)().state.padding) .attr( 'y', Object(l.getConfig)().state.textHeight + 2 * Object(l.getConfig)().state.padding ) .attr('font-size', Object(l.getConfig)().state.fontSize) .attr('class', 'state-title') .text(t.id), n = i.node().getBBox(); return ( e .insert('rect', ':first-child') .attr('x', Object(l.getConfig)().state.padding) .attr('y', Object(l.getConfig)().state.padding) .attr( 'width', n.width + 2 * Object(l.getConfig)().state.padding ) .attr( 'height', n.height + 2 * Object(l.getConfig)().state.padding ) .attr('rx', Object(l.getConfig)().state.radius), i ); }, g = function (e, t) { var i = e .append('text') .attr('x', 2 * Object(l.getConfig)().state.padding) .attr( 'y', Object(l.getConfig)().state.textHeight + 1.3 * Object(l.getConfig)().state.padding ) .attr('font-size', Object(l.getConfig)().state.fontSize) .attr('class', 'state-title') .text(t.descriptions[0]) .node() .getBBox(), n = i.height, r = e .append('text') .attr('x', Object(l.getConfig)().state.padding) .attr( 'y', n + 0.4 * Object(l.getConfig)().state.padding + Object(l.getConfig)().state.dividerMargin + Object(l.getConfig)().state.textHeight ) .attr('class', 'state-description'), s = !0, o = !0; t.descriptions.forEach(function (e) { s || ((function (e, t, i) { var n = e .append('tspan') .attr('x', 2 * Object(l.getConfig)().state.padding) .text(t); i || n.attr( 'dy', Object(l.getConfig)().state.textHeight ); })(r, e, o), (o = !1)), (s = !1); }); var a = e .append('line') .attr('x1', Object(l.getConfig)().state.padding) .attr( 'y1', Object(l.getConfig)().state.padding + n + Object(l.getConfig)().state.dividerMargin / 2 ) .attr( 'y2', Object(l.getConfig)().state.padding + n + Object(l.getConfig)().state.dividerMargin / 2 ) .attr('class', 'descr-divider'), c = r.node().getBBox(), d = Math.max(c.width, i.width); return ( a.attr('x2', d + 3 * Object(l.getConfig)().state.padding), e .insert('rect', ':first-child') .attr('x', Object(l.getConfig)().state.padding) .attr('y', Object(l.getConfig)().state.padding) .attr( 'width', d + 2 * Object(l.getConfig)().state.padding ) .attr( 'height', c.height + n + 2 * Object(l.getConfig)().state.padding ) .attr('rx', Object(l.getConfig)().state.radius), e ); }, f = function (e, t, i) { var n, r = Object(l.getConfig)().state.padding, s = 2 * Object(l.getConfig)().state.padding, o = e.node().getBBox(), a = o.width, c = o.x, d = e .append('text') .attr('x', 0) .attr('y', Object(l.getConfig)().state.titleShift) .attr('font-size', Object(l.getConfig)().state.fontSize) .attr('class', 'state-title') .text(t.id), h = d.node().getBBox().width + s, u = Math.max(h, a); u === a && (u += s); var g = e.node().getBBox(); t.doc, (n = c - r), h > a && (n = (a - u) / 2 + r), Math.abs(c - g.x) < r && h > a && (n = c - (h - a) / 2); var f = 1 - Object(l.getConfig)().state.textHeight; return ( e .insert('rect', ':first-child') .attr('x', n) .attr('y', f) .attr('class', i ? 'alt-composit' : 'composit') .attr('width', u) .attr( 'height', g.height + Object(l.getConfig)().state.textHeight + Object(l.getConfig)().state.titleShift + 1 ) .attr('rx', '0'), d.attr('x', n + r), h <= a && d.attr('x', c + (u - s) / 2 - h / 2 + r), e .insert('rect', ':first-child') .attr('x', n) .attr( 'y', Object(l.getConfig)().state.titleShift - Object(l.getConfig)().state.textHeight - Object(l.getConfig)().state.padding ) .attr('width', u) .attr( 'height', 3 * Object(l.getConfig)().state.textHeight ) .attr('rx', Object(l.getConfig)().state.radius), e .insert('rect', ':first-child') .attr('x', n) .attr( 'y', Object(l.getConfig)().state.titleShift - Object(l.getConfig)().state.textHeight - Object(l.getConfig)().state.padding ) .attr('width', u) .attr( 'height', g.height + 3 + 2 * Object(l.getConfig)().state.textHeight ) .attr('rx', Object(l.getConfig)().state.radius), e ); }, p = function (e, t) { var i = t.text.replace(a.default.lineBreakRegex, ' '), n = e.append('text'); n.attr('x', t.x), n.attr('y', t.y), n.style('text-anchor', t.anchor), n.attr('fill', t.fill), void 0 !== t.class && n.attr('class', t.class); var r = n.append('tspan'); return ( r.attr('x', t.x + 2 * t.textMargin), r.attr('fill', t.fill), r.text(i), n ); }, m = function (e, t) { t.attr('class', 'state-note'); var i = t .append('rect') .attr('x', 0) .attr('y', Object(l.getConfig)().state.padding), n = (function (e, t, i, n) { var r = 0, s = n.append('text'); s.style('text-anchor', 'start'), s.attr('class', 'noteText'); var o = e.replace(/\r\n/g, '
'), c = (o = o.replace(/\n/g, '
')).split( a.default.lineBreakRegex ), d = 1.25 * Object(l.getConfig)().state.noteMargin, h = !0, u = !1, g = void 0; try { for ( var f, p = c[Symbol.iterator](); !(h = (f = p.next()).done); h = !0 ) { var m = f.value.trim(); if (m.length > 0) { var _ = s.append('tspan'); _.text(m), 0 === d && (d += _.node().getBBox().height), (r += d), _.attr( 'x', 0 + Object(l.getConfig)().state.noteMargin ), _.attr( 'y', 0 + r + 1.25 * Object(l.getConfig)().state.noteMargin ); } } } catch (e) { (u = !0), (g = e); } finally { try { h || null == p.return || p.return(); } finally { if (u) throw g; } } return { textWidth: s.node().getBBox().width, textHeight: r, }; })(e, 0, 0, t.append('g')), r = n.textWidth, s = n.textHeight; return ( i.attr( 'height', s + 2 * Object(l.getConfig)().state.noteMargin ), i.attr( 'width', r + 2 * Object(l.getConfig)().state.noteMargin ), i ); }, _ = function (e, t) { var i = t.id, n = { id: i, label: t.id, width: 0, height: 0 }, s = e .append('g') .attr('id', i) .attr('class', 'stateGroup'); 'start' === t.type && d(s), 'end' === t.type && (function (e) { e .append('circle') .attr('class', 'end-state-outer') .attr( 'r', Object(l.getConfig)().state.sizeUnit + Object(l.getConfig)().state.miniPadding ) .attr( 'cx', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit + Object(l.getConfig)().state.miniPadding ) .attr( 'cy', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit + Object(l.getConfig)().state.miniPadding ), e .append('circle') .attr('class', 'end-state-inner') .attr('r', Object(l.getConfig)().state.sizeUnit) .attr( 'cx', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit + 2 ) .attr( 'cy', Object(l.getConfig)().state.padding + Object(l.getConfig)().state.sizeUnit + 2 ); })(s), ('fork' !== t.type && 'join' !== t.type) || (function (e, t) { var i = Object(l.getConfig)().state.forkWidth, n = Object(l.getConfig)().state.forkHeight; if (t.parentId) { var r = i; (i = n), (n = r); } e.append('rect') .style('stroke', 'black') .style('fill', 'black') .attr('width', i) .attr('height', n) .attr('x', Object(l.getConfig)().state.padding) .attr('y', Object(l.getConfig)().state.padding); })(s, t), 'note' === t.type && m(t.note.text, s), 'divider' === t.type && h(s), 'default' === t.type && 0 === t.descriptions.length && u(s, t), 'default' === t.type && t.descriptions.length > 0 && g(s, t); var o = s.node().getBBox(); return ( (n.width = o.width + 2 * Object(l.getConfig)().state.padding), (n.height = o.height + 2 * Object(l.getConfig)().state.padding), r.default.set(i, n), n ); }, b = 0, v = function (e, t, i) { t.points = t.points.filter(function (e) { return !Number.isNaN(e.y); }); var r = t.points, d = Object(n.line)() .x(function (e) { return e.x; }) .y(function (e) { return e.y; }) .curve(n.curveBasis), h = e .append('path') .attr('d', d(r)) .attr('id', 'edge' + b) .attr('class', 'transition'), u = ''; if ( (Object(l.getConfig)().state.arrowMarkerAbsolute && (u = (u = (u = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search).replace( /\(/g, '\\(' )).replace(/\)/g, '\\)')), h.attr( 'marker-end', 'url(' + u + '#' + (function (e) { switch (e) { case s.default.relationType.AGGREGATION: return 'aggregation'; case s.default.relationType.EXTENSION: return 'extension'; case s.default.relationType.COMPOSITION: return 'composition'; case s.default.relationType.DEPENDENCY: return 'dependency'; } })(s.default.relationType.DEPENDENCY) + 'End)' ), void 0 !== i.title) ) { for ( var g = e.append('g').attr('class', 'stateLabel'), f = o.default.calcLabelPosition(t.points), p = f.x, m = f.y, _ = a.default.getRows(i.title), v = 0, y = [], w = 0, C = 0, S = 0; S <= _.length; S++ ) { var k = g .append('text') .attr('text-anchor', 'middle') .text(_[S]) .attr('x', p) .attr('y', m + v), x = k.node().getBBox(); if ( ((w = Math.max(w, x.width)), (C = Math.min(C, x.x)), c.log.info(x.x, p, m + v), 0 === v) ) { var L = k.node().getBBox(); (v = L.height), c.log.info('Title height', v, m); } y.push(k); } var M = v * _.length; if (_.length > 1) { var D = (_.length - 1) * v * 0.5; y.forEach(function (e, t) { return e.attr('y', m + t * v - D); }), (M = v * _.length); } var N = g.node().getBBox(); g .insert('rect', ':first-child') .attr('class', 'box') .attr( 'x', p - w / 2 - Object(l.getConfig)().state.padding / 2 ) .attr( 'y', m - M / 2 - Object(l.getConfig)().state.padding / 2 - 3.5 ) .attr('width', w + Object(l.getConfig)().state.padding) .attr( 'height', M + Object(l.getConfig)().state.padding ), c.log.info(N); } b++; }; }, './src/diagrams/state/stateDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return d; }), i.d(t, 'addState', function () { return p; }), i.d(t, 'clear', function () { return m; }), i.d(t, 'getState', function () { return _; }), i.d(t, 'getStates', function () { return b; }), i.d(t, 'logDocuments', function () { return v; }), i.d(t, 'getRelations', function () { return y; }), i.d(t, 'addRelation', function () { return w; }), i.d(t, 'cleanupLabel', function () { return S; }), i.d(t, 'lineType', function () { return k; }), i.d(t, 'relationType', function () { return M; }); var n = i('./src/logger.js'), r = i('./src/utils.js'), s = i('./src/mermaidAPI.js'), o = i('./src/config.js'); function a(e) { return (a = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } var l = function (e) { return JSON.parse(JSON.stringify(e)); }, c = [], d = function (e, t, i) { s.default.parseDirective(this, e, t, i); }, h = function e(t, i, n) { if ('relation' === i.stmt) e(t, i.state1, !0), e(t, i.state2, !1); else if ( ('state' === i.stmt && '[*]' === i.id && ((i.id = n ? t.id + '_start' : t.id + '_end'), (i.start = n)), i.doc) ) { var s = [], o = 0, a = []; for (o = 0; o < i.doc.length; o++) if ('divider' === i.doc[o].type) { var c = l(i.doc[o]); (c.doc = l(a)), s.push(c), (a = []); } else a.push(i.doc[o]); if (s.length > 0 && a.length > 0) { var d = { stmt: 'state', id: Object(r.generateId)(), type: 'divider', doc: l(a), }; s.push(l(d)), (i.doc = s); } i.doc.forEach(function (t) { return e(i, t, !0); }); } }, u = { root: { relations: [], states: {}, documents: {} } }, g = u.root, f = 0, p = function (e, t, i, r, s) { void 0 === g.states[e] ? (g.states[e] = { id: e, descriptions: [], type: t, doc: i, note: s, }) : (g.states[e].doc || (g.states[e].doc = i), g.states[e].type || (g.states[e].type = t)), r && (n.log.info('Adding state ', e, r), 'string' == typeof r && C(e, r.trim()), 'object' === a(r) && r.forEach(function (t) { return C(e, t.trim()); })), s && (g.states[e].note = s); }, m = function () { (g = (u = { root: { relations: [], states: {}, documents: {} }, }).root), (g = u.root), (f = 0), (L = []); }, _ = function (e) { return g.states[e]; }, b = function () { return g.states; }, v = function () { n.log.info('Documents = ', u); }, y = function () { return g.relations; }, w = function (e, t, i) { var n = e, r = t, s = 'default', o = 'default'; '[*]' === e && ((n = 'start' + ++f), (s = 'start')), '[*]' === t && ((r = 'end' + f), (o = 'end')), p(n, s), p(r, o), g.relations.push({ id1: n, id2: r, title: i }); }, C = function (e, t) { var i = g.states[e], n = t; ':' === n[0] && (n = n.substr(1).trim()), i.descriptions.push(n); }, S = function (e) { return ':' === e.substring(0, 1) ? e.substr(2).trim() : e.trim(); }, k = { LINE: 0, DOTTED_LINE: 1 }, x = 0, L = [], M = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3, }; t.default = { parseDirective: d, getConfig: function () { return o.getConfig().state; }, addState: p, clear: m, getState: _, getStates: b, getRelations: y, getClasses: function () { return L; }, getDirection: function () { return 'TB'; }, addRelation: w, getDividerId: function () { return 'divider-id-' + ++x; }, cleanupLabel: S, lineType: k, relationType: M, logDocuments: v, getRootDoc: function () { return c; }, setRootDoc: function (e) { n.log.info('Setting root doc', e), (c = e); }, getRootDocV2: function () { return ( h({ id: 'root' }, { id: 'root', doc: c }, !0), { id: 'root', doc: c } ); }, extract: function (e) { var t; (t = e.doc ? e.doc : e), n.log.info(t), m(), n.log.info('Extract', t), t.forEach(function (e) { 'state' === e.stmt && p(e.id, e.type, e.doc, e.description, e.note), 'relation' === e.stmt && w(e.state1.id, e.state2.id, e.description); }); }, trimColon: function (e) { return e && ':' === e[0] ? e.substr(1).trim() : e.trim(); }, }; }, './src/diagrams/state/stateRenderer-v2.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return f; }), i.d(t, 'getClasses', function () { return m; }), i.d(t, 'draw', function () { return y; }); var n = i('graphlib'), r = i.n(n), s = i('d3'), o = i('./src/diagrams/state/stateDb.js'), a = i('./src/diagrams/state/parser/stateDiagram.jison'), l = i.n(a), c = i('./src/config.js'), d = i('./src/dagre-wrapper/index.js'), h = i('./src/logger.js'), u = i('./src/utils.js'), g = {}, f = function (e) { for (var t = Object.keys(e), i = 0; i < t.length; i++) g[t[i]] = e[t[i]]; }, p = {}, m = function (e) { h.log.trace('Extracting classes'), o.default.clear(); var t = l.a.parser; return ( (t.yy = o.default), t.parse(e), o.default.getClasses() ); }, _ = function (e, t, i, n) { if ('root' !== i.id) { var r = 'rect'; !0 === i.start && (r = 'start'), !1 === i.start && (r = 'end'), 'default' !== i.type && (r = i.type), p[i.id] || (p[i.id] = { id: i.id, shape: r, description: i.id, classes: 'statediagram-state', }), i.description && (Array.isArray(p[i.id].description) ? ((p[i.id].shape = 'rectWithTitle'), p[i.id].description.push(i.description)) : p[i.id].description.length > 0 ? ((p[i.id].shape = 'rectWithTitle'), p[i.id].description === i.id ? (p[i.id].description = [i.description]) : (p[i.id].description = [ p[i.id].description, i.description, ])) : ((p[i.id].shape = 'rect'), (p[i.id].description = i.description))), !p[i.id].type && i.doc && (h.log.info('Setting cluser for ', i.id), (p[i.id].type = 'group'), (p[i.id].shape = 'divider' === i.type ? 'divider' : 'roundedWithTitle'), (p[i.id].classes = p[i.id].classes + ' ' + (n ? 'statediagram-cluster statediagram-cluster-alt' : 'statediagram-cluster'))); var s = { labelStyle: '', shape: p[i.id].shape, labelText: p[i.id].description, classes: p[i.id].classes, style: '', id: i.id, domId: 'state-' + i.id + '-' + b, type: p[i.id].type, padding: 15, }; if (i.note) { var o = { labelStyle: '', shape: 'note', labelText: i.note.text, classes: 'statediagram-note', style: '', id: i.id + '----note', domId: 'state-' + i.id + '----note-' + b, type: p[i.id].type, padding: 15, }, a = { labelStyle: '', shape: 'noteGroup', labelText: i.note.text, classes: p[i.id].classes, style: '', id: i.id + '----parent', domId: 'state-' + i.id + '----parent-' + b, type: 'group', padding: 0, }; b++, e.setNode(i.id + '----parent', a), e.setNode(o.id, o), e.setNode(i.id, s), e.setParent(i.id, i.id + '----parent'), e.setParent(o.id, i.id + '----parent'); var l = i.id, c = o.id; 'left of' === i.note.position && ((l = o.id), (c = i.id)), e.setEdge(l, c, { arrowhead: 'none', arrowType: '', style: 'fill:none', labelStyle: '', classes: 'transition note-edge', arrowheadStyle: 'fill: #333', labelpos: 'c', labelType: 'text', thickness: 'normal', }); } else e.setNode(i.id, s); } t && 'root' !== t.id && (h.log.info( 'Setting node ', i.id, ' to be child of its parent ', t.id ), e.setParent(i.id, t.id)), i.doc && (h.log.info('Adding nodes children '), v(e, i, i.doc, !n)); }, b = 0, v = function (e, t, i, n) { (b = 0), h.log.trace('items', i), i.forEach(function (i) { if ('state' === i.stmt || 'default' === i.stmt) _(e, t, i, n); else if ('relation' === i.stmt) { _(e, t, i.state1, n), _(e, t, i.state2, n); var r = { id: 'edge' + b, arrowhead: 'normal', arrowTypeEnd: 'arrow_barb', style: 'fill:none', labelStyle: '', label: i.description, arrowheadStyle: 'fill: #333', labelpos: 'c', labelType: 'text', thickness: 'normal', classes: 'transition', }, s = i.state1.id, o = i.state2.id; e.setEdge(s, o, r, b), b++; } }); }, y = function (e, t) { h.log.info('Drawing state diagram (v2)', t), o.default.clear(), (p = {}); var i = l.a.parser; (i.yy = o.default), i.parse(e); var n = o.default.getDirection(); void 0 === n && (n = 'LR'); var a = Object(c.getConfig)().state, g = a.nodeSpacing || 50, f = a.rankSpacing || 50, m = new r.a.Graph({ multigraph: !0, compound: !0 }) .setGraph({ rankdir: 'TB', nodesep: g, ranksep: f, marginx: 8, marginy: 8, }) .setDefaultEdgeLabel(function () { return {}; }); h.log.info(o.default.getRootDocV2()), o.default.extract(o.default.getRootDocV2()), h.log.info(o.default.getRootDocV2()), _(m, void 0, o.default.getRootDocV2(), !0); var b = Object(s.select)('[id="'.concat(t, '"]')), v = Object(s.select)('#' + t + ' g'); Object(d.render)(v, m, ['barb'], 'statediagram', t); var y = b.node().getBBox(), w = y.width + 16, C = y.height + 16; b.attr('class', 'statediagram'); var S = b.node().getBBox(); Object(u.configureSvgSize)(b, C, 1.75 * w, a.useMaxWidth); var k = '' .concat(S.x - 8, ' ') .concat(S.y - 8, ' ') .concat(w, ' ') .concat(C); if ( (h.log.debug('viewBox '.concat(k)), b.attr('viewBox', k), !a.htmlLabels) ) for ( var x = document.querySelectorAll( '[id="' + t + '"] .edgeLabel .label' ), L = 0; L < x.length; L++ ) { var M = x[L], D = M.getBBox(), N = document.createElementNS( 'http://www.w3.org/2000/svg', 'rect' ); N.setAttribute('rx', 0), N.setAttribute('ry', 0), N.setAttribute('width', D.width), N.setAttribute('height', D.height), M.insertBefore(N, M.firstChild); } }; t.default = { setConf: f, getClasses: m, draw: y }; }, './src/diagrams/state/stateRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return _; }), i.d(t, 'draw', function () { return b; }); var n, r = i('d3'), s = i('dagre'), o = i.n(s), a = i('graphlib'), l = i.n(a), c = i('./src/logger.js'), d = i('./src/diagrams/state/stateDb.js'), h = i('./src/diagrams/common/common.js'), u = i('./src/diagrams/state/parser/stateDiagram.jison'), g = i('./src/diagrams/state/shapes.js'), f = i('./src/config.js'), p = i('./src/utils.js'); u.parser.yy = d.default; var m = {}, _ = function () {}, b = function (e, t) { (n = Object(f.getConfig)().state), u.parser.yy.clear(), u.parser.parse(e), c.log.debug('Rendering diagram ' + e); var i = Object(r.select)("[id='".concat(t, "']")); i .append('defs') .append('marker') .attr('id', 'dependencyEnd') .attr('refX', 19) .attr('refY', 7) .attr('markerWidth', 20) .attr('markerHeight', 28) .attr('orient', 'auto') .append('path') .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z'), new l.a.Graph({ multigraph: !0, compound: !0, rankdir: 'RL', }).setDefaultEdgeLabel(function () { return {}; }); var s = d.default.getRootDoc(); v(s, i, void 0, !1); var o = n.padding, a = i.node().getBBox(), h = a.width + 2 * o, g = a.height + 2 * o, m = 1.75 * h; Object(p.configureSvgSize)(i, g, m, n.useMaxWidth), i.attr( 'viewBox', '' .concat(a.x - n.padding, ' ') .concat(a.y - n.padding, ' ') + h + ' ' + g ); }, v = function e(t, i, s, a) { var u, f = new l.a.Graph({ compound: !0, multigraph: !0 }), p = !0; for (u = 0; u < t.length; u++) if ('relation' === t[u].stmt) { p = !1; break; } s ? f.setGraph({ rankdir: 'LR', multigraph: !0, compound: !0, ranker: 'tight-tree', ranksep: p ? 1 : n.edgeLengthFactor, nodeSep: p ? 1 : 50, isMultiGraph: !0, }) : f.setGraph({ rankdir: 'TB', multigraph: !0, compound: !0, ranksep: p ? 1 : n.edgeLengthFactor, nodeSep: p ? 1 : 50, ranker: 'tight-tree', isMultiGraph: !0, }), f.setDefaultEdgeLabel(function () { return {}; }), d.default.extract(t); for ( var _ = d.default.getStates(), b = d.default.getRelations(), v = Object.keys(_), y = 0; y < v.length; y++ ) { var w = _[v[y]]; s && (w.parentId = s); var C = void 0; if (w.doc) { var S = i .append('g') .attr('id', w.id) .attr('class', 'stateGroup'); C = e(w.doc, S, w.id, !a); var k = (S = Object(g.addTitleAndBox)(S, w, a)) .node() .getBBox(); (C.width = k.width), (C.height = k.height + n.padding / 2), (m[w.id] = { y: n.compositTitleSize }); } else C = Object(g.drawState)(i, w, f); if (w.note) { var x = { descriptions: [], id: w.id + '-note', note: w.note, type: 'note', }, L = Object(g.drawState)(i, x, f); 'left of' === w.note.position ? (f.setNode(C.id + '-note', L), f.setNode(C.id, C)) : (f.setNode(C.id, C), f.setNode(C.id + '-note', L)), f.setParent(C.id, C.id + '-group'), f.setParent(C.id + '-note', C.id + '-group'); } else f.setNode(C.id, C); } c.log.debug('Count=', f.nodeCount(), f); var M = 0; b.forEach(function (e) { var t; M++, c.log.debug('Setting edge', e), f.setEdge( e.id1, e.id2, { relation: e, width: ((t = e.title), t ? t.length * n.fontSizeFactor : 1), height: n.labelHeight * h.default.getRows(e.title).length, labelpos: 'c', }, 'id' + M ); }), o.a.layout(f), c.log.debug('Graph after layout', f.nodes()); var D = i.node(); f.nodes().forEach(function (e) { void 0 !== e && void 0 !== f.node(e) ? (c.log.warn( 'Node ' + e + ': ' + JSON.stringify(f.node(e)) ), Object(r.select)('#' + D.id + ' #' + e).attr( 'transform', 'translate(' + (f.node(e).x - f.node(e).width / 2) + ',' + (f.node(e).y + (m[e] ? m[e].y : 0) - f.node(e).height / 2) + ' )' ), Object(r.select)('#' + D.id + ' #' + e).attr( 'data-x-shift', f.node(e).x - f.node(e).width / 2 ), document .querySelectorAll( '#' + D.id + ' #' + e + ' .divider' ) .forEach(function (e) { var t = e.parentElement, i = 0, n = 0; t && (t.parentElement && (i = t.parentElement.getBBox().width), (n = parseInt( t.getAttribute('data-x-shift'), 10 )), Number.isNaN(n) && (n = 0)), e.setAttribute('x1', 0 - n + 8), e.setAttribute('x2', i - n - 8); })) : c.log.debug( 'No Node ' + e + ': ' + JSON.stringify(f.node(e)) ); }); var N = D.getBBox(); f.edges().forEach(function (e) { void 0 !== e && void 0 !== f.edge(e) && (c.log.debug( 'Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(f.edge(e)) ), Object(g.drawEdge)(i, f.edge(e), f.edge(e).relation)); }), (N = D.getBBox()); var E = { id: s || 'root', label: s || 'root', width: 0, height: 0, }; return ( (E.width = N.width + 2 * n.padding), (E.height = N.height + 2 * n.padding), c.log.debug('Doc rendered', E, f), E ); }; t.default = { setConf: _, draw: b }; }, './src/diagrams/state/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return 'g.stateGroup text {\n fill: ' .concat( e.nodeBorder, ';\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ' ) .concat( e.textColor, ';\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ' ) .concat( e.labelColor, ';\n}\n\ng.stateGroup rect {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n}\n\ng.stateGroup line {\n stroke: ' ) .concat( e.lineColor, ';\n stroke-width: 1;\n}\n\n.transition {\n stroke: ' ) .concat( e.lineColor, ';\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ' ) .concat( e.background, ';\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ' ) .concat(e.noteBorderColor, ';\n fill: ') .concat( e.noteBkgColor, ';\n\n text {\n fill: black;\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ' ) .concat( e.mainBkg, ';\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ' ) .concat( e.tertiaryColor, ';\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ' ) .concat( e.tertiaryTextColor, ';\n}\n.label div .edgeLabel {\n color: ' ) .concat( e.tertiaryTextColor, ';\n}\n\n.stateLabel text {\n fill: ' ) .concat( e.labelColor, ';\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ' ) .concat( e.lineColor, ';\n stroke: black;\n}\n.node circle.state-end {\n fill: ' ) .concat(e.primaryBorderColor, ';\n stroke: ') .concat( e.background, ';\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ' ) .concat(e.background, ';\n // stroke: ') .concat( e.background, ';\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ' ) .concat( e.lineColor, ';\n}\n\n.statediagram-cluster rect {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ' ) .concat( e.textColor, ';\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ' ) .concat( e.nodeBorder, ';\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ' ) .concat( e.background, ';\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: #e0e0e0;\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ' ) .concat( e.altBackground ? e.altBackground : '#efefef', ';\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ' ) .concat(e.noteBkgColor, ';\n stroke: ') .concat( e.noteBorderColor, ';\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ' ) .concat(e.noteBkgColor, ';\n stroke: ') .concat( e.noteBorderColor, ';\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ' ) .concat( e.noteTextColor, ';\n}\n\n.statediagram-note .nodeLabel {\n color: ' ) .concat( e.noteTextColor, ';\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ' ) .concat(e.lineColor, ';\n stroke: ') .concat(e.lineColor, ';\n stroke-width: 1;\n}\n'); }); }, './src/diagrams/user-journey/journeyDb.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'parseDirective', function () { return h; }), i.d(t, 'clear', function () { return u; }), i.d(t, 'setTitle', function () { return g; }), i.d(t, 'getTitle', function () { return f; }), i.d(t, 'addSection', function () { return p; }), i.d(t, 'getSections', function () { return m; }), i.d(t, 'getTasks', function () { return _; }), i.d(t, 'addTask', function () { return b; }), i.d(t, 'addTaskOrg', function () { return v; }); var n = i('./src/mermaidAPI.js'), r = i('./src/config.js'); function s(e) { return ( (function (e) { if (Array.isArray(e)) { for ( var t = 0, i = new Array(e.length); t < e.length; t++ ) i[t] = e[t]; return i; } })(e) || (function (e) { if ( Symbol.iterator in Object(e) || '[object Arguments]' === Object.prototype.toString.call(e) ) return Array.from(e); })(e) || (function () { throw new TypeError( 'Invalid attempt to spread non-iterable instance' ); })() ); } var o = '', a = '', l = [], c = [], d = [], h = function (e, t, i) { n.default.parseDirective(this, e, t, i); }, u = function () { (l.length = 0), (c.length = 0), (a = ''), (o = ''), (d.length = 0); }, g = function (e) { o = e; }, f = function () { return o; }, p = function (e) { (a = e), l.push(e); }, m = function () { return l; }, _ = function () { for (var e = y(), t = 0; !e && t < 100; ) (e = y()), t++; return c.push.apply(c, d), c; }, b = function (e, t) { var i = t.substr(1).split(':'), n = 0, r = []; 1 === i.length ? ((n = Number(i[0])), (r = [])) : ((n = Number(i[0])), (r = i[1].split(','))); var s = r.map(function (e) { return e.trim(); }), o = { section: a, type: a, people: s, task: e, score: n }; d.push(o); }, v = function (e) { var t = { section: a, type: a, description: e, task: e, classes: [], }; c.push(t); }, y = function () { for (var e = !0, t = 0; t < d.length; t++) d[t].processed, (e = e && d[t].processed); return e; }; t.default = { parseDirective: h, getConfig: function () { return r.getConfig().journey; }, clear: u, setTitle: g, getTitle: f, addSection: p, getSections: m, getTasks: _, addTask: b, addTaskOrg: v, getActors: function () { return ( (e = []), c.forEach(function (t) { t.people && e.push.apply(e, s(t.people)); }), s(new Set(e)).sort() ); var e; }, }; }, './src/diagrams/user-journey/journeyRenderer.js': function ( e, t, i ) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return c; }), i.d(t, 'draw', function () { return g; }), i.d(t, 'bounds', function () { return f; }), i.d(t, 'drawTasks', function () { return _; }); var n = i('d3'), r = i('./src/diagrams/user-journey/parser/journey.jison'), s = i('./src/diagrams/user-journey/journeyDb.js'), o = i('./src/diagrams/user-journey/svgDraw.js'), a = i('./src/config.js'), l = i('./src/utils.js'); r.parser.yy = s.default; var c = function (e) { Object.keys(e).forEach(function (t) { h[t] = e[t]; }); }, d = {}, h = Object(a.getConfig)().journey, u = Object(a.getConfig)().journey.leftMargin, g = function (e, t) { var i = Object(a.getConfig)().journey; r.parser.yy.clear(), r.parser.parse(e + '\n'), f.init(); var s = Object(n.select)('#' + t); s.attr('xmlns:xlink', 'http://www.w3.org/1999/xlink'), o.default.initGraphics(s); var c = r.parser.yy.getTasks(), h = r.parser.yy.getTitle(), g = r.parser.yy.getActors(); for (var p in d) delete d[p]; var m = 0; g.forEach(function (e) { (d[e] = i.actorColours[m % i.actorColours.length]), m++; }), (function (e) { var t = Object(a.getConfig)().journey, i = 60; Object.keys(d).forEach(function (n) { var r = d[n], s = { cx: 20, cy: i, r: 7, fill: r, stroke: '#000', }; o.default.drawCircle(e, s); var a = { x: 40, y: i + 7, fill: '#666', text: n, textMargin: 5 | t.boxTextMargin, }; o.default.drawText(e, a), (i += 20); }); })(s), f.insert(0, 0, u, 50 * Object.keys(d).length), console.log(f), _(s, c, 0); var b = f.getBounds(); h && s .append('text') .text(h) .attr('x', u) .attr('font-size', '4ex') .attr('font-weight', 'bold') .attr('y', 25); var v = b.stopy - b.starty + 2 * i.diagramMarginY, y = u + b.stopx + 2 * i.diagramMarginX; Object(l.configureSvgSize)(s, v, y, i.useMaxWidth), s .append('line') .attr('x1', u) .attr('y1', 4 * i.height) .attr('x2', y - u - 4) .attr('y2', 4 * i.height) .attr('stroke-width', 4) .attr('stroke', 'black') .attr('marker-end', 'url(#arrowhead)'); var w = h ? 70 : 0; s.attr( 'viewBox', '' .concat(b.startx, ' -25 ') .concat(y, ' ') .concat(v + w) ), s.attr('preserveAspectRatio', 'xMinYMin meet'), s.attr('height', v + w + 25); }, f = { data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, }, verticalPos: 0, sequenceItems: [], init: function () { (this.sequenceItems = []), (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, }), (this.verticalPos = 0); }, updateVal: function (e, t, i, n) { void 0 === e[t] ? (e[t] = i) : (e[t] = n(i, e[t])); }, updateBounds: function (e, t, i, n) { var r = Object(a.getConfig)().journey, s = this, o = 0; this.sequenceItems.forEach(function (a) { o++; var l = s.sequenceItems.length - o + 1; s.updateVal(a, 'starty', t - l * r.boxMargin, Math.min), s.updateVal( a, 'stopy', n + l * r.boxMargin, Math.max ), s.updateVal( f.data, 'startx', e - l * r.boxMargin, Math.min ), s.updateVal( f.data, 'stopx', i + l * r.boxMargin, Math.max ), s.updateVal( a, 'startx', e - l * r.boxMargin, Math.min ), s.updateVal( a, 'stopx', i + l * r.boxMargin, Math.max ), s.updateVal( f.data, 'starty', t - l * r.boxMargin, Math.min ), s.updateVal( f.data, 'stopy', n + l * r.boxMargin, Math.max ); }); }, insert: function (e, t, i, n) { var r = Math.min(e, i), s = Math.max(e, i), o = Math.min(t, n), a = Math.max(t, n); this.updateVal(f.data, 'startx', r, Math.min), this.updateVal(f.data, 'starty', o, Math.min), this.updateVal(f.data, 'stopx', s, Math.max), this.updateVal(f.data, 'stopy', a, Math.max), this.updateBounds(r, o, s, a); }, bumpVerticalPos: function (e) { (this.verticalPos = this.verticalPos + e), (this.data.stopy = this.verticalPos); }, getVerticalPos: function () { return this.verticalPos; }, getBounds: function () { return this.data; }, }, p = h.sectionFills, m = h.sectionColours, _ = function (e, t, i) { for ( var n = Object(a.getConfig)().journey, r = '', s = i + (2 * n.height + n.diagramMarginY), l = 0, c = '#CCC', h = 'black', g = 0, _ = 0; _ < t.length; _++ ) { var b = t[_]; if (r !== b.section) { (c = p[l % p.length]), (g = l % p.length), (h = m[l % m.length]); var v = { x: _ * n.taskMargin + _ * n.width + u, y: 50, text: b.section, fill: c, num: g, colour: h, }; o.default.drawSection(e, v, n), (r = b.section), l++; } var y = b.people.reduce(function (e, t) { return d[t] && (e[t] = d[t]), e; }, {}); (b.x = _ * n.taskMargin + _ * n.width + u), (b.y = s), (b.width = n.diagramMarginX), (b.height = n.diagramMarginY), (b.colour = h), (b.fill = c), (b.num = g), (b.actors = y), o.default.drawTask(e, b, n), f.insert(b.x, b.y, b.x + b.width + n.taskMargin, 450); } }; t.default = { setConf: c, draw: g }; }, './src/diagrams/user-journey/parser/journey.jison': function ( e, t, i ) { (function (e, n) { var r = (function () { var e = function (e, t, i, n) { for (i = i || {}, n = e.length; n--; i[e[n]] = t); return i; }, t = [1, 2], i = [1, 5], n = [6, 9, 11, 17, 18, 19, 21], r = [1, 15], s = [1, 16], o = [1, 17], a = [1, 21], l = [4, 6, 9, 11, 17, 18, 19, 21], c = { trace: function () {}, yy: {}, symbols_: { error: 2, start: 3, journey: 4, document: 5, EOF: 6, directive: 7, line: 8, SPACE: 9, statement: 10, NEWLINE: 11, openDirective: 12, typeDirective: 13, closeDirective: 14, ':': 15, argDirective: 16, title: 17, section: 18, taskName: 19, taskData: 20, open_directive: 21, type_directive: 22, arg_directive: 23, close_directive: 24, $accept: 0, $end: 1, }, terminals_: { 2: 'error', 4: 'journey', 6: 'EOF', 9: 'SPACE', 11: 'NEWLINE', 15: ':', 17: 'title', 18: 'section', 19: 'taskName', 20: 'taskData', 21: 'open_directive', 22: 'type_directive', 23: 'arg_directive', 24: 'close_directive', }, productions_: [ 0, [3, 3], [3, 2], [5, 0], [5, 2], [8, 2], [8, 1], [8, 1], [8, 1], [7, 4], [7, 6], [10, 1], [10, 1], [10, 2], [10, 1], [12, 1], [13, 1], [16, 1], [14, 1], ], performAction: function (e, t, i, n, r, s, o) { var a = s.length - 1; switch (r) { case 1: return s[a - 1]; case 3: this.$ = []; break; case 4: s[a - 1].push(s[a]), (this.$ = s[a - 1]); break; case 5: case 6: this.$ = s[a]; break; case 7: case 8: this.$ = []; break; case 11: n.setTitle(s[a].substr(6)), (this.$ = s[a].substr(6)); break; case 12: n.addSection(s[a].substr(8)), (this.$ = s[a].substr(8)); break; case 13: n.addTask(s[a - 1], s[a]), (this.$ = 'task'); break; case 15: n.parseDirective('%%{', 'open_directive'); break; case 16: n.parseDirective(s[a], 'type_directive'); break; case 17: (s[a] = s[a].trim().replace(/'/g, '"')), n.parseDirective(s[a], 'arg_directive'); break; case 18: n.parseDirective( '}%%', 'close_directive', 'journey' ); } }, table: [ { 3: 1, 4: t, 7: 3, 12: 4, 21: i }, { 1: [3] }, e(n, [2, 3], { 5: 6 }), { 3: 7, 4: t, 7: 3, 12: 4, 21: i }, { 13: 8, 22: [1, 9] }, { 22: [2, 15] }, { 6: [1, 10], 7: 18, 8: 11, 9: [1, 12], 10: 13, 11: [1, 14], 12: 4, 17: r, 18: s, 19: o, 21: i, }, { 1: [2, 2] }, { 14: 19, 15: [1, 20], 24: a }, e([15, 24], [2, 16]), e(n, [2, 8], { 1: [2, 1] }), e(n, [2, 4]), { 7: 18, 10: 22, 12: 4, 17: r, 18: s, 19: o, 21: i }, e(n, [2, 6]), e(n, [2, 7]), e(n, [2, 11]), e(n, [2, 12]), { 20: [1, 23] }, e(n, [2, 14]), { 11: [1, 24] }, { 16: 25, 23: [1, 26] }, { 11: [2, 18] }, e(n, [2, 5]), e(n, [2, 13]), e(l, [2, 9]), { 14: 27, 24: a }, { 24: [2, 17] }, { 11: [1, 28] }, e(l, [2, 10]), ], defaultActions: { 5: [2, 15], 7: [2, 2], 21: [2, 18], 26: [2, 17], }, parseError: function (e, t) { if (!t.recoverable) { var i = new Error(e); throw ((i.hash = t), i); } this.trace(e); }, parse: function (e) { var t = this, i = [0], n = [], r = [null], s = [], o = this.table, a = '', l = 0, c = 0, d = 0, h = 2, u = 1, g = s.slice.call(arguments, 1), f = Object.create(this.lexer), p = { yy: {} }; for (var m in this.yy) Object.prototype.hasOwnProperty.call(this.yy, m) && (p.yy[m] = this.yy[m]); f.setInput(e, p.yy), (p.yy.lexer = f), (p.yy.parser = this), void 0 === f.yylloc && (f.yylloc = {}); var _ = f.yylloc; s.push(_); var b = f.options && f.options.ranges; function v() { var e; return ( 'number' != typeof (e = n.pop() || f.lex() || u) && (e instanceof Array && (e = (n = e).pop()), (e = t.symbols_[e] || e)), e ); } 'function' == typeof p.yy.parseError ? (this.parseError = p.yy.parseError) : (this.parseError = Object.getPrototypeOf( this ).parseError); for (var y, w, C, S, k, x, L, M, D, N = {}; ; ) { if ( ((C = i[i.length - 1]), this.defaultActions[C] ? (S = this.defaultActions[C]) : (null == y && (y = v()), (S = o[C] && o[C][y])), void 0 === S || !S.length || !S[0]) ) { var E = ''; for (x in ((D = []), o[C])) this.terminals_[x] && x > h && D.push("'" + this.terminals_[x] + "'"); (E = f.showPosition ? 'Parse error on line ' + (l + 1) + ':\n' + f.showPosition() + '\nExpecting ' + D.join(', ') + ", got '" + (this.terminals_[y] || y) + "'" : 'Parse error on line ' + (l + 1) + ': Unexpected ' + (y == u ? 'end of input' : "'" + (this.terminals_[y] || y) + "'")), this.parseError(E, { text: f.match, token: this.terminals_[y] || y, line: f.yylineno, loc: _, expected: D, }); } if (S[0] instanceof Array && S.length > 1) throw new Error( 'Parse Error: multiple actions possible at state: ' + C + ', token: ' + y ); switch (S[0]) { case 1: i.push(y), r.push(f.yytext), s.push(f.yylloc), i.push(S[1]), (y = null), w ? ((y = w), (w = null)) : ((c = f.yyleng), (a = f.yytext), (l = f.yylineno), (_ = f.yylloc), d > 0 && d--); break; case 2: if ( ((L = this.productions_[S[1]][1]), (N.$ = r[r.length - L]), (N._$ = { first_line: s[s.length - (L || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (L || 1)].first_column, last_column: s[s.length - 1].last_column, }), b && (N._$.range = [ s[s.length - (L || 1)].range[0], s[s.length - 1].range[1], ]), void 0 !== (k = this.performAction.apply( N, [a, c, l, p.yy, S[1], r, s].concat(g) ))) ) return k; L && ((i = i.slice(0, -1 * L * 2)), (r = r.slice(0, -1 * L)), (s = s.slice(0, -1 * L))), i.push(this.productions_[S[1]][0]), r.push(N.$), s.push(N._$), (M = o[i[i.length - 2]][i[i.length - 1]]), i.push(M); break; case 3: return !0; } } return !0; }, }, d = { EOF: 1, parseError: function (e, t) { if (!this.yy.parser) throw new Error(e); this.yy.parser.parseError(e, t); }, setInput: function (e, t) { return ( (this.yy = t || this.yy || {}), (this._input = e), (this._more = this._backtrack = this.done = !1), (this.yylineno = this.yyleng = 0), (this.yytext = this.matched = this.match = ''), (this.conditionStack = ['INITIAL']), (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0, }), this.options.ranges && (this.yylloc.range = [0, 0]), (this.offset = 0), this ); }, input: function () { var e = this._input[0]; return ( (this.yytext += e), this.yyleng++, this.offset++, (this.match += e), (this.matched += e), e.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, (this._input = this._input.slice(1)), e ); }, unput: function (e) { var t = e.length, i = e.split(/(?:\r\n?|\n)/g); (this._input = e + this._input), (this.yytext = this.yytext.substr( 0, this.yytext.length - t )), (this.offset -= t); var n = this.match.split(/(?:\r\n?|\n)/g); (this.match = this.match.substr( 0, this.match.length - 1 )), (this.matched = this.matched.substr( 0, this.matched.length - 1 )), i.length - 1 && (this.yylineno -= i.length - 1); var r = this.yylloc.range; return ( (this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: i ? (i.length === n.length ? this.yylloc.first_column : 0) + n[n.length - i.length].length - i[0].length : this.yylloc.first_column - t, }), this.options.ranges && (this.yylloc.range = [ r[0], r[0] + this.yyleng - t, ]), (this.yyleng = this.yytext.length), this ); }, more: function () { return (this._more = !0), this; }, reject: function () { return this.options.backtrack_lexer ? ((this._backtrack = !0), this) : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, less: function (e) { this.unput(this.match.slice(e)); }, pastInput: function () { var e = this.matched.substr( 0, this.matched.length - this.match.length ); return ( (e.length > 20 ? '...' : '') + e.substr(-20).replace(/\n/g, '') ); }, upcomingInput: function () { var e = this.match; return ( e.length < 20 && (e += this._input.substr(0, 20 - e.length)), ( e.substr(0, 20) + (e.length > 20 ? '...' : '') ).replace(/\n/g, '') ); }, showPosition: function () { var e = this.pastInput(), t = new Array(e.length + 1).join('-'); return e + this.upcomingInput() + '\n' + t + '^'; }, test_match: function (e, t) { var i, n, r; if ( (this.options.backtrack_lexer && ((r = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column, }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done, }), this.options.ranges && (r.yylloc.range = this.yylloc.range.slice(0))), (n = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += n.length), (this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: n ? n[n.length - 1].length - n[n.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length, }), (this.yytext += e[0]), (this.match += e[0]), (this.matches = e), (this.yyleng = this.yytext.length), this.options.ranges && (this.yylloc.range = [ this.offset, (this.offset += this.yyleng), ]), (this._more = !1), (this._backtrack = !1), (this._input = this._input.slice(e[0].length)), (this.matched += e[0]), (i = this.performAction.call( this, this.yy, this, t, this.conditionStack[ this.conditionStack.length - 1 ] )), this.done && this._input && (this.done = !1), i) ) return i; if (this._backtrack) { for (var s in r) this[s] = r[s]; return !1; } return !1; }, next: function () { if (this.done) return this.EOF; var e, t, i, n; this._input || (this.done = !0), this._more || ((this.yytext = ''), (this.match = '')); for ( var r = this._currentRules(), s = 0; s < r.length; s++ ) if ( (i = this._input.match(this.rules[r[s]])) && (!t || i[0].length > t[0].length) ) { if ( ((t = i), (n = s), this.options.backtrack_lexer) ) { if (!1 !== (e = this.test_match(i, r[s]))) return e; if (this._backtrack) { t = !1; continue; } return !1; } if (!this.options.flex) break; } return t ? !1 !== (e = this.test_match(t, r[n])) && e : '' === this._input ? this.EOF : this.parseError( 'Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: '', token: null, line: this.yylineno } ); }, lex: function () { return this.next() || this.lex(); }, begin: function (e) { this.conditionStack.push(e); }, popState: function () { return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]; }, _currentRules: function () { return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[ this.conditionStack[ this.conditionStack.length - 1 ] ].rules : this.conditions.INITIAL.rules; }, topState: function (e) { return (e = this.conditionStack.length - 1 - Math.abs(e || 0)) >= 0 ? this.conditionStack[e] : 'INITIAL'; }, pushState: function (e) { this.begin(e); }, stateStackSize: function () { return this.conditionStack.length; }, options: { 'case-insensitive': !0 }, performAction: function (e, t, i, n) { switch (i) { case 0: return this.begin('open_directive'), 21; case 1: return this.begin('type_directive'), 22; case 2: return ( this.popState(), this.begin('arg_directive'), 15 ); case 3: return this.popState(), this.popState(), 24; case 4: return 23; case 5: case 6: break; case 7: return 11; case 8: case 9: break; case 10: return 4; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 15: return 15; case 16: return 6; case 17: return 'INVALID'; } }, rules: [ /^(?:%%\{)/i, /^(?:((?:(?!\}%%)[^:.])*))/i, /^(?::)/i, /^(?:\}%%)/i, /^(?:((?:(?!\}%%).|\n)*))/i, /^(?:%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:journey\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:section\s[^#:\n;]+)/i, /^(?:[^#:\n;]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i, ], conditions: { open_directive: { rules: [1], inclusive: !1 }, type_directive: { rules: [2, 3], inclusive: !1 }, arg_directive: { rules: [3, 4], inclusive: !1 }, INITIAL: { rules: [ 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ], inclusive: !0, }, }, }; function h() { this.yy = {}; } return ( (c.lexer = d), (h.prototype = c), (c.Parser = h), new h() ); })(); (t.parser = r), (t.Parser = r.Parser), (t.parse = function () { return r.parse.apply(r, arguments); }), (t.main = function (n) { n[1] || (console.log('Usage: ' + n[0] + ' FILE'), e.exit(1)); var r = i( './node_modules/node-libs-browser/mock/empty.js' ).readFileSync( i('./node_modules/path-browserify/index.js').normalize( n[1] ), 'utf8' ); return t.parser.parse(r); }), i.c[i.s] === n && t.main(e.argv.slice(1)); }.call( this, i('./node_modules/process/browser.js'), i('./node_modules/webpack/buildin/module.js')(e) )); }, './src/diagrams/user-journey/styles.js': function (e, t, i) { 'use strict'; i.r(t), (t.default = function (e) { return ".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: " .concat( e.textColor, ';\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ' ) .concat(e.textColor, '\n }\n\n .legend {\n fill: ') .concat( e.textColor, ';\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ' ) .concat( e.textColor, '\n }\n\n .face {\n fill: #FFF8DC;\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ' ) .concat(e.mainBkg, ';\n stroke: ') .concat( e.nodeBorder, ';\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ' ) .concat( e.arrowheadColor, ';\n }\n\n .edgePath .path {\n stroke: ' ) .concat( e.lineColor, ';\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ' ) .concat( e.lineColor, ';\n fill: none;\n }\n\n .edgeLabel {\n background-color: ' ) .concat( e.edgeLabelBackground, ';\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ' ) .concat( e.titleColor, ";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: " ) .concat(e.tertiaryColor, ';\n border: 1px solid ') .concat( e.border2, ';\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType0) : '', ';\n }\n .task-type-1, .section-type-1 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType1) : '', ';\n }\n .task-type-2, .section-type-2 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType2) : '', ';\n }\n .task-type-3, .section-type-3 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType3) : '', ';\n }\n .task-type-4, .section-type-4 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType4) : '', ';\n }\n .task-type-5, .section-type-5 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType5) : '', ';\n }\n .task-type-6, .section-type-6 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType6) : '', ';\n }\n .task-type-7, .section-type-7 {\n ' ) .concat( e.fillType0 ? 'fill: '.concat(e.fillType7) : '', ';\n }\n' ); }); }, './src/diagrams/user-journey/svgDraw.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'drawRect', function () { return r; }), i.d(t, 'drawFace', function () { return s; }), i.d(t, 'drawCircle', function () { return o; }), i.d(t, 'drawText', function () { return a; }), i.d(t, 'drawLabel', function () { return l; }), i.d(t, 'drawSection', function () { return c; }), i.d(t, 'drawTask', function () { return h; }), i.d(t, 'drawBackgroundRect', function () { return u; }), i.d(t, 'getTextObj', function () { return g; }), i.d(t, 'getNoteRect', function () { return f; }); var n = i('d3'), r = function (e, t) { var i = e.append('rect'); return ( i.attr('x', t.x), i.attr('y', t.y), i.attr('fill', t.fill), i.attr('stroke', t.stroke), i.attr('width', t.width), i.attr('height', t.height), i.attr('rx', t.rx), i.attr('ry', t.ry), void 0 !== t.class && i.attr('class', t.class), i ); }, s = function (e, t) { var i = e .append('circle') .attr('cx', t.cx) .attr('cy', t.cy) .attr('class', 'face') .attr('r', 15) .attr('stroke-width', 2) .attr('overflow', 'visible'), r = e.append('g'); return ( r .append('circle') .attr('cx', t.cx - 5) .attr('cy', t.cy - 5) .attr('r', 1.5) .attr('stroke-width', 2) .attr('fill', '#666') .attr('stroke', '#666'), r .append('circle') .attr('cx', t.cx + 5) .attr('cy', t.cy - 5) .attr('r', 1.5) .attr('stroke-width', 2) .attr('fill', '#666') .attr('stroke', '#666'), t.score > 3 ? (function (e) { var i = Object(n.arc)() .startAngle(Math.PI / 2) .endAngle((Math.PI / 2) * 3) .innerRadius(7.5) .outerRadius(15 / 2.2); e.append('path') .attr('class', 'mouth') .attr('d', i) .attr( 'transform', 'translate(' + t.cx + ',' + (t.cy + 2) + ')' ); })(r) : t.score < 3 ? (function (e) { var i = Object(n.arc)() .startAngle((3 * Math.PI) / 2) .endAngle((Math.PI / 2) * 5) .innerRadius(7.5) .outerRadius(15 / 2.2); e.append('path') .attr('class', 'mouth') .attr('d', i) .attr( 'transform', 'translate(' + t.cx + ',' + (t.cy + 7) + ')' ); })(r) : (function (e) { e.append('line') .attr('class', 'mouth') .attr('stroke', 2) .attr('x1', t.cx - 5) .attr('y1', t.cy + 7) .attr('x2', t.cx + 5) .attr('y2', t.cy + 7) .attr('class', 'mouth') .attr('stroke-width', '1px') .attr('stroke', '#666'); })(r), i ); }, o = function (e, t) { var i = e.append('circle'); return ( i.attr('cx', t.cx), i.attr('cy', t.cy), i.attr('fill', t.fill), i.attr('stroke', t.stroke), i.attr('r', t.r), void 0 !== i.class && i.attr('class', i.class), void 0 !== t.title && i.append('title').text(t.title), i ); }, a = function (e, t) { var i = t.text.replace(//gi, ' '), n = e.append('text'); n.attr('x', t.x), n.attr('y', t.y), n.attr('class', 'legend'), n.style('text-anchor', t.anchor), void 0 !== t.class && n.attr('class', t.class); var r = n.append('tspan'); return r.attr('x', t.x + 2 * t.textMargin), r.text(i), n; }, l = function (e, t) { var i, n, r = e.append('polygon'); r.attr( 'points', (i = t.x) + ',' + (n = t.y) + ' ' + (i + 50) + ',' + n + ' ' + (i + 50) + ',' + (n + 20 - 7) + ' ' + (i + 50 - 8.4) + ',' + (n + 20) + ' ' + i + ',' + (n + 20) ), r.attr('class', 'labelBox'), (t.y = t.y + t.labelMargin), (t.x = t.x + 0.5 * t.labelMargin), a(e, t); }, c = function (e, t, i) { var n = e.append('g'), s = f(); (s.x = t.x), (s.y = t.y), (s.fill = t.fill), (s.width = i.width), (s.height = i.height), (s.class = 'journey-section section-type-' + t.num), (s.rx = 3), (s.ry = 3), r(n, s), p(i)( t.text, n, s.x, s.y, s.width, s.height, { class: 'journey-section section-type-' + t.num }, i, t.colour ); }, d = -1, h = function (e, t, i) { var n = t.x + i.width / 2, a = e.append('g'); d++, a .append('line') .attr('id', 'task' + d) .attr('x1', n) .attr('y1', t.y) .attr('x2', n) .attr('y2', 450) .attr('class', 'task-line') .attr('stroke-width', '1px') .attr('stroke-dasharray', '4 2') .attr('stroke', '#666'), s(a, { cx: n, cy: 300 + 30 * (5 - t.score), score: t.score, }); var l = f(); (l.x = t.x), (l.y = t.y), (l.fill = t.fill), (l.width = i.width), (l.height = i.height), (l.class = 'task task-type-' + t.num), (l.rx = 3), (l.ry = 3), r(a, l); var c = t.x + 14; t.people.forEach(function (e) { var i = t.actors[e], n = { cx: c, cy: t.y, r: 7, fill: i, stroke: '#000', title: e, }; o(a, n), (c += 10); }), p(i)( t.task, a, l.x, l.y, l.width, l.height, { class: 'task' }, i, t.colour ); }, u = function (e, t) { r(e, { x: t.startx, y: t.starty, width: t.stopx - t.startx, height: t.stopy - t.starty, fill: t.fill, class: 'rect', }).lower(); }, g = function () { return { x: 0, y: 0, fill: void 0, 'text-anchor': 'start', width: 100, height: 100, textMargin: 0, rx: 0, ry: 0, }; }, f = function () { return { x: 0, y: 0, width: 100, anchor: 'start', height: 100, rx: 0, ry: 0, }; }, p = (function () { function e(e, t, i, r, s, o, a, l) { n( t .append('text') .attr('x', i + s / 2) .attr('y', r + o / 2 + 5) .style('font-color', l) .style('text-anchor', 'middle') .text(e), a ); } function t(e, t, i, r, s, o, a, l, c) { for ( var d = l.taskFontSize, h = l.taskFontFamily, u = e.split(//gi), g = 0; g < u.length; g++ ) { var f = g * d - (d * (u.length - 1)) / 2, p = t .append('text') .attr('x', i + s / 2) .attr('y', r) .attr('fill', c) .style('text-anchor', 'middle') .style('font-size', d) .style('font-family', h); p .append('tspan') .attr('x', i + s / 2) .attr('dy', f) .text(u[g]), p .attr('y', r + o / 2) .attr('dominant-baseline', 'central') .attr('alignment-baseline', 'central'), n(p, a); } } function i(e, i, r, s, o, a, l, c) { var d = i.append('switch'), h = d .append('foreignObject') .attr('x', r) .attr('y', s) .attr('width', o) .attr('height', a) .attr('position', 'fixed') .append('div') .style('display', 'table') .style('height', '100%') .style('width', '100%'); h .append('div') .attr('class', 'label') .style('display', 'table-cell') .style('text-align', 'center') .style('vertical-align', 'middle') .text(e), t(e, d, r, s, o, a, l, c), n(h, l); } function n(e, t) { for (var i in t) i in t && e.attr(i, t[i]); } return function (n) { return 'fo' === n.textPlacement ? i : 'old' === n.textPlacement ? e : t; }; })(); t.default = { drawRect: r, drawCircle: o, drawSection: c, drawText: a, drawLabel: l, drawTask: h, drawBackgroundRect: u, getTextObj: g, getNoteRect: f, initGraphics: function (e) { e.append('defs') .append('marker') .attr('id', 'arrowhead') .attr('refX', 5) .attr('refY', 2) .attr('markerWidth', 6) .attr('markerHeight', 4) .attr('orient', 'auto') .append('path') .attr('d', 'M 0,0 V 4 L6,2 Z'); }, }; }, './src/errorRenderer.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'setConf', function () { return o; }), i.d(t, 'draw', function () { return a; }); var n = i('d3'), r = i('./src/logger.js'), s = {}, o = function (e) { Object.keys(e).forEach(function (t) { s[t] = e[t]; }); }, a = function (e, t) { try { r.log.debug('Renering svg for syntax error\n'); var i = Object(n.select)('#' + e), s = i.append('g'); s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z' ), s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z' ), s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z' ), s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z' ), s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z' ), s .append('path') .attr('class', 'error-icon') .attr( 'd', 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z' ), s .append('text') .attr('class', 'error-text') .attr('x', 1240) .attr('y', 250) .attr('font-size', '150px') .style('text-anchor', 'middle') .text('Syntax error in graph'), s .append('text') .attr('class', 'error-text') .attr('x', 1050) .attr('y', 400) .attr('font-size', '100px') .style('text-anchor', 'middle') .text('mermaid version ' + t), i.attr('height', 100), i.attr('width', 400), i.attr('viewBox', '768 0 512 512'); } catch (e) { r.log.error('Error while rendering info diagram'), r.log.error(e.message); } }; t.default = { setConf: o, draw: a }; }, './src/logger.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'LEVELS', function () { return s; }), i.d(t, 'log', function () { return o; }), i.d(t, 'setLogLevel', function () { return a; }); var n = i('moment-mini'), r = i.n(n), s = { debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, o = { debug: function () {}, info: function () {}, warn: function () {}, error: function () {}, fatal: function () {}, }, a = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 'fatal'; isNaN(e) && ((e = e.toLowerCase()), void 0 !== s[e] && (e = s[e])), (o.trace = function () {}), (o.debug = function () {}), (o.info = function () {}), (o.warn = function () {}), (o.error = function () {}), (o.fatal = function () {}), e <= s.fatal && (o.fatal = console.error ? console.error.bind( console, l('FATAL'), 'color: orange' ) : console.log.bind(console, '', l('FATAL'))), e <= s.error && (o.error = console.error ? console.error.bind( console, l('ERROR'), 'color: orange' ) : console.log.bind(console, '', l('ERROR'))), e <= s.warn && (o.warn = console.warn ? console.warn.bind( console, l('WARN'), 'color: orange' ) : console.log.bind(console, '', l('WARN'))), e <= s.info && (o.info = console.info ? console.info.bind( console, l('INFO'), 'color: lightblue' ) : console.log.bind(console, '', l('INFO'))), e <= s.debug && (o.debug = console.debug ? console.debug.bind( console, l('DEBUG'), 'color: lightgreen' ) : console.log.bind(console, '', l('DEBUG'))); }, l = function (e) { var t = r()().format('ss.SSS'); return '%c'.concat(t, ' : ').concat(e, ' : '); }; }, './src/mermaid.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('entity-decode/browser'), r = i.n(n), s = i('./src/logger.js'), o = i('./src/mermaidAPI.js'), a = i('./src/utils.js'), l = function () { c.startOnLoad ? o.default.getConfig().startOnLoad && c.init() : void 0 === c.startOnLoad && (s.log.debug('In start, no config'), o.default.getConfig().startOnLoad && c.init()); }; 'undefined' != typeof document && window.addEventListener( 'load', function () { l(); }, !1 ); var c = { startOnLoad: !0, htmlLabels: !0, mermaidAPI: o.default, parse: o.default.parse, render: o.default.render, init: function () { var e, t, i = this, n = o.default.getConfig(); arguments.length >= 2 ? (void 0 !== arguments[0] && (c.sequenceConfig = arguments[0]), (e = arguments[1])) : (e = arguments[0]), 'function' == typeof arguments[arguments.length - 1] ? ((t = arguments[arguments.length - 1]), s.log.debug('Callback function found')) : void 0 !== n.mermaid && ('function' == typeof n.mermaid.callback ? ((t = n.mermaid.callback), s.log.debug('Callback function found')) : s.log.debug('No Callback function found')), (e = void 0 === e ? document.querySelectorAll('.mermaid') : 'string' == typeof e ? document.querySelectorAll(e) : e instanceof window.Node ? [e] : e), s.log.debug('Start On Load before: ' + c.startOnLoad), void 0 !== c.startOnLoad && (s.log.debug('Start On Load inner: ' + c.startOnLoad), o.default.updateSiteConfig({ startOnLoad: c.startOnLoad, })), void 0 !== c.ganttConfig && o.default.updateSiteConfig({ gantt: c.ganttConfig }); for ( var l, d = new a.default.initIdGeneratior( n.deterministicIds, n.deterministicIDSeed ), h = function (n) { var c = e[n]; if (c.getAttribute('data-processed')) return 'continue'; c.setAttribute('data-processed', !0); var h = 'mermaid-'.concat(d.next()); (l = c.innerHTML), (l = r()(l) .trim() .replace(//gi, '
')); var u = a.default.detectInit(l); u && s.log.debug('Detected early reinit: ', u); try { o.default.render( h, l, function (e, i) { (c.innerHTML = e), void 0 !== t && t(h), i && i(c); }, c ); } catch (e) { s.log.warn('Syntax Error rendering'), s.log.warn(e), i.parseError && i.parseError(e); } }, u = 0; u < e.length; u++ ) h(u); }, initialize: function (e) { void 0 !== e.mermaid && (void 0 !== e.mermaid.startOnLoad && (c.startOnLoad = e.mermaid.startOnLoad), void 0 !== e.mermaid.htmlLabels && (c.htmlLabels = e.mermaid.htmlLabels)), o.default.initialize(e); }, contentLoaded: l, }; t.default = c; }, './src/mermaidAPI.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'encodeEntities', function () { return ae; }), i.d(t, 'decodeEntities', function () { return le; }); var n = i('d3'), r = i('stylis'), s = i.n(r), o = i('./package.json'), a = i('./src/config.js'), l = i('./src/diagrams/class/classDb.js'), c = i('./src/diagrams/class/classRenderer.js'), d = i('./src/diagrams/class/classRenderer-v2.js'), h = i('./src/diagrams/class/parser/classDiagram.jison'), u = i.n(h), g = i('./src/diagrams/er/erDb.js'), f = i('./src/diagrams/er/erRenderer.js'), p = i('./src/diagrams/er/parser/erDiagram.jison'), m = i.n(p), _ = i('./src/diagrams/flowchart/flowDb.js'), b = i('./src/diagrams/flowchart/flowRenderer.js'), v = i('./src/diagrams/flowchart/flowRenderer-v2.js'), y = i('./src/diagrams/flowchart/parser/flow.jison'), w = i.n(y), C = i('./src/diagrams/gantt/ganttDb.js'), S = i('./src/diagrams/gantt/ganttRenderer.js'), k = i('./src/diagrams/gantt/parser/gantt.jison'), x = i.n(k), L = i('./src/diagrams/git/gitGraphAst.js'), M = i('./src/diagrams/git/gitGraphRenderer.js'), D = i('./src/diagrams/git/parser/gitGraph.jison'), N = i.n(D), E = i('./src/diagrams/info/infoDb.js'), T = i('./src/diagrams/info/infoRenderer.js'), I = i('./src/diagrams/info/parser/info.jison'), O = i.n(I), A = i('./src/diagrams/pie/parser/pie.jison'), R = i.n(A), P = i('./src/diagrams/pie/pieDb.js'), F = i('./src/diagrams/pie/pieRenderer.js'), B = i( './src/diagrams/requirement/parser/requirementDiagram.jison' ), W = i.n(B), Y = i('./src/diagrams/requirement/requirementDb.js'), H = i('./src/diagrams/requirement/requirementRenderer.js'), j = i('./src/diagrams/sequence/parser/sequenceDiagram.jison'), V = i.n(j), z = i('./src/diagrams/sequence/sequenceDb.js'), U = i('./src/diagrams/sequence/sequenceRenderer.js'), $ = i('./src/diagrams/state/parser/stateDiagram.jison'), K = i.n($), q = i('./src/diagrams/state/stateDb.js'), G = i('./src/diagrams/state/stateRenderer.js'), Z = i('./src/diagrams/state/stateRenderer-v2.js'), J = i('./src/diagrams/user-journey/journeyDb.js'), Q = i('./src/diagrams/user-journey/journeyRenderer.js'), X = i('./src/diagrams/user-journey/parser/journey.jison'), ee = i.n(X), te = i('./src/errorRenderer.js'), ie = i('./src/logger.js'), ne = i('./src/styles.js'), re = i('./src/themes/index.js'), se = i('./src/utils.js'); function oe(e) { return (oe = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } var ae = function (e) { var t = e; return (t = (t = t.replace( /style.*:\S*#.*;/g, function (e) { return e.substring(0, e.length - 1); } )).replace(/classDef.*:\S*#.*;/g, function (e) { return e.substring(0, e.length - 1); })).replace(/#\w+;/g, function (e) { var t = e.substring(1, e.length - 1); return /^\+?\d+$/.test(t) ? 'fl°°' + t + '¶ß' : 'fl°' + t + '¶ß'; }); }, le = function (e) { var t = e; return (t = (t = t.replace(/fl°°/g, function () { return '&#'; })).replace(/fl°/g, function () { return '&'; })).replace(/¶ß/g, function () { return ';'; }); }, ce = {}; function de(e) { M.default.setConf(e.git), b.default.setConf(e.flowchart), v.default.setConf(e.flowchart), void 0 !== e.sequenceDiagram && U.default.setConf( Object(se.assignWithDepth)( e.sequence, e.sequenceDiagram ) ), U.default.setConf(e.sequence), S.default.setConf(e.gantt), c.default.setConf(e.class), G.default.setConf(e.state), Z.default.setConf(e.state), T.default.setConf(e.class), F.default.setConf(e.class), f.default.setConf(e.er), Q.default.setConf(e.journey), H.default.setConf(e.requirement), te.default.setConf(e.class); } var he = Object.freeze({ render: function (e, t, i, r) { a.reset(); var h = t, u = se.default.detectInit(h); u && a.addDirective(u); var g = a.getConfig(); if ( (t.length > g.maxTextSize && (h = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa'), void 0 !== r) ) (r.innerHTML = ''), Object(n.select)(r) .append('div') .attr('id', 'd' + e) .attr('style', 'font-family: ' + g.fontFamily) .append('svg') .attr('id', e) .attr('width', '100%') .attr('xmlns', 'http://www.w3.org/2000/svg') .append('g'); else { var p = document.getElementById(e); p && p.remove(); var m = document.querySelector('#d' + e); m && m.remove(), Object(n.select)('body') .append('div') .attr('id', 'd' + e) .append('svg') .attr('id', e) .attr('width', '100%') .attr('xmlns', 'http://www.w3.org/2000/svg') .append('g'); } (window.txt = h), (h = ae(h)); var y = Object(n.select)('#d' + e).node(), w = se.default.detectType(h), k = y.firstChild, x = k.firstChild, L = ''; if ( (void 0 !== g.themeCSS && (L += '\n'.concat(g.themeCSS)), void 0 !== g.fontFamily && (L += '\n:root { --mermaid-font-family: '.concat( g.fontFamily, '}' )), void 0 !== g.altFontFamily && (L += '\n:root { --mermaid-alt-font-family: '.concat( g.altFontFamily, '}' )), 'flowchart' === w || 'flowchart-v2' === w || 'graph' === w) ) { var D = b.default.getClasses(h); for (var N in D) g.htmlLabels || g.flowchart.htmlLabels ? ((L += '\n.' .concat(N, ' > * { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), (L += '\n.' .concat(N, ' span { ') .concat( D[N].styles.join(' !important; '), ' !important; }' ))) : ((L += '\n.' .concat(N, ' path { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), (L += '\n.' .concat(N, ' rect { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), (L += '\n.' .concat(N, ' polygon { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), (L += '\n.' .concat(N, ' ellipse { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), (L += '\n.' .concat(N, ' circle { ') .concat( D[N].styles.join(' !important; '), ' !important; }' )), D[N].textStyles && (L += '\n.' .concat(N, ' tspan { ') .concat( D[N].textStyles.join(' !important; '), ' !important; }' ))); } var E = new s.a()( '#'.concat(e), Object(ne.default)(w, L, g.themeVariables) ), I = document.createElement('style'); (I.innerHTML = E), k.insertBefore(I, x); try { switch (w) { case 'git': (g.flowchart.arrowMarkerAbsolute = g.arrowMarkerAbsolute), M.default.setConf(g.git), M.default.draw(h, e, !1); break; case 'flowchart': (g.flowchart.arrowMarkerAbsolute = g.arrowMarkerAbsolute), b.default.setConf(g.flowchart), b.default.draw(h, e, !1); break; case 'flowchart-v2': (g.flowchart.arrowMarkerAbsolute = g.arrowMarkerAbsolute), v.default.setConf(g.flowchart), v.default.draw(h, e, !1); break; case 'sequence': (g.sequence.arrowMarkerAbsolute = g.arrowMarkerAbsolute), g.sequenceDiagram ? (U.default.setConf( Object.assign(g.sequence, g.sequenceDiagram) ), console.error( '`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.' )) : U.default.setConf(g.sequence), U.default.draw(h, e); break; case 'gantt': (g.gantt.arrowMarkerAbsolute = g.arrowMarkerAbsolute), S.default.setConf(g.gantt), S.default.draw(h, e); break; case 'class': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), c.default.setConf(g.class), c.default.draw(h, e); break; case 'classDiagram': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), d.default.setConf(g.class), d.default.draw(h, e); break; case 'state': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), G.default.setConf(g.state), G.default.draw(h, e); break; case 'stateDiagram': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), Z.default.setConf(g.state), Z.default.draw(h, e); break; case 'info': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), T.default.setConf(g.class), T.default.draw(h, e, o.version); break; case 'pie': (g.class.arrowMarkerAbsolute = g.arrowMarkerAbsolute), F.default.setConf(g.pie), F.default.draw(h, e, o.version); break; case 'er': f.default.setConf(g.er), f.default.draw(h, e, o.version); break; case 'journey': Q.default.setConf(g.journey), Q.default.draw(h, e, o.version); break; case 'requirement': H.default.setConf(g.requirement), H.default.draw(h, e, o.version); } } catch (t) { throw (te.default.draw(e, o.version), t); } Object(n.select)('[id="'.concat(e, '"]')) .selectAll('foreignobject > *') .attr('xmlns', 'http://www.w3.org/1999/xhtml'); var O = Object(n.select)('#d' + e).node().innerHTML; if ( (ie.log.debug( 'cnf.arrowMarkerAbsolute', g.arrowMarkerAbsolute ), (g.arrowMarkerAbsolute && 'false' !== g.arrowMarkerAbsolute) || (O = O.replace( /marker-end="url\(.*?#/g, 'marker-end="url(#', 'g' )), (O = (O = le(O)).replace(/
/g, '
')), void 0 !== i) ) switch (w) { case 'flowchart': case 'flowchart-v2': i(O, _.default.bindFunctions); break; case 'gantt': i(O, C.default.bindFunctions); break; case 'class': case 'classDiagram': i(O, l.default.bindFunctions); break; default: i(O); } else ie.log.debug('CB = undefined!'); var A = Object(n.select)('#d' + e).node(); return ( null !== A && 'function' == typeof A.remove && Object(n.select)('#d' + e) .node() .remove(), O ); }, parse: function (e) { var t = se.default.detectInit(e); t && ie.log.debug('reinit ', t); var i, n = se.default.detectType(e); switch ((ie.log.debug('Type ' + n), n)) { case 'git': (i = N.a).parser.yy = L.default; break; case 'flowchart': case 'flowchart-v2': _.default.clear(), ((i = w.a).parser.yy = _.default); break; case 'sequence': (i = V.a).parser.yy = z.default; break; case 'gantt': (i = x.a).parser.yy = C.default; break; case 'class': case 'classDiagram': (i = u.a).parser.yy = l.default; break; case 'state': case 'stateDiagram': (i = K.a).parser.yy = q.default; break; case 'info': ie.log.debug('info info info'), ((i = O.a).parser.yy = E.default); break; case 'pie': ie.log.debug('pie'), ((i = R.a).parser.yy = P.default); break; case 'er': ie.log.debug('er'), ((i = m.a).parser.yy = g.default); break; case 'journey': ie.log.debug('Journey'), ((i = ee.a).parser.yy = J.default); break; case 'requirement': case 'requirementDiagram': console.log('RequirementDiagram'), ie.log.debug('RequirementDiagram'), ((i = W.a).parser.yy = Y.default); } return ( (i.parser.yy.graphType = n), (i.parser.yy.parseError = function (e, t) { throw { str: e, hash: t }; }), i.parse(e), i ); }, parseDirective: function (e, t, i, n) { try { if (void 0 !== t) switch (((t = t.trim()), i)) { case 'open_directive': ce = {}; break; case 'type_directive': ce.type = t.toLowerCase(); break; case 'arg_directive': ce.args = JSON.parse(t); break; case 'close_directive': (function (e, t, i) { switch ( (ie.log.debug( 'Directive type='.concat( t.type, ' with args:' ), t.args ), t.type) ) { case 'init': case 'initialize': ['config'].forEach(function (e) { void 0 !== t.args[e] && ('flowchart-v2' === i && (i = 'flowchart'), (t.args[i] = t.args[e]), delete t.args[e]); }), t.args, a.addDirective(t.args); break; case 'wrap': case 'nowrap': e && e.setWrap && e.setWrap('wrap' === t.type); break; default: ie.log.warn( "Unhandled directive: source: '%%{" .concat(t.type, ': ') .concat( JSON.stringify(t.args ? t.args : {}), '}%%' ), t ); } })(e, ce, n), (ce = null); } } catch (e) { ie.log.error( 'Error while rendering sequenceDiagram directive: ' .concat(t, ' jison context: ') .concat(i) ), ie.log.error(e.message); } }, initialize: function (e) { e && e.fontFamily && ((e.themeVariables && e.themeVariables.fontFamily) || (e.themeVariables = { fontFamily: e.fontFamily })), a.saveConfigFromInitilize(e), e && e.theme && re.default[e.theme] ? (e.themeVariables = re.default[ e.theme ].getThemeVariables(e.themeVariables)) : e && (e.themeVariables = re.default.default.getThemeVariables( e.themeVariables )); var t = 'object' === oe(e) ? a.setSiteConfig(e) : a.getSiteConfig(); de(t), Object(ie.setLogLevel)(t.logLevel); }, reinitialize: function () {}, getConfig: a.getConfig, setConfig: a.setConfig, getSiteConfig: a.getSiteConfig, updateSiteConfig: a.updateSiteConfig, reset: function () { a.reset(); }, globalReset: function () { a.reset(a.defaultConfig), de(a.getConfig()); }, defaultConfig: a.defaultConfig, }); Object(ie.setLogLevel)(a.getConfig().logLevel), a.reset(a.getConfig()), (t.default = he); }, './src/styles.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'calcThemeVariables', function () { return p; }); var n = i('./src/diagrams/class/styles.js'), r = i('./src/diagrams/er/styles.js'), s = i('./src/diagrams/flowchart/styles.js'), o = i('./src/diagrams/gantt/styles.js'), a = i('./src/diagrams/git/styles.js'), l = i('./src/diagrams/info/styles.js'), c = i('./src/diagrams/pie/styles.js'), d = i('./src/diagrams/requirement/styles.js'), h = i('./src/diagrams/sequence/styles.js'), u = i('./src/diagrams/state/styles.js'), g = i('./src/diagrams/user-journey/styles.js'), f = { flowchart: s.default, 'flowchart-v2': s.default, sequence: h.default, gantt: o.default, classDiagram: n.default, 'classDiagram-v2': n.default, class: n.default, stateDiagram: u.default, state: u.default, git: a.default, info: l.default, pie: c.default, er: r.default, journey: g.default, requirement: d.default, }, p = function (e, t) { return e.calcColors(t); }; t.default = function (e, t, i) { return ' {\n font-family: ' .concat(i.fontFamily, ';\n font-size: ') .concat(i.fontSize, ';\n fill: ') .concat( i.textColor, '\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ' ) .concat( i.errorBkgColor, ';\n }\n .error-text {\n fill: ' ) .concat(i.errorTextColor, ';\n stroke: ') .concat( i.errorTextColor, ';\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ' ) .concat(i.lineColor, ';\n stroke: ') .concat( i.lineColor, ';\n }\n .marker.cross {\n stroke: ' ) .concat(i.lineColor, ';\n }\n\n svg {\n font-family: ') .concat(i.fontFamily, ';\n font-size: ') .concat(i.fontSize, ';\n }\n\n ') .concat(f[e](i), '\n\n ') .concat(t, '\n\n ') .concat(e, ' { fill: apa;}\n'); }; }, './src/themes/index.js': function (e, t, i) { 'use strict'; i.r(t); var n = i('./src/themes/theme-base.js'), r = i('./src/themes/theme-dark.js'), s = i('./src/themes/theme-default.js'), o = i('./src/themes/theme-forest.js'), a = i('./src/themes/theme-neutral.js'); t.default = { base: { getThemeVariables: n.getThemeVariables }, dark: { getThemeVariables: r.getThemeVariables }, default: { getThemeVariables: s.getThemeVariables }, forest: { getThemeVariables: o.getThemeVariables }, neutral: { getThemeVariables: a.getThemeVariables }, }; }, './src/themes/theme-base.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getThemeVariables', function () { return l; }); var n = i('khroma'), r = i('./src/themes/theme-helpers.js'); function s(e) { return (s = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } var a = (function () { function e() { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.background = '#f4f4f4'), (this.darkMode = !1), (this.primaryColor = '#fff4dd'), (this.noteBkgColor = '#fff5ad'), (this.noteTextColor = '#333'), (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), (this.fontSize = '16px'); } var t, i; return ( (t = e), (i = [ { key: 'updateColors', value: function () { (this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#ddd' : '#333')), (this.secondaryColor = this.secondaryColor || Object(n.adjust)(this.primaryColor, { h: -120, })), (this.tertiaryColor = this.tertiaryColor || Object(n.adjust)(this.primaryColor, { h: 180, l: 5, })), (this.primaryBorderColor = this.primaryBorderColor || Object(r.mkBorder)( this.primaryColor, this.darkMode )), (this.secondaryBorderColor = this.secondaryBorderColor || Object(r.mkBorder)( this.secondaryColor, this.darkMode )), (this.tertiaryBorderColor = this.tertiaryBorderColor || Object(r.mkBorder)( this.tertiaryColor, this.darkMode )), (this.noteBorderColor = this.noteBorderColor || Object(r.mkBorder)( this.noteBkgColor, this.darkMode )), (this.secondaryTextColor = this.secondaryTextColor || Object(n.invert)(this.secondaryColor)), (this.tertiaryTextColor = this.tertiaryTextColor || Object(n.invert)(this.tertiaryColor)), (this.lineColor = this.lineColor || Object(n.invert)(this.background)), (this.textColor = this.textColor || this.primaryTextColor), (this.nodeBkg = this.nodeBkg || this.primaryColor), (this.mainBkg = this.mainBkg || this.primaryColor), (this.nodeBorder = this.nodeBorder || this.primaryBorderColor), (this.clusterBkg = this.clusterBkg || this.tertiaryColor), (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor), (this.defaultLinkColor = this.defaultLinkColor || this.lineColor), (this.titleColor = this.titleColor || this.tertiaryTextColor), (this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? Object(n.darken)(this.secondaryColor, 30) : this.secondaryColor)), (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor), (this.actorBorder = this.actorBorder || this.primaryBorderColor), (this.actorBkg = this.actorBkg || this.mainBkg), (this.actorTextColor = this.actorTextColor || this.primaryTextColor), (this.actorLineColor = this.actorLineColor || 'grey'), (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg), (this.signalColor = this.signalColor || this.textColor), (this.signalTextColor = this.signalTextColor || this.textColor), (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder), (this.labelTextColor = this.labelTextColor || this.actorTextColor), (this.loopTextColor = this.loopTextColor || this.actorTextColor), (this.activationBorderColor = this.activationBorderColor || Object(n.darken)(this.secondaryColor, 10)), (this.activationBkgColor = this.activationBkgColor || this.secondaryColor), (this.sequenceNumberColor = this.sequenceNumberColor || Object(n.invert)(this.lineColor)), (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor), (this.altSectionBkgColor = this.altSectionBkgColor || 'white'), (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor), (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor), (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor), (this.taskBkgColor = this.taskBkgColor || this.primaryColor), (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor), (this.activeTaskBkgColor = this.activeTaskBkgColor || Object(n.lighten)(this.primaryColor, 23)), (this.gridColor = this.gridColor || 'lightgrey'), (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'), (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'), (this.critBorderColor = this.critBorderColor || '#ff8888'), (this.critBkgColor = this.critBkgColor || 'red'), (this.todayLineColor = this.todayLineColor || 'red'), (this.taskTextColor = this.taskTextColor || this.textColor), (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor), (this.taskTextLightColor = this.taskTextLightColor || this.textColor), (this.taskTextColor = this.taskTextColor || this.primaryTextColor), (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor), (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'), (this.labelColor = this.labelColor || this.primaryTextColor), (this.altBackground = this.altBackground || this.tertiaryColor), (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), (this.classText = this.classText || this.textColor), (this.fillType0 = this.fillType0 || this.primaryColor), (this.fillType1 = this.fillType1 || this.secondaryColor), (this.fillType2 = this.fillType2 || Object(n.adjust)(this.primaryColor, { h: 64 })), (this.fillType3 = this.fillType3 || Object(n.adjust)(this.secondaryColor, { h: 64, })), (this.fillType4 = this.fillType4 || Object(n.adjust)(this.primaryColor, { h: -64, })), (this.fillType5 = this.fillType5 || Object(n.adjust)(this.secondaryColor, { h: -64, })), (this.fillType6 = this.fillType6 || Object(n.adjust)(this.primaryColor, { h: 128, })), (this.fillType7 = this.fillType7 || Object(n.adjust)(this.secondaryColor, { h: 128, })); }, }, { key: 'calculate', value: function (e) { var t = this; if ('object' === s(e)) { var i = Object.keys(e); i.forEach(function (i) { t[i] = e[i]; }), this.updateColors(), i.forEach(function (i) { t[i] = e[i]; }); } else this.updateColors(); }, }, ]) && o(t.prototype, i), e ); })(), l = function (e) { var t = new a(); return t.calculate(e), t; }; }, './src/themes/theme-dark.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getThemeVariables', function () { return l; }); var n = i('khroma'), r = i('./src/themes/theme-helpers.js'); function s(e) { return (s = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } var a = (function () { function e() { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.background = '#333'), (this.primaryColor = '#1f2020'), (this.secondaryColor = Object(n.lighten)( this.primaryColor, 16 )), (this.tertiaryColor = Object(n.adjust)( this.primaryColor, { h: -160 } )), (this.primaryBorderColor = Object(r.mkBorder)( this.primaryColor, this.darkMode )), (this.secondaryBorderColor = Object(r.mkBorder)( this.secondaryColor, this.darkMode )), (this.tertiaryBorderColor = Object(r.mkBorder)( this.tertiaryColor, this.darkMode )), (this.primaryTextColor = Object(n.invert)( this.primaryColor )), (this.secondaryTextColor = Object(n.invert)( this.secondaryColor )), (this.tertiaryTextColor = Object(n.invert)( this.tertiaryColor )), (this.lineColor = Object(n.invert)(this.background)), (this.textColor = Object(n.invert)(this.background)), (this.mainBkg = '#1f2020'), (this.secondBkg = 'calculated'), (this.mainContrastColor = 'lightgrey'), (this.darkTextColor = Object(n.lighten)( Object(n.invert)('#323D47'), 10 )), (this.lineColor = 'calculated'), (this.border1 = '#81B1DB'), (this.border2 = Object(n.rgba)(255, 255, 255, 0.25)), (this.arrowheadColor = 'calculated'), (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), (this.fontSize = '16px'), (this.labelBackground = '#181818'), (this.textColor = '#ccc'), (this.nodeBkg = 'calculated'), (this.nodeBorder = 'calculated'), (this.clusterBkg = 'calculated'), (this.clusterBorder = 'calculated'), (this.defaultLinkColor = 'calculated'), (this.titleColor = '#F9FFFE'), (this.edgeLabelBackground = 'calculated'), (this.actorBorder = 'calculated'), (this.actorBkg = 'calculated'), (this.actorTextColor = 'calculated'), (this.actorLineColor = 'calculated'), (this.signalColor = 'calculated'), (this.signalTextColor = 'calculated'), (this.labelBoxBkgColor = 'calculated'), (this.labelBoxBorderColor = 'calculated'), (this.labelTextColor = 'calculated'), (this.loopTextColor = 'calculated'), (this.noteBorderColor = 'calculated'), (this.noteBkgColor = '#fff5ad'), (this.noteTextColor = 'calculated'), (this.activationBorderColor = 'calculated'), (this.activationBkgColor = 'calculated'), (this.sequenceNumberColor = 'black'), (this.sectionBkgColor = Object(n.darken)( '#EAE8D9', 30 )), (this.altSectionBkgColor = 'calculated'), (this.sectionBkgColor2 = '#EAE8D9'), (this.taskBorderColor = Object(n.rgba)( 255, 255, 255, 70 )), (this.taskBkgColor = 'calculated'), (this.taskTextColor = 'calculated'), (this.taskTextLightColor = 'calculated'), (this.taskTextOutsideColor = 'calculated'), (this.taskTextClickableColor = '#003163'), (this.activeTaskBorderColor = Object(n.rgba)( 255, 255, 255, 50 )), (this.activeTaskBkgColor = '#81B1DB'), (this.gridColor = 'calculated'), (this.doneTaskBkgColor = 'calculated'), (this.doneTaskBorderColor = 'grey'), (this.critBorderColor = '#E83737'), (this.critBkgColor = '#E83737'), (this.taskTextDarkColor = 'calculated'), (this.todayLineColor = '#DB5757'), (this.labelColor = 'calculated'), (this.errorBkgColor = '#a44141'), (this.errorTextColor = '#ddd'); } var t, i; return ( (t = e), (i = [ { key: 'updateColors', value: function () { (this.secondBkg = Object(n.lighten)( this.mainBkg, 16 )), (this.lineColor = this.mainContrastColor), (this.arrowheadColor = this.mainContrastColor), (this.nodeBkg = this.mainBkg), (this.nodeBorder = this.border1), (this.clusterBkg = this.secondBkg), (this.clusterBorder = this.border2), (this.defaultLinkColor = this.lineColor), (this.edgeLabelBackground = Object(n.lighten)( this.labelBackground, 25 )), (this.actorBorder = this.border1), (this.actorBkg = this.mainBkg), (this.actorTextColor = this.mainContrastColor), (this.actorLineColor = this.mainContrastColor), (this.signalColor = this.mainContrastColor), (this.signalTextColor = this.mainContrastColor), (this.labelBoxBkgColor = this.actorBkg), (this.labelBoxBorderColor = this.actorBorder), (this.labelTextColor = this.mainContrastColor), (this.loopTextColor = this.mainContrastColor), (this.noteBorderColor = this.secondaryBorderColor), (this.noteBkgColor = this.secondBkg), (this.noteTextColor = this.secondaryTextColor), (this.activationBorderColor = this.border1), (this.activationBkgColor = this.secondBkg), (this.altSectionBkgColor = this.background), (this.taskBkgColor = Object(n.lighten)( this.mainBkg, 23 )), (this.taskTextColor = this.darkTextColor), (this.taskTextLightColor = this.mainContrastColor), (this.taskTextOutsideColor = this.taskTextLightColor), (this.gridColor = this.mainContrastColor), (this.doneTaskBkgColor = this.mainContrastColor), (this.taskTextDarkColor = this.darkTextColor), (this.labelColor = this.textColor), (this.altBackground = Object(n.lighten)( this.background, 20 )), (this.fillType0 = this.primaryColor), (this.fillType1 = this.secondaryColor), (this.fillType2 = Object(n.adjust)( this.primaryColor, { h: 64 } )), (this.fillType3 = Object(n.adjust)( this.secondaryColor, { h: 64 } )), (this.fillType4 = Object(n.adjust)( this.primaryColor, { h: -64 } )), (this.fillType5 = Object(n.adjust)( this.secondaryColor, { h: -64 } )), (this.fillType6 = Object(n.adjust)( this.primaryColor, { h: 128 } )), (this.fillType7 = Object(n.adjust)( this.secondaryColor, { h: 128 } )), (this.classText = this.primaryTextColor); }, }, { key: 'calculate', value: function (e) { var t = this; if ('object' === s(e)) { var i = Object.keys(e); i.forEach(function (i) { t[i] = e[i]; }), this.updateColors(), i.forEach(function (i) { t[i] = e[i]; }); } else this.updateColors(); }, }, ]) && o(t.prototype, i), e ); })(), l = function (e) { var t = new a(); return t.calculate(e), t; }; }, './src/themes/theme-default.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getThemeVariables', function () { return l; }); var n = i('khroma'), r = i('./src/themes/theme-helpers.js'); function s(e) { return (s = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } var a = (function () { function e() { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.background = '#f4f4f4'), (this.primaryColor = '#ECECFF'), (this.secondaryColor = Object(n.adjust)( this.primaryColor, { h: 120 } )), (this.secondaryColor = '#ffffde'), (this.tertiaryColor = Object(n.adjust)( this.primaryColor, { h: -160 } )), (this.primaryBorderColor = Object(r.mkBorder)( this.primaryColor, this.darkMode )), (this.secondaryBorderColor = Object(r.mkBorder)( this.secondaryColor, this.darkMode )), (this.tertiaryBorderColor = Object(r.mkBorder)( this.tertiaryColor, this.darkMode )), (this.primaryTextColor = Object(n.invert)( this.primaryColor )), (this.secondaryTextColor = Object(n.invert)( this.secondaryColor )), (this.tertiaryTextColor = Object(n.invert)( this.tertiaryColor )), (this.lineColor = Object(n.invert)(this.background)), (this.textColor = Object(n.invert)(this.background)), (this.background = 'white'), (this.mainBkg = '#ECECFF'), (this.secondBkg = '#ffffde'), (this.lineColor = '#333333'), (this.border1 = '#9370DB'), (this.border2 = '#aaaa33'), (this.arrowheadColor = '#333333'), (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), (this.fontSize = '16px'), (this.labelBackground = '#e8e8e8'), (this.textColor = '#333'), (this.nodeBkg = 'calculated'), (this.nodeBorder = 'calculated'), (this.clusterBkg = 'calculated'), (this.clusterBorder = 'calculated'), (this.defaultLinkColor = 'calculated'), (this.titleColor = 'calculated'), (this.edgeLabelBackground = 'calculated'), (this.actorBorder = 'calculated'), (this.actorBkg = 'calculated'), (this.actorTextColor = 'black'), (this.actorLineColor = 'grey'), (this.signalColor = 'calculated'), (this.signalTextColor = 'calculated'), (this.labelBoxBkgColor = 'calculated'), (this.labelBoxBorderColor = 'calculated'), (this.labelTextColor = 'calculated'), (this.loopTextColor = 'calculated'), (this.noteBorderColor = 'calculated'), (this.noteBkgColor = '#fff5ad'), (this.noteTextColor = 'calculated'), (this.activationBorderColor = '#666'), (this.activationBkgColor = '#f4f4f4'), (this.sequenceNumberColor = 'white'), (this.sectionBkgColor = 'calculated'), (this.altSectionBkgColor = 'calculated'), (this.sectionBkgColor2 = 'calculated'), (this.taskBorderColor = 'calculated'), (this.taskBkgColor = 'calculated'), (this.taskTextLightColor = 'calculated'), (this.taskTextColor = this.taskTextLightColor), (this.taskTextDarkColor = 'calculated'), (this.taskTextOutsideColor = this.taskTextDarkColor), (this.taskTextClickableColor = 'calculated'), (this.activeTaskBorderColor = 'calculated'), (this.activeTaskBkgColor = 'calculated'), (this.gridColor = 'calculated'), (this.doneTaskBkgColor = 'calculated'), (this.doneTaskBorderColor = 'calculated'), (this.critBorderColor = 'calculated'), (this.critBkgColor = 'calculated'), (this.todayLineColor = 'calculated'), (this.sectionBkgColor = Object(n.rgba)( 102, 102, 255, 0.49 )), (this.altSectionBkgColor = 'white'), (this.sectionBkgColor2 = '#fff400'), (this.taskBorderColor = '#534fbc'), (this.taskBkgColor = '#8a90dd'), (this.taskTextLightColor = 'white'), (this.taskTextColor = 'calculated'), (this.taskTextDarkColor = 'black'), (this.taskTextOutsideColor = 'calculated'), (this.taskTextClickableColor = '#003163'), (this.activeTaskBorderColor = '#534fbc'), (this.activeTaskBkgColor = '#bfc7ff'), (this.gridColor = 'lightgrey'), (this.doneTaskBkgColor = 'lightgrey'), (this.doneTaskBorderColor = 'grey'), (this.critBorderColor = '#ff8888'), (this.critBkgColor = 'red'), (this.todayLineColor = 'red'), (this.labelColor = 'black'), (this.errorBkgColor = '#552222'), (this.errorTextColor = '#552222'), this.updateColors(); } var t, i; return ( (t = e), (i = [ { key: 'updateColors', value: function () { (this.nodeBkg = this.mainBkg), (this.nodeBorder = this.border1), (this.clusterBkg = this.secondBkg), (this.clusterBorder = this.border2), (this.defaultLinkColor = this.lineColor), (this.titleColor = this.textColor), (this.edgeLabelBackground = this.labelBackground), (this.actorBorder = Object(n.lighten)( this.border1, 23 )), (this.actorBkg = this.mainBkg), (this.labelBoxBkgColor = this.actorBkg), (this.signalColor = this.textColor), (this.signalTextColor = this.textColor), (this.labelBoxBorderColor = this.actorBorder), (this.labelTextColor = this.actorTextColor), (this.loopTextColor = this.actorTextColor), (this.noteBorderColor = this.border2), (this.noteTextColor = this.actorTextColor), (this.taskTextColor = this.taskTextLightColor), (this.taskTextOutsideColor = this.taskTextDarkColor), (this.classText = this.primaryTextColor), (this.fillType0 = this.primaryColor), (this.fillType1 = this.secondaryColor), (this.fillType2 = Object(n.adjust)( this.primaryColor, { h: 64 } )), (this.fillType3 = Object(n.adjust)( this.secondaryColor, { h: 64 } )), (this.fillType4 = Object(n.adjust)( this.primaryColor, { h: -64 } )), (this.fillType5 = Object(n.adjust)( this.secondaryColor, { h: -64 } )), (this.fillType6 = Object(n.adjust)( this.primaryColor, { h: 128 } )), (this.fillType7 = Object(n.adjust)( this.secondaryColor, { h: 128 } )); }, }, { key: 'calculate', value: function (e) { var t = this; if ('object' === s(e)) { var i = Object.keys(e); i.forEach(function (i) { t[i] = e[i]; }), this.updateColors(), i.forEach(function (i) { t[i] = e[i]; }); } else this.updateColors(); }, }, ]) && o(t.prototype, i), e ); })(), l = function (e) { var t = new a(); return t.calculate(e), t; }; }, './src/themes/theme-forest.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getThemeVariables', function () { return l; }); var n = i('khroma'), r = i('./src/themes/theme-helpers.js'); function s(e) { return (s = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } var a = (function () { function e() { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.background = '#f4f4f4'), (this.primaryColor = '#cde498'), (this.secondaryColor = '#cdffb2'), (this.background = 'white'), (this.mainBkg = '#cde498'), (this.secondBkg = '#cdffb2'), (this.lineColor = 'green'), (this.border1 = '#13540c'), (this.border2 = '#6eaa49'), (this.arrowheadColor = 'green'), (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), (this.fontSize = '16px'), (this.tertiaryColor = Object(n.lighten)('#cde498', 10)), (this.primaryBorderColor = Object(r.mkBorder)( this.primaryColor, this.darkMode )), (this.secondaryBorderColor = Object(r.mkBorder)( this.secondaryColor, this.darkMode )), (this.tertiaryBorderColor = Object(r.mkBorder)( this.tertiaryColor, this.darkMode )), (this.primaryTextColor = Object(n.invert)( this.primaryColor )), (this.secondaryTextColor = Object(n.invert)( this.secondaryColor )), (this.tertiaryTextColor = Object(n.invert)( this.primaryColor )), (this.lineColor = Object(n.invert)(this.background)), (this.textColor = Object(n.invert)(this.background)), (this.nodeBkg = 'calculated'), (this.nodeBorder = 'calculated'), (this.clusterBkg = 'calculated'), (this.clusterBorder = 'calculated'), (this.defaultLinkColor = 'calculated'), (this.titleColor = '#333'), (this.edgeLabelBackground = '#e8e8e8'), (this.actorBorder = 'calculated'), (this.actorBkg = 'calculated'), (this.actorTextColor = 'black'), (this.actorLineColor = 'grey'), (this.signalColor = '#333'), (this.signalTextColor = '#333'), (this.labelBoxBkgColor = 'calculated'), (this.labelBoxBorderColor = '#326932'), (this.labelTextColor = 'calculated'), (this.loopTextColor = 'calculated'), (this.noteBorderColor = 'calculated'), (this.noteBkgColor = '#fff5ad'), (this.noteTextColor = 'calculated'), (this.activationBorderColor = '#666'), (this.activationBkgColor = '#f4f4f4'), (this.sequenceNumberColor = 'white'), (this.sectionBkgColor = '#6eaa49'), (this.altSectionBkgColor = 'white'), (this.sectionBkgColor2 = '#6eaa49'), (this.taskBorderColor = 'calculated'), (this.taskBkgColor = '#487e3a'), (this.taskTextLightColor = 'white'), (this.taskTextColor = 'calculated'), (this.taskTextDarkColor = 'black'), (this.taskTextOutsideColor = 'calculated'), (this.taskTextClickableColor = '#003163'), (this.activeTaskBorderColor = 'calculated'), (this.activeTaskBkgColor = 'calculated'), (this.gridColor = 'lightgrey'), (this.doneTaskBkgColor = 'lightgrey'), (this.doneTaskBorderColor = 'grey'), (this.critBorderColor = '#ff8888'), (this.critBkgColor = 'red'), (this.todayLineColor = 'red'), (this.labelColor = 'black'), (this.errorBkgColor = '#552222'), (this.errorTextColor = '#552222'); } var t, i; return ( (t = e), (i = [ { key: 'updateColors', value: function () { (this.nodeBkg = this.mainBkg), (this.nodeBorder = this.border1), (this.clusterBkg = this.secondBkg), (this.clusterBorder = this.border2), (this.defaultLinkColor = this.lineColor), (this.actorBorder = Object(n.darken)( this.mainBkg, 20 )), (this.actorBkg = this.mainBkg), (this.labelBoxBkgColor = this.actorBkg), (this.labelTextColor = this.actorTextColor), (this.loopTextColor = this.actorTextColor), (this.noteBorderColor = this.border2), (this.noteTextColor = this.actorTextColor), (this.taskBorderColor = this.border1), (this.taskTextColor = this.taskTextLightColor), (this.taskTextOutsideColor = this.taskTextDarkColor), (this.activeTaskBorderColor = this.taskBorderColor), (this.activeTaskBkgColor = this.mainBkg), (this.classText = this.primaryTextColor), (this.fillType0 = this.primaryColor), (this.fillType1 = this.secondaryColor), (this.fillType2 = Object(n.adjust)( this.primaryColor, { h: 64 } )), (this.fillType3 = Object(n.adjust)( this.secondaryColor, { h: 64 } )), (this.fillType4 = Object(n.adjust)( this.primaryColor, { h: -64 } )), (this.fillType5 = Object(n.adjust)( this.secondaryColor, { h: -64 } )), (this.fillType6 = Object(n.adjust)( this.primaryColor, { h: 128 } )), (this.fillType7 = Object(n.adjust)( this.secondaryColor, { h: 128 } )); }, }, { key: 'calculate', value: function (e) { var t = this; if ('object' === s(e)) { var i = Object.keys(e); i.forEach(function (i) { t[i] = e[i]; }), this.updateColors(), i.forEach(function (i) { t[i] = e[i]; }); } else this.updateColors(); }, }, ]) && o(t.prototype, i), e ); })(), l = function (e) { var t = new a(); return t.calculate(e), t; }; }, './src/themes/theme-helpers.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'mkBorder', function () { return r; }); var n = i('khroma'), r = function (e, t) { return t ? Object(n.adjust)(e, { s: -40, l: 10 }) : Object(n.adjust)(e, { s: -40, l: -10 }); }; }, './src/themes/theme-neutral.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'getThemeVariables', function () { return l; }); var n = i('khroma'), r = i('./src/themes/theme-helpers.js'); function s(e) { return (s = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } var a = (function () { function e() { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.primaryColor = '#eee'), (this.contrast = '#707070'), (this.secondaryColor = Object(n.lighten)( this.contrast, 55 )), (this.background = '#ffffff'), (this.tertiaryColor = Object(n.adjust)( this.primaryColor, { h: -160 } )), (this.primaryBorderColor = Object(r.mkBorder)( this.primaryColor, this.darkMode )), (this.secondaryBorderColor = Object(r.mkBorder)( this.secondaryColor, this.darkMode )), (this.tertiaryBorderColor = Object(r.mkBorder)( this.tertiaryColor, this.darkMode )), (this.primaryTextColor = Object(n.invert)( this.primaryColor )), (this.secondaryTextColor = Object(n.invert)( this.secondaryColor )), (this.tertiaryTextColor = Object(n.invert)( this.tertiaryColor )), (this.lineColor = Object(n.invert)(this.background)), (this.textColor = Object(n.invert)(this.background)), (this.altBackground = Object(n.lighten)( this.contrast, 55 )), (this.mainBkg = '#eee'), (this.secondBkg = 'calculated'), (this.lineColor = '#666'), (this.border1 = '#999'), (this.border2 = 'calculated'), (this.note = '#ffa'), (this.text = '#333'), (this.critical = '#d42'), (this.done = '#bbb'), (this.arrowheadColor = '#333333'), (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), (this.fontSize = '16px'), (this.nodeBkg = 'calculated'), (this.nodeBorder = 'calculated'), (this.clusterBkg = 'calculated'), (this.clusterBorder = 'calculated'), (this.defaultLinkColor = 'calculated'), (this.titleColor = 'calculated'), (this.edgeLabelBackground = 'white'), (this.actorBorder = 'calculated'), (this.actorBkg = 'calculated'), (this.actorTextColor = 'calculated'), (this.actorLineColor = 'calculated'), (this.signalColor = 'calculated'), (this.signalTextColor = 'calculated'), (this.labelBoxBkgColor = 'calculated'), (this.labelBoxBorderColor = 'calculated'), (this.labelTextColor = 'calculated'), (this.loopTextColor = 'calculated'), (this.noteBorderColor = 'calculated'), (this.noteBkgColor = 'calculated'), (this.noteTextColor = 'calculated'), (this.activationBorderColor = '#666'), (this.activationBkgColor = '#f4f4f4'), (this.sequenceNumberColor = 'white'), (this.sectionBkgColor = 'calculated'), (this.altSectionBkgColor = 'white'), (this.sectionBkgColor2 = 'calculated'), (this.taskBorderColor = 'calculated'), (this.taskBkgColor = 'calculated'), (this.taskTextLightColor = 'white'), (this.taskTextColor = 'calculated'), (this.taskTextDarkColor = 'calculated'), (this.taskTextOutsideColor = 'calculated'), (this.taskTextClickableColor = '#003163'), (this.activeTaskBorderColor = 'calculated'), (this.activeTaskBkgColor = 'calculated'), (this.gridColor = 'calculated'), (this.doneTaskBkgColor = 'calculated'), (this.doneTaskBorderColor = 'calculated'), (this.critBkgColor = 'calculated'), (this.critBorderColor = 'calculated'), (this.todayLineColor = 'calculated'), (this.labelColor = 'black'), (this.errorBkgColor = '#552222'), (this.errorTextColor = '#552222'); } var t, i; return ( (t = e), (i = [ { key: 'updateColors', value: function () { (this.secondBkg = Object(n.lighten)( this.contrast, 55 )), (this.border2 = this.contrast), (this.nodeBkg = this.mainBkg), (this.nodeBorder = this.border1), (this.clusterBkg = this.secondBkg), (this.clusterBorder = this.border2), (this.defaultLinkColor = this.lineColor), (this.titleColor = this.text), (this.actorBorder = Object(n.lighten)( this.border1, 23 )), (this.actorBkg = this.mainBkg), (this.actorTextColor = this.text), (this.actorLineColor = this.lineColor), (this.signalColor = this.text), (this.signalTextColor = this.text), (this.labelBoxBkgColor = this.actorBkg), (this.labelBoxBorderColor = this.actorBorder), (this.labelTextColor = this.text), (this.loopTextColor = this.text), (this.noteBorderColor = Object(n.darken)( this.note, 60 )), (this.noteBkgColor = this.note), (this.noteTextColor = this.actorTextColor), (this.sectionBkgColor = Object(n.lighten)( this.contrast, 30 )), (this.sectionBkgColor2 = Object(n.lighten)( this.contrast, 30 )), (this.taskBorderColor = Object(n.darken)( this.contrast, 10 )), (this.taskBkgColor = this.contrast), (this.taskTextColor = this.taskTextLightColor), (this.taskTextDarkColor = this.text), (this.taskTextOutsideColor = this.taskTextDarkColor), (this.activeTaskBorderColor = this.taskBorderColor), (this.activeTaskBkgColor = this.mainBkg), (this.gridColor = Object(n.lighten)( this.border1, 30 )), (this.doneTaskBkgColor = this.done), (this.doneTaskBorderColor = this.lineColor), (this.critBkgColor = this.critical), (this.critBorderColor = Object(n.darken)( this.critBkgColor, 10 )), (this.todayLineColor = this.critBkgColor), (this.classText = this.primaryTextColor), (this.fillType0 = this.primaryColor), (this.fillType1 = this.secondaryColor), (this.fillType2 = Object(n.adjust)( this.primaryColor, { h: 64 } )), (this.fillType3 = Object(n.adjust)( this.secondaryColor, { h: 64 } )), (this.fillType4 = Object(n.adjust)( this.primaryColor, { h: -64 } )), (this.fillType5 = Object(n.adjust)( this.secondaryColor, { h: -64 } )), (this.fillType6 = Object(n.adjust)( this.primaryColor, { h: 128 } )), (this.fillType7 = Object(n.adjust)( this.secondaryColor, { h: 128 } )); }, }, { key: 'calculate', value: function (e) { var t = this; if ('object' === s(e)) { var i = Object.keys(e); i.forEach(function (i) { t[i] = e[i]; }), this.updateColors(), i.forEach(function (i) { t[i] = e[i]; }); } else this.updateColors(); }, }, ]) && o(t.prototype, i), e ); })(), l = function (e) { var t = new a(); return t.calculate(e), t; }; }, './src/utils.js': function (e, t, i) { 'use strict'; i.r(t), i.d(t, 'detectInit', function () { return p; }), i.d(t, 'detectDirective', function () { return m; }), i.d(t, 'detectType', function () { return _; }), i.d(t, 'isSubstringInArray', function () { return v; }), i.d(t, 'interpolateToCurve', function () { return y; }), i.d(t, 'formatUrl', function () { return w; }), i.d(t, 'runFunc', function () { return C; }), i.d(t, 'getStylesFromArray', function () { return k; }), i.d(t, 'generateId', function () { return L; }), i.d(t, 'random', function () { return M; }), i.d(t, 'assignWithDepth', function () { return D; }), i.d(t, 'getTextObj', function () { return N; }), i.d(t, 'drawSimpleText', function () { return E; }), i.d(t, 'wrapLabel', function () { return T; }), i.d(t, 'calculateTextHeight', function () { return O; }), i.d(t, 'calculateTextWidth', function () { return A; }), i.d(t, 'calculateTextDimensions', function () { return R; }), i.d(t, 'calculateSvgSizeAttrs', function () { return P; }), i.d(t, 'configureSvgSize', function () { return F; }), i.d(t, 'initIdGeneratior', function () { return B; }); var n = i('@braintree/sanitize-url'), r = i('d3'), s = i('./src/diagrams/common/common.js'), o = i('./src/logger.js'), a = void 0; function l(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } function c(e) { return (c = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function d(e) { return ( (function (e) { if (Array.isArray(e)) { for ( var t = 0, i = new Array(e.length); t < e.length; t++ ) i[t] = e[t]; return i; } })(e) || (function (e) { if ( Symbol.iterator in Object(e) || '[object Arguments]' === Object.prototype.toString.call(e) ) return Array.from(e); })(e) || (function () { throw new TypeError( 'Invalid attempt to spread non-iterable instance' ); })() ); } var h = { curveBasis: r.curveBasis, curveBasisClosed: r.curveBasisClosed, curveBasisOpen: r.curveBasisOpen, curveLinear: r.curveLinear, curveLinearClosed: r.curveLinearClosed, curveMonotoneX: r.curveMonotoneX, curveMonotoneY: r.curveMonotoneY, curveNatural: r.curveNatural, curveStep: r.curveStep, curveStepAfter: r.curveStepAfter, curveStepBefore: r.curveStepBefore, }, u = /[%]{2}[{]\s*(?:(?:(\w+)\s*:|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi, g = /\s*(?:(?:(\w+)(?=:):|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi, f = /\s*%%.*\n/gm, p = function (e) { var t = m(e, /(?:init\b)|(?:initialize\b)/), i = {}; if (Array.isArray(t)) { var n = t.map(function (e) { return e.args; }); i = D(i, d(n)); } else i = t.args; if (i) { var r = _(e); ['config'].forEach(function (e) { void 0 !== i[e] && ('flowchart-v2' === r && (r = 'flowchart'), (i[r] = i[e]), delete i[e]); }); } return i; }, m = function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; try { var i = new RegExp( '[%]{2}(?![{]'.concat(g.source, ')(?=[}][%]{2}).*\n'), 'ig' ); (e = e.trim().replace(i, '').replace(/'/gm, '"')), o.log.debug( 'Detecting diagram directive' .concat( null !== t ? ' type:' + t : '', ' based on the text:' ) .concat(e) ); for (var n, r = []; null !== (n = u.exec(e)); ) if ( (n.index === u.lastIndex && u.lastIndex++, (n && !t) || (t && n[1] && n[1].match(t)) || (t && n[2] && n[2].match(t))) ) { var s = n[1] ? n[1] : n[2], a = n[3] ? n[3].trim() : n[4] ? JSON.parse(n[4].trim()) : null; r.push({ type: s, args: a }); } return ( 0 === r.length && r.push({ type: e, args: null }), 1 === r.length ? r[0] : r ); } catch (i) { return ( o.log.error( 'ERROR: ' .concat( i.message, ' - Unable to parse directive\n ' ) .concat( null !== t ? ' type:' + t : '', ' based on the text:' ) .concat(e) ), { type: null, args: null } ); } }, _ = function (e) { return ( (e = e.replace(u, '').replace(f, '\n')), o.log.debug( 'Detecting diagram type based on the text ' + e ), e.match(/^\s*sequenceDiagram/) ? 'sequence' : e.match(/^\s*gantt/) ? 'gantt' : e.match(/^\s*classDiagram-v2/) ? 'classDiagram' : e.match(/^\s*classDiagram/) ? 'class' : e.match(/^\s*stateDiagram-v2/) ? 'stateDiagram' : e.match(/^\s*stateDiagram/) ? 'state' : e.match(/^\s*gitGraph/) ? 'git' : e.match(/^\s*flowchart/) ? 'flowchart-v2' : e.match(/^\s*info/) ? 'info' : e.match(/^\s*pie/) ? 'pie' : e.match(/^\s*erDiagram/) ? 'er' : e.match(/^\s*journey/) ? 'journey' : e.match(/^\s*requirement/) || e.match(/^\s*requirementDiagram/) ? 'requirement' : 'flowchart' ); }, b = function (e, t) { var i = {}; return function () { for ( var n = arguments.length, r = new Array(n), s = 0; s < n; s++ ) r[s] = arguments[s]; var o = t ? t.apply(a, r) : r[0]; if (o in i) return i[o]; var l = e.apply(void 0, r); return (i[o] = l), l; }; }, v = function (e, t) { for (var i = 0; i < t.length; i++) if (t[i].match(e)) return i; return -1; }, y = function (e, t) { if (!e) return t; var i = 'curve'.concat( e.charAt(0).toUpperCase() + e.slice(1) ); return h[i] || t; }, w = function (e, t) { var i = e.trim(); if (i) return 'loose' !== t.securityLevel ? Object(n.sanitizeUrl)(i) : i; }, C = function (e) { for ( var t, i = e.split('.'), n = i.length - 1, r = i[n], s = window, o = 0; o < n; o++ ) if (!(s = s[i[o]])) return; for ( var a = arguments.length, l = new Array(a > 1 ? a - 1 : 0), c = 1; c < a; c++ ) l[c - 1] = arguments[c]; (t = s)[r].apply(t, l); }, S = function (e, t) { return e && t ? Math.sqrt( Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2) ) : 0; }, k = function (e) { for (var t = '', i = '', n = 0; n < e.length; n++) void 0 !== e[n] && (e[n].startsWith('color:') || e[n].startsWith('text-align:') ? (i = i + e[n] + ';') : (t = t + e[n] + ';')); return { style: t, labelStyle: i }; }, x = 0, L = function () { return ( x++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + x ); }, M = function (e) { return (function (e) { for ( var t = '', i = '0123456789abcdef', n = i.length, r = 0; r < e; r++ ) t += i.charAt(Math.floor(Math.random() * n)); return t; })(e.length); }, D = function e(t, i, n) { var r = Object.assign({ depth: 2, clobber: !1 }, n), s = r.depth, o = r.clobber; return Array.isArray(i) && !Array.isArray(t) ? (i.forEach(function (i) { return e(t, i, n); }), t) : Array.isArray(i) && Array.isArray(t) ? (i.forEach(function (e) { -1 === t.indexOf(e) && t.push(e); }), t) : void 0 === t || s <= 0 ? null != t && 'object' === c(t) && 'object' === c(i) ? Object.assign(t, i) : i : (void 0 !== i && 'object' === c(t) && 'object' === c(i) && Object.keys(i).forEach(function (n) { 'object' !== c(i[n]) || (void 0 !== t[n] && 'object' !== c(t[n])) ? (o || ('object' !== c(t[n]) && 'object' !== c(i[n]))) && (t[n] = i[n]) : (void 0 === t[n] && (t[n] = Array.isArray(i[n]) ? [] : {}), (t[n] = e(t[n], i[n], { depth: s - 1, clobber: o, }))); }), t); }, N = function () { return { x: 0, y: 0, fill: void 0, anchor: 'start', style: '#666', width: 100, height: 100, textMargin: 0, rx: 0, ry: 0, valign: void 0, }; }, E = function (e, t) { var i = t.text.replace(s.default.lineBreakRegex, ' '), n = e.append('text'); n.attr('x', t.x), n.attr('y', t.y), n.style('text-anchor', t.anchor), n.style('font-family', t.fontFamily), n.style('font-size', t.fontSize), n.style('font-weight', t.fontWeight), n.attr('fill', t.fill), void 0 !== t.class && n.attr('class', t.class); var r = n.append('tspan'); return ( r.attr('x', t.x + 2 * t.textMargin), r.attr('fill', t.fill), r.text(i), n ); }, T = b( function (e, t, i) { if (!e) return e; if ( ((i = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', joinWith: '
', }, i )), s.default.lineBreakRegex.test(e)) ) return e; var n = e.split(' '), r = [], o = ''; return ( n.forEach(function (e, s) { var a = A(''.concat(e, ' '), i), l = A(o, i); if (a > t) { var c = I(e, t, '-', i), h = c.hyphenatedStrings, u = c.remainingWord; r.push.apply(r, [o].concat(d(h))), (o = u); } else l + a >= t ? (r.push(o), (o = e)) : (o = [o, e].filter(Boolean).join(' ')); s + 1 === n.length && r.push(o); }), r .filter(function (e) { return '' !== e; }) .join(i.joinWith) ); }, function (e, t, i) { return '' .concat(e, '-') .concat(t, '-') .concat(i.fontSize, '-') .concat(i.fontWeight, '-') .concat(i.fontFamily, '-') .concat(i.joinWith); } ), I = b( function (e, t) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : '-', n = arguments.length > 3 ? arguments[3] : void 0; n = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0, }, n ); var r = e.split(''), s = [], o = ''; return ( r.forEach(function (e, a) { var l = ''.concat(o).concat(e); if (A(l, n) >= t) { var c = a + 1, d = r.length === c, h = ''.concat(l).concat(i); s.push(d ? l : h), (o = ''); } else o = l; }), { hyphenatedStrings: s, remainingWord: o } ); }, function (e, t) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : '-', n = arguments.length > 3 ? arguments[3] : void 0; return '' .concat(e, '-') .concat(t, '-') .concat(i, '-') .concat(n.fontSize, '-') .concat(n.fontWeight, '-') .concat(n.fontFamily); } ), O = function (e, t) { return ( (t = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 15, }, t )), R(e, t).height ); }, A = function (e, t) { return ( (t = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: 'Arial' }, t )), R(e, t).width ); }, R = b( function (e, t) { var i = (t = Object.assign( { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', }, t )), n = i.fontSize, o = i.fontFamily, a = i.fontWeight; if (!e) return { width: 0, height: 0 }; var l = ['sans-serif', o], c = e.split(s.default.lineBreakRegex), d = [], h = Object(r.select)('body'); if (!h.remove) return { width: 0, height: 0, lineHeight: 0 }; for ( var u = h.append('svg'), g = 0, f = l; g < f.length; g++ ) { var p = f[g], m = 0, _ = { width: 0, height: 0, lineHeight: 0 }, b = !0, v = !1, y = void 0; try { for ( var w, C = c[Symbol.iterator](); !(b = (w = C.next()).done); b = !0 ) { var S = w.value, k = N(); k.text = S; var x = E(u, k) .style('font-size', n) .style('font-weight', a) .style('font-family', p), L = (x._groups || x)[0][0].getBBox(); (_.width = Math.round(Math.max(_.width, L.width))), (m = Math.round(L.height)), (_.height += m), (_.lineHeight = Math.round( Math.max(_.lineHeight, m) )); } } catch (e) { (v = !0), (y = e); } finally { try { b || null == C.return || C.return(); } finally { if (v) throw y; } } d.push(_); } return ( u.remove(), d[ isNaN(d[1].height) || isNaN(d[1].width) || isNaN(d[1].lineHeight) || (d[0].height > d[1].height && d[0].width > d[1].width && d[0].lineHeight > d[1].lineHeight) ? 0 : 1 ] ); }, function (e, t) { return '' .concat(e, '-') .concat(t.fontSize, '-') .concat(t.fontWeight, '-') .concat(t.fontFamily); } ), P = function (e, t, i) { var n = new Map(); return ( n.set('height', e), i ? (n.set('width', '100%'), n.set('style', 'max-width: '.concat(t, 'px;'))) : n.set('width', t), n ); }, F = function (e, t, i, n) { !(function (e, t) { var i = !0, n = !1, r = void 0; try { for ( var s, o = t[Symbol.iterator](); !(i = (s = o.next()).done); i = !0 ) { var a = s.value; e.attr(a[0], a[1]); } } catch (e) { (n = !0), (r = e); } finally { try { i || null == o.return || o.return(); } finally { if (n) throw r; } } })(e, P(t, i, n)); }, B = (function () { function e(t, i) { !(function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function' ); })(this, e), (this.deterministic = t), (this.seed = i), (this.count = i ? i.length : 0); } var t, i; return ( (t = e), (i = [ { key: 'next', value: function () { return this.deterministic ? this.count++ : Date.now(); }, }, ]) && l(t.prototype, i), e ); })(); t.default = { assignWithDepth: D, wrapLabel: T, calculateTextHeight: O, calculateTextWidth: A, calculateTextDimensions: R, calculateSvgSizeAttrs: P, configureSvgSize: F, detectInit: p, detectDirective: m, detectType: _, isSubstringInArray: v, interpolateToCurve: y, calcLabelPosition: function (e) { return (function (e) { var t, i = 0; e.forEach(function (e) { (i += S(e, t)), (t = e); }); var n = i / 2, r = void 0; return ( (t = void 0), e.forEach(function (e) { if (t && !r) { var i = S(e, t); if (i < n) n -= i; else { var s = n / i; s <= 0 && (r = t), s >= 1 && (r = { x: e.x, y: e.y }), s > 0 && s < 1 && (r = { x: (1 - s) * t.x + s * e.x, y: (1 - s) * t.y + s * e.y, }); } } t = e; }), r ); })(e); }, calcCardinalityPosition: function (e, t, i) { var n; o.log.info('our points', t), t[0] !== i && (t = t.reverse()), t.forEach(function (e) { S(e, n), (n = e); }); var r, s = 25; (n = void 0), t.forEach(function (e) { if (n && !r) { var t = S(e, n); if (t < s) s -= t; else { var i = s / t; i <= 0 && (r = n), i >= 1 && (r = { x: e.x, y: e.y }), i > 0 && i < 1 && (r = { x: (1 - i) * n.x + i * e.x, y: (1 - i) * n.y + i * e.y, }); } } n = e; }); var a = e ? 10 : 5, l = Math.atan2(t[0].y - r.y, t[0].x - r.x), c = { x: 0, y: 0 }; return ( (c.x = Math.sin(l) * a + (t[0].x + r.x) / 2), (c.y = -Math.cos(l) * a + (t[0].y + r.y) / 2), c ); }, calcTerminalLabelPosition: function (e, t, i) { var n, r = JSON.parse(JSON.stringify(i)); o.log.info('our points', r), 'start_left' !== t && 'start_right' !== t && (r = r.reverse()), r.forEach(function (e) { S(e, n), (n = e); }); var s, a = 25; (n = void 0), r.forEach(function (e) { if (n && !s) { var t = S(e, n); if (t < a) a -= t; else { var i = a / t; i <= 0 && (s = n), i >= 1 && (s = { x: e.x, y: e.y }), i > 0 && i < 1 && (s = { x: (1 - i) * n.x + i * e.x, y: (1 - i) * n.y + i * e.y, }); } } n = e; }); var l = 10, c = Math.atan2(r[0].y - s.y, r[0].x - s.x), d = { x: 0, y: 0 }; return ( (d.x = Math.sin(c) * l + (r[0].x + s.x) / 2), (d.y = -Math.cos(c) * l + (r[0].y + s.y) / 2), 'start_left' === t && ((d.x = Math.sin(c + Math.PI) * l + (r[0].x + s.x) / 2), (d.y = -Math.cos(c + Math.PI) * l + (r[0].y + s.y) / 2)), 'end_right' === t && ((d.x = Math.sin(c - Math.PI) * l + (r[0].x + s.x) / 2 - 5), (d.y = -Math.cos(c - Math.PI) * l + (r[0].y + s.y) / 2 - 5)), 'end_left' === t && ((d.x = Math.sin(c) * l + (r[0].x + s.x) / 2 - 5), (d.y = -Math.cos(c) * l + (r[0].y + s.y) / 2 - 5)), d ); }, formatUrl: w, getStylesFromArray: k, generateId: L, random: M, memoize: b, runFunc: C, initIdGeneratior: B, }; }, '@braintree/sanitize-url': function (e, t) { e.exports = i(29609); }, d3: function (e, t) { e.exports = i(69362); }, dagre: function (e, t) { e.exports = i(70681); }, 'dagre-d3': function (e, t) { e.exports = i(44949); }, 'dagre-d3/lib/label/add-html-label.js': function (e, t) { e.exports = i(88284); }, 'entity-decode/browser': function (e, t) { e.exports = i(42859); }, graphlib: function (e, t) { e.exports = i(28282); }, khroma: function (e, t) { e.exports = i(8613); }, 'moment-mini': function (e, t) { e.exports = i(11941); }, stylis: function (e, t) { e.exports = i(673); }, }).default; }), (e.exports = n()); }, 89234: () => {}, 11748: (e, t, i) => { var n = { './locale': 89234, './locale.js': 89234 }; function r(e) { var t = s(e); return i(t); } function s(e) { if (!i.o(n, e)) { var t = new Error("Cannot find module '" + e + "'"); throw ((t.code = 'MODULE_NOT_FOUND'), t); } return n[e]; } (r.keys = function () { return Object.keys(n); }), (r.resolve = s), (e.exports = r), (r.id = 11748); }, 11941: function (e, t, i) { (e = i.nmd(e)).exports = (function () { 'use strict'; var t, n; function r() { return t.apply(null, arguments); } function s(e) { return ( e instanceof Array || '[object Array]' === Object.prototype.toString.call(e) ); } function o(e) { return ( null != e && '[object Object]' === Object.prototype.toString.call(e) ); } function a(e) { return void 0 === e; } function l(e) { return ( 'number' == typeof e || '[object Number]' === Object.prototype.toString.call(e) ); } function c(e) { return ( e instanceof Date || '[object Date]' === Object.prototype.toString.call(e) ); } function d(e, t) { var i, n = []; for (i = 0; i < e.length; ++i) n.push(t(e[i], i)); return n; } function h(e, t) { return Object.prototype.hasOwnProperty.call(e, t); } function u(e, t) { for (var i in t) h(t, i) && (e[i] = t[i]); return ( h(t, 'toString') && (e.toString = t.toString), h(t, 'valueOf') && (e.valueOf = t.valueOf), e ); } function g(e, t, i, n) { return bt(e, t, i, n, !0).utc(); } function f(e) { return ( null == e._pf && (e._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1, parsedDateParts: [], meridiem: null, rfc2822: !1, weekdayMismatch: !1, }), e._pf ); } function p(e) { if (null == e._isValid) { var t = f(e), i = n.call(t.parsedDateParts, function (e) { return null != e; }), r = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || (t.meridiem && i)); if ( (e._strict && (r = r && 0 === t.charsLeftOver && 0 === t.unusedTokens.length && void 0 === t.bigHour), null != Object.isFrozen && Object.isFrozen(e)) ) return r; e._isValid = r; } return e._isValid; } function m(e) { var t = g(NaN); return null != e ? u(f(t), e) : (f(t).userInvalidated = !0), t; } n = Array.prototype.some ? Array.prototype.some : function (e) { for ( var t = Object(this), i = t.length >>> 0, n = 0; n < i; n++ ) if (n in t && e.call(this, t[n], n, t)) return !0; return !1; }; var _ = (r.momentProperties = []); function b(e, t) { var i, n, r; if ( (a(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), a(t._i) || (e._i = t._i), a(t._f) || (e._f = t._f), a(t._l) || (e._l = t._l), a(t._strict) || (e._strict = t._strict), a(t._tzm) || (e._tzm = t._tzm), a(t._isUTC) || (e._isUTC = t._isUTC), a(t._offset) || (e._offset = t._offset), a(t._pf) || (e._pf = f(t)), a(t._locale) || (e._locale = t._locale), 0 < _.length) ) for (i = 0; i < _.length; i++) a((r = t[(n = _[i])])) || (e[n] = r); return e; } var v = !1; function y(e) { b(this, e), (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), this.isValid() || (this._d = new Date(NaN)), !1 === v && ((v = !0), r.updateOffset(this), (v = !1)); } function w(e) { return e instanceof y || (null != e && null != e._isAMomentObject); } function C(e) { return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); } function S(e) { var t = +e, i = 0; return 0 !== t && isFinite(t) && (i = C(t)), i; } function k(e, t, i) { var n, r = Math.min(e.length, t.length), s = Math.abs(e.length - t.length), o = 0; for (n = 0; n < r; n++) ((i && e[n] !== t[n]) || (!i && S(e[n]) !== S(t[n]))) && o++; return o + s; } function x(e) { !1 === r.suppressDeprecationWarnings && 'undefined' != typeof console && console.warn && console.warn('Deprecation warning: ' + e); } function L(e, t) { var i = !0; return u(function () { if ( (null != r.deprecationHandler && r.deprecationHandler(null, e), i) ) { for (var n, s = [], o = 0; o < arguments.length; o++) { if (((n = ''), 'object' == typeof arguments[o])) { for (var a in ((n += '\n[' + o + '] '), arguments[0])) n += a + ': ' + arguments[0][a] + ', '; n = n.slice(0, -2); } else n = arguments[o]; s.push(n); } x( e + '\nArguments: ' + Array.prototype.slice.call(s).join('') + '\n' + new Error().stack ), (i = !1); } return t.apply(this, arguments); }, t); } var M, D = {}; function N(e, t) { null != r.deprecationHandler && r.deprecationHandler(e, t), D[e] || (x(t), (D[e] = !0)); } function E(e) { return ( e instanceof Function || '[object Function]' === Object.prototype.toString.call(e) ); } function T(e, t) { var i, n = u({}, e); for (i in t) h(t, i) && (o(e[i]) && o(t[i]) ? ((n[i] = {}), u(n[i], e[i]), u(n[i], t[i])) : null != t[i] ? (n[i] = t[i]) : delete n[i]); for (i in e) h(e, i) && !h(t, i) && o(e[i]) && (n[i] = u({}, n[i])); return n; } function I(e) { null != e && this.set(e); } (r.suppressDeprecationWarnings = !1), (r.deprecationHandler = null), (M = Object.keys ? Object.keys : function (e) { var t, i = []; for (t in e) h(e, t) && i.push(t); return i; }); var O = {}; function A(e, t) { var i = e.toLowerCase(); O[i] = O[i + 's'] = O[t] = e; } function R(e) { return 'string' == typeof e ? O[e] || O[e.toLowerCase()] : void 0; } function P(e) { var t, i, n = {}; for (i in e) h(e, i) && (t = R(i)) && (n[t] = e[i]); return n; } var F = {}; function B(e, t) { F[e] = t; } function W(e, t, i) { var n = '' + Math.abs(e), r = t - n.length; return ( (0 <= e ? (i ? '+' : '') : '-') + Math.pow(10, Math.max(0, r)).toString().substr(1) + n ); } var Y = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, H = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, j = {}, V = {}; function z(e, t, i, n) { var r = n; 'string' == typeof n && (r = function () { return this[n](); }), e && (V[e] = r), t && (V[t[0]] = function () { return W(r.apply(this, arguments), t[1], t[2]); }), i && (V[i] = function () { return this.localeData().ordinal(r.apply(this, arguments), e); }); } function U(e, t) { return e.isValid() ? ((t = $(t, e.localeData())), (j[t] = j[t] || (function (e) { var t, i, n, r = e.match(Y); for (t = 0, i = r.length; t < i; t++) V[r[t]] ? (r[t] = V[r[t]]) : (r[t] = (n = r[t]).match(/\[[\s\S]/) ? n.replace(/^\[|\]$/g, '') : n.replace(/\\/g, '')); return function (t) { var n, s = ''; for (n = 0; n < i; n++) s += E(r[n]) ? r[n].call(t, e) : r[n]; return s; }; })(t)), j[t](e)) : e.localeData().invalidDate(); } function $(e, t) { var i = 5; function n(e) { return t.longDateFormat(e) || e; } for (H.lastIndex = 0; 0 <= i && H.test(e); ) (e = e.replace(H, n)), (H.lastIndex = 0), (i -= 1); return e; } var K = /\d/, q = /\d\d/, G = /\d{3}/, Z = /\d{4}/, J = /[+-]?\d{6}/, Q = /\d\d?/, X = /\d\d\d\d?/, ee = /\d\d\d\d\d\d?/, te = /\d{1,3}/, ie = /\d{1,4}/, ne = /[+-]?\d{1,6}/, re = /\d+/, se = /[+-]?\d+/, oe = /Z|[+-]\d\d:?\d\d/gi, ae = /Z|[+-]\d\d(?::?\d\d)?/gi, le = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, ce = {}; function de(e, t, i) { ce[e] = E(t) ? t : function (e, n) { return e && i ? i : t; }; } function he(e, t) { return h(ce, e) ? ce[e](t._strict, t._locale) : new RegExp( ue( e .replace('\\', '') .replace( /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (e, t, i, n, r) { return t || i || n || r; } ) ) ); } function ue(e) { return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); } var ge = {}; function fe(e, t) { var i, n = t; for ( 'string' == typeof e && (e = [e]), l(t) && (n = function (e, i) { i[t] = S(e); }), i = 0; i < e.length; i++ ) ge[e[i]] = n; } function pe(e, t) { fe(e, function (e, i, n, r) { (n._w = n._w || {}), t(e, n._w, n, r); }); } function me(e) { return _e(e) ? 366 : 365; } function _e(e) { return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0; } z('Y', 0, 0, function () { var e = this.year(); return e <= 9999 ? '' + e : '+' + e; }), z(0, ['YY', 2], 0, function () { return this.year() % 100; }), z(0, ['YYYY', 4], 0, 'year'), z(0, ['YYYYY', 5], 0, 'year'), z(0, ['YYYYYY', 6, !0], 0, 'year'), A('year', 'y'), B('year', 1), de('Y', se), de('YY', Q, q), de('YYYY', ie, Z), de('YYYYY', ne, J), de('YYYYYY', ne, J), fe(['YYYYY', 'YYYYYY'], 0), fe('YYYY', function (e, t) { t[0] = 2 === e.length ? r.parseTwoDigitYear(e) : S(e); }), fe('YY', function (e, t) { t[0] = r.parseTwoDigitYear(e); }), fe('Y', function (e, t) { t[0] = parseInt(e, 10); }), (r.parseTwoDigitYear = function (e) { return S(e) + (68 < S(e) ? 1900 : 2e3); }); var be, ve = ye('FullYear', !0); function ye(e, t) { return function (i) { return null != i ? (Ce(this, e, i), r.updateOffset(this, t), this) : we(this, e); }; } function we(e, t) { return e.isValid() ? e._d['get' + (e._isUTC ? 'UTC' : '') + t]() : NaN; } function Ce(e, t, i) { e.isValid() && !isNaN(i) && ('FullYear' === t && _e(e.year()) && 1 === e.month() && 29 === e.date() ? e._d['set' + (e._isUTC ? 'UTC' : '') + t]( i, e.month(), Se(i, e.month()) ) : e._d['set' + (e._isUTC ? 'UTC' : '') + t](i)); } function Se(e, t) { if (isNaN(e) || isNaN(t)) return NaN; var i = ((t % 12) + 12) % 12; return ( (e += (t - i) / 12), 1 === i ? (_e(e) ? 29 : 28) : 31 - ((i % 7) % 2) ); } (be = Array.prototype.indexOf ? Array.prototype.indexOf : function (e) { var t; for (t = 0; t < this.length; ++t) if (this[t] === e) return t; return -1; }), z('M', ['MM', 2], 'Mo', function () { return this.month() + 1; }), z('MMM', 0, 0, function (e) { return this.localeData().monthsShort(this, e); }), z('MMMM', 0, 0, function (e) { return this.localeData().months(this, e); }), A('month', 'M'), B('month', 8), de('M', Q), de('MM', Q, q), de('MMM', function (e, t) { return t.monthsShortRegex(e); }), de('MMMM', function (e, t) { return t.monthsRegex(e); }), fe(['M', 'MM'], function (e, t) { t[1] = S(e) - 1; }), fe(['MMM', 'MMMM'], function (e, t, i, n) { var r = i._locale.monthsParse(e, n, i._strict); null != r ? (t[1] = r) : (f(i).invalidMonth = e); }); var ke = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, xe = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), Le = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); function Me(e, t) { var i; if (!e.isValid()) return e; if ('string' == typeof t) if (/^\d+$/.test(t)) t = S(t); else if (!l((t = e.localeData().monthsParse(t)))) return e; return ( (i = Math.min(e.date(), Se(e.year(), t))), e._d['set' + (e._isUTC ? 'UTC' : '') + 'Month'](t, i), e ); } function De(e) { return null != e ? (Me(this, e), r.updateOffset(this, !0), this) : we(this, 'Month'); } var Ne = le, Ee = le; function Te() { function e(e, t) { return t.length - e.length; } var t, i, n = [], r = [], s = []; for (t = 0; t < 12; t++) (i = g([2e3, t])), n.push(this.monthsShort(i, '')), r.push(this.months(i, '')), s.push(this.months(i, '')), s.push(this.monthsShort(i, '')); for (n.sort(e), r.sort(e), s.sort(e), t = 0; t < 12; t++) (n[t] = ue(n[t])), (r[t] = ue(r[t])); for (t = 0; t < 24; t++) s[t] = ue(s[t]); (this._monthsRegex = new RegExp('^(' + s.join('|') + ')', 'i')), (this._monthsShortRegex = this._monthsRegex), (this._monthsStrictRegex = new RegExp( '^(' + r.join('|') + ')', 'i' )), (this._monthsShortStrictRegex = new RegExp( '^(' + n.join('|') + ')', 'i' )); } function Ie(e) { var t = new Date(Date.UTC.apply(null, arguments)); return ( e < 100 && 0 <= e && isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e), t ); } function Oe(e, t, i) { var n = 7 + t - i; return (-(7 + Ie(e, 0, n).getUTCDay() - t) % 7) + n - 1; } function Ae(e, t, i, n, r) { var s, o, a = 1 + 7 * (t - 1) + ((7 + i - n) % 7) + Oe(e, n, r); return ( a <= 0 ? (o = me((s = e - 1)) + a) : a > me(e) ? ((s = e + 1), (o = a - me(e))) : ((s = e), (o = a)), { year: s, dayOfYear: o } ); } function Re(e, t, i) { var n, r, s = Oe(e.year(), t, i), o = Math.floor((e.dayOfYear() - s - 1) / 7) + 1; return ( o < 1 ? (n = o + Pe((r = e.year() - 1), t, i)) : o > Pe(e.year(), t, i) ? ((n = o - Pe(e.year(), t, i)), (r = e.year() + 1)) : ((r = e.year()), (n = o)), { week: n, year: r } ); } function Pe(e, t, i) { var n = Oe(e, t, i), r = Oe(e + 1, t, i); return (me(e) - n + r) / 7; } z('w', ['ww', 2], 'wo', 'week'), z('W', ['WW', 2], 'Wo', 'isoWeek'), A('week', 'w'), A('isoWeek', 'W'), B('week', 5), B('isoWeek', 5), de('w', Q), de('ww', Q, q), de('W', Q), de('WW', Q, q), pe(['w', 'ww', 'W', 'WW'], function (e, t, i, n) { t[n.substr(0, 1)] = S(e); }), z('d', 0, 'do', 'day'), z('dd', 0, 0, function (e) { return this.localeData().weekdaysMin(this, e); }), z('ddd', 0, 0, function (e) { return this.localeData().weekdaysShort(this, e); }), z('dddd', 0, 0, function (e) { return this.localeData().weekdays(this, e); }), z('e', 0, 0, 'weekday'), z('E', 0, 0, 'isoWeekday'), A('day', 'd'), A('weekday', 'e'), A('isoWeekday', 'E'), B('day', 11), B('weekday', 11), B('isoWeekday', 11), de('d', Q), de('e', Q), de('E', Q), de('dd', function (e, t) { return t.weekdaysMinRegex(e); }), de('ddd', function (e, t) { return t.weekdaysShortRegex(e); }), de('dddd', function (e, t) { return t.weekdaysRegex(e); }), pe(['dd', 'ddd', 'dddd'], function (e, t, i, n) { var r = i._locale.weekdaysParse(e, n, i._strict); null != r ? (t.d = r) : (f(i).invalidWeekday = e); }), pe(['d', 'e', 'E'], function (e, t, i, n) { t[n] = S(e); }); var Fe = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), Be = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), We = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), Ye = le, He = le, je = le; function Ve() { function e(e, t) { return t.length - e.length; } var t, i, n, r, s, o = [], a = [], l = [], c = []; for (t = 0; t < 7; t++) (i = g([2e3, 1]).day(t)), (n = this.weekdaysMin(i, '')), (r = this.weekdaysShort(i, '')), (s = this.weekdays(i, '')), o.push(n), a.push(r), l.push(s), c.push(n), c.push(r), c.push(s); for (o.sort(e), a.sort(e), l.sort(e), c.sort(e), t = 0; t < 7; t++) (a[t] = ue(a[t])), (l[t] = ue(l[t])), (c[t] = ue(c[t])); (this._weekdaysRegex = new RegExp('^(' + c.join('|') + ')', 'i')), (this._weekdaysShortRegex = this._weekdaysRegex), (this._weekdaysMinRegex = this._weekdaysRegex), (this._weekdaysStrictRegex = new RegExp( '^(' + l.join('|') + ')', 'i' )), (this._weekdaysShortStrictRegex = new RegExp( '^(' + a.join('|') + ')', 'i' )), (this._weekdaysMinStrictRegex = new RegExp( '^(' + o.join('|') + ')', 'i' )); } function ze() { return this.hours() % 12 || 12; } function Ue(e, t) { z(e, 0, 0, function () { return this.localeData().meridiem( this.hours(), this.minutes(), t ); }); } function $e(e, t) { return t._meridiemParse; } z('H', ['HH', 2], 0, 'hour'), z('h', ['hh', 2], 0, ze), z('k', ['kk', 2], 0, function () { return this.hours() || 24; }), z('hmm', 0, 0, function () { return '' + ze.apply(this) + W(this.minutes(), 2); }), z('hmmss', 0, 0, function () { return ( '' + ze.apply(this) + W(this.minutes(), 2) + W(this.seconds(), 2) ); }), z('Hmm', 0, 0, function () { return '' + this.hours() + W(this.minutes(), 2); }), z('Hmmss', 0, 0, function () { return ( '' + this.hours() + W(this.minutes(), 2) + W(this.seconds(), 2) ); }), Ue('a', !0), Ue('A', !1), A('hour', 'h'), B('hour', 13), de('a', $e), de('A', $e), de('H', Q), de('h', Q), de('k', Q), de('HH', Q, q), de('hh', Q, q), de('kk', Q, q), de('hmm', X), de('hmmss', ee), de('Hmm', X), de('Hmmss', ee), fe(['H', 'HH'], 3), fe(['k', 'kk'], function (e, t, i) { var n = S(e); t[3] = 24 === n ? 0 : n; }), fe(['a', 'A'], function (e, t, i) { (i._isPm = i._locale.isPM(e)), (i._meridiem = e); }), fe(['h', 'hh'], function (e, t, i) { (t[3] = S(e)), (f(i).bigHour = !0); }), fe('hmm', function (e, t, i) { var n = e.length - 2; (t[3] = S(e.substr(0, n))), (t[4] = S(e.substr(n))), (f(i).bigHour = !0); }), fe('hmmss', function (e, t, i) { var n = e.length - 4, r = e.length - 2; (t[3] = S(e.substr(0, n))), (t[4] = S(e.substr(n, 2))), (t[5] = S(e.substr(r))), (f(i).bigHour = !0); }), fe('Hmm', function (e, t, i) { var n = e.length - 2; (t[3] = S(e.substr(0, n))), (t[4] = S(e.substr(n))); }), fe('Hmmss', function (e, t, i) { var n = e.length - 4, r = e.length - 2; (t[3] = S(e.substr(0, n))), (t[4] = S(e.substr(n, 2))), (t[5] = S(e.substr(r))); }); var Ke, qe = ye('Hours', !0), Ge = { calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, longDateFormat: { LTS: 'h:mm:ss A', LT: 'h:mm A', L: 'MM/DD/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A', }, invalidDate: 'Invalid date', ordinal: '%d', dayOfMonthOrdinalParse: /\d{1,2}/, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, months: xe, monthsShort: Le, week: { dow: 0, doy: 6 }, weekdays: Fe, weekdaysMin: We, weekdaysShort: Be, meridiemParse: /[ap]\.?m?\.?/i, }, Ze = {}, Je = {}; function Qe(e) { return e ? e.toLowerCase().replace('_', '-') : e; } function Xe(t) { var n = null; if (!Ze[t] && e && e.exports) try { (n = Ke._abbr), i(11748)('./' + t), et(n); } catch (t) {} return Ze[t]; } function et(e, t) { var i; return ( e && ((i = a(t) ? it(e) : tt(e, t)) ? (Ke = i) : 'undefined' != typeof console && console.warn && console.warn( 'Locale ' + e + ' not found. Did you forget to load it?' )), Ke._abbr ); } function tt(e, t) { if (null !== t) { var i, n = Ge; if (((t.abbr = e), null != Ze[e])) N( 'defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' ), (n = Ze[e]._config); else if (null != t.parentLocale) if (null != Ze[t.parentLocale]) n = Ze[t.parentLocale]._config; else { if (null == (i = Xe(t.parentLocale))) return ( Je[t.parentLocale] || (Je[t.parentLocale] = []), Je[t.parentLocale].push({ name: e, config: t }), null ); n = i._config; } return ( (Ze[e] = new I(T(n, t))), Je[e] && Je[e].forEach(function (e) { tt(e.name, e.config); }), et(e), Ze[e] ); } return delete Ze[e], null; } function it(e) { var t; if ( (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) ) return Ke; if (!s(e)) { if ((t = Xe(e))) return t; e = [e]; } return (function (e) { for (var t, i, n, r, s = 0; s < e.length; ) { for ( t = (r = Qe(e[s]).split('-')).length, i = (i = Qe(e[s + 1])) ? i.split('-') : null; 0 < t; ) { if ((n = Xe(r.slice(0, t).join('-')))) return n; if (i && i.length >= t && k(r, i, !0) >= t - 1) break; t--; } s++; } return Ke; })(e); } function nt(e) { var t, i = e._a; return ( i && -2 === f(e).overflow && ((t = i[1] < 0 || 11 < i[1] ? 1 : i[2] < 1 || i[2] > Se(i[0], i[1]) ? 2 : i[3] < 0 || 24 < i[3] || (24 === i[3] && (0 !== i[4] || 0 !== i[5] || 0 !== i[6])) ? 3 : i[4] < 0 || 59 < i[4] ? 4 : i[5] < 0 || 59 < i[5] ? 5 : i[6] < 0 || 999 < i[6] ? 6 : -1), f(e)._overflowDayOfYear && (t < 0 || 2 < t) && (t = 2), f(e)._overflowWeeks && -1 === t && (t = 7), f(e)._overflowWeekday && -1 === t && (t = 8), (f(e).overflow = t)), e ); } function rt(e, t, i) { return null != e ? e : null != t ? t : i; } function st(e) { var t, i, n, s, o, a = []; if (!e._d) { var l, c; for ( l = e, c = new Date(r.now()), n = l._useUTC ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()] : [c.getFullYear(), c.getMonth(), c.getDate()], e._w && null == e._a[2] && null == e._a[1] && (function (e) { var t, i, n, r, s, o, a, l; if (null != (t = e._w).GG || null != t.W || null != t.E) (s = 1), (o = 4), (i = rt(t.GG, e._a[0], Re(vt(), 1, 4).year)), (n = rt(t.W, 1)), ((r = rt(t.E, 1)) < 1 || 7 < r) && (l = !0); else { (s = e._locale._week.dow), (o = e._locale._week.doy); var c = Re(vt(), s, o); (i = rt(t.gg, e._a[0], c.year)), (n = rt(t.w, c.week)), null != t.d ? ((r = t.d) < 0 || 6 < r) && (l = !0) : null != t.e ? ((r = t.e + s), (t.e < 0 || 6 < t.e) && (l = !0)) : (r = s); } n < 1 || n > Pe(i, s, o) ? (f(e)._overflowWeeks = !0) : null != l ? (f(e)._overflowWeekday = !0) : ((a = Ae(i, n, r, s, o)), (e._a[0] = a.year), (e._dayOfYear = a.dayOfYear)); })(e), null != e._dayOfYear && ((o = rt(e._a[0], n[0])), (e._dayOfYear > me(o) || 0 === e._dayOfYear) && (f(e)._overflowDayOfYear = !0), (i = Ie(o, 0, e._dayOfYear)), (e._a[1] = i.getUTCMonth()), (e._a[2] = i.getUTCDate())), t = 0; t < 3 && null == e._a[t]; ++t ) e._a[t] = a[t] = n[t]; for (; t < 7; t++) e._a[t] = a[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t]; 24 === e._a[3] && 0 === e._a[4] && 0 === e._a[5] && 0 === e._a[6] && ((e._nextDay = !0), (e._a[3] = 0)), (e._d = (e._useUTC ? Ie : function (e, t, i, n, r, s, o) { var a = new Date(e, t, i, n, r, s, o); return ( e < 100 && 0 <= e && isFinite(a.getFullYear()) && a.setFullYear(e), a ); } ).apply(null, a)), (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[3] = 24), e._w && void 0 !== e._w.d && e._w.d !== s && (f(e).weekdayMismatch = !0); } } var ot = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, at = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, lt = /Z|[+-]\d\d(?::?\d\d)?/, ct = [ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], ['GGGG-[W]WW', /\d{4}-W\d\d/, !1], ['YYYY-DDD', /\d{4}-\d{3}/], ['YYYY-MM', /\d{4}-\d\d/, !1], ['YYYYYYMMDD', /[+-]\d{10}/], ['YYYYMMDD', /\d{8}/], ['GGGG[W]WWE', /\d{4}W\d{3}/], ['GGGG[W]WW', /\d{4}W\d{2}/, !1], ['YYYYDDD', /\d{7}/], ], dt = [ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], ['HH:mm:ss', /\d\d:\d\d:\d\d/], ['HH:mm', /\d\d:\d\d/], ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], ['HHmmss', /\d\d\d\d\d\d/], ['HHmm', /\d\d\d\d/], ['HH', /\d\d/], ], ht = /^\/?Date\((\-?\d+)/i; function ut(e) { var t, i, n, r, s, o, a = e._i, l = ot.exec(a) || at.exec(a); if (l) { for (f(e).iso = !0, t = 0, i = ct.length; t < i; t++) if (ct[t][1].exec(l[1])) { (r = ct[t][0]), (n = !1 !== ct[t][2]); break; } if (null == r) return void (e._isValid = !1); if (l[3]) { for (t = 0, i = dt.length; t < i; t++) if (dt[t][1].exec(l[3])) { s = (l[2] || ' ') + dt[t][0]; break; } if (null == s) return void (e._isValid = !1); } if (!n && null != s) return void (e._isValid = !1); if (l[4]) { if (!lt.exec(l[4])) return void (e._isValid = !1); o = 'Z'; } (e._f = r + (s || '') + (o || '')), mt(e); } else e._isValid = !1; } var gt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; var ft = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480, }; function pt(e) { var t, i, n, r = gt.exec( e._i .replace(/\([^)]*\)|[\n\t]/g, ' ') .replace(/(\s\s+)/g, ' ') .trim() ); if (r) { var s = (function (e, t, i, n, r, s) { var o = [ (function (e) { var t = parseInt(e, 10); return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; })(e), Le.indexOf(t), parseInt(i, 10), parseInt(n, 10), parseInt(r, 10), ]; return s && o.push(parseInt(s, 10)), o; })(r[4], r[3], r[2], r[5], r[6], r[7]); if ( ((i = s), (n = e), (t = r[1]) && Be.indexOf(t) !== new Date(i[0], i[1], i[2]).getDay() && ((f(n).weekdayMismatch = !0), !(n._isValid = !1))) ) return; (e._a = s), (e._tzm = (function (e, t, i) { if (e) return ft[e]; if (t) return 0; var n = parseInt(i, 10), r = n % 100; return ((n - r) / 100) * 60 + r; })(r[8], r[9], r[10])), (e._d = Ie.apply(null, e._a)), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), (f(e).rfc2822 = !0); } else e._isValid = !1; } function mt(e) { if (e._f !== r.ISO_8601) if (e._f !== r.RFC_2822) { (e._a = []), (f(e).empty = !0); var t, i, n, s, o, a, l, c, d = '' + e._i, u = d.length, g = 0; for ( n = $(e._f, e._locale).match(Y) || [], t = 0; t < n.length; t++ ) (s = n[t]), (i = (d.match(he(s, e)) || [])[0]) && (0 < (o = d.substr(0, d.indexOf(i))).length && f(e).unusedInput.push(o), (d = d.slice(d.indexOf(i) + i.length)), (g += i.length)), V[s] ? (i ? (f(e).empty = !1) : f(e).unusedTokens.push(s), (a = s), (c = e), null != (l = i) && h(ge, a) && ge[a](l, c._a, c, a)) : e._strict && !i && f(e).unusedTokens.push(s); (f(e).charsLeftOver = u - g), 0 < d.length && f(e).unusedInput.push(d), e._a[3] <= 12 && !0 === f(e).bigHour && 0 < e._a[3] && (f(e).bigHour = void 0), (f(e).parsedDateParts = e._a.slice(0)), (f(e).meridiem = e._meridiem), (e._a[3] = (function (e, t, i) { var n; return null == i ? t : null != e.meridiemHour ? e.meridiemHour(t, i) : (null != e.isPM && ((n = e.isPM(i)) && t < 12 && (t += 12), n || 12 !== t || (t = 0)), t); })(e._locale, e._a[3], e._meridiem)), st(e), nt(e); } else pt(e); else ut(e); } function _t(e) { var t, i, n, h, g = e._i, _ = e._f; return ( (e._locale = e._locale || it(e._l)), null === g || (void 0 === _ && '' === g) ? m({ nullInput: !0 }) : ('string' == typeof g && (e._i = g = e._locale.preparse(g)), w(g) ? new y(nt(g)) : (c(g) ? (e._d = g) : s(_) ? (function (e) { var t, i, n, r, s; if (0 === e._f.length) return ( (f(e).invalidFormat = !0), (e._d = new Date(NaN)) ); for (r = 0; r < e._f.length; r++) (s = 0), (t = b({}, e)), null != e._useUTC && (t._useUTC = e._useUTC), (t._f = e._f[r]), mt(t), p(t) && ((s += f(t).charsLeftOver), (s += 10 * f(t).unusedTokens.length), (f(t).score = s), (null == n || s < n) && ((n = s), (i = t))); u(e, i || t); })(e) : _ ? mt(e) : a((i = (t = e)._i)) ? (t._d = new Date(r.now())) : c(i) ? (t._d = new Date(i.valueOf())) : 'string' == typeof i ? ((n = t), null === (h = ht.exec(n._i)) ? (ut(n), !1 === n._isValid && (delete n._isValid, pt(n), !1 === n._isValid && (delete n._isValid, r.createFromInputFallback(n)))) : (n._d = new Date(+h[1]))) : s(i) ? ((t._a = d(i.slice(0), function (e) { return parseInt(e, 10); })), st(t)) : o(i) ? (function (e) { if (!e._d) { var t = P(e._i); (e._a = d( [ t.year, t.month, t.day || t.date, t.hour, t.minute, t.second, t.millisecond, ], function (e) { return e && parseInt(e, 10); } )), st(e); } })(t) : l(i) ? (t._d = new Date(i)) : r.createFromInputFallback(t), p(e) || (e._d = null), e)) ); } function bt(e, t, i, n, r) { var a, l = {}; return ( (!0 !== i && !1 !== i) || ((n = i), (i = void 0)), ((o(e) && (function (e) { if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length; var t; for (t in e) if (e.hasOwnProperty(t)) return !1; return !0; })(e)) || (s(e) && 0 === e.length)) && (e = void 0), (l._isAMomentObject = !0), (l._useUTC = l._isUTC = r), (l._l = i), (l._i = e), (l._f = t), (l._strict = n), (a = new y(nt(_t(l))))._nextDay && (a.add(1, 'd'), (a._nextDay = void 0)), a ); } function vt(e, t, i, n) { return bt(e, t, i, n, !1); } (r.createFromInputFallback = L( 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (e) { e._d = new Date(e._i + (e._useUTC ? ' UTC' : '')); } )), (r.ISO_8601 = function () {}), (r.RFC_2822 = function () {}); var yt = L( 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var e = vt.apply(null, arguments); return this.isValid() && e.isValid() ? e < this ? this : e : m(); } ), wt = L( 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var e = vt.apply(null, arguments); return this.isValid() && e.isValid() ? this < e ? this : e : m(); } ); function Ct(e, t) { var i, n; if ((1 === t.length && s(t[0]) && (t = t[0]), !t.length)) return vt(); for (i = t[0], n = 1; n < t.length; ++n) (t[n].isValid() && !t[n][e](i)) || (i = t[n]); return i; } var St = [ 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond', ]; function kt(e) { var t = P(e), i = t.year || 0, n = t.quarter || 0, r = t.month || 0, s = t.week || 0, o = t.day || 0, a = t.hour || 0, l = t.minute || 0, c = t.second || 0, d = t.millisecond || 0; (this._isValid = (function (e) { for (var t in e) if (-1 === be.call(St, t) || (null != e[t] && isNaN(e[t]))) return !1; for (var i = !1, n = 0; n < St.length; ++n) if (e[St[n]]) { if (i) return !1; parseFloat(e[St[n]]) !== S(e[St[n]]) && (i = !0); } return !0; })(t)), (this._milliseconds = +d + 1e3 * c + 6e4 * l + 1e3 * a * 60 * 60), (this._days = +o + 7 * s), (this._months = +r + 3 * n + 12 * i), (this._data = {}), (this._locale = it()), this._bubble(); } function xt(e) { return e instanceof kt; } function Lt(e) { return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e); } function Mt(e, t) { z(e, 0, 0, function () { var e = this.utcOffset(), i = '+'; return ( e < 0 && ((e = -e), (i = '-')), i + W(~~(e / 60), 2) + t + W(~~e % 60, 2) ); }); } Mt('Z', ':'), Mt('ZZ', ''), de('Z', ae), de('ZZ', ae), fe(['Z', 'ZZ'], function (e, t, i) { (i._useUTC = !0), (i._tzm = Nt(ae, e)); }); var Dt = /([\+\-]|\d\d)/gi; function Nt(e, t) { var i = (t || '').match(e); if (null === i) return null; var n = ((i[i.length - 1] || []) + '').match(Dt) || ['-', 0, 0], r = 60 * n[1] + S(n[2]); return 0 === r ? 0 : '+' === n[0] ? r : -r; } function Et(e, t) { var i, n; return t._isUTC ? ((i = t.clone()), (n = (w(e) || c(e) ? e.valueOf() : vt(e).valueOf()) - i.valueOf()), i._d.setTime(i._d.valueOf() + n), r.updateOffset(i, !1), i) : vt(e).local(); } function Tt(e) { return 15 * -Math.round(e._d.getTimezoneOffset() / 15); } function It() { return !!this.isValid() && this._isUTC && 0 === this._offset; } r.updateOffset = function () {}; var Ot = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/, At = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function Rt(e, t) { var i, n, r, s = e, o = null; return ( xt(e) ? (s = { ms: e._milliseconds, d: e._days, M: e._months }) : l(e) ? ((s = {}), t ? (s[t] = e) : (s.milliseconds = e)) : (o = Ot.exec(e)) ? ((i = '-' === o[1] ? -1 : 1), (s = { y: 0, d: S(o[2]) * i, h: S(o[3]) * i, m: S(o[4]) * i, s: S(o[5]) * i, ms: S(Lt(1e3 * o[6])) * i, })) : (o = At.exec(e)) ? ((i = '-' === o[1] ? -1 : (o[1], 1)), (s = { y: Pt(o[2], i), M: Pt(o[3], i), w: Pt(o[4], i), d: Pt(o[5], i), h: Pt(o[6], i), m: Pt(o[7], i), s: Pt(o[8], i), })) : null == s ? (s = {}) : 'object' == typeof s && ('from' in s || 'to' in s) && ((r = (function (e, t) { var i; return e.isValid() && t.isValid() ? ((t = Et(t, e)), e.isBefore(t) ? (i = Ft(e, t)) : (((i = Ft(t, e)).milliseconds = -i.milliseconds), (i.months = -i.months)), i) : { milliseconds: 0, months: 0 }; })(vt(s.from), vt(s.to))), ((s = {}).ms = r.milliseconds), (s.M = r.months)), (n = new kt(s)), xt(e) && h(e, '_locale') && (n._locale = e._locale), n ); } function Pt(e, t) { var i = e && parseFloat(e.replace(',', '.')); return (isNaN(i) ? 0 : i) * t; } function Ft(e, t) { var i = { milliseconds: 0, months: 0 }; return ( (i.months = t.month() - e.month() + 12 * (t.year() - e.year())), e.clone().add(i.months, 'M').isAfter(t) && --i.months, (i.milliseconds = +t - +e.clone().add(i.months, 'M')), i ); } function Bt(e, t) { return function (i, n) { var r; return ( null === n || isNaN(+n) || (N( t, 'moment().' + t + '(period, number) is deprecated. Please use moment().' + t + '(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' ), (r = i), (i = n), (n = r)), Wt(this, Rt((i = 'string' == typeof i ? +i : i), n), e), this ); }; } function Wt(e, t, i, n) { var s = t._milliseconds, o = Lt(t._days), a = Lt(t._months); e.isValid() && ((n = null == n || n), a && Me(e, we(e, 'Month') + a * i), o && Ce(e, 'Date', we(e, 'Date') + o * i), s && e._d.setTime(e._d.valueOf() + s * i), n && r.updateOffset(e, o || a)); } (Rt.fn = kt.prototype), (Rt.invalid = function () { return Rt(NaN); }); var Yt = Bt(1, 'add'), Ht = Bt(-1, 'subtract'); function jt(e, t) { var i = 12 * (t.year() - e.year()) + (t.month() - e.month()), n = e.clone().add(i, 'months'); return ( -( i + (t - n < 0 ? (t - n) / (n - e.clone().add(i - 1, 'months')) : (t - n) / (e.clone().add(i + 1, 'months') - n)) ) || 0 ); } function Vt(e) { var t; return void 0 === e ? this._locale._abbr : (null != (t = it(e)) && (this._locale = t), this); } (r.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'), (r.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'); var zt = L( 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (e) { return void 0 === e ? this.localeData() : this.locale(e); } ); function Ut() { return this._locale; } function $t(e, t) { z(0, [e, e.length], 0, t); } function Kt(e, t, i, n, r) { var s; return null == e ? Re(this, n, r).year : ((s = Pe(e, n, r)) < t && (t = s), function (e, t, i, n, r) { var s = Ae(e, t, i, n, r), o = Ie(s.year, 0, s.dayOfYear); return ( this.year(o.getUTCFullYear()), this.month(o.getUTCMonth()), this.date(o.getUTCDate()), this ); }.call(this, e, t, i, n, r)); } z(0, ['gg', 2], 0, function () { return this.weekYear() % 100; }), z(0, ['GG', 2], 0, function () { return this.isoWeekYear() % 100; }), $t('gggg', 'weekYear'), $t('ggggg', 'weekYear'), $t('GGGG', 'isoWeekYear'), $t('GGGGG', 'isoWeekYear'), A('weekYear', 'gg'), A('isoWeekYear', 'GG'), B('weekYear', 1), B('isoWeekYear', 1), de('G', se), de('g', se), de('GG', Q, q), de('gg', Q, q), de('GGGG', ie, Z), de('gggg', ie, Z), de('GGGGG', ne, J), de('ggggg', ne, J), pe(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (e, t, i, n) { t[n.substr(0, 2)] = S(e); }), pe(['gg', 'GG'], function (e, t, i, n) { t[n] = r.parseTwoDigitYear(e); }), z('Q', 0, 'Qo', 'quarter'), A('quarter', 'Q'), B('quarter', 7), de('Q', K), fe('Q', function (e, t) { t[1] = 3 * (S(e) - 1); }), z('D', ['DD', 2], 'Do', 'date'), A('date', 'D'), B('date', 9), de('D', Q), de('DD', Q, q), de('Do', function (e, t) { return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient; }), fe(['D', 'DD'], 2), fe('Do', function (e, t) { t[2] = S(e.match(Q)[0]); }); var qt = ye('Date', !0); z('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'), A('dayOfYear', 'DDD'), B('dayOfYear', 4), de('DDD', te), de('DDDD', G), fe(['DDD', 'DDDD'], function (e, t, i) { i._dayOfYear = S(e); }), z('m', ['mm', 2], 0, 'minute'), A('minute', 'm'), B('minute', 14), de('m', Q), de('mm', Q, q), fe(['m', 'mm'], 4); var Gt = ye('Minutes', !1); z('s', ['ss', 2], 0, 'second'), A('second', 's'), B('second', 15), de('s', Q), de('ss', Q, q), fe(['s', 'ss'], 5); var Zt, Jt = ye('Seconds', !1); for ( z('S', 0, 0, function () { return ~~(this.millisecond() / 100); }), z(0, ['SS', 2], 0, function () { return ~~(this.millisecond() / 10); }), z(0, ['SSS', 3], 0, 'millisecond'), z(0, ['SSSS', 4], 0, function () { return 10 * this.millisecond(); }), z(0, ['SSSSS', 5], 0, function () { return 100 * this.millisecond(); }), z(0, ['SSSSSS', 6], 0, function () { return 1e3 * this.millisecond(); }), z(0, ['SSSSSSS', 7], 0, function () { return 1e4 * this.millisecond(); }), z(0, ['SSSSSSSS', 8], 0, function () { return 1e5 * this.millisecond(); }), z(0, ['SSSSSSSSS', 9], 0, function () { return 1e6 * this.millisecond(); }), A('millisecond', 'ms'), B('millisecond', 16), de('S', te, K), de('SS', te, q), de('SSS', te, G), Zt = 'SSSS'; Zt.length <= 9; Zt += 'S' ) de(Zt, re); function Qt(e, t) { t[6] = S(1e3 * ('0.' + e)); } for (Zt = 'S'; Zt.length <= 9; Zt += 'S') fe(Zt, Qt); var Xt = ye('Milliseconds', !1); z('z', 0, 0, 'zoneAbbr'), z('zz', 0, 0, 'zoneName'); var ei = y.prototype; function ti(e) { return e; } (ei.add = Yt), (ei.calendar = function (e, t) { var i = e || vt(), n = Et(i, this).startOf('day'), s = r.calendarFormat(this, n) || 'sameElse', o = t && (E(t[s]) ? t[s].call(this, i) : t[s]); return this.format( o || this.localeData().calendar(s, this, vt(i)) ); }), (ei.clone = function () { return new y(this); }), (ei.diff = function (e, t, i) { var n, r, s; if (!this.isValid()) return NaN; if (!(n = Et(e, this)).isValid()) return NaN; switch ( ((r = 6e4 * (n.utcOffset() - this.utcOffset())), (t = R(t))) ) { case 'year': s = jt(this, n) / 12; break; case 'month': s = jt(this, n); break; case 'quarter': s = jt(this, n) / 3; break; case 'second': s = (this - n) / 1e3; break; case 'minute': s = (this - n) / 6e4; break; case 'hour': s = (this - n) / 36e5; break; case 'day': s = (this - n - r) / 864e5; break; case 'week': s = (this - n - r) / 6048e5; break; default: s = this - n; } return i ? s : C(s); }), (ei.endOf = function (e) { return void 0 === (e = R(e)) || 'millisecond' === e ? this : ('date' === e && (e = 'day'), this.startOf(e) .add(1, 'isoWeek' === e ? 'week' : e) .subtract(1, 'ms')); }), (ei.format = function (e) { e || (e = this.isUtc() ? r.defaultFormatUtc : r.defaultFormat); var t = U(this, e); return this.localeData().postformat(t); }), (ei.from = function (e, t) { return this.isValid() && ((w(e) && e.isValid()) || vt(e).isValid()) ? Rt({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate(); }), (ei.fromNow = function (e) { return this.from(vt(), e); }), (ei.to = function (e, t) { return this.isValid() && ((w(e) && e.isValid()) || vt(e).isValid()) ? Rt({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate(); }), (ei.toNow = function (e) { return this.to(vt(), e); }), (ei.get = function (e) { return E(this[(e = R(e))]) ? this[e]() : this; }), (ei.invalidAt = function () { return f(this).overflow; }), (ei.isAfter = function (e, t) { var i = w(e) ? e : vt(e); return ( !(!this.isValid() || !i.isValid()) && ('millisecond' === (t = R(a(t) ? 'millisecond' : t)) ? this.valueOf() > i.valueOf() : i.valueOf() < this.clone().startOf(t).valueOf()) ); }), (ei.isBefore = function (e, t) { var i = w(e) ? e : vt(e); return ( !(!this.isValid() || !i.isValid()) && ('millisecond' === (t = R(a(t) ? 'millisecond' : t)) ? this.valueOf() < i.valueOf() : this.clone().endOf(t).valueOf() < i.valueOf()) ); }), (ei.isBetween = function (e, t, i, n) { return ( ('(' === (n = n || '()')[0] ? this.isAfter(e, i) : !this.isBefore(e, i)) && (')' === n[1] ? this.isBefore(t, i) : !this.isAfter(t, i)) ); }), (ei.isSame = function (e, t) { var i, n = w(e) ? e : vt(e); return ( !(!this.isValid() || !n.isValid()) && ('millisecond' === (t = R(t || 'millisecond')) ? this.valueOf() === n.valueOf() : ((i = n.valueOf()), this.clone().startOf(t).valueOf() <= i && i <= this.clone().endOf(t).valueOf())) ); }), (ei.isSameOrAfter = function (e, t) { return this.isSame(e, t) || this.isAfter(e, t); }), (ei.isSameOrBefore = function (e, t) { return this.isSame(e, t) || this.isBefore(e, t); }), (ei.isValid = function () { return p(this); }), (ei.lang = zt), (ei.locale = Vt), (ei.localeData = Ut), (ei.max = wt), (ei.min = yt), (ei.parsingFlags = function () { return u({}, f(this)); }), (ei.set = function (e, t) { if ('object' == typeof e) for ( var i = (function (e) { var t = []; for (var i in e) t.push({ unit: i, priority: F[i] }); return ( t.sort(function (e, t) { return e.priority - t.priority; }), t ); })((e = P(e))), n = 0; n < i.length; n++ ) this[i[n].unit](e[i[n].unit]); else if (E(this[(e = R(e))])) return this[e](t); return this; }), (ei.startOf = function (e) { switch ((e = R(e))) { case 'year': this.month(0); case 'quarter': case 'month': this.date(1); case 'week': case 'isoWeek': case 'day': case 'date': this.hours(0); case 'hour': this.minutes(0); case 'minute': this.seconds(0); case 'second': this.milliseconds(0); } return ( 'week' === e && this.weekday(0), 'isoWeek' === e && this.isoWeekday(1), 'quarter' === e && this.month(3 * Math.floor(this.month() / 3)), this ); }), (ei.subtract = Ht), (ei.toArray = function () { var e = this; return [ e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond(), ]; }), (ei.toObject = function () { var e = this; return { years: e.year(), months: e.month(), date: e.date(), hours: e.hours(), minutes: e.minutes(), seconds: e.seconds(), milliseconds: e.milliseconds(), }; }), (ei.toDate = function () { return new Date(this.valueOf()); }), (ei.toISOString = function (e) { if (!this.isValid()) return null; var t = !0 !== e, i = t ? this.clone().utc() : this; return i.year() < 0 || 9999 < i.year() ? U( i, t ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' ) : E(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3) .toISOString() .replace('Z', U(i, 'Z')) : U( i, t ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' ); }), (ei.inspect = function () { if (!this.isValid()) return 'moment.invalid(/* ' + this._i + ' */)'; var e = 'moment', t = ''; this.isLocal() || ((e = 0 === this.utcOffset() ? 'moment.utc' : 'moment.parseZone'), (t = 'Z')); var i = '[' + e + '("]', n = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY', r = t + '[")]'; return this.format(i + n + '-MM-DD[T]HH:mm:ss.SSS' + r); }), (ei.toJSON = function () { return this.isValid() ? this.toISOString() : null; }), (ei.toString = function () { return this.clone() .locale('en') .format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); }), (ei.unix = function () { return Math.floor(this.valueOf() / 1e3); }), (ei.valueOf = function () { return this._d.valueOf() - 6e4 * (this._offset || 0); }), (ei.creationData = function () { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict, }; }), (ei.year = ve), (ei.isLeapYear = function () { return _e(this.year()); }), (ei.weekYear = function (e) { return Kt.call( this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy ); }), (ei.isoWeekYear = function (e) { return Kt.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); }), (ei.quarter = ei.quarters = function (e) { return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + (this.month() % 3)); }), (ei.month = De), (ei.daysInMonth = function () { return Se(this.year(), this.month()); }), (ei.week = ei.weeks = function (e) { var t = this.localeData().week(this); return null == e ? t : this.add(7 * (e - t), 'd'); }), (ei.isoWeek = ei.isoWeeks = function (e) { var t = Re(this, 1, 4).week; return null == e ? t : this.add(7 * (e - t), 'd'); }), (ei.weeksInYear = function () { var e = this.localeData()._week; return Pe(this.year(), e.dow, e.doy); }), (ei.isoWeeksInYear = function () { return Pe(this.year(), 1, 4); }), (ei.date = qt), (ei.day = ei.days = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t, i, n = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return null != e ? ((t = e), (i = this.localeData()), (e = 'string' != typeof t ? t : isNaN(t) ? 'number' == typeof (t = i.weekdaysParse(t)) ? t : null : parseInt(t, 10)), this.add(e - n, 'd')) : n; }), (ei.weekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t = (this.day() + 7 - this.localeData()._week.dow) % 7; return null == e ? t : this.add(e - t, 'd'); }), (ei.isoWeekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; if (null != e) { var t = ((i = e), (n = this.localeData()), 'string' == typeof i ? n.weekdaysParse(i) % 7 || 7 : isNaN(i) ? null : i); return this.day(this.day() % 7 ? t : t - 7); } return this.day() || 7; var i, n; }), (ei.dayOfYear = function (e) { var t = Math.round( (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 ) + 1; return null == e ? t : this.add(e - t, 'd'); }), (ei.hour = ei.hours = qe), (ei.minute = ei.minutes = Gt), (ei.second = ei.seconds = Jt), (ei.millisecond = ei.milliseconds = Xt), (ei.utcOffset = function (e, t, i) { var n, s = this._offset || 0; if (!this.isValid()) return null != e ? this : NaN; if (null != e) { if ('string' == typeof e) { if (null === (e = Nt(ae, e))) return this; } else Math.abs(e) < 16 && !i && (e *= 60); return ( !this._isUTC && t && (n = Tt(this)), (this._offset = e), (this._isUTC = !0), null != n && this.add(n, 'm'), s !== e && (!t || this._changeInProgress ? Wt(this, Rt(e - s, 'm'), 1, !1) : this._changeInProgress || ((this._changeInProgress = !0), r.updateOffset(this, !0), (this._changeInProgress = null))), this ); } return this._isUTC ? s : Tt(this); }), (ei.utc = function (e) { return this.utcOffset(0, e); }), (ei.local = function (e) { return ( this._isUTC && (this.utcOffset(0, e), (this._isUTC = !1), e && this.subtract(Tt(this), 'm')), this ); }), (ei.parseZone = function () { if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); else if ('string' == typeof this._i) { var e = Nt(oe, this._i); null != e ? this.utcOffset(e) : this.utcOffset(0, !0); } return this; }), (ei.hasAlignedHourOffset = function (e) { return ( !!this.isValid() && ((e = e ? vt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0) ); }), (ei.isDST = function () { return ( this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() ); }), (ei.isLocal = function () { return !!this.isValid() && !this._isUTC; }), (ei.isUtcOffset = function () { return !!this.isValid() && this._isUTC; }), (ei.isUtc = It), (ei.isUTC = It), (ei.zoneAbbr = function () { return this._isUTC ? 'UTC' : ''; }), (ei.zoneName = function () { return this._isUTC ? 'Coordinated Universal Time' : ''; }), (ei.dates = L( 'dates accessor is deprecated. Use date instead.', qt )), (ei.months = L( 'months accessor is deprecated. Use month instead', De )), (ei.years = L( 'years accessor is deprecated. Use year instead', ve )), (ei.zone = L( 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', function (e, t) { return null != e ? ('string' != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset(); } )), (ei.isDSTShifted = L( 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', function () { if (!a(this._isDSTShifted)) return this._isDSTShifted; var e = {}; if ((b(e, this), (e = _t(e))._a)) { var t = e._isUTC ? g(e._a) : vt(e._a); this._isDSTShifted = this.isValid() && 0 < k(e._a, t.toArray()); } else this._isDSTShifted = !1; return this._isDSTShifted; } )); var ii = I.prototype; function ni(e, t, i, n) { var r = it(), s = g().set(n, t); return r[i](s, e); } function ri(e, t, i) { if ((l(e) && ((t = e), (e = void 0)), (e = e || ''), null != t)) return ni(e, t, i, 'month'); var n, r = []; for (n = 0; n < 12; n++) r[n] = ni(e, n, i, 'month'); return r; } function si(e, t, i, n) { 'boolean' == typeof e ? l(t) && ((i = t), (t = void 0)) : ((t = e), (e = !1), l((i = t)) && ((i = t), (t = void 0))), (t = t || ''); var r, s = it(), o = e ? s._week.dow : 0; if (null != i) return ni(t, (i + o) % 7, n, 'day'); var a = []; for (r = 0; r < 7; r++) a[r] = ni(t, (r + o) % 7, n, 'day'); return a; } (ii.calendar = function (e, t, i) { var n = this._calendar[e] || this._calendar.sameElse; return E(n) ? n.call(t, i) : n; }), (ii.longDateFormat = function (e) { var t = this._longDateFormat[e], i = this._longDateFormat[e.toUpperCase()]; return t || !i ? t : ((this._longDateFormat[e] = i.replace( /MMMM|MM|DD|dddd/g, function (e) { return e.slice(1); } )), this._longDateFormat[e]); }), (ii.invalidDate = function () { return this._invalidDate; }), (ii.ordinal = function (e) { return this._ordinal.replace('%d', e); }), (ii.preparse = ti), (ii.postformat = ti), (ii.relativeTime = function (e, t, i, n) { var r = this._relativeTime[i]; return E(r) ? r(e, t, i, n) : r.replace(/%d/i, e); }), (ii.pastFuture = function (e, t) { var i = this._relativeTime[0 < e ? 'future' : 'past']; return E(i) ? i(t) : i.replace(/%s/i, t); }), (ii.set = function (e) { var t, i; for (i in e) E((t = e[i])) ? (this[i] = t) : (this['_' + i] = t); (this._config = e), (this._dayOfMonthOrdinalParseLenient = new RegExp( (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\d{1,2}/.source )); }), (ii.months = function (e, t) { return e ? s(this._months) ? this._months[e.month()] : this._months[ (this._months.isFormat || ke).test(t) ? 'format' : 'standalone' ][e.month()] : s(this._months) ? this._months : this._months.standalone; }), (ii.monthsShort = function (e, t) { return e ? s(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[ke.test(t) ? 'format' : 'standalone'][ e.month() ] : s(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone; }), (ii.monthsParse = function (e, t, i) { var n, r, s; if (this._monthsParseExact) return function (e, t, i) { var n, r, s, o = e.toLocaleLowerCase(); if (!this._monthsParse) for ( this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], n = 0; n < 12; ++n ) (s = g([2e3, n])), (this._shortMonthsParse[n] = this.monthsShort( s, '' ).toLocaleLowerCase()), (this._longMonthsParse[n] = this.months( s, '' ).toLocaleLowerCase()); return i ? 'MMM' === t ? -1 !== (r = be.call(this._shortMonthsParse, o)) ? r : null : -1 !== (r = be.call(this._longMonthsParse, o)) ? r : null : 'MMM' === t ? -1 !== (r = be.call(this._shortMonthsParse, o)) || -1 !== (r = be.call(this._longMonthsParse, o)) ? r : null : -1 !== (r = be.call(this._longMonthsParse, o)) || -1 !== (r = be.call(this._shortMonthsParse, o)) ? r : null; }.call(this, e, t, i); for ( this._monthsParse || ((this._monthsParse = []), (this._longMonthsParse = []), (this._shortMonthsParse = [])), n = 0; n < 12; n++ ) { if ( ((r = g([2e3, n])), i && !this._longMonthsParse[n] && ((this._longMonthsParse[n] = new RegExp( '^' + this.months(r, '').replace('.', '') + '$', 'i' )), (this._shortMonthsParse[n] = new RegExp( '^' + this.monthsShort(r, '').replace('.', '') + '$', 'i' ))), i || this._monthsParse[n] || ((s = '^' + this.months(r, '') + '|^' + this.monthsShort(r, '')), (this._monthsParse[n] = new RegExp( s.replace('.', ''), 'i' ))), i && 'MMMM' === t && this._longMonthsParse[n].test(e)) ) return n; if (i && 'MMM' === t && this._shortMonthsParse[n].test(e)) return n; if (!i && this._monthsParse[n].test(e)) return n; } }), (ii.monthsRegex = function (e) { return this._monthsParseExact ? (h(this, '_monthsRegex') || Te.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (h(this, '_monthsRegex') || (this._monthsRegex = Ee), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex); }), (ii.monthsShortRegex = function (e) { return this._monthsParseExact ? (h(this, '_monthsRegex') || Te.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (h(this, '_monthsShortRegex') || (this._monthsShortRegex = Ne), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex); }), (ii.week = function (e) { return Re(e, this._week.dow, this._week.doy).week; }), (ii.firstDayOfYear = function () { return this._week.doy; }), (ii.firstDayOfWeek = function () { return this._week.dow; }), (ii.weekdays = function (e, t) { return e ? s(this._weekdays) ? this._weekdays[e.day()] : this._weekdays[ this._weekdays.isFormat.test(t) ? 'format' : 'standalone' ][e.day()] : s(this._weekdays) ? this._weekdays : this._weekdays.standalone; }), (ii.weekdaysMin = function (e) { return e ? this._weekdaysMin[e.day()] : this._weekdaysMin; }), (ii.weekdaysShort = function (e) { return e ? this._weekdaysShort[e.day()] : this._weekdaysShort; }), (ii.weekdaysParse = function (e, t, i) { var n, r, s; if (this._weekdaysParseExact) return function (e, t, i) { var n, r, s, o = e.toLocaleLowerCase(); if (!this._weekdaysParse) for ( this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], n = 0; n < 7; ++n ) (s = g([2e3, 1]).day(n)), (this._minWeekdaysParse[n] = this.weekdaysMin( s, '' ).toLocaleLowerCase()), (this._shortWeekdaysParse[n] = this.weekdaysShort( s, '' ).toLocaleLowerCase()), (this._weekdaysParse[n] = this.weekdays( s, '' ).toLocaleLowerCase()); return i ? 'dddd' === t ? -1 !== (r = be.call(this._weekdaysParse, o)) ? r : null : 'ddd' === t ? -1 !== (r = be.call(this._shortWeekdaysParse, o)) ? r : null : -1 !== (r = be.call(this._minWeekdaysParse, o)) ? r : null : 'dddd' === t ? -1 !== (r = be.call(this._weekdaysParse, o)) || -1 !== (r = be.call(this._shortWeekdaysParse, o)) || -1 !== (r = be.call(this._minWeekdaysParse, o)) ? r : null : 'ddd' === t ? -1 !== (r = be.call(this._shortWeekdaysParse, o)) || -1 !== (r = be.call(this._weekdaysParse, o)) || -1 !== (r = be.call(this._minWeekdaysParse, o)) ? r : null : -1 !== (r = be.call(this._minWeekdaysParse, o)) || -1 !== (r = be.call(this._weekdaysParse, o)) || -1 !== (r = be.call(this._shortWeekdaysParse, o)) ? r : null; }.call(this, e, t, i); for ( this._weekdaysParse || ((this._weekdaysParse = []), (this._minWeekdaysParse = []), (this._shortWeekdaysParse = []), (this._fullWeekdaysParse = [])), n = 0; n < 7; n++ ) { if ( ((r = g([2e3, 1]).day(n)), i && !this._fullWeekdaysParse[n] && ((this._fullWeekdaysParse[n] = new RegExp( '^' + this.weekdays(r, '').replace('.', '.?') + '$', 'i' )), (this._shortWeekdaysParse[n] = new RegExp( '^' + this.weekdaysShort(r, '').replace('.', '.?') + '$', 'i' )), (this._minWeekdaysParse[n] = new RegExp( '^' + this.weekdaysMin(r, '').replace('.', '.?') + '$', 'i' ))), this._weekdaysParse[n] || ((s = '^' + this.weekdays(r, '') + '|^' + this.weekdaysShort(r, '') + '|^' + this.weekdaysMin(r, '')), (this._weekdaysParse[n] = new RegExp( s.replace('.', ''), 'i' ))), i && 'dddd' === t && this._fullWeekdaysParse[n].test(e)) ) return n; if (i && 'ddd' === t && this._shortWeekdaysParse[n].test(e)) return n; if (i && 'dd' === t && this._minWeekdaysParse[n].test(e)) return n; if (!i && this._weekdaysParse[n].test(e)) return n; } }), (ii.weekdaysRegex = function (e) { return this._weekdaysParseExact ? (h(this, '_weekdaysRegex') || Ve.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (h(this, '_weekdaysRegex') || (this._weekdaysRegex = Ye), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex); }), (ii.weekdaysShortRegex = function (e) { return this._weekdaysParseExact ? (h(this, '_weekdaysRegex') || Ve.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (h(this, '_weekdaysShortRegex') || (this._weekdaysShortRegex = He), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex); }), (ii.weekdaysMinRegex = function (e) { return this._weekdaysParseExact ? (h(this, '_weekdaysRegex') || Ve.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (h(this, '_weekdaysMinRegex') || (this._weekdaysMinRegex = je), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex); }), (ii.isPM = function (e) { return 'p' === (e + '').toLowerCase().charAt(0); }), (ii.meridiem = function (e, t, i) { return 11 < e ? (i ? 'pm' : 'PM') : i ? 'am' : 'AM'; }), et('en', { dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) { var t = e % 10; return ( e + (1 === S((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, }), (r.lang = L( 'moment.lang is deprecated. Use moment.locale instead.', et )), (r.langData = L( 'moment.langData is deprecated. Use moment.localeData instead.', it )); var oi = Math.abs; function ai(e, t, i, n) { var r = Rt(t, i); return ( (e._milliseconds += n * r._milliseconds), (e._days += n * r._days), (e._months += n * r._months), e._bubble() ); } function li(e) { return e < 0 ? Math.floor(e) : Math.ceil(e); } function ci(e) { return (4800 * e) / 146097; } function di(e) { return (146097 * e) / 4800; } function hi(e) { return function () { return this.as(e); }; } var ui = hi('ms'), gi = hi('s'), fi = hi('m'), pi = hi('h'), mi = hi('d'), _i = hi('w'), bi = hi('M'), vi = hi('y'); function yi(e) { return function () { return this.isValid() ? this._data[e] : NaN; }; } var wi = yi('milliseconds'), Ci = yi('seconds'), Si = yi('minutes'), ki = yi('hours'), xi = yi('days'), Li = yi('months'), Mi = yi('years'), Di = Math.round, Ni = { ss: 44, s: 45, m: 45, h: 22, d: 26, M: 11 }, Ei = Math.abs; function Ti(e) { return (0 < e) - (e < 0) || +e; } function Ii() { if (!this.isValid()) return this.localeData().invalidDate(); var e, t, i = Ei(this._milliseconds) / 1e3, n = Ei(this._days), r = Ei(this._months); (t = C((e = C(i / 60)) / 60)), (i %= 60), (e %= 60); var s = C(r / 12), o = (r %= 12), a = n, l = t, c = e, d = i ? i.toFixed(3).replace(/\.?0+$/, '') : '', h = this.asSeconds(); if (!h) return 'P0D'; var u = h < 0 ? '-' : '', g = Ti(this._months) !== Ti(h) ? '-' : '', f = Ti(this._days) !== Ti(h) ? '-' : '', p = Ti(this._milliseconds) !== Ti(h) ? '-' : ''; return ( u + 'P' + (s ? g + s + 'Y' : '') + (o ? g + o + 'M' : '') + (a ? f + a + 'D' : '') + (l || c || d ? 'T' : '') + (l ? p + l + 'H' : '') + (c ? p + c + 'M' : '') + (d ? p + d + 'S' : '') ); } var Oi = kt.prototype; return ( (Oi.isValid = function () { return this._isValid; }), (Oi.abs = function () { var e = this._data; return ( (this._milliseconds = oi(this._milliseconds)), (this._days = oi(this._days)), (this._months = oi(this._months)), (e.milliseconds = oi(e.milliseconds)), (e.seconds = oi(e.seconds)), (e.minutes = oi(e.minutes)), (e.hours = oi(e.hours)), (e.months = oi(e.months)), (e.years = oi(e.years)), this ); }), (Oi.add = function (e, t) { return ai(this, e, t, 1); }), (Oi.subtract = function (e, t) { return ai(this, e, t, -1); }), (Oi.as = function (e) { if (!this.isValid()) return NaN; var t, i, n = this._milliseconds; if ('month' === (e = R(e)) || 'year' === e) return ( (t = this._days + n / 864e5), (i = this._months + ci(t)), 'month' === e ? i : i / 12 ); switch (((t = this._days + Math.round(di(this._months))), e)) { case 'week': return t / 7 + n / 6048e5; case 'day': return t + n / 864e5; case 'hour': return 24 * t + n / 36e5; case 'minute': return 1440 * t + n / 6e4; case 'second': return 86400 * t + n / 1e3; case 'millisecond': return Math.floor(864e5 * t) + n; default: throw new Error('Unknown unit ' + e); } }), (Oi.asMilliseconds = ui), (Oi.asSeconds = gi), (Oi.asMinutes = fi), (Oi.asHours = pi), (Oi.asDays = mi), (Oi.asWeeks = _i), (Oi.asMonths = bi), (Oi.asYears = vi), (Oi.valueOf = function () { return this.isValid() ? this._milliseconds + 864e5 * this._days + (this._months % 12) * 2592e6 + 31536e6 * S(this._months / 12) : NaN; }), (Oi._bubble = function () { var e, t, i, n, r, s = this._milliseconds, o = this._days, a = this._months, l = this._data; return ( (0 <= s && 0 <= o && 0 <= a) || (s <= 0 && o <= 0 && a <= 0) || ((s += 864e5 * li(di(a) + o)), (a = o = 0)), (l.milliseconds = s % 1e3), (e = C(s / 1e3)), (l.seconds = e % 60), (t = C(e / 60)), (l.minutes = t % 60), (i = C(t / 60)), (l.hours = i % 24), (a += r = C(ci((o += C(i / 24))))), (o -= li(di(r))), (n = C(a / 12)), (a %= 12), (l.days = o), (l.months = a), (l.years = n), this ); }), (Oi.clone = function () { return Rt(this); }), (Oi.get = function (e) { return (e = R(e)), this.isValid() ? this[e + 's']() : NaN; }), (Oi.milliseconds = wi), (Oi.seconds = Ci), (Oi.minutes = Si), (Oi.hours = ki), (Oi.days = xi), (Oi.weeks = function () { return C(this.days() / 7); }), (Oi.months = Li), (Oi.years = Mi), (Oi.humanize = function (e) { if (!this.isValid()) return this.localeData().invalidDate(); var t, i, n, r, s, o, a, l, c, d, h = this.localeData(), u = ((t = !e), (i = h), (n = Rt(this).abs()), (r = Di(n.as('s'))), (s = Di(n.as('m'))), (o = Di(n.as('h'))), (a = Di(n.as('d'))), (l = Di(n.as('M'))), (c = Di(n.as('y'))), ((d = (r <= Ni.ss && ['s', r]) || (r < Ni.s && ['ss', r]) || (s <= 1 && ['m']) || (s < Ni.m && ['mm', s]) || (o <= 1 && ['h']) || (o < Ni.h && ['hh', o]) || (a <= 1 && ['d']) || (a < Ni.d && ['dd', a]) || (l <= 1 && ['M']) || (l < Ni.M && ['MM', l]) || (c <= 1 && ['y']) || ['yy', c])[2] = t), (d[3] = 0 < +this), (d[4] = i), function (e, t, i, n, r) { return r.relativeTime(t || 1, !!i, e, n); }.apply(null, d)); return e && (u = h.pastFuture(+this, u)), h.postformat(u); }), (Oi.toISOString = Ii), (Oi.toString = Ii), (Oi.toJSON = Ii), (Oi.locale = Vt), (Oi.localeData = Ut), (Oi.toIsoString = L( 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', Ii )), (Oi.lang = zt), z('X', 0, 0, 'unix'), z('x', 0, 0, 'valueOf'), de('x', se), de('X', /[+-]?\d+(\.\d{1,3})?/), fe('X', function (e, t, i) { i._d = new Date(1e3 * parseFloat(e, 10)); }), fe('x', function (e, t, i) { i._d = new Date(S(e)); }), (r.version = '2.22.1'), (t = vt), (r.fn = ei), (r.min = function () { return Ct('isBefore', [].slice.call(arguments, 0)); }), (r.max = function () { return Ct('isAfter', [].slice.call(arguments, 0)); }), (r.now = function () { return Date.now ? Date.now() : +new Date(); }), (r.utc = g), (r.unix = function (e) { return vt(1e3 * e); }), (r.months = function (e, t) { return ri(e, t, 'months'); }), (r.isDate = c), (r.locale = et), (r.invalid = m), (r.duration = Rt), (r.isMoment = w), (r.weekdays = function (e, t, i) { return si(e, t, i, 'weekdays'); }), (r.parseZone = function () { return vt.apply(null, arguments).parseZone(); }), (r.localeData = it), (r.isDuration = xt), (r.monthsShort = function (e, t) { return ri(e, t, 'monthsShort'); }), (r.weekdaysMin = function (e, t, i) { return si(e, t, i, 'weekdaysMin'); }), (r.defineLocale = tt), (r.updateLocale = function (e, t) { if (null != t) { var i, n, r = Ge; null != (n = Xe(e)) && (r = n._config), ((i = new I((t = T(r, t)))).parentLocale = Ze[e]), (Ze[e] = i), et(e); } else null != Ze[e] && (null != Ze[e].parentLocale ? (Ze[e] = Ze[e].parentLocale) : null != Ze[e] && delete Ze[e]); return Ze[e]; }), (r.locales = function () { return M(Ze); }), (r.weekdaysShort = function (e, t, i) { return si(e, t, i, 'weekdaysShort'); }), (r.normalizeUnits = R), (r.relativeTimeRounding = function (e) { return void 0 === e ? Di : 'function' == typeof e && ((Di = e), !0); }), (r.relativeTimeThreshold = function (e, t) { return ( void 0 !== Ni[e] && (void 0 === t ? Ni[e] : ((Ni[e] = t), 's' === e && (Ni.ss = t - 1), !0)) ); }), (r.calendarFormat = function (e, t) { var i = e.diff(t, 'days', !0); return i < -6 ? 'sameElse' : i < -1 ? 'lastWeek' : i < 0 ? 'lastDay' : i < 1 ? 'sameDay' : i < 2 ? 'nextDay' : i < 7 ? 'nextWeek' : 'sameElse'; }), (r.prototype = ei), (r.HTML5_FMT = { DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', DATE: 'YYYY-MM-DD', TIME: 'HH:mm', TIME_SECONDS: 'HH:mm:ss', TIME_MS: 'HH:mm:ss.SSS', WEEK: 'YYYY-[W]WW', MONTH: 'YYYY-MM', }), r ); })(); }, 42786: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('af', { months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( '_' ), monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split( '_' ), weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( '_' ), weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), meridiemParse: /vm|nm/i, isPM: function (e) { return /^nm$/i.test(e); }, meridiem: function (e, t, i) { return e < 12 ? (i ? 'vm' : 'VM') : i ? 'nm' : 'NM'; }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Vandag om] LT', nextDay: '[Môre om] LT', nextWeek: 'dddd [om] LT', lastDay: '[Gister om] LT', lastWeek: '[Laas] dddd [om] LT', sameElse: 'L', }, relativeTime: { future: 'oor %s', past: '%s gelede', s: "'n paar sekondes", ss: '%d sekondes', m: "'n minuut", mm: '%d minute', h: "'n uur", hh: '%d ure', d: "'n dag", dd: '%d dae', M: "'n maand", MM: '%d maande', y: "'n jaar", yy: '%d jaar', }, dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, ordinal: function (e) { return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 14130: function (e, t, i) { !(function (e) { 'use strict'; var t = function (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5; }, i = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية', ], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة', ], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة', ], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم', ], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر', ], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام', ], }, n = function (e) { return function (n, r, s, o) { var a = t(n), l = i[e][t(n)]; return 2 === a && (l = l[r ? 0 : 1]), l.replace(/%d/i, n); }; }, r = [ 'جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر', ]; e.defineLocale('ar-dz', { months: r, monthsShort: r, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/‏M/‏YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, meridiemParse: /ص|م/, isPM: function (e) { return 'م' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ص' : 'م'; }, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: n('s'), ss: n('s'), m: n('m'), mm: n('m'), h: n('h'), hh: n('h'), d: n('d'), dd: n('d'), M: n('M'), MM: n('M'), y: n('y'), yy: n('y'), }, postformat: function (e) { return e.replace(/,/g, '،'); }, week: { dow: 0, doy: 4 }, }); })(i(30381)); }, 96135: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ar-kw', { months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_' ), monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_' ), weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 0, doy: 12 }, }); })(i(30381)); }, 56440: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 0: '0', }, i = function (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5; }, n = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية', ], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة', ], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة', ], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم', ], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر', ], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام', ], }, r = function (e) { return function (t, r, s, o) { var a = i(t), l = n[e][i(t)]; return 2 === a && (l = l[r ? 0 : 1]), l.replace(/%d/i, t); }; }, s = [ 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر', ]; e.defineLocale('ar-ly', { months: s, monthsShort: s, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/‏M/‏YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, meridiemParse: /ص|م/, isPM: function (e) { return 'م' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ص' : 'م'; }, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: r('s'), ss: r('s'), m: r('m'), mm: r('m'), h: r('h'), hh: r('h'), d: r('d'), dd: r('d'), M: r('M'), MM: r('M'), y: r('y'), yy: r('y'), }, preparse: function (e) { return e.replace(/،/g, ','); }, postformat: function (e) { return e .replace(/\d/g, function (e) { return t[e]; }) .replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 47702: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ar-ma', { months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_' ), monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_' ), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 16040: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, i = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }; e.defineLocale('ar-sa', { months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_' ), monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_' ), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, meridiemParse: /ص|م/, isPM: function (e) { return 'م' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ص' : 'م'; }, calendar: { sameDay: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, preparse: function (e) { return e .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { return i[e]; }) .replace(/،/g, ','); }, postformat: function (e) { return e .replace(/\d/g, function (e) { return t[e]; }) .replace(/,/g, '،'); }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 37100: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ar-tn', { months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_' ), monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_' ), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 30867: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, i = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }, n = function (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5; }, r = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية', ], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة', ], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة', ], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم', ], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر', ], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام', ], }, s = function (e) { return function (t, i, s, o) { var a = n(t), l = r[e][n(t)]; return 2 === a && (l = l[i ? 0 : 1]), l.replace(/%d/i, t); }; }, o = [ 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر', ]; e.defineLocale('ar', { months: o, monthsShort: o, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_' ), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/‏M/‏YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, meridiemParse: /ص|م/, isPM: function (e) { return 'م' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ص' : 'م'; }, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: s('s'), ss: s('s'), m: s('m'), mm: s('m'), h: s('h'), hh: s('h'), d: s('d'), dd: s('d'), M: s('M'), MM: s('M'), y: s('y'), yy: s('y'), }, preparse: function (e) { return e .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { return i[e]; }) .replace(/،/g, ','); }, postformat: function (e) { return e .replace(/\d/g, function (e) { return t[e]; }) .replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 31083: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '-inci', 5: '-inci', 8: '-inci', 70: '-inci', 80: '-inci', 2: '-nci', 7: '-nci', 20: '-nci', 50: '-nci', 3: '-üncü', 4: '-üncü', 100: '-üncü', 6: '-ncı', 9: '-uncu', 10: '-uncu', 30: '-uncu', 60: '-ıncı', 90: '-ıncı', }; e.defineLocale('az', { months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( '_' ), monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split( '_' ), weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( '_' ), weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[bugün saat] LT', nextDay: '[sabah saat] LT', nextWeek: '[gələn həftə] dddd [saat] LT', lastDay: '[dünən] LT', lastWeek: '[keçən həftə] dddd [saat] LT', sameElse: 'L', }, relativeTime: { future: '%s sonra', past: '%s əvvəl', s: 'bir neçə saniyə', ss: '%d saniyə', m: 'bir dəqiqə', mm: '%d dəqiqə', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', M: 'bir ay', MM: '%d ay', y: 'bir il', yy: '%d il', }, meridiemParse: /gecə|səhər|gündüz|axşam/, isPM: function (e) { return /^(gündüz|axşam)$/.test(e); }, meridiem: function (e, t, i) { return e < 4 ? 'gecə' : e < 12 ? 'səhər' : e < 17 ? 'gündüz' : 'axşam'; }, dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, ordinal: function (e) { if (0 === e) return e + '-ıncı'; var i = e % 10; return e + (t[i] || t[(e % 100) - i] || t[e >= 100 ? 100 : null]); }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 9808: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { return 'm' === i ? t ? 'хвіліна' : 'хвіліну' : 'h' === i ? t ? 'гадзіна' : 'гадзіну' : e + ' ' + ((n = +e), (r = { ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', mm: t ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', hh: t ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', dd: 'дзень_дні_дзён', MM: 'месяц_месяцы_месяцаў', yy: 'год_гады_гадоў', }[i].split('_')), n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]); var n, r; } e.defineLocale('be', { months: { format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( '_' ), standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( '_' ), }, monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( '_' ), weekdays: { format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( '_' ), standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( '_' ), isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/, }, weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY г.', LLL: 'D MMMM YYYY г., HH:mm', LLLL: 'dddd, D MMMM YYYY г., HH:mm', }, calendar: { sameDay: '[Сёння ў] LT', nextDay: '[Заўтра ў] LT', lastDay: '[Учора ў] LT', nextWeek: function () { return '[У] dddd [ў] LT'; }, lastWeek: function () { switch (this.day()) { case 0: case 3: case 5: case 6: return '[У мінулую] dddd [ў] LT'; case 1: case 2: case 4: return '[У мінулы] dddd [ў] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'праз %s', past: '%s таму', s: 'некалькі секунд', m: t, mm: t, h: t, hh: t, d: 'дзень', dd: t, M: 'месяц', MM: t, y: 'год', yy: t, }, meridiemParse: /ночы|раніцы|дня|вечара/, isPM: function (e) { return /^(дня|вечара)$/.test(e); }, meridiem: function (e, t, i) { return e < 4 ? 'ночы' : e < 12 ? 'раніцы' : e < 17 ? 'дня' : 'вечара'; }, dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/, ordinal: function (e, t) { switch (t) { case 'M': case 'd': case 'DDD': case 'w': case 'W': return (e % 10 != 2 && e % 10 != 3) || e % 100 == 12 || e % 100 == 13 ? e + '-ы' : e + '-і'; case 'D': return e + '-га'; default: return e; } }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 68338: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('bg', { months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( '_' ), monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split( '_' ), weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( '_' ), weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm', }, calendar: { sameDay: '[Днес в] LT', nextDay: '[Утре в] LT', nextWeek: 'dddd [в] LT', lastDay: '[Вчера в] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: case 6: return '[Миналата] dddd [в] LT'; case 1: case 2: case 4: case 5: return '[Миналия] dddd [в] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'след %s', past: 'преди %s', s: 'няколко секунди', ss: '%d секунди', m: 'минута', mm: '%d минути', h: 'час', hh: '%d часа', d: 'ден', dd: '%d дена', w: 'седмица', ww: '%d седмици', M: 'месец', MM: '%d месеца', y: 'година', yy: '%d години', }, dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, ordinal: function (e) { var t = e % 10, i = e % 100; return 0 === e ? e + '-ев' : 0 === i ? e + '-ен' : i > 10 && i < 20 ? e + '-ти' : 1 === t ? e + '-ви' : 2 === t ? e + '-ри' : 7 === t || 8 === t ? e + '-ми' : e + '-ти'; }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 67438: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('bm', { months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( '_' ), monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split( '_' ), weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'MMMM [tile] D [san] YYYY', LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', }, calendar: { sameDay: '[Bi lɛrɛ] LT', nextDay: '[Sini lɛrɛ] LT', nextWeek: 'dddd [don lɛrɛ] LT', lastDay: '[Kunu lɛrɛ] LT', lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', sameElse: 'L', }, relativeTime: { future: '%s kɔnɔ', past: 'a bɛ %s bɔ', s: 'sanga dama dama', ss: 'sekondi %d', m: 'miniti kelen', mm: 'miniti %d', h: 'lɛrɛ kelen', hh: 'lɛrɛ %d', d: 'tile kelen', dd: 'tile %d', M: 'kalo kelen', MM: 'kalo %d', y: 'san kelen', yy: 'san %d', }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 76225: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '১', 2: '২', 3: '৩', 4: '৪', 5: '৫', 6: '৬', 7: '৭', 8: '৮', 9: '৯', 0: '০', }, i = { '১': '1', '২': '2', '৩': '3', '৪': '4', '৫': '5', '৬': '6', '৭': '7', '৮': '8', '৯': '9', '০': '0', }; e.defineLocale('bn-bd', { months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( '_' ), monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( '_' ), weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( '_' ), weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), longDateFormat: { LT: 'A h:mm সময়', LTS: 'A h:mm:ss সময়', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm সময়', LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', }, calendar: { sameDay: '[আজ] LT', nextDay: '[আগামীকাল] LT', nextWeek: 'dddd, LT', lastDay: '[গতকাল] LT', lastWeek: '[গত] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেন্ড', ss: '%d সেকেন্ড', m: 'এক মিনিট', mm: '%d মিনিট', h: 'এক ঘন্টা', hh: '%d ঘন্টা', d: 'এক দিন', dd: '%d দিন', M: 'এক মাস', MM: '%d মাস', y: 'এক বছর', yy: '%d বছর', }, preparse: function (e) { return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'রাত' === t ? e < 4 ? e : e + 12 : 'ভোর' === t || 'সকাল' === t ? e : 'দুপুর' === t ? e >= 3 ? e : e + 12 : 'বিকাল' === t || 'সন্ধ্যা' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'রাত' : e < 6 ? 'ভোর' : e < 12 ? 'সকাল' : e < 15 ? 'দুপুর' : e < 18 ? 'বিকাল' : e < 20 ? 'সন্ধ্যা' : 'রাত'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 8905: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '১', 2: '২', 3: '৩', 4: '৪', 5: '৫', 6: '৬', 7: '৭', 8: '৮', 9: '৯', 0: '০', }, i = { '১': '1', '২': '2', '৩': '3', '৪': '4', '৫': '5', '৬': '6', '৭': '7', '৮': '8', '৯': '9', '০': '0', }; e.defineLocale('bn', { months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( '_' ), monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( '_' ), weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( '_' ), weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'), longDateFormat: { LT: 'A h:mm সময়', LTS: 'A h:mm:ss সময়', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm সময়', LLLL: 'dddd, D MMMM YYYY, A h:mm সময়', }, calendar: { sameDay: '[আজ] LT', nextDay: '[আগামীকাল] LT', nextWeek: 'dddd, LT', lastDay: '[গতকাল] LT', lastWeek: '[গত] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেন্ড', ss: '%d সেকেন্ড', m: 'এক মিনিট', mm: '%d মিনিট', h: 'এক ঘন্টা', hh: '%d ঘন্টা', d: 'এক দিন', dd: '%d দিন', M: 'এক মাস', MM: '%d মাস', y: 'এক বছর', yy: '%d বছর', }, preparse: function (e) { return e.replace(/[১২৩৪৫৬৭৮৯০]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), ('রাত' === t && e >= 4) || ('দুপুর' === t && e < 5) || 'বিকাল' === t ? e + 12 : e ); }, meridiem: function (e, t, i) { return e < 4 ? 'রাত' : e < 10 ? 'সকাল' : e < 17 ? 'দুপুর' : e < 20 ? 'বিকাল' : 'রাত'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 11560: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '༡', 2: '༢', 3: '༣', 4: '༤', 5: '༥', 6: '༦', 7: '༧', 8: '༨', 9: '༩', 0: '༠', }, i = { '༡': '1', '༢': '2', '༣': '3', '༤': '4', '༥': '5', '༦': '6', '༧': '7', '༨': '8', '༩': '9', '༠': '0', }; e.defineLocale('bo', { months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( '_' ), monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( '_' ), monthsShortRegex: /^(ཟླ་\d{1,2})/, monthsParseExact: !0, weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( '_' ), weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( '_' ), weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'), longDateFormat: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm', }, calendar: { sameDay: '[དི་རིང] LT', nextDay: '[སང་ཉིན] LT', nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', lastDay: '[ཁ་སང] LT', lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ལ་', past: '%s སྔན་ལ', s: 'ལམ་སང', ss: '%d སྐར་ཆ།', m: 'སྐར་མ་གཅིག', mm: '%d སྐར་མ', h: 'ཆུ་ཚོད་གཅིག', hh: '%d ཆུ་ཚོད', d: 'ཉིན་གཅིག', dd: '%d ཉིན་', M: 'ཟླ་བ་གཅིག', MM: '%d ཟླ་བ', y: 'ལོ་གཅིག', yy: '%d ལོ', }, preparse: function (e) { return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), ('མཚན་མོ' === t && e >= 4) || ('ཉིན་གུང' === t && e < 5) || 'དགོང་དག' === t ? e + 12 : e ); }, meridiem: function (e, t, i) { return e < 4 ? 'མཚན་མོ' : e < 10 ? 'ཞོགས་ཀས' : e < 17 ? 'ཉིན་གུང' : e < 20 ? 'དགོང་དག' : 'མཚན་མོ'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 1278: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { return ( e + ' ' + (function (e, t) { return 2 === t ? (function (e) { var t = { m: 'v', b: 'v', d: 'z' }; return void 0 === t[e.charAt(0)] ? e : t[e.charAt(0)] + e.substring(1); })(e) : e; })({ mm: 'munutenn', MM: 'miz', dd: 'devezh' }[i], e) ); } function i(e) { return e > 9 ? i(e % 10) : e; } var n = [ /^gen/i, /^c[ʼ\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i, ], r = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, s = [ /^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i, ]; e.defineLocale('br', { months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( '_' ), monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split( '_' ), weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), weekdaysParse: s, fullWeekdaysParse: [ /^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i, ], shortWeekdaysParse: [ /^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i, ], minWeekdaysParse: s, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, monthsShortStrictRegex: /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [a viz] MMMM YYYY', LLL: 'D [a viz] MMMM YYYY HH:mm', LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', }, calendar: { sameDay: '[Hiziv da] LT', nextDay: '[Warcʼhoazh da] LT', nextWeek: 'dddd [da] LT', lastDay: '[Decʼh da] LT', lastWeek: 'dddd [paset da] LT', sameElse: 'L', }, relativeTime: { future: 'a-benn %s', past: '%s ʼzo', s: 'un nebeud segondennoù', ss: '%d eilenn', m: 'ur vunutenn', mm: t, h: 'un eur', hh: '%d eur', d: 'un devezh', dd: t, M: 'ur miz', MM: t, y: 'ur bloaz', yy: function (e) { switch (i(e)) { case 1: case 3: case 4: case 5: case 9: return e + ' bloaz'; default: return e + ' vloaz'; } }, }, dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, ordinal: function (e) { return e + (1 === e ? 'añ' : 'vet'); }, week: { dow: 1, doy: 4 }, meridiemParse: /a.m.|g.m./, isPM: function (e) { return 'g.m.' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'a.m.' : 'g.m.'; }, }); })(i(30381)); }, 80622: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { var n = e + ' '; switch (i) { case 'ss': return ( n + (1 === e ? 'sekunda' : 2 === e || 3 === e || 4 === e ? 'sekunde' : 'sekundi') ); case 'm': return t ? 'jedna minuta' : 'jedne minute'; case 'mm': return ( n + (1 === e ? 'minuta' : 2 === e || 3 === e || 4 === e ? 'minute' : 'minuta') ); case 'h': return t ? 'jedan sat' : 'jednog sata'; case 'hh': return ( n + (1 === e ? 'sat' : 2 === e || 3 === e || 4 === e ? 'sata' : 'sati') ); case 'dd': return n + (1 === e ? 'dan' : 'dana'); case 'MM': return ( n + (1 === e ? 'mjesec' : 2 === e || 3 === e || 4 === e ? 'mjeseca' : 'mjeseci') ); case 'yy': return ( n + (1 === e ? 'godina' : 2 === e || 3 === e || 4 === e ? 'godine' : 'godina') ); } } e.defineLocale('bs', { months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( '_' ), monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( '_' ), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm', }, calendar: { sameDay: '[danas u] LT', nextDay: '[sutra u] LT', nextWeek: function () { switch (this.day()) { case 0: return '[u] [nedjelju] [u] LT'; case 3: return '[u] [srijedu] [u] LT'; case 6: return '[u] [subotu] [u] LT'; case 1: case 2: case 4: case 5: return '[u] dddd [u] LT'; } }, lastDay: '[jučer u] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: return '[prošlu] dddd [u] LT'; case 6: return '[prošle] [subote] [u] LT'; case 1: case 2: case 4: case 5: return '[prošli] dddd [u] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'par sekundi', ss: t, m: t, mm: t, h: t, hh: t, d: 'dan', dd: t, M: 'mjesec', MM: t, y: 'godinu', yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 2468: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ca', { months: { standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( '_' ), format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( '_' ), isFormat: /D[oD]?(\s)+MMMM/, }, monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( '_' ), monthsParseExact: !0, weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( '_' ), weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [de] YYYY', ll: 'D MMM YYYY', LLL: 'D MMMM [de] YYYY [a les] H:mm', lll: 'D MMM YYYY, H:mm', LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', llll: 'ddd D MMM YYYY, H:mm', }, calendar: { sameDay: function () { return ( '[avui a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' ); }, nextDay: function () { return ( '[demà a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' ); }, nextWeek: function () { return ( 'dddd [a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' ); }, lastDay: function () { return ( '[ahir a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' ); }, lastWeek: function () { return ( '[el] dddd [passat a ' + (1 !== this.hours() ? 'les' : 'la') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: "d'aquí %s", past: 'fa %s', s: 'uns segons', ss: '%d segons', m: 'un minut', mm: '%d minuts', h: 'una hora', hh: '%d hores', d: 'un dia', dd: '%d dies', M: 'un mes', MM: '%d mesos', y: 'un any', yy: '%d anys', }, dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, ordinal: function (e, t) { var i = 1 === e ? 'r' : 2 === e ? 'n' : 3 === e ? 'r' : 4 === e ? 't' : 'è'; return ('w' !== t && 'W' !== t) || (i = 'a'), e + i; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 5822: function (e, t, i) { !(function (e) { 'use strict'; var t = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( '_' ), i = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), n = [ /^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i, ], r = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i; function s(e) { return e > 1 && e < 5 && 1 != ~~(e / 10); } function o(e, t, i, n) { var r = e + ' '; switch (i) { case 's': return t || n ? 'pár sekund' : 'pár sekundami'; case 'ss': return t || n ? r + (s(e) ? 'sekundy' : 'sekund') : r + 'sekundami'; case 'm': return t ? 'minuta' : n ? 'minutu' : 'minutou'; case 'mm': return t || n ? r + (s(e) ? 'minuty' : 'minut') : r + 'minutami'; case 'h': return t ? 'hodina' : n ? 'hodinu' : 'hodinou'; case 'hh': return t || n ? r + (s(e) ? 'hodiny' : 'hodin') : r + 'hodinami'; case 'd': return t || n ? 'den' : 'dnem'; case 'dd': return t || n ? r + (s(e) ? 'dny' : 'dní') : r + 'dny'; case 'M': return t || n ? 'měsíc' : 'měsícem'; case 'MM': return t || n ? r + (s(e) ? 'měsíce' : 'měsíců') : r + 'měsíci'; case 'y': return t || n ? 'rok' : 'rokem'; case 'yy': return t || n ? r + (s(e) ? 'roky' : 'let') : r + 'lety'; } } e.defineLocale('cs', { months: t, monthsShort: i, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i, monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split( '_' ), weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd D. MMMM YYYY H:mm', l: 'D. M. YYYY', }, calendar: { sameDay: '[dnes v] LT', nextDay: '[zítra v] LT', nextWeek: function () { switch (this.day()) { case 0: return '[v neděli v] LT'; case 1: case 2: return '[v] dddd [v] LT'; case 3: return '[ve středu v] LT'; case 4: return '[ve čtvrtek v] LT'; case 5: return '[v pátek v] LT'; case 6: return '[v sobotu v] LT'; } }, lastDay: '[včera v] LT', lastWeek: function () { switch (this.day()) { case 0: return '[minulou neděli v] LT'; case 1: case 2: return '[minulé] dddd [v] LT'; case 3: return '[minulou středu v] LT'; case 4: case 5: return '[minulý] dddd [v] LT'; case 6: return '[minulou sobotu v] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'před %s', s: o, ss: o, m: o, mm: o, h: o, hh: o, d: o, dd: o, M: o, MM: o, y: o, yy: o, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 50877: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('cv', { months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( '_' ), monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split( '_' ), weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( '_' ), weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', }, calendar: { sameDay: '[Паян] LT [сехетре]', nextDay: '[Ыран] LT [сехетре]', lastDay: '[Ӗнер] LT [сехетре]', nextWeek: '[Ҫитес] dddd LT [сехетре]', lastWeek: '[Иртнӗ] dddd LT [сехетре]', sameElse: 'L', }, relativeTime: { future: function (e) { return ( e + (/сехет$/i.exec(e) ? 'рен' : /ҫул$/i.exec(e) ? 'тан' : 'ран') ); }, past: '%s каялла', s: 'пӗр-ик ҫеккунт', ss: '%d ҫеккунт', m: 'пӗр минут', mm: '%d минут', h: 'пӗр сехет', hh: '%d сехет', d: 'пӗр кун', dd: '%d кун', M: 'пӗр уйӑх', MM: '%d уйӑх', y: 'пӗр ҫул', yy: '%d ҫул', }, dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, ordinal: '%d-мӗш', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 47373: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('cy', { months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( '_' ), monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( '_' ), weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( '_' ), weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Heddiw am] LT', nextDay: '[Yfory am] LT', nextWeek: 'dddd [am] LT', lastDay: '[Ddoe am] LT', lastWeek: 'dddd [diwethaf am] LT', sameElse: 'L', }, relativeTime: { future: 'mewn %s', past: '%s yn ôl', s: 'ychydig eiliadau', ss: '%d eiliad', m: 'munud', mm: '%d munud', h: 'awr', hh: '%d awr', d: 'diwrnod', dd: '%d diwrnod', M: 'mis', MM: '%d mis', y: 'blwyddyn', yy: '%d flynedd', }, dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, ordinal: function (e) { var t = ''; return ( e > 20 ? (t = 40 === e || 50 === e || 60 === e || 80 === e || 100 === e ? 'fed' : 'ain') : e > 0 && (t = [ '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed', ][e]), e + t ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 24780: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('da', { months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( '_' ), monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split( '_' ), weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( '_' ), weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', }, calendar: { sameDay: '[i dag kl.] LT', nextDay: '[i morgen kl.] LT', nextWeek: 'på dddd [kl.] LT', lastDay: '[i går kl.] LT', lastWeek: '[i] dddd[s kl.] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: '%s siden', s: 'få sekunder', ss: '%d sekunder', m: 'et minut', mm: '%d minutter', h: 'en time', hh: '%d timer', d: 'en dag', dd: '%d dage', M: 'en måned', MM: '%d måneder', y: 'et år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 60217: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { m: ['eine Minute', 'einer Minute'], h: ['eine Stunde', 'einer Stunde'], d: ['ein Tag', 'einem Tag'], dd: [e + ' Tage', e + ' Tagen'], w: ['eine Woche', 'einer Woche'], M: ['ein Monat', 'einem Monat'], MM: [e + ' Monate', e + ' Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: [e + ' Jahre', e + ' Jahren'], }; return t ? r[i][0] : r[i][1]; } e.defineLocale('de-at', { months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_' ), monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( '_' ), monthsParseExact: !0, weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( '_' ), weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm', }, calendar: { sameDay: '[heute um] LT [Uhr]', sameElse: 'L', nextDay: '[morgen um] LT [Uhr]', nextWeek: 'dddd [um] LT [Uhr]', lastDay: '[gestern um] LT [Uhr]', lastWeek: '[letzten] dddd [um] LT [Uhr]', }, relativeTime: { future: 'in %s', past: 'vor %s', s: 'ein paar Sekunden', ss: '%d Sekunden', m: t, mm: '%d Minuten', h: t, hh: '%d Stunden', d: t, dd: t, w: t, ww: '%d Wochen', M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 60894: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { m: ['eine Minute', 'einer Minute'], h: ['eine Stunde', 'einer Stunde'], d: ['ein Tag', 'einem Tag'], dd: [e + ' Tage', e + ' Tagen'], w: ['eine Woche', 'einer Woche'], M: ['ein Monat', 'einem Monat'], MM: [e + ' Monate', e + ' Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: [e + ' Jahre', e + ' Jahren'], }; return t ? r[i][0] : r[i][1]; } e.defineLocale('de-ch', { months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_' ), monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( '_' ), monthsParseExact: !0, weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( '_' ), weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm', }, calendar: { sameDay: '[heute um] LT [Uhr]', sameElse: 'L', nextDay: '[morgen um] LT [Uhr]', nextWeek: 'dddd [um] LT [Uhr]', lastDay: '[gestern um] LT [Uhr]', lastWeek: '[letzten] dddd [um] LT [Uhr]', }, relativeTime: { future: 'in %s', past: 'vor %s', s: 'ein paar Sekunden', ss: '%d Sekunden', m: t, mm: '%d Minuten', h: t, hh: '%d Stunden', d: t, dd: t, w: t, ww: '%d Wochen', M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 59740: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { m: ['eine Minute', 'einer Minute'], h: ['eine Stunde', 'einer Stunde'], d: ['ein Tag', 'einem Tag'], dd: [e + ' Tage', e + ' Tagen'], w: ['eine Woche', 'einer Woche'], M: ['ein Monat', 'einem Monat'], MM: [e + ' Monate', e + ' Monaten'], y: ['ein Jahr', 'einem Jahr'], yy: [e + ' Jahre', e + ' Jahren'], }; return t ? r[i][0] : r[i][1]; } e.defineLocale('de', { months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_' ), monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split( '_' ), monthsParseExact: !0, weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( '_' ), weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY HH:mm', LLLL: 'dddd, D. MMMM YYYY HH:mm', }, calendar: { sameDay: '[heute um] LT [Uhr]', sameElse: 'L', nextDay: '[morgen um] LT [Uhr]', nextWeek: 'dddd [um] LT [Uhr]', lastDay: '[gestern um] LT [Uhr]', lastWeek: '[letzten] dddd [um] LT [Uhr]', }, relativeTime: { future: 'in %s', past: 'vor %s', s: 'ein paar Sekunden', ss: '%d Sekunden', m: t, mm: '%d Minuten', h: t, hh: '%d Stunden', d: t, dd: t, w: t, ww: '%d Wochen', M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 5300: function (e, t, i) { !(function (e) { 'use strict'; var t = [ 'ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު', ], i = [ 'އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު', ]; e.defineLocale('dv', { months: t, monthsShort: t, weekdays: i, weekdaysShort: i, weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'D/M/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, meridiemParse: /މކ|މފ/, isPM: function (e) { return 'މފ' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'މކ' : 'މފ'; }, calendar: { sameDay: '[މިއަދު] LT', nextDay: '[މާދަމާ] LT', nextWeek: 'dddd LT', lastDay: '[އިއްޔެ] LT', lastWeek: '[ފާއިތުވި] dddd LT', sameElse: 'L', }, relativeTime: { future: 'ތެރޭގައި %s', past: 'ކުރިން %s', s: 'ސިކުންތުކޮޅެއް', ss: 'd% ސިކުންތު', m: 'މިނިޓެއް', mm: 'މިނިޓު %d', h: 'ގަޑިއިރެއް', hh: 'ގަޑިއިރު %d', d: 'ދުވަހެއް', dd: 'ދުވަސް %d', M: 'މަހެއް', MM: 'މަސް %d', y: 'އަހަރެއް', yy: 'އަހަރު %d', }, preparse: function (e) { return e.replace(/،/g, ','); }, postformat: function (e) { return e.replace(/,/g, '،'); }, week: { dow: 7, doy: 12 }, }); })(i(30381)); }, 50837: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('el', { monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( '_' ), monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( '_' ), months: function (e, t) { return e ? 'string' == typeof t && /D/.test(t.substring(0, t.indexOf('MMMM'))) ? this._monthsGenitiveEl[e.month()] : this._monthsNominativeEl[e.month()] : this._monthsNominativeEl; }, monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split( '_' ), weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( '_' ), weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), meridiem: function (e, t, i) { return e > 11 ? (i ? 'μμ' : 'ΜΜ') : i ? 'πμ' : 'ΠΜ'; }, isPM: function (e) { return 'μ' === (e + '').toLowerCase()[0]; }, meridiemParse: /[ΠΜ]\.?Μ?\.?/i, longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendarEl: { sameDay: '[Σήμερα {}] LT', nextDay: '[Αύριο {}] LT', nextWeek: 'dddd [{}] LT', lastDay: '[Χθες {}] LT', lastWeek: function () { switch (this.day()) { case 6: return '[το προηγούμενο] dddd [{}] LT'; default: return '[την προηγούμενη] dddd [{}] LT'; } }, sameElse: 'L', }, calendar: function (e, t) { var i, n = this._calendarEl[e], r = t && t.hours(); return ( (i = n), (('undefined' != typeof Function && i instanceof Function) || '[object Function]' === Object.prototype.toString.call(i)) && (n = n.apply(t)), n.replace('{}', r % 12 == 1 ? 'στη' : 'στις') ); }, relativeTime: { future: 'σε %s', past: '%s πριν', s: 'λίγα δευτερόλεπτα', ss: '%d δευτερόλεπτα', m: 'ένα λεπτό', mm: '%d λεπτά', h: 'μία ώρα', hh: '%d ώρες', d: 'μία μέρα', dd: '%d μέρες', M: 'ένας μήνας', MM: '%d μήνες', y: 'ένας χρόνος', yy: '%d χρόνια', }, dayOfMonthOrdinalParse: /\d{1,2}η/, ordinal: '%dη', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 78348: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-au', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 0, doy: 4 }, }); })(i(30381)); }, 77925: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-ca', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'YYYY-MM-DD', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, }); })(i(30381)); }, 22243: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-gb', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 46436: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-ie', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 47207: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-il', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, }); })(i(30381)); }, 44175: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-in', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 76319: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-nz', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 31662: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('en-sg', { months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split( '_' ), weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 92915: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('eo', { months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( '_' ), monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split( '_' ), weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split( '_' ), weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: '[la] D[-an de] MMMM, YYYY', LLL: '[la] D[-an de] MMMM, YYYY HH:mm', LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', }, meridiemParse: /[ap]\.t\.m/i, isPM: function (e) { return 'p' === e.charAt(0).toLowerCase(); }, meridiem: function (e, t, i) { return e > 11 ? i ? 'p.t.m.' : 'P.T.M.' : i ? 'a.t.m.' : 'A.T.M.'; }, calendar: { sameDay: '[Hodiaŭ je] LT', nextDay: '[Morgaŭ je] LT', nextWeek: 'dddd[n je] LT', lastDay: '[Hieraŭ je] LT', lastWeek: '[pasintan] dddd[n je] LT', sameElse: 'L', }, relativeTime: { future: 'post %s', past: 'antaŭ %s', s: 'kelkaj sekundoj', ss: '%d sekundoj', m: 'unu minuto', mm: '%d minutoj', h: 'unu horo', hh: '%d horoj', d: 'unu tago', dd: '%d tagoj', M: 'unu monato', MM: '%d monatoj', y: 'unu jaro', yy: '%d jaroj', }, dayOfMonthOrdinalParse: /\d{1,2}a/, ordinal: '%da', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 55251: function (e, t, i) { !(function (e) { 'use strict'; var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_' ), i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), n = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i, ], r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; e.defineLocale('es-do', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_' ), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY h:mm A', LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', }, calendar: { sameDay: function () { return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, nextDay: function () { return ( '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, nextWeek: function () { return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastDay: function () { return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastWeek: function () { return ( '[el] dddd [pasado a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', ss: '%d segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 96112: function (e, t, i) { !(function (e) { 'use strict'; var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_' ), i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), n = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i, ], r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; e.defineLocale('es-mx', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_' ), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', }, calendar: { sameDay: function () { return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, nextDay: function () { return ( '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, nextWeek: function () { return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastDay: function () { return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastWeek: function () { return ( '[el] dddd [pasado a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', ss: '%d segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 0, doy: 4 }, invalidDate: 'Fecha inválida', }); })(i(30381)); }, 71146: function (e, t, i) { !(function (e) { 'use strict'; var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_' ), i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), n = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i, ], r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; e.defineLocale('es-us', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_' ), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'MM/DD/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY h:mm A', LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', }, calendar: { sameDay: function () { return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, nextDay: function () { return ( '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, nextWeek: function () { return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastDay: function () { return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastWeek: function () { return ( '[el] dddd [pasado a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', ss: '%d segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 55655: function (e, t, i) { !(function (e) { 'use strict'; var t = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_' ), i = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), n = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i, ], r = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; e.defineLocale('es', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_' ), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', }, calendar: { sameDay: function () { return '[hoy a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, nextDay: function () { return ( '[mañana a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, nextWeek: function () { return 'dddd [a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastDay: function () { return '[ayer a la' + (1 !== this.hours() ? 's' : '') + '] LT'; }, lastWeek: function () { return ( '[el] dddd [pasado a la' + (1 !== this.hours() ? 's' : '') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: 'en %s', past: 'hace %s', s: 'unos segundos', ss: '%d segundos', m: 'un minuto', mm: '%d minutos', h: 'una hora', hh: '%d horas', d: 'un día', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, invalidDate: 'Fecha inválida', }); })(i(30381)); }, 5603: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], ss: [e + 'sekundi', e + 'sekundit'], m: ['ühe minuti', 'üks minut'], mm: [e + ' minuti', e + ' minutit'], h: ['ühe tunni', 'tund aega', 'üks tund'], hh: [e + ' tunni', e + ' tundi'], d: ['ühe päeva', 'üks päev'], M: ['kuu aja', 'kuu aega', 'üks kuu'], MM: [e + ' kuu', e + ' kuud'], y: ['ühe aasta', 'aasta', 'üks aasta'], yy: [e + ' aasta', e + ' aastat'], }; return t ? (r[i][2] ? r[i][2] : r[i][1]) : n ? r[i][0] : r[i][1]; } e.defineLocale('et', { months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( '_' ), monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( '_' ), weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( '_' ), weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm', }, calendar: { sameDay: '[Täna,] LT', nextDay: '[Homme,] LT', nextWeek: '[Järgmine] dddd LT', lastDay: '[Eile,] LT', lastWeek: '[Eelmine] dddd LT', sameElse: 'L', }, relativeTime: { future: '%s pärast', past: '%s tagasi', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: '%d päeva', M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 77763: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('eu', { months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( '_' ), monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( '_' ), monthsParseExact: !0, weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( '_' ), weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY[ko] MMMM[ren] D[a]', LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', l: 'YYYY-M-D', ll: 'YYYY[ko] MMM D[a]', lll: 'YYYY[ko] MMM D[a] HH:mm', llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', }, calendar: { sameDay: '[gaur] LT[etan]', nextDay: '[bihar] LT[etan]', nextWeek: 'dddd LT[etan]', lastDay: '[atzo] LT[etan]', lastWeek: '[aurreko] dddd LT[etan]', sameElse: 'L', }, relativeTime: { future: '%s barru', past: 'duela %s', s: 'segundo batzuk', ss: '%d segundo', m: 'minutu bat', mm: '%d minutu', h: 'ordu bat', hh: '%d ordu', d: 'egun bat', dd: '%d egun', M: 'hilabete bat', MM: '%d hilabete', y: 'urte bat', yy: '%d urte', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 76959: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '۱', 2: '۲', 3: '۳', 4: '۴', 5: '۵', 6: '۶', 7: '۷', 8: '۸', 9: '۹', 0: '۰', }, i = { '۱': '1', '۲': '2', '۳': '3', '۴': '4', '۵': '5', '۶': '6', '۷': '7', '۸': '8', '۹': '9', '۰': '0', }; e.defineLocale('fa', { months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( '_' ), monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( '_' ), weekdays: 'یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه'.split( '_' ), weekdaysShort: 'یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه'.split( '_' ), weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, meridiemParse: /قبل از ظهر|بعد از ظهر/, isPM: function (e) { return /بعد از ظهر/.test(e); }, meridiem: function (e, t, i) { return e < 12 ? 'قبل از ظهر' : 'بعد از ظهر'; }, calendar: { sameDay: '[امروز ساعت] LT', nextDay: '[فردا ساعت] LT', nextWeek: 'dddd [ساعت] LT', lastDay: '[دیروز ساعت] LT', lastWeek: 'dddd [پیش] [ساعت] LT', sameElse: 'L', }, relativeTime: { future: 'در %s', past: '%s پیش', s: 'چند ثانیه', ss: '%d ثانیه', m: 'یک دقیقه', mm: '%d دقیقه', h: 'یک ساعت', hh: '%d ساعت', d: 'یک روز', dd: '%d روز', M: 'یک ماه', MM: '%d ماه', y: 'یک سال', yy: '%d سال', }, preparse: function (e) { return e .replace(/[۰-۹]/g, function (e) { return i[e]; }) .replace(/،/g, ','); }, postformat: function (e) { return e .replace(/\d/g, function (e) { return t[e]; }) .replace(/,/g, '،'); }, dayOfMonthOrdinalParse: /\d{1,2}م/, ordinal: '%dم', week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 11897: function (e, t, i) { !(function (e) { 'use strict'; var t = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( ' ' ), i = [ 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', t[7], t[8], t[9], ]; function n(e, n, r, s) { var o = ''; switch (r) { case 's': return s ? 'muutaman sekunnin' : 'muutama sekunti'; case 'ss': o = s ? 'sekunnin' : 'sekuntia'; break; case 'm': return s ? 'minuutin' : 'minuutti'; case 'mm': o = s ? 'minuutin' : 'minuuttia'; break; case 'h': return s ? 'tunnin' : 'tunti'; case 'hh': o = s ? 'tunnin' : 'tuntia'; break; case 'd': return s ? 'päivän' : 'päivä'; case 'dd': o = s ? 'päivän' : 'päivää'; break; case 'M': return s ? 'kuukauden' : 'kuukausi'; case 'MM': o = s ? 'kuukauden' : 'kuukautta'; break; case 'y': return s ? 'vuoden' : 'vuosi'; case 'yy': o = s ? 'vuoden' : 'vuotta'; } return ( (function (e, n) { return e < 10 ? (n ? i[e] : t[e]) : e; })(e, s) + ' ' + o ); } e.defineLocale('fi', { months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( '_' ), monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( '_' ), weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( '_' ), weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'Do MMMM[ta] YYYY', LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', l: 'D.M.YYYY', ll: 'Do MMM YYYY', lll: 'Do MMM YYYY, [klo] HH.mm', llll: 'ddd, Do MMM YYYY, [klo] HH.mm', }, calendar: { sameDay: '[tänään] [klo] LT', nextDay: '[huomenna] [klo] LT', nextWeek: 'dddd [klo] LT', lastDay: '[eilen] [klo] LT', lastWeek: '[viime] dddd[na] [klo] LT', sameElse: 'L', }, relativeTime: { future: '%s päästä', past: '%s sitten', s: n, ss: n, m: n, mm: n, h: n, hh: n, d: n, dd: n, M: n, MM: n, y: n, yy: n, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 42549: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('fil', { months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( '_' ), monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split( '_' ), weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( '_' ), weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'MM/D/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY HH:mm', LLLL: 'dddd, MMMM DD, YYYY HH:mm', }, calendar: { sameDay: 'LT [ngayong araw]', nextDay: '[Bukas ng] LT', nextWeek: 'LT [sa susunod na] dddd', lastDay: 'LT [kahapon]', lastWeek: 'LT [noong nakaraang] dddd', sameElse: 'L', }, relativeTime: { future: 'sa loob ng %s', past: '%s ang nakalipas', s: 'ilang segundo', ss: '%d segundo', m: 'isang minuto', mm: '%d minuto', h: 'isang oras', hh: '%d oras', d: 'isang araw', dd: '%d araw', M: 'isang buwan', MM: '%d buwan', y: 'isang taon', yy: '%d taon', }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: function (e) { return e; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 94694: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('fo', { months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( '_' ), monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split( '_' ), weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( '_' ), weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D. MMMM, YYYY HH:mm', }, calendar: { sameDay: '[Í dag kl.] LT', nextDay: '[Í morgin kl.] LT', nextWeek: 'dddd [kl.] LT', lastDay: '[Í gjár kl.] LT', lastWeek: '[síðstu] dddd [kl] LT', sameElse: 'L', }, relativeTime: { future: 'um %s', past: '%s síðani', s: 'fá sekund', ss: '%d sekundir', m: 'ein minuttur', mm: '%d minuttir', h: 'ein tími', hh: '%d tímar', d: 'ein dagur', dd: '%d dagar', M: 'ein mánaður', MM: '%d mánaðir', y: 'eitt ár', yy: '%d ár', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 63049: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('fr-ca', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_' ), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( '_' ), monthsParseExact: !0, weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( '_' ), weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Aujourd’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] LT', sameElse: 'L', }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', ss: '%d secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans', }, dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, ordinal: function (e, t) { switch (t) { default: case 'M': case 'Q': case 'D': case 'DDD': case 'd': return e + (1 === e ? 'er' : 'e'); case 'w': case 'W': return e + (1 === e ? 're' : 'e'); } }, }); })(i(30381)); }, 52330: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('fr-ch', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_' ), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( '_' ), monthsParseExact: !0, weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( '_' ), weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Aujourd’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] LT', sameElse: 'L', }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', ss: '%d secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans', }, dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, ordinal: function (e, t) { switch (t) { default: case 'M': case 'Q': case 'D': case 'DDD': case 'd': return e + (1 === e ? 'er' : 'e'); case 'w': case 'W': return e + (1 === e ? 're' : 'e'); } }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 94470: function (e, t, i) { !(function (e) { 'use strict'; var t = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, i = [ /^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i, ]; e.defineLocale('fr', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_' ), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( '_' ), monthsRegex: t, monthsShortRegex: t, monthsStrictRegex: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, monthsShortStrictRegex: /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, monthsParse: i, longMonthsParse: i, shortMonthsParse: i, weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split( '_' ), weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Aujourd’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] LT', sameElse: 'L', }, relativeTime: { future: 'dans %s', past: 'il y a %s', s: 'quelques secondes', ss: '%d secondes', m: 'une minute', mm: '%d minutes', h: 'une heure', hh: '%d heures', d: 'un jour', dd: '%d jours', w: 'une semaine', ww: '%d semaines', M: 'un mois', MM: '%d mois', y: 'un an', yy: '%d ans', }, dayOfMonthOrdinalParse: /\d{1,2}(er|)/, ordinal: function (e, t) { switch (t) { case 'D': return e + (1 === e ? 'er' : ''); default: case 'M': case 'Q': case 'DDD': case 'd': return e + (1 === e ? 'er' : 'e'); case 'w': case 'W': return e + (1 === e ? 're' : 'e'); } }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 5044: function (e, t, i) { !(function (e) { 'use strict'; var t = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( '_' ), i = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); e.defineLocale('fy', { months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsParseExact: !0, weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( '_' ), weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[hjoed om] LT', nextDay: '[moarn om] LT', nextWeek: 'dddd [om] LT', lastDay: '[juster om] LT', lastWeek: '[ôfrûne] dddd [om] LT', sameElse: 'L', }, relativeTime: { future: 'oer %s', past: '%s lyn', s: 'in pear sekonden', ss: '%d sekonden', m: 'ien minút', mm: '%d minuten', h: 'ien oere', hh: '%d oeren', d: 'ien dei', dd: '%d dagen', M: 'ien moanne', MM: '%d moannen', y: 'ien jier', yy: '%d jierren', }, dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, ordinal: function (e) { return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 29295: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ga', { months: [ 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig', ], monthsShort: [ 'Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll', ], monthsParseExact: !0, weekdays: [ 'Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn', ], weekdaysShort: [ 'Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath', ], weekdaysMin: ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'], longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Inniu ag] LT', nextDay: '[Amárach ag] LT', nextWeek: 'dddd [ag] LT', lastDay: '[Inné ag] LT', lastWeek: 'dddd [seo caite] [ag] LT', sameElse: 'L', }, relativeTime: { future: 'i %s', past: '%s ó shin', s: 'cúpla soicind', ss: '%d soicind', m: 'nóiméad', mm: '%d nóiméad', h: 'uair an chloig', hh: '%d uair an chloig', d: 'lá', dd: '%d lá', M: 'mí', MM: '%d míonna', y: 'bliain', yy: '%d bliain', }, dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, ordinal: function (e) { return e + (1 === e ? 'd' : e % 10 == 2 ? 'na' : 'mh'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 2101: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('gd', { months: [ 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd', ], monthsShort: [ 'Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh', ], monthsParseExact: !0, weekdays: [ 'Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne', ], weekdaysShort: ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], weekdaysMin: ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'], longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[An-diugh aig] LT', nextDay: '[A-màireach aig] LT', nextWeek: 'dddd [aig] LT', lastDay: '[An-dè aig] LT', lastWeek: 'dddd [seo chaidh] [aig] LT', sameElse: 'L', }, relativeTime: { future: 'ann an %s', past: 'bho chionn %s', s: 'beagan diogan', ss: '%d diogan', m: 'mionaid', mm: '%d mionaidean', h: 'uair', hh: '%d uairean', d: 'latha', dd: '%d latha', M: 'mìos', MM: '%d mìosan', y: 'bliadhna', yy: '%d bliadhna', }, dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, ordinal: function (e) { return e + (1 === e ? 'd' : e % 10 == 2 ? 'na' : 'mh'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 38794: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('gl', { months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( '_' ), monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split( '_' ), weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY H:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', }, calendar: { sameDay: function () { return '[hoxe ' + (1 !== this.hours() ? 'ás' : 'á') + '] LT'; }, nextDay: function () { return '[mañá ' + (1 !== this.hours() ? 'ás' : 'á') + '] LT'; }, nextWeek: function () { return 'dddd [' + (1 !== this.hours() ? 'ás' : 'a') + '] LT'; }, lastDay: function () { return '[onte ' + (1 !== this.hours() ? 'á' : 'a') + '] LT'; }, lastWeek: function () { return ( '[o] dddd [pasado ' + (1 !== this.hours() ? 'ás' : 'a') + '] LT' ); }, sameElse: 'L', }, relativeTime: { future: function (e) { return 0 === e.indexOf('un') ? 'n' + e : 'en ' + e; }, past: 'hai %s', s: 'uns segundos', ss: '%d segundos', m: 'un minuto', mm: '%d minutos', h: 'unha hora', hh: '%d horas', d: 'un día', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 27884: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], ss: [e + ' सॅकंडांनी', e + ' सॅकंड'], m: ['एका मिणटान', 'एक मिनूट'], mm: [e + ' मिणटांनी', e + ' मिणटां'], h: ['एका वरान', 'एक वर'], hh: [e + ' वरांनी', e + ' वरां'], d: ['एका दिसान', 'एक दीस'], dd: [e + ' दिसांनी', e + ' दीस'], M: ['एका म्हयन्यान', 'एक म्हयनो'], MM: [e + ' म्हयन्यानी', e + ' म्हयने'], y: ['एका वर्सान', 'एक वर्स'], yy: [e + ' वर्सांनी', e + ' वर्सां'], }; return n ? r[i][0] : r[i][1]; } e.defineLocale('gom-deva', { months: { standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( '_' ), format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( '_' ), isFormat: /MMMM(\s)+D[oD]?/, }, monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( '_' ), monthsParseExact: !0, weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split( '_' ), weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split( '_' ), weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'A h:mm [वाजतां]', LTS: 'A h:mm:ss [वाजतां]', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY A h:mm [वाजतां]', LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]', llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', }, calendar: { sameDay: '[आयज] LT', nextDay: '[फाल्यां] LT', nextWeek: '[फुडलो] dddd[,] LT', lastDay: '[काल] LT', lastWeek: '[फाटलो] dddd[,] LT', sameElse: 'L', }, relativeTime: { future: '%s', past: '%s आदीं', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: t, M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}(वेर)/, ordinal: function (e, t) { switch (t) { case 'D': return e + 'वेर'; default: case 'M': case 'Q': case 'DDD': case 'd': case 'w': case 'W': return e; } }, week: { dow: 0, doy: 3 }, meridiemParse: /राती|सकाळीं|दनपारां|सांजे/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'राती' === t ? e < 4 ? e : e + 12 : 'सकाळीं' === t ? e : 'दनपारां' === t ? e > 12 ? e : e + 12 : 'सांजे' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'राती' : e < 12 ? 'सकाळीं' : e < 16 ? 'दनपारां' : e < 20 ? 'सांजे' : 'राती'; }, }); })(i(30381)); }, 23168: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { s: ['thoddea sekondamni', 'thodde sekond'], ss: [e + ' sekondamni', e + ' sekond'], m: ['eka mintan', 'ek minut'], mm: [e + ' mintamni', e + ' mintam'], h: ['eka voran', 'ek vor'], hh: [e + ' voramni', e + ' voram'], d: ['eka disan', 'ek dis'], dd: [e + ' disamni', e + ' dis'], M: ['eka mhoinean', 'ek mhoino'], MM: [e + ' mhoineamni', e + ' mhoine'], y: ['eka vorsan', 'ek voros'], yy: [e + ' vorsamni', e + ' vorsam'], }; return n ? r[i][0] : r[i][1]; } e.defineLocale('gom-latn', { months: { standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( '_' ), format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( '_' ), isFormat: /MMMM(\s)+D[oD]?/, }, monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split( '_' ), monthsParseExact: !0, weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split( '_' ), weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'A h:mm [vazta]', LTS: 'A h:mm:ss [vazta]', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY A h:mm [vazta]', LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', llll: 'ddd, D MMM YYYY, A h:mm [vazta]', }, calendar: { sameDay: '[Aiz] LT', nextDay: '[Faleam] LT', nextWeek: '[Fuddlo] dddd[,] LT', lastDay: '[Kal] LT', lastWeek: '[Fattlo] dddd[,] LT', sameElse: 'L', }, relativeTime: { future: '%s', past: '%s adim', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: t, M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}(er)/, ordinal: function (e, t) { switch (t) { case 'D': return e + 'er'; default: case 'M': case 'Q': case 'DDD': case 'd': case 'w': case 'W': return e; } }, week: { dow: 0, doy: 3 }, meridiemParse: /rati|sokallim|donparam|sanje/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'rati' === t ? e < 4 ? e : e + 12 : 'sokallim' === t ? e : 'donparam' === t ? e > 12 ? e : e + 12 : 'sanje' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'rati' : e < 12 ? 'sokallim' : e < 16 ? 'donparam' : e < 20 ? 'sanje' : 'rati'; }, }); })(i(30381)); }, 95349: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '૧', 2: '૨', 3: '૩', 4: '૪', 5: '૫', 6: '૬', 7: '૭', 8: '૮', 9: '૯', 0: '૦', }, i = { '૧': '1', '૨': '2', '૩': '3', '૪': '4', '૫': '5', '૬': '6', '૭': '7', '૮': '8', '૯': '9', '૦': '0', }; e.defineLocale('gu', { months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( '_' ), monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( '_' ), monthsParseExact: !0, weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( '_' ), weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), longDateFormat: { LT: 'A h:mm વાગ્યે', LTS: 'A h:mm:ss વાગ્યે', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm વાગ્યે', LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે', }, calendar: { sameDay: '[આજ] LT', nextDay: '[કાલે] LT', nextWeek: 'dddd, LT', lastDay: '[ગઇકાલે] LT', lastWeek: '[પાછલા] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s મા', past: '%s પહેલા', s: 'અમુક પળો', ss: '%d સેકંડ', m: 'એક મિનિટ', mm: '%d મિનિટ', h: 'એક કલાક', hh: '%d કલાક', d: 'એક દિવસ', dd: '%d દિવસ', M: 'એક મહિનો', MM: '%d મહિનો', y: 'એક વર્ષ', yy: '%d વર્ષ', }, preparse: function (e) { return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /રાત|બપોર|સવાર|સાંજ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'રાત' === t ? e < 4 ? e : e + 12 : 'સવાર' === t ? e : 'બપોર' === t ? e >= 10 ? e : e + 12 : 'સાંજ' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'રાત' : e < 10 ? 'સવાર' : e < 17 ? 'બપોર' : e < 20 ? 'સાંજ' : 'રાત'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 24206: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('he', { months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( '_' ), monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( '_' ), weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [ב]MMMM YYYY', LLL: 'D [ב]MMMM YYYY HH:mm', LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', l: 'D/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm', }, calendar: { sameDay: '[היום ב־]LT', nextDay: '[מחר ב־]LT', nextWeek: 'dddd [בשעה] LT', lastDay: '[אתמול ב־]LT', lastWeek: '[ביום] dddd [האחרון בשעה] LT', sameElse: 'L', }, relativeTime: { future: 'בעוד %s', past: 'לפני %s', s: 'מספר שניות', ss: '%d שניות', m: 'דקה', mm: '%d דקות', h: 'שעה', hh: function (e) { return 2 === e ? 'שעתיים' : e + ' שעות'; }, d: 'יום', dd: function (e) { return 2 === e ? 'יומיים' : e + ' ימים'; }, M: 'חודש', MM: function (e) { return 2 === e ? 'חודשיים' : e + ' חודשים'; }, y: 'שנה', yy: function (e) { return 2 === e ? 'שנתיים' : e % 10 == 0 && 10 !== e ? e + ' שנה' : e + ' שנים'; }, }, meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i, isPM: function (e) { return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(e); }, meridiem: function (e, t, i) { return e < 5 ? 'לפנות בוקר' : e < 10 ? 'בבוקר' : e < 12 ? i ? 'לפנה"צ' : 'לפני הצהריים' : e < 18 ? i ? 'אחה"צ' : 'אחרי הצהריים' : 'בערב'; }, }); })(i(30381)); }, 30094: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, i = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }, n = [ /^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i, ]; e.defineLocale('hi', { months: { format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( '_' ), standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( '_' ), }, monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( '_' ), weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( '_' ), weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), longDateFormat: { LT: 'A h:mm बजे', LTS: 'A h:mm:ss बजे', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm बजे', LLLL: 'dddd, D MMMM YYYY, A h:mm बजे', }, monthsParse: n, longMonthsParse: n, shortMonthsParse: [ /^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i, ], monthsRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, monthsShortRegex: /^(जनवरी|जन\.?|फ़रवरी|फरवरी|फ़र\.?|मार्च?|अप्रैल|अप्रै\.?|मई?|जून?|जुलाई|जुल\.?|अगस्त|अग\.?|सितम्बर|सितंबर|सित\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर|नव\.?|दिसम्बर|दिसंबर|दिस\.?)/i, monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\.?|अक्टूबर|अक्टू\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i, monthsShortStrictRegex: /^(जन\.?|फ़र\.?|मार्च?|अप्रै\.?|मई?|जून?|जुल\.?|अग\.?|सित\.?|अक्टू\.?|नव\.?|दिस\.?)/i, calendar: { sameDay: '[आज] LT', nextDay: '[कल] LT', nextWeek: 'dddd, LT', lastDay: '[कल] LT', lastWeek: '[पिछले] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s में', past: '%s पहले', s: 'कुछ ही क्षण', ss: '%d सेकंड', m: 'एक मिनट', mm: '%d मिनट', h: 'एक घंटा', hh: '%d घंटे', d: 'एक दिन', dd: '%d दिन', M: 'एक महीने', MM: '%d महीने', y: 'एक वर्ष', yy: '%d वर्ष', }, preparse: function (e) { return e.replace(/[१२३४५६७८९०]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /रात|सुबह|दोपहर|शाम/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'रात' === t ? e < 4 ? e : e + 12 : 'सुबह' === t ? e : 'दोपहर' === t ? e >= 10 ? e : e + 12 : 'शाम' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'रात' : e < 10 ? 'सुबह' : e < 17 ? 'दोपहर' : e < 20 ? 'शाम' : 'रात'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 30316: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { var n = e + ' '; switch (i) { case 'ss': return ( n + (1 === e ? 'sekunda' : 2 === e || 3 === e || 4 === e ? 'sekunde' : 'sekundi') ); case 'm': return t ? 'jedna minuta' : 'jedne minute'; case 'mm': return ( n + (1 === e ? 'minuta' : 2 === e || 3 === e || 4 === e ? 'minute' : 'minuta') ); case 'h': return t ? 'jedan sat' : 'jednog sata'; case 'hh': return ( n + (1 === e ? 'sat' : 2 === e || 3 === e || 4 === e ? 'sata' : 'sati') ); case 'dd': return n + (1 === e ? 'dan' : 'dana'); case 'MM': return ( n + (1 === e ? 'mjesec' : 2 === e || 3 === e || 4 === e ? 'mjeseca' : 'mjeseci') ); case 'yy': return ( n + (1 === e ? 'godina' : 2 === e || 3 === e || 4 === e ? 'godine' : 'godina') ); } } e.defineLocale('hr', { months: { format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( '_' ), standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( '_' ), }, monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( '_' ), monthsParseExact: !0, weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( '_' ), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'Do MMMM YYYY', LLL: 'Do MMMM YYYY H:mm', LLLL: 'dddd, Do MMMM YYYY H:mm', }, calendar: { sameDay: '[danas u] LT', nextDay: '[sutra u] LT', nextWeek: function () { switch (this.day()) { case 0: return '[u] [nedjelju] [u] LT'; case 3: return '[u] [srijedu] [u] LT'; case 6: return '[u] [subotu] [u] LT'; case 1: case 2: case 4: case 5: return '[u] dddd [u] LT'; } }, lastDay: '[jučer u] LT', lastWeek: function () { switch (this.day()) { case 0: return '[prošlu] [nedjelju] [u] LT'; case 3: return '[prošlu] [srijedu] [u] LT'; case 6: return '[prošle] [subote] [u] LT'; case 1: case 2: case 4: case 5: return '[prošli] dddd [u] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'par sekundi', ss: t, m: t, mm: t, h: t, hh: t, d: 'dan', dd: t, M: 'mjesec', MM: t, y: 'godinu', yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 22138: function (e, t, i) { !(function (e) { 'use strict'; var t = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( ' ' ); function i(e, t, i, n) { var r = e; switch (i) { case 's': return n || t ? 'néhány másodperc' : 'néhány másodperce'; case 'ss': return r + (n || t) ? ' másodperc' : ' másodperce'; case 'm': return 'egy' + (n || t ? ' perc' : ' perce'); case 'mm': return r + (n || t ? ' perc' : ' perce'); case 'h': return 'egy' + (n || t ? ' óra' : ' órája'); case 'hh': return r + (n || t ? ' óra' : ' órája'); case 'd': return 'egy' + (n || t ? ' nap' : ' napja'); case 'dd': return r + (n || t ? ' nap' : ' napja'); case 'M': return 'egy' + (n || t ? ' hónap' : ' hónapja'); case 'MM': return r + (n || t ? ' hónap' : ' hónapja'); case 'y': return 'egy' + (n || t ? ' év' : ' éve'); case 'yy': return r + (n || t ? ' év' : ' éve'); } return ''; } function n(e) { return (e ? '' : '[múlt] ') + '[' + t[this.day()] + '] LT[-kor]'; } e.defineLocale('hu', { months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( '_' ), monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split( '_' ), weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'YYYY.MM.DD.', LL: 'YYYY. MMMM D.', LLL: 'YYYY. MMMM D. H:mm', LLLL: 'YYYY. MMMM D., dddd H:mm', }, meridiemParse: /de|du/i, isPM: function (e) { return 'u' === e.charAt(1).toLowerCase(); }, meridiem: function (e, t, i) { return e < 12 ? (!0 === i ? 'de' : 'DE') : !0 === i ? 'du' : 'DU'; }, calendar: { sameDay: '[ma] LT[-kor]', nextDay: '[holnap] LT[-kor]', nextWeek: function () { return n.call(this, !0); }, lastDay: '[tegnap] LT[-kor]', lastWeek: function () { return n.call(this, !1); }, sameElse: 'L', }, relativeTime: { future: '%s múlva', past: '%s', s: i, ss: i, m: i, mm: i, h: i, hh: i, d: i, dd: i, M: i, MM: i, y: i, yy: i, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 11423: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('hy-am', { months: { format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( '_' ), standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( '_' ), }, monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split( '_' ), weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( '_' ), weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY թ.', LLL: 'D MMMM YYYY թ., HH:mm', LLLL: 'dddd, D MMMM YYYY թ., HH:mm', }, calendar: { sameDay: '[այսօր] LT', nextDay: '[վաղը] LT', lastDay: '[երեկ] LT', nextWeek: function () { return 'dddd [օրը ժամը] LT'; }, lastWeek: function () { return '[անցած] dddd [օրը ժամը] LT'; }, sameElse: 'L', }, relativeTime: { future: '%s հետո', past: '%s առաջ', s: 'մի քանի վայրկյան', ss: '%d վայրկյան', m: 'րոպե', mm: '%d րոպե', h: 'ժամ', hh: '%d ժամ', d: 'օր', dd: '%d օր', M: 'ամիս', MM: '%d ամիս', y: 'տարի', yy: '%d տարի', }, meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/, isPM: function (e) { return /^(ցերեկվա|երեկոյան)$/.test(e); }, meridiem: function (e) { return e < 4 ? 'գիշերվա' : e < 12 ? 'առավոտվա' : e < 17 ? 'ցերեկվա' : 'երեկոյան'; }, dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/, ordinal: function (e, t) { switch (t) { case 'DDD': case 'w': case 'W': case 'DDDo': return 1 === e ? e + '-ին' : e + '-րդ'; default: return e; } }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 29218: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('id', { months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split( '_' ), weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', }, meridiemParse: /pagi|siang|sore|malam/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'pagi' === t ? e : 'siang' === t ? e >= 11 ? e : e + 12 : 'sore' === t || 'malam' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 11 ? 'pagi' : e < 15 ? 'siang' : e < 19 ? 'sore' : 'malam'; }, calendar: { sameDay: '[Hari ini pukul] LT', nextDay: '[Besok pukul] LT', nextWeek: 'dddd [pukul] LT', lastDay: '[Kemarin pukul] LT', lastWeek: 'dddd [lalu pukul] LT', sameElse: 'L', }, relativeTime: { future: 'dalam %s', past: '%s yang lalu', s: 'beberapa detik', ss: '%d detik', m: 'semenit', mm: '%d menit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun', }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 90135: function (e, t, i) { !(function (e) { 'use strict'; function t(e) { return e % 100 == 11 || e % 10 != 1; } function i(e, i, n, r) { var s = e + ' '; switch (n) { case 's': return i || r ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; case 'ss': return t(e) ? s + (i || r ? 'sekúndur' : 'sekúndum') : s + 'sekúnda'; case 'm': return i ? 'mínúta' : 'mínútu'; case 'mm': return t(e) ? s + (i || r ? 'mínútur' : 'mínútum') : i ? s + 'mínúta' : s + 'mínútu'; case 'hh': return t(e) ? s + (i || r ? 'klukkustundir' : 'klukkustundum') : s + 'klukkustund'; case 'd': return i ? 'dagur' : r ? 'dag' : 'degi'; case 'dd': return t(e) ? i ? s + 'dagar' : s + (r ? 'daga' : 'dögum') : i ? s + 'dagur' : s + (r ? 'dag' : 'degi'); case 'M': return i ? 'mánuður' : r ? 'mánuð' : 'mánuði'; case 'MM': return t(e) ? i ? s + 'mánuðir' : s + (r ? 'mánuði' : 'mánuðum') : i ? s + 'mánuður' : s + (r ? 'mánuð' : 'mánuði'); case 'y': return i || r ? 'ár' : 'ári'; case 'yy': return t(e) ? s + (i || r ? 'ár' : 'árum') : s + (i || r ? 'ár' : 'ári'); } } e.defineLocale('is', { months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( '_' ), monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split( '_' ), weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( '_' ), weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] H:mm', LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', }, calendar: { sameDay: '[í dag kl.] LT', nextDay: '[á morgun kl.] LT', nextWeek: 'dddd [kl.] LT', lastDay: '[í gær kl.] LT', lastWeek: '[síðasta] dddd [kl.] LT', sameElse: 'L', }, relativeTime: { future: 'eftir %s', past: 'fyrir %s síðan', s: i, ss: i, m: i, mm: i, h: 'klukkustund', hh: i, d: i, dd: i, M: i, MM: i, y: i, yy: i, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 10150: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('it-ch', { months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( '_' ), monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split( '_' ), weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( '_' ), weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Oggi alle] LT', nextDay: '[Domani alle] LT', nextWeek: 'dddd [alle] LT', lastDay: '[Ieri alle] LT', lastWeek: function () { switch (this.day()) { case 0: return '[la scorsa] dddd [alle] LT'; default: return '[lo scorso] dddd [alle] LT'; } }, sameElse: 'L', }, relativeTime: { future: function (e) { return (/^[0-9].+$/.test(e) ? 'tra' : 'in') + ' ' + e; }, past: '%s fa', s: 'alcuni secondi', ss: '%d secondi', m: 'un minuto', mm: '%d minuti', h: "un'ora", hh: '%d ore', d: 'un giorno', dd: '%d giorni', M: 'un mese', MM: '%d mesi', y: 'un anno', yy: '%d anni', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 90626: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('it', { months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( '_' ), monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split( '_' ), weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( '_' ), weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: function () { return ( '[Oggi a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); }, nextDay: function () { return ( '[Domani a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); }, nextWeek: function () { return ( 'dddd [a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); }, lastDay: function () { return ( '[Ieri a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); }, lastWeek: function () { switch (this.day()) { case 0: return ( '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); default: return ( '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : 0 === this.hours() ? ' ' : "ll'") + ']LT' ); } }, sameElse: 'L', }, relativeTime: { future: 'tra %s', past: '%s fa', s: 'alcuni secondi', ss: '%d secondi', m: 'un minuto', mm: '%d minuti', h: "un'ora", hh: '%d ore', d: 'un giorno', dd: '%d giorni', w: 'una settimana', ww: '%d settimane', M: 'un mese', MM: '%d mesi', y: 'un anno', yy: '%d anni', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 39183: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ja', { eras: [ { since: '2019-05-01', offset: 1, name: '令和', narrow: '㋿', abbr: 'R', }, { since: '1989-01-08', until: '2019-04-30', offset: 1, name: '平成', narrow: '㍻', abbr: 'H', }, { since: '1926-12-25', until: '1989-01-07', offset: 1, name: '昭和', narrow: '㍼', abbr: 'S', }, { since: '1912-07-30', until: '1926-12-24', offset: 1, name: '大正', narrow: '㍽', abbr: 'T', }, { since: '1873-01-01', until: '1912-07-29', offset: 6, name: '明治', narrow: '㍾', abbr: 'M', }, { since: '0001-01-01', until: '1873-12-31', offset: 1, name: '西暦', narrow: 'AD', abbr: 'AD', }, { since: '0000-12-31', until: -1 / 0, offset: 1, name: '紀元前', narrow: 'BC', abbr: 'BC', }, ], eraYearOrdinalRegex: /(元|\d+)年/, eraYearOrdinalParse: function (e, t) { return '元' === t[1] ? 1 : parseInt(t[1] || e, 10); }, months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split( '_' ), weekdaysShort: '日_月_火_水_木_金_土'.split('_'), weekdaysMin: '日_月_火_水_木_金_土'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日 dddd HH:mm', l: 'YYYY/MM/DD', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日(ddd) HH:mm', }, meridiemParse: /午前|午後/i, isPM: function (e) { return '午後' === e; }, meridiem: function (e, t, i) { return e < 12 ? '午前' : '午後'; }, calendar: { sameDay: '[今日] LT', nextDay: '[明日] LT', nextWeek: function (e) { return e.week() !== this.week() ? '[来週]dddd LT' : 'dddd LT'; }, lastDay: '[昨日] LT', lastWeek: function (e) { return this.week() !== e.week() ? '[先週]dddd LT' : 'dddd LT'; }, sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}日/, ordinal: function (e, t) { switch (t) { case 'y': return 1 === e ? '元年' : e + '年'; case 'd': case 'D': case 'DDD': return e + '日'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '数秒', ss: '%d秒', m: '1分', mm: '%d分', h: '1時間', hh: '%d時間', d: '1日', dd: '%d日', M: '1ヶ月', MM: '%dヶ月', y: '1年', yy: '%d年', }, }); })(i(30381)); }, 24286: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('jv', { months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( '_' ), monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split( '_' ), weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', }, meridiemParse: /enjing|siyang|sonten|ndalu/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'enjing' === t ? e : 'siyang' === t ? e >= 11 ? e : e + 12 : 'sonten' === t || 'ndalu' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 11 ? 'enjing' : e < 15 ? 'siyang' : e < 19 ? 'sonten' : 'ndalu'; }, calendar: { sameDay: '[Dinten puniko pukul] LT', nextDay: '[Mbenjang pukul] LT', nextWeek: 'dddd [pukul] LT', lastDay: '[Kala wingi pukul] LT', lastWeek: 'dddd [kepengker pukul] LT', sameElse: 'L', }, relativeTime: { future: 'wonten ing %s', past: '%s ingkang kepengker', s: 'sawetawis detik', ss: '%d detik', m: 'setunggal menit', mm: '%d menit', h: 'setunggal jam', hh: '%d jam', d: 'sedinten', dd: '%d dinten', M: 'sewulan', MM: '%d wulan', y: 'setaun', yy: '%d taun', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 12105: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ka', { months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( '_' ), monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split( '_' ), weekdays: { standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( '_' ), format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( '_' ), isFormat: /(წინა|შემდეგ)/, }, weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[დღეს] LT[-ზე]', nextDay: '[ხვალ] LT[-ზე]', lastDay: '[გუშინ] LT[-ზე]', nextWeek: '[შემდეგ] dddd LT[-ზე]', lastWeek: '[წინა] dddd LT-ზე', sameElse: 'L', }, relativeTime: { future: function (e) { return e.replace( /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (e, t, i) { return 'ი' === i ? t + 'ში' : t + i + 'ში'; } ); }, past: function (e) { return /(წამი|წუთი|საათი|დღე|თვე)/.test(e) ? e.replace(/(ი|ე)$/, 'ის წინ') : /წელი/.test(e) ? e.replace(/წელი$/, 'წლის წინ') : e; }, s: 'რამდენიმე წამი', ss: '%d წამი', m: 'წუთი', mm: '%d წუთი', h: 'საათი', hh: '%d საათი', d: 'დღე', dd: '%d დღე', M: 'თვე', MM: '%d თვე', y: 'წელი', yy: '%d წელი', }, dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/, ordinal: function (e) { return 0 === e ? e : 1 === e ? e + '-ლი' : e < 20 || (e <= 100 && e % 20 == 0) || e % 100 == 0 ? 'მე-' + e : e + '-ე'; }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 47772: function (e, t, i) { !(function (e) { 'use strict'; var t = { 0: '-ші', 1: '-ші', 2: '-ші', 3: '-ші', 4: '-ші', 5: '-ші', 6: '-шы', 7: '-ші', 8: '-ші', 9: '-шы', 10: '-шы', 20: '-шы', 30: '-шы', 40: '-шы', 50: '-ші', 60: '-шы', 70: '-ші', 80: '-ші', 90: '-шы', 100: '-ші', }; e.defineLocale('kk', { months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( '_' ), monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split( '_' ), weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( '_' ), weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Бүгін сағат] LT', nextDay: '[Ертең сағат] LT', nextWeek: 'dddd [сағат] LT', lastDay: '[Кеше сағат] LT', lastWeek: '[Өткен аптаның] dddd [сағат] LT', sameElse: 'L', }, relativeTime: { future: '%s ішінде', past: '%s бұрын', s: 'бірнеше секунд', ss: '%d секунд', m: 'бір минут', mm: '%d минут', h: 'бір сағат', hh: '%d сағат', d: 'бір күн', dd: '%d күн', M: 'бір ай', MM: '%d ай', y: 'бір жыл', yy: '%d жыл', }, dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/, ordinal: function (e) { return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 18758: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '១', 2: '២', 3: '៣', 4: '៤', 5: '៥', 6: '៦', 7: '៧', 8: '៨', 9: '៩', 0: '០', }, i = { '១': '1', '២': '2', '៣': '3', '៤': '4', '៥': '5', '៦': '6', '៧': '7', '៨': '8', '៩': '9', '០': '0', }; e.defineLocale('km', { months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( '_' ), monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( '_' ), weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split( '_' ), weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, meridiemParse: /ព្រឹក|ល្ងាច/, isPM: function (e) { return 'ល្ងាច' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ព្រឹក' : 'ល្ងាច'; }, calendar: { sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', nextDay: '[ស្អែក ម៉ោង] LT', nextWeek: 'dddd [ម៉ោង] LT', lastDay: '[ម្សិលមិញ ម៉ោង] LT', lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', sameElse: 'L', }, relativeTime: { future: '%sទៀត', past: '%sមុន', s: 'ប៉ុន្មានវិនាទី', ss: '%d វិនាទី', m: 'មួយនាទី', mm: '%d នាទី', h: 'មួយម៉ោង', hh: '%d ម៉ោង', d: 'មួយថ្ងៃ', dd: '%d ថ្ងៃ', M: 'មួយខែ', MM: '%d ខែ', y: 'មួយឆ្នាំ', yy: '%d ឆ្នាំ', }, dayOfMonthOrdinalParse: /ទី\d{1,2}/, ordinal: 'ទី%d', preparse: function (e) { return e.replace(/[១២៣៤៥៦៧៨៩០]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 79282: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '೧', 2: '೨', 3: '೩', 4: '೪', 5: '೫', 6: '೬', 7: '೭', 8: '೮', 9: '೯', 0: '೦', }, i = { '೧': '1', '೨': '2', '೩': '3', '೪': '4', '೫': '5', '೬': '6', '೭': '7', '೮': '8', '೯': '9', '೦': '0', }; e.defineLocale('kn', { months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( '_' ), monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( '_' ), monthsParseExact: !0, weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( '_' ), weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'), longDateFormat: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm', }, calendar: { sameDay: '[ಇಂದು] LT', nextDay: '[ನಾಳೆ] LT', nextWeek: 'dddd, LT', lastDay: '[ನಿನ್ನೆ] LT', lastWeek: '[ಕೊನೆಯ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ನಂತರ', past: '%s ಹಿಂದೆ', s: 'ಕೆಲವು ಕ್ಷಣಗಳು', ss: '%d ಸೆಕೆಂಡುಗಳು', m: 'ಒಂದು ನಿಮಿಷ', mm: '%d ನಿಮಿಷ', h: 'ಒಂದು ಗಂಟೆ', hh: '%d ಗಂಟೆ', d: 'ಒಂದು ದಿನ', dd: '%d ದಿನ', M: 'ಒಂದು ತಿಂಗಳು', MM: '%d ತಿಂಗಳು', y: 'ಒಂದು ವರ್ಷ', yy: '%d ವರ್ಷ', }, preparse: function (e) { return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'ರಾತ್ರಿ' === t ? e < 4 ? e : e + 12 : 'ಬೆಳಿಗ್ಗೆ' === t ? e : 'ಮಧ್ಯಾಹ್ನ' === t ? e >= 10 ? e : e + 12 : 'ಸಂಜೆ' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'ರಾತ್ರಿ' : e < 10 ? 'ಬೆಳಿಗ್ಗೆ' : e < 17 ? 'ಮಧ್ಯಾಹ್ನ' : e < 20 ? 'ಸಂಜೆ' : 'ರಾತ್ರಿ'; }, dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/, ordinal: function (e) { return e + 'ನೇ'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 33730: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ko', { months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( '_' ), monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split( '_' ), weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split( '_' ), weekdaysShort: '일_월_화_수_목_금_토'.split('_'), weekdaysMin: '일_월_화_수_목_금_토'.split('_'), longDateFormat: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'YYYY.MM.DD.', LL: 'YYYY년 MMMM D일', LLL: 'YYYY년 MMMM D일 A h:mm', LLLL: 'YYYY년 MMMM D일 dddd A h:mm', l: 'YYYY.MM.DD.', ll: 'YYYY년 MMMM D일', lll: 'YYYY년 MMMM D일 A h:mm', llll: 'YYYY년 MMMM D일 dddd A h:mm', }, calendar: { sameDay: '오늘 LT', nextDay: '내일 LT', nextWeek: 'dddd LT', lastDay: '어제 LT', lastWeek: '지난주 dddd LT', sameElse: 'L', }, relativeTime: { future: '%s 후', past: '%s 전', s: '몇 초', ss: '%d초', m: '1분', mm: '%d분', h: '한 시간', hh: '%d시간', d: '하루', dd: '%d일', M: '한 달', MM: '%d달', y: '일 년', yy: '%d년', }, dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '일'; case 'M': return e + '월'; case 'w': case 'W': return e + '주'; default: return e; } }, meridiemParse: /오전|오후/, isPM: function (e) { return '오후' === e; }, meridiem: function (e, t, i) { return e < 12 ? '오전' : '오후'; }, }); })(i(30381)); }, 1408: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, i = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }, n = [ 'کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم', ]; e.defineLocale('ku', { months: n, monthsShort: n, weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split( '_' ), weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split( '_' ), weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, meridiemParse: /ئێواره‌|به‌یانی/, isPM: function (e) { return /ئێواره‌/.test(e); }, meridiem: function (e, t, i) { return e < 12 ? 'به‌یانی' : 'ئێواره‌'; }, calendar: { sameDay: '[ئه‌مرۆ كاتژمێر] LT', nextDay: '[به‌یانی كاتژمێر] LT', nextWeek: 'dddd [كاتژمێر] LT', lastDay: '[دوێنێ كاتژمێر] LT', lastWeek: 'dddd [كاتژمێر] LT', sameElse: 'L', }, relativeTime: { future: 'له‌ %s', past: '%s', s: 'چه‌ند چركه‌یه‌ك', ss: 'چركه‌ %d', m: 'یه‌ك خوله‌ك', mm: '%d خوله‌ك', h: 'یه‌ك كاتژمێر', hh: '%d كاتژمێر', d: 'یه‌ك ڕۆژ', dd: '%d ڕۆژ', M: 'یه‌ك مانگ', MM: '%d مانگ', y: 'یه‌ك ساڵ', yy: '%d ساڵ', }, preparse: function (e) { return e .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (e) { return i[e]; }) .replace(/،/g, ','); }, postformat: function (e) { return e .replace(/\d/g, function (e) { return t[e]; }) .replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 33291: function (e, t, i) { !(function (e) { 'use strict'; var t = { 0: '-чү', 1: '-чи', 2: '-чи', 3: '-чү', 4: '-чү', 5: '-чи', 6: '-чы', 7: '-чи', 8: '-чи', 9: '-чу', 10: '-чу', 20: '-чы', 30: '-чу', 40: '-чы', 50: '-чү', 60: '-чы', 70: '-чи', 80: '-чи', 90: '-чу', 100: '-чү', }; e.defineLocale('ky', { months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( '_' ), monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( '_' ), weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( '_' ), weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Бүгүн саат] LT', nextDay: '[Эртең саат] LT', nextWeek: 'dddd [саат] LT', lastDay: '[Кечээ саат] LT', lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', sameElse: 'L', }, relativeTime: { future: '%s ичинде', past: '%s мурун', s: 'бирнече секунд', ss: '%d секунд', m: 'бир мүнөт', mm: '%d мүнөт', h: 'бир саат', hh: '%d саат', d: 'бир күн', dd: '%d күн', M: 'бир ай', MM: '%d ай', y: 'бир жыл', yy: '%d жыл', }, dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/, ordinal: function (e) { return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 36841: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { m: ['eng Minutt', 'enger Minutt'], h: ['eng Stonn', 'enger Stonn'], d: ['een Dag', 'engem Dag'], M: ['ee Mount', 'engem Mount'], y: ['ee Joer', 'engem Joer'], }; return t ? r[i][0] : r[i][1]; } function i(e) { if (((e = parseInt(e, 10)), isNaN(e))) return !1; if (e < 0) return !0; if (e < 10) return 4 <= e && e <= 7; if (e < 100) { var t = e % 10; return i(0 === t ? e / 10 : t); } if (e < 1e4) { for (; e >= 10; ) e /= 10; return i(e); } return i((e /= 1e3)); } e.defineLocale('lb', { months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_' ), monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( '_' ), monthsParseExact: !0, weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( '_' ), weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm [Auer]', LTS: 'H:mm:ss [Auer]', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm [Auer]', LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', }, calendar: { sameDay: '[Haut um] LT', sameElse: 'L', nextDay: '[Muer um] LT', nextWeek: 'dddd [um] LT', lastDay: '[Gëschter um] LT', lastWeek: function () { switch (this.day()) { case 2: case 4: return '[Leschten] dddd [um] LT'; default: return '[Leschte] dddd [um] LT'; } }, }, relativeTime: { future: function (e) { return i(e.substr(0, e.indexOf(' '))) ? 'a ' + e : 'an ' + e; }, past: function (e) { return i(e.substr(0, e.indexOf(' '))) ? 'viru ' + e : 'virun ' + e; }, s: 'e puer Sekonnen', ss: '%d Sekonnen', m: t, mm: '%d Minutten', h: t, hh: '%d Stonnen', d: t, dd: '%d Deeg', M: t, MM: '%d Méint', y: t, yy: '%d Joer', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 55466: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('lo', { months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( '_' ), monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( '_' ), weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'ວັນdddd D MMMM YYYY HH:mm', }, meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, isPM: function (e) { return 'ຕອນແລງ' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ຕອນເຊົ້າ' : 'ຕອນແລງ'; }, calendar: { sameDay: '[ມື້ນີ້ເວລາ] LT', nextDay: '[ມື້ອື່ນເວລາ] LT', nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', lastDay: '[ມື້ວານນີ້ເວລາ] LT', lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', sameElse: 'L', }, relativeTime: { future: 'ອີກ %s', past: '%sຜ່ານມາ', s: 'ບໍ່ເທົ່າໃດວິນາທີ', ss: '%d ວິນາທີ', m: '1 ນາທີ', mm: '%d ນາທີ', h: '1 ຊົ່ວໂມງ', hh: '%d ຊົ່ວໂມງ', d: '1 ມື້', dd: '%d ມື້', M: '1 ເດືອນ', MM: '%d ເດືອນ', y: '1 ປີ', yy: '%d ປີ', }, dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, ordinal: function (e) { return 'ທີ່' + e; }, }); })(i(30381)); }, 57010: function (e, t, i) { !(function (e) { 'use strict'; var t = { ss: 'sekundė_sekundžių_sekundes', m: 'minutė_minutės_minutę', mm: 'minutės_minučių_minutes', h: 'valanda_valandos_valandą', hh: 'valandos_valandų_valandas', d: 'diena_dienos_dieną', dd: 'dienos_dienų_dienas', M: 'mėnuo_mėnesio_mėnesį', MM: 'mėnesiai_mėnesių_mėnesius', y: 'metai_metų_metus', yy: 'metai_metų_metus', }; function i(e, t, i, n) { return t ? r(i)[0] : n ? r(i)[1] : r(i)[2]; } function n(e) { return e % 10 == 0 || (e > 10 && e < 20); } function r(e) { return t[e].split('_'); } function s(e, t, s, o) { var a = e + ' '; return 1 === e ? a + i(0, t, s[0], o) : t ? a + (n(e) ? r(s)[1] : r(s)[0]) : o ? a + r(s)[1] : a + (n(e) ? r(s)[1] : r(s)[2]); } e.defineLocale('lt', { months: { format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( '_' ), standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split( '_' ), isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, }, monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split( '_' ), weekdays: { format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( '_' ), standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( '_' ), isFormat: /dddd HH:mm/, }, weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY [m.] MMMM D [d.]', LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', l: 'YYYY-MM-DD', ll: 'YYYY [m.] MMMM D [d.]', lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', }, calendar: { sameDay: '[Šiandien] LT', nextDay: '[Rytoj] LT', nextWeek: 'dddd LT', lastDay: '[Vakar] LT', lastWeek: '[Praėjusį] dddd LT', sameElse: 'L', }, relativeTime: { future: 'po %s', past: 'prieš %s', s: function (e, t, i, n) { return t ? 'kelios sekundės' : n ? 'kelių sekundžių' : 'kelias sekundes'; }, ss: s, m: i, mm: s, h: i, hh: s, d: i, dd: s, M: i, MM: s, y: i, yy: s, }, dayOfMonthOrdinalParse: /\d{1,2}-oji/, ordinal: function (e) { return e + '-oji'; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 37595: function (e, t, i) { !(function (e) { 'use strict'; var t = { ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), h: 'stundas_stundām_stunda_stundas'.split('_'), hh: 'stundas_stundām_stunda_stundas'.split('_'), d: 'dienas_dienām_diena_dienas'.split('_'), dd: 'dienas_dienām_diena_dienas'.split('_'), M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), y: 'gada_gadiem_gads_gadi'.split('_'), yy: 'gada_gadiem_gads_gadi'.split('_'), }; function i(e, t, i) { return i ? t % 10 == 1 && t % 100 != 11 ? e[2] : e[3] : t % 10 == 1 && t % 100 != 11 ? e[0] : e[1]; } function n(e, n, r) { return e + ' ' + i(t[r], e, n); } function r(e, n, r) { return i(t[r], e, n); } e.defineLocale('lv', { months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( '_' ), monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split( '_' ), weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split( '_' ), weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY.', LL: 'YYYY. [gada] D. MMMM', LLL: 'YYYY. [gada] D. MMMM, HH:mm', LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', }, calendar: { sameDay: '[Šodien pulksten] LT', nextDay: '[Rīt pulksten] LT', nextWeek: 'dddd [pulksten] LT', lastDay: '[Vakar pulksten] LT', lastWeek: '[Pagājušā] dddd [pulksten] LT', sameElse: 'L', }, relativeTime: { future: 'pēc %s', past: 'pirms %s', s: function (e, t) { return t ? 'dažas sekundes' : 'dažām sekundēm'; }, ss: n, m: r, mm: n, h: r, hh: n, d: r, dd: n, M: r, MM: n, y: r, yy: n, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 39861: function (e, t, i) { !(function (e) { 'use strict'; var t = { words: { ss: ['sekund', 'sekunda', 'sekundi'], m: ['jedan minut', 'jednog minuta'], mm: ['minut', 'minuta', 'minuta'], h: ['jedan sat', 'jednog sata'], hh: ['sat', 'sata', 'sati'], dd: ['dan', 'dana', 'dana'], MM: ['mjesec', 'mjeseca', 'mjeseci'], yy: ['godina', 'godine', 'godina'], }, correctGrammaticalCase: function (e, t) { return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; }, translate: function (e, i, n) { var r = t.words[n]; return 1 === n.length ? i ? r[0] : r[1] : e + ' ' + t.correctGrammaticalCase(e, r); }, }; e.defineLocale('me', { months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( '_' ), monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( '_' ), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm', }, calendar: { sameDay: '[danas u] LT', nextDay: '[sjutra u] LT', nextWeek: function () { switch (this.day()) { case 0: return '[u] [nedjelju] [u] LT'; case 3: return '[u] [srijedu] [u] LT'; case 6: return '[u] [subotu] [u] LT'; case 1: case 2: case 4: case 5: return '[u] dddd [u] LT'; } }, lastDay: '[juče u] LT', lastWeek: function () { return [ '[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT', ][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'nekoliko sekundi', ss: t.translate, m: t.translate, mm: t.translate, h: t.translate, hh: t.translate, d: 'dan', dd: t.translate, M: 'mjesec', MM: t.translate, y: 'godinu', yy: t.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 35493: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('mi', { months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( '_' ), monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( '_' ), monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split( '_' ), weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [i] HH:mm', LLLL: 'dddd, D MMMM YYYY [i] HH:mm', }, calendar: { sameDay: '[i teie mahana, i] LT', nextDay: '[apopo i] LT', nextWeek: 'dddd [i] LT', lastDay: '[inanahi i] LT', lastWeek: 'dddd [whakamutunga i] LT', sameElse: 'L', }, relativeTime: { future: 'i roto i %s', past: '%s i mua', s: 'te hēkona ruarua', ss: '%d hēkona', m: 'he meneti', mm: '%d meneti', h: 'te haora', hh: '%d haora', d: 'he ra', dd: '%d ra', M: 'he marama', MM: '%d marama', y: 'he tau', yy: '%d tau', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 95966: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('mk', { months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( '_' ), monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split( '_' ), weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( '_' ), weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm', }, calendar: { sameDay: '[Денес во] LT', nextDay: '[Утре во] LT', nextWeek: '[Во] dddd [во] LT', lastDay: '[Вчера во] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: case 6: return '[Изминатата] dddd [во] LT'; case 1: case 2: case 4: case 5: return '[Изминатиот] dddd [во] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: 'пред %s', s: 'неколку секунди', ss: '%d секунди', m: 'една минута', mm: '%d минути', h: 'еден час', hh: '%d часа', d: 'еден ден', dd: '%d дена', M: 'еден месец', MM: '%d месеци', y: 'една година', yy: '%d години', }, dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/, ordinal: function (e) { var t = e % 10, i = e % 100; return 0 === e ? e + '-ев' : 0 === i ? e + '-ен' : i > 10 && i < 20 ? e + '-ти' : 1 === t ? e + '-ви' : 2 === t ? e + '-ри' : 7 === t || 8 === t ? e + '-ми' : e + '-ти'; }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 87341: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ml', { months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( '_' ), monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( '_' ), monthsParseExact: !0, weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( '_' ), weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split( '_' ), weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), longDateFormat: { LT: 'A h:mm -നു', LTS: 'A h:mm:ss -നു', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm -നു', LLLL: 'dddd, D MMMM YYYY, A h:mm -നു', }, calendar: { sameDay: '[ഇന്ന്] LT', nextDay: '[നാളെ] LT', nextWeek: 'dddd, LT', lastDay: '[ഇന്നലെ] LT', lastWeek: '[കഴിഞ്ഞ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s കഴിഞ്ഞ്', past: '%s മുൻപ്', s: 'അൽപ നിമിഷങ്ങൾ', ss: '%d സെക്കൻഡ്', m: 'ഒരു മിനിറ്റ്', mm: '%d മിനിറ്റ്', h: 'ഒരു മണിക്കൂർ', hh: '%d മണിക്കൂർ', d: 'ഒരു ദിവസം', dd: '%d ദിവസം', M: 'ഒരു മാസം', MM: '%d മാസം', y: 'ഒരു വർഷം', yy: '%d വർഷം', }, meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), ('രാത്രി' === t && e >= 4) || 'ഉച്ച കഴിഞ്ഞ്' === t || 'വൈകുന്നേരം' === t ? e + 12 : e ); }, meridiem: function (e, t, i) { return e < 4 ? 'രാത്രി' : e < 12 ? 'രാവിലെ' : e < 17 ? 'ഉച്ച കഴിഞ്ഞ്' : e < 20 ? 'വൈകുന്നേരം' : 'രാത്രി'; }, }); })(i(30381)); }, 5115: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { switch (i) { case 's': return t ? 'хэдхэн секунд' : 'хэдхэн секундын'; case 'ss': return e + (t ? ' секунд' : ' секундын'); case 'm': case 'mm': return e + (t ? ' минут' : ' минутын'); case 'h': case 'hh': return e + (t ? ' цаг' : ' цагийн'); case 'd': case 'dd': return e + (t ? ' өдөр' : ' өдрийн'); case 'M': case 'MM': return e + (t ? ' сар' : ' сарын'); case 'y': case 'yy': return e + (t ? ' жил' : ' жилийн'); default: return e; } } e.defineLocale('mn', { months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( '_' ), monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( '_' ), monthsParseExact: !0, weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY оны MMMMын D', LLL: 'YYYY оны MMMMын D HH:mm', LLLL: 'dddd, YYYY оны MMMMын D HH:mm', }, meridiemParse: /ҮӨ|ҮХ/i, isPM: function (e) { return 'ҮХ' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ҮӨ' : 'ҮХ'; }, calendar: { sameDay: '[Өнөөдөр] LT', nextDay: '[Маргааш] LT', nextWeek: '[Ирэх] dddd LT', lastDay: '[Өчигдөр] LT', lastWeek: '[Өнгөрсөн] dddd LT', sameElse: 'L', }, relativeTime: { future: '%s дараа', past: '%s өмнө', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: t, M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2} өдөр/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + ' өдөр'; default: return e; } }, }); })(i(30381)); }, 10370: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, i = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }; function n(e, t, i, n) { var r = ''; if (t) switch (i) { case 's': r = 'काही सेकंद'; break; case 'ss': r = '%d सेकंद'; break; case 'm': r = 'एक मिनिट'; break; case 'mm': r = '%d मिनिटे'; break; case 'h': r = 'एक तास'; break; case 'hh': r = '%d तास'; break; case 'd': r = 'एक दिवस'; break; case 'dd': r = '%d दिवस'; break; case 'M': r = 'एक महिना'; break; case 'MM': r = '%d महिने'; break; case 'y': r = 'एक वर्ष'; break; case 'yy': r = '%d वर्षे'; } else switch (i) { case 's': r = 'काही सेकंदां'; break; case 'ss': r = '%d सेकंदां'; break; case 'm': r = 'एका मिनिटा'; break; case 'mm': r = '%d मिनिटां'; break; case 'h': r = 'एका तासा'; break; case 'hh': r = '%d तासां'; break; case 'd': r = 'एका दिवसा'; break; case 'dd': r = '%d दिवसां'; break; case 'M': r = 'एका महिन्या'; break; case 'MM': r = '%d महिन्यां'; break; case 'y': r = 'एका वर्षा'; break; case 'yy': r = '%d वर्षां'; } return r.replace(/%d/i, e); } e.defineLocale('mr', { months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( '_' ), monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( '_' ), monthsParseExact: !0, weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( '_' ), weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), longDateFormat: { LT: 'A h:mm वाजता', LTS: 'A h:mm:ss वाजता', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm वाजता', LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता', }, calendar: { sameDay: '[आज] LT', nextDay: '[उद्या] LT', nextWeek: 'dddd, LT', lastDay: '[काल] LT', lastWeek: '[मागील] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%sमध्ये', past: '%sपूर्वी', s: n, ss: n, m: n, mm: n, h: n, hh: n, d: n, dd: n, M: n, MM: n, y: n, yy: n, }, preparse: function (e) { return e.replace(/[१२३४५६७८९०]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'पहाटे' === t || 'सकाळी' === t ? e : 'दुपारी' === t || 'सायंकाळी' === t || 'रात्री' === t ? e >= 12 ? e : e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e >= 0 && e < 6 ? 'पहाटे' : e < 12 ? 'सकाळी' : e < 17 ? 'दुपारी' : e < 20 ? 'सायंकाळी' : 'रात्री'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 41237: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ms-my', { months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( '_' ), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split( '_' ), weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', }, meridiemParse: /pagi|tengahari|petang|malam/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'pagi' === t ? e : 'tengahari' === t ? e >= 11 ? e : e + 12 : 'petang' === t || 'malam' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 11 ? 'pagi' : e < 15 ? 'tengahari' : e < 19 ? 'petang' : 'malam'; }, calendar: { sameDay: '[Hari ini pukul] LT', nextDay: '[Esok pukul] LT', nextWeek: 'dddd [pukul] LT', lastDay: '[Kelmarin pukul] LT', lastWeek: 'dddd [lepas pukul] LT', sameElse: 'L', }, relativeTime: { future: 'dalam %s', past: '%s yang lepas', s: 'beberapa saat', ss: '%d saat', m: 'seminit', mm: '%d minit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 9847: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ms', { months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( '_' ), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split( '_' ), weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [pukul] HH.mm', LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', }, meridiemParse: /pagi|tengahari|petang|malam/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'pagi' === t ? e : 'tengahari' === t ? e >= 11 ? e : e + 12 : 'petang' === t || 'malam' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 11 ? 'pagi' : e < 15 ? 'tengahari' : e < 19 ? 'petang' : 'malam'; }, calendar: { sameDay: '[Hari ini pukul] LT', nextDay: '[Esok pukul] LT', nextWeek: 'dddd [pukul] LT', lastDay: '[Kelmarin pukul] LT', lastWeek: 'dddd [lepas pukul] LT', sameElse: 'L', }, relativeTime: { future: 'dalam %s', past: '%s yang lepas', s: 'beberapa saat', ss: '%d saat', m: 'seminit', mm: '%d minit', h: 'sejam', hh: '%d jam', d: 'sehari', dd: '%d hari', M: 'sebulan', MM: '%d bulan', y: 'setahun', yy: '%d tahun', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 72126: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('mt', { months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( '_' ), monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split( '_' ), weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( '_' ), weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Illum fil-]LT', nextDay: '[Għada fil-]LT', nextWeek: 'dddd [fil-]LT', lastDay: '[Il-bieraħ fil-]LT', lastWeek: 'dddd [li għadda] [fil-]LT', sameElse: 'L', }, relativeTime: { future: 'f’ %s', past: '%s ilu', s: 'ftit sekondi', ss: '%d sekondi', m: 'minuta', mm: '%d minuti', h: 'siegħa', hh: '%d siegħat', d: 'ġurnata', dd: '%d ġranet', M: 'xahar', MM: '%d xhur', y: 'sena', yy: '%d sni', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 56165: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '၁', 2: '၂', 3: '၃', 4: '၄', 5: '၅', 6: '၆', 7: '၇', 8: '၈', 9: '၉', 0: '၀', }, i = { '၁': '1', '၂': '2', '၃': '3', '၄': '4', '၅': '5', '၆': '6', '၇': '7', '၈': '8', '၉': '9', '၀': '0', }; e.defineLocale('my', { months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( '_' ), monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split( '_' ), weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( '_' ), weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[ယနေ.] LT [မှာ]', nextDay: '[မနက်ဖြန်] LT [မှာ]', nextWeek: 'dddd LT [မှာ]', lastDay: '[မနေ.က] LT [မှာ]', lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', sameElse: 'L', }, relativeTime: { future: 'လာမည့် %s မှာ', past: 'လွန်ခဲ့သော %s က', s: 'စက္ကန်.အနည်းငယ်', ss: '%d စက္ကန့်', m: 'တစ်မိနစ်', mm: '%d မိနစ်', h: 'တစ်နာရီ', hh: '%d နာရီ', d: 'တစ်ရက်', dd: '%d ရက်', M: 'တစ်လ', MM: '%d လ', y: 'တစ်နှစ်', yy: '%d နှစ်', }, preparse: function (e) { return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 64924: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('nb', { months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( '_' ), monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( '_' ), monthsParseExact: !0, weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( '_' ), weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] HH:mm', LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', }, calendar: { sameDay: '[i dag kl.] LT', nextDay: '[i morgen kl.] LT', nextWeek: 'dddd [kl.] LT', lastDay: '[i går kl.] LT', lastWeek: '[forrige] dddd [kl.] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: '%s siden', s: 'noen sekunder', ss: '%d sekunder', m: 'ett minutt', mm: '%d minutter', h: 'en time', hh: '%d timer', d: 'en dag', dd: '%d dager', w: 'en uke', ww: '%d uker', M: 'en måned', MM: '%d måneder', y: 'ett år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 16744: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, i = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }; e.defineLocale('ne', { months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( '_' ), monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( '_' ), monthsParseExact: !0, weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( '_' ), weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'Aको h:mm बजे', LTS: 'Aको h:mm:ss बजे', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, Aको h:mm बजे', LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे', }, preparse: function (e) { return e.replace(/[१२३४५६७८९०]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /राति|बिहान|दिउँसो|साँझ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'राति' === t ? e < 4 ? e : e + 12 : 'बिहान' === t ? e : 'दिउँसो' === t ? e >= 10 ? e : e + 12 : 'साँझ' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 3 ? 'राति' : e < 12 ? 'बिहान' : e < 16 ? 'दिउँसो' : e < 20 ? 'साँझ' : 'राति'; }, calendar: { sameDay: '[आज] LT', nextDay: '[भोलि] LT', nextWeek: '[आउँदो] dddd[,] LT', lastDay: '[हिजो] LT', lastWeek: '[गएको] dddd[,] LT', sameElse: 'L', }, relativeTime: { future: '%sमा', past: '%s अगाडि', s: 'केही क्षण', ss: '%d सेकेण्ड', m: 'एक मिनेट', mm: '%d मिनेट', h: 'एक घण्टा', hh: '%d घण्टा', d: 'एक दिन', dd: '%d दिन', M: 'एक महिना', MM: '%d महिना', y: 'एक बर्ष', yy: '%d बर्ष', }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 59814: function (e, t, i) { !(function (e) { 'use strict'; var t = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( '_' ), i = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), n = [ /^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i, ], r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; e.defineLocale('nl-be', { months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( '_' ), weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[vandaag om] LT', nextDay: '[morgen om] LT', nextWeek: 'dddd [om] LT', lastDay: '[gisteren om] LT', lastWeek: '[afgelopen] dddd [om] LT', sameElse: 'L', }, relativeTime: { future: 'over %s', past: '%s geleden', s: 'een paar seconden', ss: '%d seconden', m: 'één minuut', mm: '%d minuten', h: 'één uur', hh: '%d uur', d: 'één dag', dd: '%d dagen', M: 'één maand', MM: '%d maanden', y: 'één jaar', yy: '%d jaar', }, dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, ordinal: function (e) { return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 93901: function (e, t, i) { !(function (e) { 'use strict'; var t = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( '_' ), i = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), n = [ /^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i, ], r = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; e.defineLocale('nl', { months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( '_' ), monthsShort: function (e, n) { return e ? (/-MMM-/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsRegex: r, monthsShortRegex: r, monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split( '_' ), weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[vandaag om] LT', nextDay: '[morgen om] LT', nextWeek: 'dddd [om] LT', lastDay: '[gisteren om] LT', lastWeek: '[afgelopen] dddd [om] LT', sameElse: 'L', }, relativeTime: { future: 'over %s', past: '%s geleden', s: 'een paar seconden', ss: '%d seconden', m: 'één minuut', mm: '%d minuten', h: 'één uur', hh: '%d uur', d: 'één dag', dd: '%d dagen', w: 'één week', ww: '%d weken', M: 'één maand', MM: '%d maanden', y: 'één jaar', yy: '%d jaar', }, dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, ordinal: function (e) { return e + (1 === e || 8 === e || e >= 20 ? 'ste' : 'de'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 83877: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('nn', { months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( '_' ), monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( '_' ), monthsParseExact: !0, weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split( '_' ), weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY [kl.] H:mm', LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', }, calendar: { sameDay: '[I dag klokka] LT', nextDay: '[I morgon klokka] LT', nextWeek: 'dddd [klokka] LT', lastDay: '[I går klokka] LT', lastWeek: '[Føregåande] dddd [klokka] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: '%s sidan', s: 'nokre sekund', ss: '%d sekund', m: 'eit minutt', mm: '%d minutt', h: 'ein time', hh: '%d timar', d: 'ein dag', dd: '%d dagar', w: 'ei veke', ww: '%d veker', M: 'ein månad', MM: '%d månader', y: 'eit år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 92135: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('oc-lnc', { months: { standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( '_' ), format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( '_' ), isFormat: /D[oD]?(\s)+MMMM/, }, monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( '_' ), weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [de] YYYY', ll: 'D MMM YYYY', LLL: 'D MMMM [de] YYYY [a] H:mm', lll: 'D MMM YYYY, H:mm', LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', llll: 'ddd D MMM YYYY, H:mm', }, calendar: { sameDay: '[uèi a] LT', nextDay: '[deman a] LT', nextWeek: 'dddd [a] LT', lastDay: '[ièr a] LT', lastWeek: 'dddd [passat a] LT', sameElse: 'L', }, relativeTime: { future: "d'aquí %s", past: 'fa %s', s: 'unas segondas', ss: '%d segondas', m: 'una minuta', mm: '%d minutas', h: 'una ora', hh: '%d oras', d: 'un jorn', dd: '%d jorns', M: 'un mes', MM: '%d meses', y: 'un an', yy: '%d ans', }, dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, ordinal: function (e, t) { var i = 1 === e ? 'r' : 2 === e ? 'n' : 3 === e ? 'r' : 4 === e ? 't' : 'è'; return ('w' !== t && 'W' !== t) || (i = 'a'), e + i; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 15858: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '੧', 2: '੨', 3: '੩', 4: '੪', 5: '੫', 6: '੬', 7: '੭', 8: '੮', 9: '੯', 0: '੦', }, i = { '੧': '1', '੨': '2', '੩': '3', '੪': '4', '੫': '5', '੬': '6', '੭': '7', '੮': '8', '੯': '9', '੦': '0', }; e.defineLocale('pa-in', { months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( '_' ), monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( '_' ), weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( '_' ), weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), longDateFormat: { LT: 'A h:mm ਵਜੇ', LTS: 'A h:mm:ss ਵਜੇ', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm ਵਜੇ', LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ', }, calendar: { sameDay: '[ਅਜ] LT', nextDay: '[ਕਲ] LT', nextWeek: '[ਅਗਲਾ] dddd, LT', lastDay: '[ਕਲ] LT', lastWeek: '[ਪਿਛਲੇ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ਵਿੱਚ', past: '%s ਪਿਛਲੇ', s: 'ਕੁਝ ਸਕਿੰਟ', ss: '%d ਸਕਿੰਟ', m: 'ਇਕ ਮਿੰਟ', mm: '%d ਮਿੰਟ', h: 'ਇੱਕ ਘੰਟਾ', hh: '%d ਘੰਟੇ', d: 'ਇੱਕ ਦਿਨ', dd: '%d ਦਿਨ', M: 'ਇੱਕ ਮਹੀਨਾ', MM: '%d ਮਹੀਨੇ', y: 'ਇੱਕ ਸਾਲ', yy: '%d ਸਾਲ', }, preparse: function (e) { return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'ਰਾਤ' === t ? e < 4 ? e : e + 12 : 'ਸਵੇਰ' === t ? e : 'ਦੁਪਹਿਰ' === t ? e >= 10 ? e : e + 12 : 'ਸ਼ਾਮ' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'ਰਾਤ' : e < 10 ? 'ਸਵੇਰ' : e < 17 ? 'ਦੁਪਹਿਰ' : e < 20 ? 'ਸ਼ਾਮ' : 'ਰਾਤ'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 64495: function (e, t, i) { !(function (e) { 'use strict'; var t = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( '_' ), i = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( '_' ), n = [ /^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i, ]; function r(e) { return e % 10 < 5 && e % 10 > 1 && ~~(e / 10) % 10 != 1; } function s(e, t, i) { var n = e + ' '; switch (i) { case 'ss': return n + (r(e) ? 'sekundy' : 'sekund'); case 'm': return t ? 'minuta' : 'minutę'; case 'mm': return n + (r(e) ? 'minuty' : 'minut'); case 'h': return t ? 'godzina' : 'godzinę'; case 'hh': return n + (r(e) ? 'godziny' : 'godzin'); case 'ww': return n + (r(e) ? 'tygodnie' : 'tygodni'); case 'MM': return n + (r(e) ? 'miesiące' : 'miesięcy'); case 'yy': return n + (r(e) ? 'lata' : 'lat'); } } e.defineLocale('pl', { months: function (e, n) { return e ? (/D MMMM/.test(n) ? i[e.month()] : t[e.month()]) : t; }, monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split( '_' ), monthsParse: n, longMonthsParse: n, shortMonthsParse: n, weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( '_' ), weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Dziś o] LT', nextDay: '[Jutro o] LT', nextWeek: function () { switch (this.day()) { case 0: return '[W niedzielę o] LT'; case 2: return '[We wtorek o] LT'; case 3: return '[W środę o] LT'; case 6: return '[W sobotę o] LT'; default: return '[W] dddd [o] LT'; } }, lastDay: '[Wczoraj o] LT', lastWeek: function () { switch (this.day()) { case 0: return '[W zeszłą niedzielę o] LT'; case 3: return '[W zeszłą środę o] LT'; case 6: return '[W zeszłą sobotę o] LT'; default: return '[W zeszły] dddd [o] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: '%s temu', s: 'kilka sekund', ss: s, m: s, mm: s, h: s, hh: s, d: '1 dzień', dd: '%d dni', w: 'tydzień', ww: s, M: 'miesiąc', MM: s, y: 'rok', yy: s, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 57971: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('pt-br', { months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( '_' ), monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split( '_' ), weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( '_' ), weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', }, calendar: { sameDay: '[Hoje às] LT', nextDay: '[Amanhã às] LT', nextWeek: 'dddd [às] LT', lastDay: '[Ontem às] LT', lastWeek: function () { return 0 === this.day() || 6 === this.day() ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'; }, sameElse: 'L', }, relativeTime: { future: 'em %s', past: 'há %s', s: 'poucos segundos', ss: '%d segundos', m: 'um minuto', mm: '%d minutos', h: 'uma hora', hh: '%d horas', d: 'um dia', dd: '%d dias', M: 'um mês', MM: '%d meses', y: 'um ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', invalidDate: 'Data inválida', }); })(i(30381)); }, 89520: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('pt', { months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( '_' ), monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split( '_' ), weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( '_' ), weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D [de] MMMM [de] YYYY', LLL: 'D [de] MMMM [de] YYYY HH:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', }, calendar: { sameDay: '[Hoje às] LT', nextDay: '[Amanhã às] LT', nextWeek: 'dddd [às] LT', lastDay: '[Ontem às] LT', lastWeek: function () { return 0 === this.day() || 6 === this.day() ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'; }, sameElse: 'L', }, relativeTime: { future: 'em %s', past: 'há %s', s: 'segundos', ss: '%d segundos', m: 'um minuto', mm: '%d minutos', h: 'uma hora', hh: '%d horas', d: 'um dia', dd: '%d dias', w: 'uma semana', ww: '%d semanas', M: 'um mês', MM: '%d meses', y: 'um ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}º/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 96459: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { var n = ' '; return ( (e % 100 >= 20 || (e >= 100 && e % 100 == 0)) && (n = ' de '), e + n + { ss: 'secunde', mm: 'minute', hh: 'ore', dd: 'zile', ww: 'săptămâni', MM: 'luni', yy: 'ani', }[i] ); } e.defineLocale('ro', { months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( '_' ), monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split( '_' ), weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY H:mm', LLLL: 'dddd, D MMMM YYYY H:mm', }, calendar: { sameDay: '[azi la] LT', nextDay: '[mâine la] LT', nextWeek: 'dddd [la] LT', lastDay: '[ieri la] LT', lastWeek: '[fosta] dddd [la] LT', sameElse: 'L', }, relativeTime: { future: 'peste %s', past: '%s în urmă', s: 'câteva secunde', ss: t, m: 'un minut', mm: t, h: 'o oră', hh: t, d: 'o zi', dd: t, w: 'o săptămână', ww: t, M: 'o lună', MM: t, y: 'un an', yy: t, }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 21793: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { return 'm' === i ? t ? 'минута' : 'минуту' : e + ' ' + ((n = +e), (r = { ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', mm: t ? 'минута_минуты_минут' : 'минуту_минуты_минут', hh: 'час_часа_часов', dd: 'день_дня_дней', ww: 'неделя_недели_недель', MM: 'месяц_месяца_месяцев', yy: 'год_года_лет', }[i].split('_')), n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]); var n, r; } var i = [ /^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i, ]; e.defineLocale('ru', { months: { format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( '_' ), standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( '_' ), }, monthsShort: { format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( '_' ), standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( '_' ), }, weekdays: { standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( '_' ), format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split( '_' ), isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/, }, weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), monthsParse: i, longMonthsParse: i, shortMonthsParse: i, monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i, monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i, monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY г.', LLL: 'D MMMM YYYY г., H:mm', LLLL: 'dddd, D MMMM YYYY г., H:mm', }, calendar: { sameDay: '[Сегодня, в] LT', nextDay: '[Завтра, в] LT', lastDay: '[Вчера, в] LT', nextWeek: function (e) { if (e.week() === this.week()) return 2 === this.day() ? '[Во] dddd, [в] LT' : '[В] dddd, [в] LT'; switch (this.day()) { case 0: return '[В следующее] dddd, [в] LT'; case 1: case 2: case 4: return '[В следующий] dddd, [в] LT'; case 3: case 5: case 6: return '[В следующую] dddd, [в] LT'; } }, lastWeek: function (e) { if (e.week() === this.week()) return 2 === this.day() ? '[Во] dddd, [в] LT' : '[В] dddd, [в] LT'; switch (this.day()) { case 0: return '[В прошлое] dddd, [в] LT'; case 1: case 2: case 4: return '[В прошлый] dddd, [в] LT'; case 3: case 5: case 6: return '[В прошлую] dddd, [в] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'через %s', past: '%s назад', s: 'несколько секунд', ss: t, m: t, mm: t, h: 'час', hh: t, d: 'день', dd: t, w: 'неделя', ww: t, M: 'месяц', MM: t, y: 'год', yy: t, }, meridiemParse: /ночи|утра|дня|вечера/i, isPM: function (e) { return /^(дня|вечера)$/.test(e); }, meridiem: function (e, t, i) { return e < 4 ? 'ночи' : e < 12 ? 'утра' : e < 17 ? 'дня' : 'вечера'; }, dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/, ordinal: function (e, t) { switch (t) { case 'M': case 'd': case 'DDD': return e + '-й'; case 'D': return e + '-го'; case 'w': case 'W': return e + '-я'; default: return e; } }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 40950: function (e, t, i) { !(function (e) { 'use strict'; var t = [ 'جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر', ], i = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; e.defineLocale('sd', { months: t, monthsShort: t, weekdays: i, weekdaysShort: i, weekdaysMin: i, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd، D MMMM YYYY HH:mm', }, meridiemParse: /صبح|شام/, isPM: function (e) { return 'شام' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'صبح' : 'شام'; }, calendar: { sameDay: '[اڄ] LT', nextDay: '[سڀاڻي] LT', nextWeek: 'dddd [اڳين هفتي تي] LT', lastDay: '[ڪالهه] LT', lastWeek: '[گزريل هفتي] dddd [تي] LT', sameElse: 'L', }, relativeTime: { future: '%s پوء', past: '%s اڳ', s: 'چند سيڪنڊ', ss: '%d سيڪنڊ', m: 'هڪ منٽ', mm: '%d منٽ', h: 'هڪ ڪلاڪ', hh: '%d ڪلاڪ', d: 'هڪ ڏينهن', dd: '%d ڏينهن', M: 'هڪ مهينو', MM: '%d مهينا', y: 'هڪ سال', yy: '%d سال', }, preparse: function (e) { return e.replace(/،/g, ','); }, postformat: function (e) { return e.replace(/,/g, '،'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 10490: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('se', { months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( '_' ), monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( '_' ), weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( '_' ), weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), weekdaysMin: 's_v_m_g_d_b_L'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'MMMM D. [b.] YYYY', LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', }, calendar: { sameDay: '[otne ti] LT', nextDay: '[ihttin ti] LT', nextWeek: 'dddd [ti] LT', lastDay: '[ikte ti] LT', lastWeek: '[ovddit] dddd [ti] LT', sameElse: 'L', }, relativeTime: { future: '%s geažes', past: 'maŋit %s', s: 'moadde sekunddat', ss: '%d sekunddat', m: 'okta minuhta', mm: '%d minuhtat', h: 'okta diimmu', hh: '%d diimmut', d: 'okta beaivi', dd: '%d beaivvit', M: 'okta mánnu', MM: '%d mánut', y: 'okta jahki', yy: '%d jagit', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 90124: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('si', { months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( '_' ), monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( '_' ), weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( '_' ), weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'a h:mm', LTS: 'a h:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY MMMM D', LLL: 'YYYY MMMM D, a h:mm', LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', }, calendar: { sameDay: '[අද] LT[ට]', nextDay: '[හෙට] LT[ට]', nextWeek: 'dddd LT[ට]', lastDay: '[ඊයේ] LT[ට]', lastWeek: '[පසුගිය] dddd LT[ට]', sameElse: 'L', }, relativeTime: { future: '%sකින්', past: '%sකට පෙර', s: 'තත්පර කිහිපය', ss: 'තත්පර %d', m: 'මිනිත්තුව', mm: 'මිනිත්තු %d', h: 'පැය', hh: 'පැය %d', d: 'දිනය', dd: 'දින %d', M: 'මාසය', MM: 'මාස %d', y: 'වසර', yy: 'වසර %d', }, dayOfMonthOrdinalParse: /\d{1,2} වැනි/, ordinal: function (e) { return e + ' වැනි'; }, meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, isPM: function (e) { return 'ප.ව.' === e || 'පස් වරු' === e; }, meridiem: function (e, t, i) { return e > 11 ? i ? 'ප.ව.' : 'පස් වරු' : i ? 'පෙ.ව.' : 'පෙර වරු'; }, }); })(i(30381)); }, 64249: function (e, t, i) { !(function (e) { 'use strict'; var t = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( '_' ), i = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); function n(e) { return e > 1 && e < 5; } function r(e, t, i, r) { var s = e + ' '; switch (i) { case 's': return t || r ? 'pár sekúnd' : 'pár sekundami'; case 'ss': return t || r ? s + (n(e) ? 'sekundy' : 'sekúnd') : s + 'sekundami'; case 'm': return t ? 'minúta' : r ? 'minútu' : 'minútou'; case 'mm': return t || r ? s + (n(e) ? 'minúty' : 'minút') : s + 'minútami'; case 'h': return t ? 'hodina' : r ? 'hodinu' : 'hodinou'; case 'hh': return t || r ? s + (n(e) ? 'hodiny' : 'hodín') : s + 'hodinami'; case 'd': return t || r ? 'deň' : 'dňom'; case 'dd': return t || r ? s + (n(e) ? 'dni' : 'dní') : s + 'dňami'; case 'M': return t || r ? 'mesiac' : 'mesiacom'; case 'MM': return t || r ? s + (n(e) ? 'mesiace' : 'mesiacov') : s + 'mesiacmi'; case 'y': return t || r ? 'rok' : 'rokom'; case 'yy': return t || r ? s + (n(e) ? 'roky' : 'rokov') : s + 'rokmi'; } } e.defineLocale('sk', { months: t, monthsShort: i, weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split( '_' ), weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'), longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd D. MMMM YYYY H:mm', }, calendar: { sameDay: '[dnes o] LT', nextDay: '[zajtra o] LT', nextWeek: function () { switch (this.day()) { case 0: return '[v nedeľu o] LT'; case 1: case 2: return '[v] dddd [o] LT'; case 3: return '[v stredu o] LT'; case 4: return '[vo štvrtok o] LT'; case 5: return '[v piatok o] LT'; case 6: return '[v sobotu o] LT'; } }, lastDay: '[včera o] LT', lastWeek: function () { switch (this.day()) { case 0: return '[minulú nedeľu o] LT'; case 1: case 2: return '[minulý] dddd [o] LT'; case 3: return '[minulú stredu o] LT'; case 4: case 5: return '[minulý] dddd [o] LT'; case 6: return '[minulú sobotu o] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'pred %s', s: r, ss: r, m: r, mm: r, h: r, hh: r, d: r, dd: r, M: r, MM: r, y: r, yy: r, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 14985: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = e + ' '; switch (i) { case 's': return t || n ? 'nekaj sekund' : 'nekaj sekundami'; case 'ss': return ( r + (1 === e ? t ? 'sekundo' : 'sekundi' : 2 === e ? t || n ? 'sekundi' : 'sekundah' : e < 5 ? t || n ? 'sekunde' : 'sekundah' : 'sekund') ); case 'm': return t ? 'ena minuta' : 'eno minuto'; case 'mm': return ( r + (1 === e ? t ? 'minuta' : 'minuto' : 2 === e ? t || n ? 'minuti' : 'minutama' : e < 5 ? t || n ? 'minute' : 'minutami' : t || n ? 'minut' : 'minutami') ); case 'h': return t ? 'ena ura' : 'eno uro'; case 'hh': return ( r + (1 === e ? t ? 'ura' : 'uro' : 2 === e ? t || n ? 'uri' : 'urama' : e < 5 ? t || n ? 'ure' : 'urami' : t || n ? 'ur' : 'urami') ); case 'd': return t || n ? 'en dan' : 'enim dnem'; case 'dd': return ( r + (1 === e ? t || n ? 'dan' : 'dnem' : 2 === e ? t || n ? 'dni' : 'dnevoma' : t || n ? 'dni' : 'dnevi') ); case 'M': return t || n ? 'en mesec' : 'enim mesecem'; case 'MM': return ( r + (1 === e ? t || n ? 'mesec' : 'mesecem' : 2 === e ? t || n ? 'meseca' : 'mesecema' : e < 5 ? t || n ? 'mesece' : 'meseci' : t || n ? 'mesecev' : 'meseci') ); case 'y': return t || n ? 'eno leto' : 'enim letom'; case 'yy': return ( r + (1 === e ? t || n ? 'leto' : 'letom' : 2 === e ? t || n ? 'leti' : 'letoma' : e < 5 ? t || n ? 'leta' : 'leti' : t || n ? 'let' : 'leti') ); } } e.defineLocale('sl', { months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( '_' ), monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split( '_' ), weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD. MM. YYYY', LL: 'D. MMMM YYYY', LLL: 'D. MMMM YYYY H:mm', LLLL: 'dddd, D. MMMM YYYY H:mm', }, calendar: { sameDay: '[danes ob] LT', nextDay: '[jutri ob] LT', nextWeek: function () { switch (this.day()) { case 0: return '[v] [nedeljo] [ob] LT'; case 3: return '[v] [sredo] [ob] LT'; case 6: return '[v] [soboto] [ob] LT'; case 1: case 2: case 4: case 5: return '[v] dddd [ob] LT'; } }, lastDay: '[včeraj ob] LT', lastWeek: function () { switch (this.day()) { case 0: return '[prejšnjo] [nedeljo] [ob] LT'; case 3: return '[prejšnjo] [sredo] [ob] LT'; case 6: return '[prejšnjo] [soboto] [ob] LT'; case 1: case 2: case 4: case 5: return '[prejšnji] dddd [ob] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'čez %s', past: 'pred %s', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: t, M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 51104: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('sq', { months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( '_' ), monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split( '_' ), weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( '_' ), weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), weekdaysParseExact: !0, meridiemParse: /PD|MD/, isPM: function (e) { return 'M' === e.charAt(0); }, meridiem: function (e, t, i) { return e < 12 ? 'PD' : 'MD'; }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Sot në] LT', nextDay: '[Nesër në] LT', nextWeek: 'dddd [në] LT', lastDay: '[Dje në] LT', lastWeek: 'dddd [e kaluar në] LT', sameElse: 'L', }, relativeTime: { future: 'në %s', past: '%s më parë', s: 'disa sekonda', ss: '%d sekonda', m: 'një minutë', mm: '%d minuta', h: 'një orë', hh: '%d orë', d: 'një ditë', dd: '%d ditë', M: 'një muaj', MM: '%d muaj', y: 'një vit', yy: '%d vite', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 79915: function (e, t, i) { !(function (e) { 'use strict'; var t = { words: { ss: ['секунда', 'секунде', 'секунди'], m: ['један минут', 'једне минуте'], mm: ['минут', 'минуте', 'минута'], h: ['један сат', 'једног сата'], hh: ['сат', 'сата', 'сати'], dd: ['дан', 'дана', 'дана'], MM: ['месец', 'месеца', 'месеци'], yy: ['година', 'године', 'година'], }, correctGrammaticalCase: function (e, t) { return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; }, translate: function (e, i, n) { var r = t.words[n]; return 1 === n.length ? i ? r[0] : r[1] : e + ' ' + t.correctGrammaticalCase(e, r); }, }; e.defineLocale('sr-cyrl', { months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( '_' ), monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( '_' ), monthsParseExact: !0, weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split( '_' ), weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D. M. YYYY.', LL: 'D. MMMM YYYY.', LLL: 'D. MMMM YYYY. H:mm', LLLL: 'dddd, D. MMMM YYYY. H:mm', }, calendar: { sameDay: '[данас у] LT', nextDay: '[сутра у] LT', nextWeek: function () { switch (this.day()) { case 0: return '[у] [недељу] [у] LT'; case 3: return '[у] [среду] [у] LT'; case 6: return '[у] [суботу] [у] LT'; case 1: case 2: case 4: case 5: return '[у] dddd [у] LT'; } }, lastDay: '[јуче у] LT', lastWeek: function () { return [ '[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT', ][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: 'пре %s', s: 'неколико секунди', ss: t.translate, m: t.translate, mm: t.translate, h: t.translate, hh: t.translate, d: 'дан', dd: t.translate, M: 'месец', MM: t.translate, y: 'годину', yy: t.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 49131: function (e, t, i) { !(function (e) { 'use strict'; var t = { words: { ss: ['sekunda', 'sekunde', 'sekundi'], m: ['jedan minut', 'jedne minute'], mm: ['minut', 'minute', 'minuta'], h: ['jedan sat', 'jednog sata'], hh: ['sat', 'sata', 'sati'], dd: ['dan', 'dana', 'dana'], MM: ['mesec', 'meseca', 'meseci'], yy: ['godina', 'godine', 'godina'], }, correctGrammaticalCase: function (e, t) { return 1 === e ? t[0] : e >= 2 && e <= 4 ? t[1] : t[2]; }, translate: function (e, i, n) { var r = t.words[n]; return 1 === n.length ? i ? r[0] : r[1] : e + ' ' + t.correctGrammaticalCase(e, r); }, }; e.defineLocale('sr', { months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( '_' ), monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split( '_' ), monthsParseExact: !0, weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( '_' ), weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'D. M. YYYY.', LL: 'D. MMMM YYYY.', LLL: 'D. MMMM YYYY. H:mm', LLLL: 'dddd, D. MMMM YYYY. H:mm', }, calendar: { sameDay: '[danas u] LT', nextDay: '[sutra u] LT', nextWeek: function () { switch (this.day()) { case 0: return '[u] [nedelju] [u] LT'; case 3: return '[u] [sredu] [u] LT'; case 6: return '[u] [subotu] [u] LT'; case 1: case 2: case 4: case 5: return '[u] dddd [u] LT'; } }, lastDay: '[juče u] LT', lastWeek: function () { return [ '[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT', ][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'pre %s', s: 'nekoliko sekundi', ss: t.translate, m: t.translate, mm: t.translate, h: t.translate, hh: t.translate, d: 'dan', dd: t.translate, M: 'mesec', MM: t.translate, y: 'godinu', yy: t.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 85893: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ss', { months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( '_' ), monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split( '_' ), weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( '_' ), weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendar: { sameDay: '[Namuhla nga] LT', nextDay: '[Kusasa nga] LT', nextWeek: 'dddd [nga] LT', lastDay: '[Itolo nga] LT', lastWeek: 'dddd [leliphelile] [nga] LT', sameElse: 'L', }, relativeTime: { future: 'nga %s', past: 'wenteka nga %s', s: 'emizuzwana lomcane', ss: '%d mzuzwana', m: 'umzuzu', mm: '%d emizuzu', h: 'lihora', hh: '%d emahora', d: 'lilanga', dd: '%d emalanga', M: 'inyanga', MM: '%d tinyanga', y: 'umnyaka', yy: '%d iminyaka', }, meridiemParse: /ekuseni|emini|entsambama|ebusuku/, meridiem: function (e, t, i) { return e < 11 ? 'ekuseni' : e < 15 ? 'emini' : e < 19 ? 'entsambama' : 'ebusuku'; }, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'ekuseni' === t ? e : 'emini' === t ? e >= 11 ? e : e + 12 : 'entsambama' === t || 'ebusuku' === t ? 0 === e ? 0 : e + 12 : void 0 ); }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: '%d', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 98760: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('sv', { months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( '_' ), monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split( '_' ), weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split( '_' ), weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY [kl.] HH:mm', LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', lll: 'D MMM YYYY HH:mm', llll: 'ddd D MMM YYYY HH:mm', }, calendar: { sameDay: '[Idag] LT', nextDay: '[Imorgon] LT', lastDay: '[Igår] LT', nextWeek: '[På] dddd LT', lastWeek: '[I] dddd[s] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: 'för %s sedan', s: 'några sekunder', ss: '%d sekunder', m: 'en minut', mm: '%d minuter', h: 'en timme', hh: '%d timmar', d: 'en dag', dd: '%d dagar', M: 'en månad', MM: '%d månader', y: 'ett år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? ':e' : 1 === t || 2 === t ? ':a' : ':e') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 91172: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('sw', { months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( '_' ), monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split( '_' ), weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( '_' ), weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'hh:mm A', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[leo saa] LT', nextDay: '[kesho saa] LT', nextWeek: '[wiki ijayo] dddd [saat] LT', lastDay: '[jana] LT', lastWeek: '[wiki iliyopita] dddd [saat] LT', sameElse: 'L', }, relativeTime: { future: '%s baadaye', past: 'tokea %s', s: 'hivi punde', ss: 'sekunde %d', m: 'dakika moja', mm: 'dakika %d', h: 'saa limoja', hh: 'masaa %d', d: 'siku moja', dd: 'siku %d', M: 'mwezi mmoja', MM: 'miezi %d', y: 'mwaka mmoja', yy: 'miaka %d', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 27333: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: '௧', 2: '௨', 3: '௩', 4: '௪', 5: '௫', 6: '௬', 7: '௭', 8: '௮', 9: '௯', 0: '௦', }, i = { '௧': '1', '௨': '2', '௩': '3', '௪': '4', '௫': '5', '௬': '6', '௭': '7', '௮': '8', '௯': '9', '௦': '0', }; e.defineLocale('ta', { months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( '_' ), monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( '_' ), weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( '_' ), weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( '_' ), weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, HH:mm', LLLL: 'dddd, D MMMM YYYY, HH:mm', }, calendar: { sameDay: '[இன்று] LT', nextDay: '[நாளை] LT', nextWeek: 'dddd, LT', lastDay: '[நேற்று] LT', lastWeek: '[கடந்த வாரம்] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s இல்', past: '%s முன்', s: 'ஒரு சில விநாடிகள்', ss: '%d விநாடிகள்', m: 'ஒரு நிமிடம்', mm: '%d நிமிடங்கள்', h: 'ஒரு மணி நேரம்', hh: '%d மணி நேரம்', d: 'ஒரு நாள்', dd: '%d நாட்கள்', M: 'ஒரு மாதம்', MM: '%d மாதங்கள்', y: 'ஒரு வருடம்', yy: '%d ஆண்டுகள்', }, dayOfMonthOrdinalParse: /\d{1,2}வது/, ordinal: function (e) { return e + 'வது'; }, preparse: function (e) { return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (e) { return i[e]; }); }, postformat: function (e) { return e.replace(/\d/g, function (e) { return t[e]; }); }, meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/, meridiem: function (e, t, i) { return e < 2 ? ' யாமம்' : e < 6 ? ' வைகறை' : e < 10 ? ' காலை' : e < 14 ? ' நண்பகல்' : e < 18 ? ' எற்பாடு' : e < 22 ? ' மாலை' : ' யாமம்'; }, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'யாமம்' === t ? e < 2 ? e : e + 12 : 'வைகறை' === t || 'காலை' === t || ('நண்பகல்' === t && e >= 10) ? e : e + 12 ); }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 23110: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('te', { months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( '_' ), monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( '_' ), monthsParseExact: !0, weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( '_' ), weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'), longDateFormat: { LT: 'A h:mm', LTS: 'A h:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY, A h:mm', LLLL: 'dddd, D MMMM YYYY, A h:mm', }, calendar: { sameDay: '[నేడు] LT', nextDay: '[రేపు] LT', nextWeek: 'dddd, LT', lastDay: '[నిన్న] LT', lastWeek: '[గత] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s లో', past: '%s క్రితం', s: 'కొన్ని క్షణాలు', ss: '%d సెకన్లు', m: 'ఒక నిమిషం', mm: '%d నిమిషాలు', h: 'ఒక గంట', hh: '%d గంటలు', d: 'ఒక రోజు', dd: '%d రోజులు', M: 'ఒక నెల', MM: '%d నెలలు', y: 'ఒక సంవత్సరం', yy: '%d సంవత్సరాలు', }, dayOfMonthOrdinalParse: /\d{1,2}వ/, ordinal: '%dవ', meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'రాత్రి' === t ? e < 4 ? e : e + 12 : 'ఉదయం' === t ? e : 'మధ్యాహ్నం' === t ? e >= 10 ? e : e + 12 : 'సాయంత్రం' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'రాత్రి' : e < 10 ? 'ఉదయం' : e < 17 ? 'మధ్యాహ్నం' : e < 20 ? 'సాయంత్రం' : 'రాత్రి'; }, week: { dow: 0, doy: 6 }, }); })(i(30381)); }, 52095: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('tet', { months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( '_' ), monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split( '_' ), weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split( '_' ), weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Ohin iha] LT', nextDay: '[Aban iha] LT', nextWeek: 'dddd [iha] LT', lastDay: '[Horiseik iha] LT', lastWeek: 'dddd [semana kotuk] [iha] LT', sameElse: 'L', }, relativeTime: { future: 'iha %s', past: '%s liuba', s: 'segundu balun', ss: 'segundu %d', m: 'minutu ida', mm: 'minutu %d', h: 'oras ida', hh: 'oras %d', d: 'loron ida', dd: 'loron %d', M: 'fulan ida', MM: 'fulan %d', y: 'tinan ida', yy: 'tinan %d', }, dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 27321: function (e, t, i) { !(function (e) { 'use strict'; var t = { 0: '-ум', 1: '-ум', 2: '-юм', 3: '-юм', 4: '-ум', 5: '-ум', 6: '-ум', 7: '-ум', 8: '-ум', 9: '-ум', 10: '-ум', 12: '-ум', 13: '-ум', 20: '-ум', 30: '-юм', 40: '-ум', 50: '-ум', 60: '-ум', 70: '-ум', 80: '-ум', 90: '-ум', 100: '-ум', }; e.defineLocale('tg', { months: { format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( '_' ), standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( '_' ), }, monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( '_' ), weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( '_' ), weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[Имрӯз соати] LT', nextDay: '[Фардо соати] LT', lastDay: '[Дирӯз соати] LT', nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', sameElse: 'L', }, relativeTime: { future: 'баъди %s', past: '%s пеш', s: 'якчанд сония', m: 'як дақиқа', mm: '%d дақиқа', h: 'як соат', hh: '%d соат', d: 'як рӯз', dd: '%d рӯз', M: 'як моҳ', MM: '%d моҳ', y: 'як сол', yy: '%d сол', }, meridiemParse: /шаб|субҳ|рӯз|бегоҳ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'шаб' === t ? e < 4 ? e : e + 12 : 'субҳ' === t ? e : 'рӯз' === t ? e >= 11 ? e : e + 12 : 'бегоҳ' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { return e < 4 ? 'шаб' : e < 11 ? 'субҳ' : e < 16 ? 'рӯз' : e < 19 ? 'бегоҳ' : 'шаб'; }, dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/, ordinal: function (e) { return e + (t[e] || t[e % 10] || t[e >= 100 ? 100 : null]); }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 9041: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('th', { months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( '_' ), monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( '_' ), monthsParseExact: !0, weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split( '_' ), weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split( '_' ), weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY เวลา H:mm', LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', }, meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, isPM: function (e) { return 'หลังเที่ยง' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'ก่อนเที่ยง' : 'หลังเที่ยง'; }, calendar: { sameDay: '[วันนี้ เวลา] LT', nextDay: '[พรุ่งนี้ เวลา] LT', nextWeek: 'dddd[หน้า เวลา] LT', lastDay: '[เมื่อวานนี้ เวลา] LT', lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', sameElse: 'L', }, relativeTime: { future: 'อีก %s', past: '%sที่แล้ว', s: 'ไม่กี่วินาที', ss: '%d วินาที', m: '1 นาที', mm: '%d นาที', h: '1 ชั่วโมง', hh: '%d ชั่วโมง', d: '1 วัน', dd: '%d วัน', w: '1 สัปดาห์', ww: '%d สัปดาห์', M: '1 เดือน', MM: '%d เดือน', y: '1 ปี', yy: '%d ปี', }, }); })(i(30381)); }, 19005: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: "'inji", 5: "'inji", 8: "'inji", 70: "'inji", 80: "'inji", 2: "'nji", 7: "'nji", 20: "'nji", 50: "'nji", 3: "'ünji", 4: "'ünji", 100: "'ünji", 6: "'njy", 9: "'unjy", 10: "'unjy", 30: "'unjy", 60: "'ynjy", 90: "'ynjy", }; e.defineLocale('tk', { months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( '_' ), monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split( '_' ), weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( '_' ), weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[bugün sagat] LT', nextDay: '[ertir sagat] LT', nextWeek: '[indiki] dddd [sagat] LT', lastDay: '[düýn] LT', lastWeek: '[geçen] dddd [sagat] LT', sameElse: 'L', }, relativeTime: { future: '%s soň', past: '%s öň', s: 'birnäçe sekunt', m: 'bir minut', mm: '%d minut', h: 'bir sagat', hh: '%d sagat', d: 'bir gün', dd: '%d gün', M: 'bir aý', MM: '%d aý', y: 'bir ýyl', yy: '%d ýyl', }, ordinal: function (e, i) { switch (i) { case 'd': case 'D': case 'Do': case 'DD': return e; default: if (0 === e) return e + "'unjy"; var n = e % 10; return ( e + (t[n] || t[(e % 100) - n] || t[e >= 100 ? 100 : null]) ); } }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 75768: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('tl-ph', { months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( '_' ), monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split( '_' ), weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( '_' ), weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'MM/D/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY HH:mm', LLLL: 'dddd, MMMM DD, YYYY HH:mm', }, calendar: { sameDay: 'LT [ngayong araw]', nextDay: '[Bukas ng] LT', nextWeek: 'LT [sa susunod na] dddd', lastDay: 'LT [kahapon]', lastWeek: 'LT [noong nakaraang] dddd', sameElse: 'L', }, relativeTime: { future: 'sa loob ng %s', past: '%s ang nakalipas', s: 'ilang segundo', ss: '%d segundo', m: 'isang minuto', mm: '%d minuto', h: 'isang oras', hh: '%d oras', d: 'isang araw', dd: '%d araw', M: 'isang buwan', MM: '%d buwan', y: 'isang taon', yy: '%d taon', }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: function (e) { return e; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 89444: function (e, t, i) { !(function (e) { 'use strict'; var t = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); function i(e, i, n, r) { var s = (function (e) { var i = Math.floor((e % 1e3) / 100), n = Math.floor((e % 100) / 10), r = e % 10, s = ''; return ( i > 0 && (s += t[i] + 'vatlh'), n > 0 && (s += ('' !== s ? ' ' : '') + t[n] + 'maH'), r > 0 && (s += ('' !== s ? ' ' : '') + t[r]), '' === s ? 'pagh' : s ); })(e); switch (n) { case 'ss': return s + ' lup'; case 'mm': return s + ' tup'; case 'hh': return s + ' rep'; case 'dd': return s + ' jaj'; case 'MM': return s + ' jar'; case 'yy': return s + ' DIS'; } } e.defineLocale('tlh', { months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( '_' ), monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split( '_' ), monthsParseExact: !0, weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( '_' ), weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( '_' ), weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( '_' ), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[DaHjaj] LT', nextDay: '[wa’leS] LT', nextWeek: 'LLL', lastDay: '[wa’Hu’] LT', lastWeek: 'LLL', sameElse: 'L', }, relativeTime: { future: function (e) { var t = e; return -1 !== e.indexOf('jaj') ? t.slice(0, -3) + 'leS' : -1 !== e.indexOf('jar') ? t.slice(0, -3) + 'waQ' : -1 !== e.indexOf('DIS') ? t.slice(0, -3) + 'nem' : t + ' pIq'; }, past: function (e) { var t = e; return -1 !== e.indexOf('jaj') ? t.slice(0, -3) + 'Hu’' : -1 !== e.indexOf('jar') ? t.slice(0, -3) + 'wen' : -1 !== e.indexOf('DIS') ? t.slice(0, -3) + 'ben' : t + ' ret'; }, s: 'puS lup', ss: i, m: 'wa’ tup', mm: i, h: 'wa’ rep', hh: i, d: 'wa’ jaj', dd: i, M: 'wa’ jar', MM: i, y: 'wa’ DIS', yy: i, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 72397: function (e, t, i) { !(function (e) { 'use strict'; var t = { 1: "'inci", 5: "'inci", 8: "'inci", 70: "'inci", 80: "'inci", 2: "'nci", 7: "'nci", 20: "'nci", 50: "'nci", 3: "'üncü", 4: "'üncü", 100: "'üncü", 6: "'ncı", 9: "'uncu", 10: "'uncu", 30: "'uncu", 60: "'ıncı", 90: "'ıncı", }; e.defineLocale('tr', { months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( '_' ), monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split( '_' ), weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( '_' ), weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), meridiem: function (e, t, i) { return e < 12 ? (i ? 'öö' : 'ÖÖ') : i ? 'ös' : 'ÖS'; }, meridiemParse: /öö|ÖÖ|ös|ÖS/, isPM: function (e) { return 'ös' === e || 'ÖS' === e; }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[bugün saat] LT', nextDay: '[yarın saat] LT', nextWeek: '[gelecek] dddd [saat] LT', lastDay: '[dün] LT', lastWeek: '[geçen] dddd [saat] LT', sameElse: 'L', }, relativeTime: { future: '%s sonra', past: '%s önce', s: 'birkaç saniye', ss: '%d saniye', m: 'bir dakika', mm: '%d dakika', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', w: 'bir hafta', ww: '%d hafta', M: 'bir ay', MM: '%d ay', y: 'bir yıl', yy: '%d yıl', }, ordinal: function (e, i) { switch (i) { case 'd': case 'D': case 'Do': case 'DD': return e; default: if (0 === e) return e + "'ıncı"; var n = e % 10; return ( e + (t[n] || t[(e % 100) - n] || t[e >= 100 ? 100 : null]) ); } }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 28254: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i, n) { var r = { s: ['viensas secunds', "'iensas secunds"], ss: [e + ' secunds', e + ' secunds'], m: ["'n míut", "'iens míut"], mm: [e + ' míuts', e + ' míuts'], h: ["'n þora", "'iensa þora"], hh: [e + ' þoras', e + ' þoras'], d: ["'n ziua", "'iensa ziua"], dd: [e + ' ziuas', e + ' ziuas'], M: ["'n mes", "'iens mes"], MM: [e + ' mesen', e + ' mesen'], y: ["'n ar", "'iens ar"], yy: [e + ' ars', e + ' ars'], }; return n || t ? r[i][0] : r[i][1]; } e.defineLocale('tzl', { months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( '_' ), monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split( '_' ), weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split( '_' ), weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), longDateFormat: { LT: 'HH.mm', LTS: 'HH.mm.ss', L: 'DD.MM.YYYY', LL: 'D. MMMM [dallas] YYYY', LLL: 'D. MMMM [dallas] YYYY HH.mm', LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', }, meridiemParse: /d\'o|d\'a/i, isPM: function (e) { return "d'o" === e.toLowerCase(); }, meridiem: function (e, t, i) { return e > 11 ? (i ? "d'o" : "D'O") : i ? "d'a" : "D'A"; }, calendar: { sameDay: '[oxhi à] LT', nextDay: '[demà à] LT', nextWeek: 'dddd [à] LT', lastDay: '[ieiri à] LT', lastWeek: '[sür el] dddd [lasteu à] LT', sameElse: 'L', }, relativeTime: { future: 'osprei %s', past: 'ja%s', s: t, ss: t, m: t, mm: t, h: t, hh: t, d: t, dd: t, M: t, MM: t, y: t, yy: t, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 30699: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('tzm-latn', { months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( '_' ), monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( '_' ), weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( '_' ), weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( '_' ), weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( '_' ), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[asdkh g] LT', nextDay: '[aska g] LT', nextWeek: 'dddd [g] LT', lastDay: '[assant g] LT', lastWeek: 'dddd [g] LT', sameElse: 'L', }, relativeTime: { future: 'dadkh s yan %s', past: 'yan %s', s: 'imik', ss: '%d imik', m: 'minuḍ', mm: '%d minuḍ', h: 'saɛa', hh: '%d tassaɛin', d: 'ass', dd: '%d ossan', M: 'ayowr', MM: '%d iyyirn', y: 'asgas', yy: '%d isgasn', }, week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 51106: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('tzm', { months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( '_' ), monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( '_' ), weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( '_' ), weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( '_' ), weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( '_' ), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd D MMMM YYYY HH:mm', }, calendar: { sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', nextWeek: 'dddd [ⴴ] LT', lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', lastWeek: 'dddd [ⴴ] LT', sameElse: 'L', }, relativeTime: { future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', past: 'ⵢⴰⵏ %s', s: 'ⵉⵎⵉⴽ', ss: '%d ⵉⵎⵉⴽ', m: 'ⵎⵉⵏⵓⴺ', mm: '%d ⵎⵉⵏⵓⴺ', h: 'ⵙⴰⵄⴰ', hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', d: 'ⴰⵙⵙ', dd: '%d oⵙⵙⴰⵏ', M: 'ⴰⵢoⵓⵔ', MM: '%d ⵉⵢⵢⵉⵔⵏ', y: 'ⴰⵙⴳⴰⵙ', yy: '%d ⵉⵙⴳⴰⵙⵏ', }, week: { dow: 6, doy: 12 }, }); })(i(30381)); }, 9288: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('ug-cn', { months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( '_' ), monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( '_' ), weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( '_' ), weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', }, meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), 'يېرىم كېچە' === t || 'سەھەر' === t || 'چۈشتىن بۇرۇن' === t ? e : 'چۈشتىن كېيىن' === t || 'كەچ' === t ? e + 12 : e >= 11 ? e : e + 12 ); }, meridiem: function (e, t, i) { var n = 100 * e + t; return n < 600 ? 'يېرىم كېچە' : n < 900 ? 'سەھەر' : n < 1130 ? 'چۈشتىن بۇرۇن' : n < 1230 ? 'چۈش' : n < 1800 ? 'چۈشتىن كېيىن' : 'كەچ'; }, calendar: { sameDay: '[بۈگۈن سائەت] LT', nextDay: '[ئەتە سائەت] LT', nextWeek: '[كېلەركى] dddd [سائەت] LT', lastDay: '[تۆنۈگۈن] LT', lastWeek: '[ئالدىنقى] dddd [سائەت] LT', sameElse: 'L', }, relativeTime: { future: '%s كېيىن', past: '%s بۇرۇن', s: 'نەچچە سېكونت', ss: '%d سېكونت', m: 'بىر مىنۇت', mm: '%d مىنۇت', h: 'بىر سائەت', hh: '%d سائەت', d: 'بىر كۈن', dd: '%d كۈن', M: 'بىر ئاي', MM: '%d ئاي', y: 'بىر يىل', yy: '%d يىل', }, dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '-كۈنى'; case 'w': case 'W': return e + '-ھەپتە'; default: return e; } }, preparse: function (e) { return e.replace(/،/g, ','); }, postformat: function (e) { return e.replace(/,/g, '،'); }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 67691: function (e, t, i) { !(function (e) { 'use strict'; function t(e, t, i) { return 'm' === i ? t ? 'хвилина' : 'хвилину' : 'h' === i ? t ? 'година' : 'годину' : e + ' ' + ((n = +e), (r = { ss: t ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', mm: t ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', hh: t ? 'година_години_годин' : 'годину_години_годин', dd: 'день_дні_днів', MM: 'місяць_місяці_місяців', yy: 'рік_роки_років', }[i].split('_')), n % 10 == 1 && n % 100 != 11 ? r[0] : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? r[1] : r[2]); var n, r; } function i(e) { return function () { return e + 'о' + (11 === this.hours() ? 'б' : '') + '] LT'; }; } e.defineLocale('uk', { months: { format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( '_' ), standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( '_' ), }, monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( '_' ), weekdays: function (e, t) { var i = { nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( '_' ), accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( '_' ), genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( '_' ), }; return !0 === e ? i.nominative.slice(1, 7).concat(i.nominative.slice(0, 1)) : e ? i[ /(\[[ВвУу]\]) ?dddd/.test(t) ? 'accusative' : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(t) ? 'genitive' : 'nominative' ][e.day()] : i.nominative; }, weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY р.', LLL: 'D MMMM YYYY р., HH:mm', LLLL: 'dddd, D MMMM YYYY р., HH:mm', }, calendar: { sameDay: i('[Сьогодні '), nextDay: i('[Завтра '), lastDay: i('[Вчора '), nextWeek: i('[У] dddd ['), lastWeek: function () { switch (this.day()) { case 0: case 3: case 5: case 6: return i('[Минулої] dddd [').call(this); case 1: case 2: case 4: return i('[Минулого] dddd [').call(this); } }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: '%s тому', s: 'декілька секунд', ss: t, m: t, mm: t, h: 'годину', hh: t, d: 'день', dd: t, M: 'місяць', MM: t, y: 'рік', yy: t, }, meridiemParse: /ночі|ранку|дня|вечора/, isPM: function (e) { return /^(дня|вечора)$/.test(e); }, meridiem: function (e, t, i) { return e < 4 ? 'ночі' : e < 12 ? 'ранку' : e < 17 ? 'дня' : 'вечора'; }, dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, ordinal: function (e, t) { switch (t) { case 'M': case 'd': case 'DDD': case 'w': case 'W': return e + '-й'; case 'D': return e + '-го'; default: return e; } }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 13795: function (e, t, i) { !(function (e) { 'use strict'; var t = [ 'جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر', ], i = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; e.defineLocale('ur', { months: t, monthsShort: t, weekdays: i, weekdaysShort: i, weekdaysMin: i, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd، D MMMM YYYY HH:mm', }, meridiemParse: /صبح|شام/, isPM: function (e) { return 'شام' === e; }, meridiem: function (e, t, i) { return e < 12 ? 'صبح' : 'شام'; }, calendar: { sameDay: '[آج بوقت] LT', nextDay: '[کل بوقت] LT', nextWeek: 'dddd [بوقت] LT', lastDay: '[گذشتہ روز بوقت] LT', lastWeek: '[گذشتہ] dddd [بوقت] LT', sameElse: 'L', }, relativeTime: { future: '%s بعد', past: '%s قبل', s: 'چند سیکنڈ', ss: '%d سیکنڈ', m: 'ایک منٹ', mm: '%d منٹ', h: 'ایک گھنٹہ', hh: '%d گھنٹے', d: 'ایک دن', dd: '%d دن', M: 'ایک ماہ', MM: '%d ماہ', y: 'ایک سال', yy: '%d سال', }, preparse: function (e) { return e.replace(/،/g, ','); }, postformat: function (e) { return e.replace(/,/g, '،'); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 60588: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('uz-latn', { months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( '_' ), monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split( '_' ), weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( '_' ), weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'D MMMM YYYY, dddd HH:mm', }, calendar: { sameDay: '[Bugun soat] LT [da]', nextDay: '[Ertaga] LT [da]', nextWeek: 'dddd [kuni soat] LT [da]', lastDay: '[Kecha soat] LT [da]', lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", sameElse: 'L', }, relativeTime: { future: 'Yaqin %s ichida', past: 'Bir necha %s oldin', s: 'soniya', ss: '%d soniya', m: 'bir daqiqa', mm: '%d daqiqa', h: 'bir soat', hh: '%d soat', d: 'bir kun', dd: '%d kun', M: 'bir oy', MM: '%d oy', y: 'bir yil', yy: '%d yil', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 6791: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('uz', { months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( '_' ), monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( '_' ), weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split( '_' ), weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'D MMMM YYYY, dddd HH:mm', }, calendar: { sameDay: '[Бугун соат] LT [да]', nextDay: '[Эртага] LT [да]', nextWeek: 'dddd [куни соат] LT [да]', lastDay: '[Кеча соат] LT [да]', lastWeek: '[Утган] dddd [куни соат] LT [да]', sameElse: 'L', }, relativeTime: { future: 'Якин %s ичида', past: 'Бир неча %s олдин', s: 'фурсат', ss: '%d фурсат', m: 'бир дакика', mm: '%d дакика', h: 'бир соат', hh: '%d соат', d: 'бир кун', dd: '%d кун', M: 'бир ой', MM: '%d ой', y: 'бир йил', yy: '%d йил', }, week: { dow: 1, doy: 7 }, }); })(i(30381)); }, 65666: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('vi', { months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( '_' ), monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split( '_' ), monthsParseExact: !0, weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split( '_' ), weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), weekdaysParseExact: !0, meridiemParse: /sa|ch/i, isPM: function (e) { return /^ch$/i.test(e); }, meridiem: function (e, t, i) { return e < 12 ? (i ? 'sa' : 'SA') : i ? 'ch' : 'CH'; }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [năm] YYYY', LLL: 'D MMMM [năm] YYYY HH:mm', LLLL: 'dddd, D MMMM [năm] YYYY HH:mm', l: 'DD/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm', }, calendar: { sameDay: '[Hôm nay lúc] LT', nextDay: '[Ngày mai lúc] LT', nextWeek: 'dddd [tuần tới lúc] LT', lastDay: '[Hôm qua lúc] LT', lastWeek: 'dddd [tuần trước lúc] LT', sameElse: 'L', }, relativeTime: { future: '%s tới', past: '%s trước', s: 'vài giây', ss: '%d giây', m: 'một phút', mm: '%d phút', h: 'một giờ', hh: '%d giờ', d: 'một ngày', dd: '%d ngày', w: 'một tuần', ww: '%d tuần', M: 'một tháng', MM: '%d tháng', y: 'một năm', yy: '%d năm', }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: function (e) { return e; }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 14378: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('x-pseudo', { months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( '_' ), monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( '_' ), monthsParseExact: !0, weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( '_' ), weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY HH:mm', LLLL: 'dddd, D MMMM YYYY HH:mm', }, calendar: { sameDay: '[T~ódá~ý át] LT', nextDay: '[T~ómó~rró~w át] LT', nextWeek: 'dddd [át] LT', lastDay: '[Ý~ést~érdá~ý át] LT', lastWeek: '[L~ást] dddd [át] LT', sameElse: 'L', }, relativeTime: { future: 'í~ñ %s', past: '%s á~gó', s: 'á ~féw ~sécó~ñds', ss: '%d s~écóñ~ds', m: 'á ~míñ~úté', mm: '%d m~íñú~tés', h: 'á~ñ hó~úr', hh: '%d h~óúrs', d: 'á ~dáý', dd: '%d d~áýs', M: 'á ~móñ~th', MM: '%d m~óñt~hs', y: 'á ~ýéár', yy: '%d ý~éárs', }, dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) { var t = e % 10; return ( e + (1 == ~~((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 7198: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('yo', { months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( '_' ), monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split( '_' ), weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), longDateFormat: { LT: 'h:mm A', LTS: 'h:mm:ss A', L: 'DD/MM/YYYY', LL: 'D MMMM YYYY', LLL: 'D MMMM YYYY h:mm A', LLLL: 'dddd, D MMMM YYYY h:mm A', }, calendar: { sameDay: '[Ònì ni] LT', nextDay: '[Ọ̀la ni] LT', nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", lastDay: '[Àna ni] LT', lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', sameElse: 'L', }, relativeTime: { future: 'ní %s', past: '%s kọjá', s: 'ìsẹjú aayá die', ss: 'aayá %d', m: 'ìsẹjú kan', mm: 'ìsẹjú %d', h: 'wákati kan', hh: 'wákati %d', d: 'ọjọ́ kan', dd: 'ọjọ́ %d', M: 'osù kan', MM: 'osù %d', y: 'ọdún kan', yy: 'ọdún %d', }, dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, ordinal: 'ọjọ́ %d', week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 83839: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('zh-cn', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( '_' ), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( '_' ), weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日Ah点mm分', LLLL: 'YYYY年M月D日ddddAh点mm分', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '下午' === t || '晚上' === t ? e + 12 : e >= 11 ? e : e + 12 ); }, meridiem: function (e, t, i) { var n = 100 * e + t; return n < 600 ? '凌晨' : n < 900 ? '早上' : n < 1130 ? '上午' : n < 1230 ? '中午' : n < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天]LT', nextDay: '[明天]LT', nextWeek: function (e) { return e.week() !== this.week() ? '[下]dddLT' : '[本]dddLT'; }, lastDay: '[昨天]LT', lastWeek: function (e) { return this.week() !== e.week() ? '[上]dddLT' : '[本]dddLT'; }, sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '日'; case 'M': return e + '月'; case 'w': case 'W': return e + '周'; default: return e; } }, relativeTime: { future: '%s后', past: '%s前', s: '几秒', ss: '%d 秒', m: '1 分钟', mm: '%d 分钟', h: '1 小时', hh: '%d 小时', d: '1 天', dd: '%d 天', w: '1 周', ww: '%d 周', M: '1 个月', MM: '%d 个月', y: '1 年', yy: '%d 年', }, week: { dow: 1, doy: 4 }, }); })(i(30381)); }, 55726: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('zh-hk', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( '_' ), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( '_' ), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? e >= 11 ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { var n = 100 * e + t; return n < 600 ? '凌晨' : n < 900 ? '早上' : n < 1200 ? '上午' : 1200 === n ? '中午' : n < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天]LT', nextDay: '[明天]LT', nextWeek: '[下]ddddLT', lastDay: '[昨天]LT', lastWeek: '[上]ddddLT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '日'; case 'M': return e + '月'; case 'w': case 'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }); })(i(30381)); }, 99807: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('zh-mo', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( '_' ), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( '_' ), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'D/M/YYYY', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? e >= 11 ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { var n = 100 * e + t; return n < 600 ? '凌晨' : n < 900 ? '早上' : n < 1130 ? '上午' : n < 1230 ? '中午' : n < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天] LT', nextDay: '[明天] LT', nextWeek: '[下]dddd LT', lastDay: '[昨天] LT', lastWeek: '[上]dddd LT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '日'; case 'M': return e + '月'; case 'w': case 'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s內', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }); })(i(30381)); }, 74152: function (e, t, i) { !(function (e) { 'use strict'; e.defineLocale('zh-tw', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split( '_' ), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split( '_' ), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split( '_' ), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, meridiemHour: function (e, t) { return ( 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? e >= 11 ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0 ); }, meridiem: function (e, t, i) { var n = 100 * e + t; return n < 600 ? '凌晨' : n < 900 ? '早上' : n < 1130 ? '上午' : n < 1230 ? '中午' : n < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天] LT', nextDay: '[明天] LT', nextWeek: '[下]dddd LT', lastDay: '[昨天] LT', lastWeek: '[上]dddd LT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/, ordinal: function (e, t) { switch (t) { case 'd': case 'D': case 'DDD': return e + '日'; case 'M': return e + '月'; case 'w': case 'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }); })(i(30381)); }, 46700: (e, t, i) => { var n = { './af': 42786, './af.js': 42786, './ar': 30867, './ar-dz': 14130, './ar-dz.js': 14130, './ar-kw': 96135, './ar-kw.js': 96135, './ar-ly': 56440, './ar-ly.js': 56440, './ar-ma': 47702, './ar-ma.js': 47702, './ar-sa': 16040, './ar-sa.js': 16040, './ar-tn': 37100, './ar-tn.js': 37100, './ar.js': 30867, './az': 31083, './az.js': 31083, './be': 9808, './be.js': 9808, './bg': 68338, './bg.js': 68338, './bm': 67438, './bm.js': 67438, './bn': 8905, './bn-bd': 76225, './bn-bd.js': 76225, './bn.js': 8905, './bo': 11560, './bo.js': 11560, './br': 1278, './br.js': 1278, './bs': 80622, './bs.js': 80622, './ca': 2468, './ca.js': 2468, './cs': 5822, './cs.js': 5822, './cv': 50877, './cv.js': 50877, './cy': 47373, './cy.js': 47373, './da': 24780, './da.js': 24780, './de': 59740, './de-at': 60217, './de-at.js': 60217, './de-ch': 60894, './de-ch.js': 60894, './de.js': 59740, './dv': 5300, './dv.js': 5300, './el': 50837, './el.js': 50837, './en-au': 78348, './en-au.js': 78348, './en-ca': 77925, './en-ca.js': 77925, './en-gb': 22243, './en-gb.js': 22243, './en-ie': 46436, './en-ie.js': 46436, './en-il': 47207, './en-il.js': 47207, './en-in': 44175, './en-in.js': 44175, './en-nz': 76319, './en-nz.js': 76319, './en-sg': 31662, './en-sg.js': 31662, './eo': 92915, './eo.js': 92915, './es': 55655, './es-do': 55251, './es-do.js': 55251, './es-mx': 96112, './es-mx.js': 96112, './es-us': 71146, './es-us.js': 71146, './es.js': 55655, './et': 5603, './et.js': 5603, './eu': 77763, './eu.js': 77763, './fa': 76959, './fa.js': 76959, './fi': 11897, './fi.js': 11897, './fil': 42549, './fil.js': 42549, './fo': 94694, './fo.js': 94694, './fr': 94470, './fr-ca': 63049, './fr-ca.js': 63049, './fr-ch': 52330, './fr-ch.js': 52330, './fr.js': 94470, './fy': 5044, './fy.js': 5044, './ga': 29295, './ga.js': 29295, './gd': 2101, './gd.js': 2101, './gl': 38794, './gl.js': 38794, './gom-deva': 27884, './gom-deva.js': 27884, './gom-latn': 23168, './gom-latn.js': 23168, './gu': 95349, './gu.js': 95349, './he': 24206, './he.js': 24206, './hi': 30094, './hi.js': 30094, './hr': 30316, './hr.js': 30316, './hu': 22138, './hu.js': 22138, './hy-am': 11423, './hy-am.js': 11423, './id': 29218, './id.js': 29218, './is': 90135, './is.js': 90135, './it': 90626, './it-ch': 10150, './it-ch.js': 10150, './it.js': 90626, './ja': 39183, './ja.js': 39183, './jv': 24286, './jv.js': 24286, './ka': 12105, './ka.js': 12105, './kk': 47772, './kk.js': 47772, './km': 18758, './km.js': 18758, './kn': 79282, './kn.js': 79282, './ko': 33730, './ko.js': 33730, './ku': 1408, './ku.js': 1408, './ky': 33291, './ky.js': 33291, './lb': 36841, './lb.js': 36841, './lo': 55466, './lo.js': 55466, './lt': 57010, './lt.js': 57010, './lv': 37595, './lv.js': 37595, './me': 39861, './me.js': 39861, './mi': 35493, './mi.js': 35493, './mk': 95966, './mk.js': 95966, './ml': 87341, './ml.js': 87341, './mn': 5115, './mn.js': 5115, './mr': 10370, './mr.js': 10370, './ms': 9847, './ms-my': 41237, './ms-my.js': 41237, './ms.js': 9847, './mt': 72126, './mt.js': 72126, './my': 56165, './my.js': 56165, './nb': 64924, './nb.js': 64924, './ne': 16744, './ne.js': 16744, './nl': 93901, './nl-be': 59814, './nl-be.js': 59814, './nl.js': 93901, './nn': 83877, './nn.js': 83877, './oc-lnc': 92135, './oc-lnc.js': 92135, './pa-in': 15858, './pa-in.js': 15858, './pl': 64495, './pl.js': 64495, './pt': 89520, './pt-br': 57971, './pt-br.js': 57971, './pt.js': 89520, './ro': 96459, './ro.js': 96459, './ru': 21793, './ru.js': 21793, './sd': 40950, './sd.js': 40950, './se': 10490, './se.js': 10490, './si': 90124, './si.js': 90124, './sk': 64249, './sk.js': 64249, './sl': 14985, './sl.js': 14985, './sq': 51104, './sq.js': 51104, './sr': 49131, './sr-cyrl': 79915, './sr-cyrl.js': 79915, './sr.js': 49131, './ss': 85893, './ss.js': 85893, './sv': 98760, './sv.js': 98760, './sw': 91172, './sw.js': 91172, './ta': 27333, './ta.js': 27333, './te': 23110, './te.js': 23110, './tet': 52095, './tet.js': 52095, './tg': 27321, './tg.js': 27321, './th': 9041, './th.js': 9041, './tk': 19005, './tk.js': 19005, './tl-ph': 75768, './tl-ph.js': 75768, './tlh': 89444, './tlh.js': 89444, './tr': 72397, './tr.js': 72397, './tzl': 28254, './tzl.js': 28254, './tzm': 51106, './tzm-latn': 30699, './tzm-latn.js': 30699, './tzm.js': 51106, './ug-cn': 9288, './ug-cn.js': 9288, './uk': 67691, './uk.js': 67691, './ur': 13795, './ur.js': 13795, './uz': 6791, './uz-latn': 60588, './uz-latn.js': 60588, './uz.js': 6791, './vi': 65666, './vi.js': 65666, './x-pseudo': 14378, './x-pseudo.js': 14378, './yo': 7198, './yo.js': 7198, './zh-cn': 83839, './zh-cn.js': 83839, './zh-hk': 55726, './zh-hk.js': 55726, './zh-mo': 99807, './zh-mo.js': 99807, './zh-tw': 74152, './zh-tw.js': 74152, }; function r(e) { var t = s(e); return i(t); } function s(e) { if (!i.o(n, e)) { var t = new Error("Cannot find module '" + e + "'"); throw ((t.code = 'MODULE_NOT_FOUND'), t); } return n[e]; } (r.keys = function () { return Object.keys(n); }), (r.resolve = s), (e.exports = r), (r.id = 46700); }, 30381: function (e, t, i) { (e = i.nmd(e)).exports = (function () { 'use strict'; var t, n; function r() { return t.apply(null, arguments); } function s(e) { return ( e instanceof Array || '[object Array]' === Object.prototype.toString.call(e) ); } function o(e) { return ( null != e && '[object Object]' === Object.prototype.toString.call(e) ); } function a(e, t) { return Object.prototype.hasOwnProperty.call(e, t); } function l(e) { if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length; var t; for (t in e) if (a(e, t)) return !1; return !0; } function c(e) { return void 0 === e; } function d(e) { return ( 'number' == typeof e || '[object Number]' === Object.prototype.toString.call(e) ); } function h(e) { return ( e instanceof Date || '[object Date]' === Object.prototype.toString.call(e) ); } function u(e, t) { var i, n = []; for (i = 0; i < e.length; ++i) n.push(t(e[i], i)); return n; } function g(e, t) { for (var i in t) a(t, i) && (e[i] = t[i]); return ( a(t, 'toString') && (e.toString = t.toString), a(t, 'valueOf') && (e.valueOf = t.valueOf), e ); } function f(e, t, i, n) { return xt(e, t, i, n, !0).utc(); } function p(e) { return ( null == e._pf && (e._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidEra: null, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1, parsedDateParts: [], era: null, meridiem: null, rfc2822: !1, weekdayMismatch: !1, }), e._pf ); } function m(e) { if (null == e._isValid) { var t = p(e), i = n.call(t.parsedDateParts, function (e) { return null != e; }), r = !isNaN(e._d.getTime()) && t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || (t.meridiem && i)); if ( (e._strict && (r = r && 0 === t.charsLeftOver && 0 === t.unusedTokens.length && void 0 === t.bigHour), null != Object.isFrozen && Object.isFrozen(e)) ) return r; e._isValid = r; } return e._isValid; } function _(e) { var t = f(NaN); return null != e ? g(p(t), e) : (p(t).userInvalidated = !0), t; } n = Array.prototype.some ? Array.prototype.some : function (e) { var t, i = Object(this), n = i.length >>> 0; for (t = 0; t < n; t++) if (t in i && e.call(this, i[t], t, i)) return !0; return !1; }; var b = (r.momentProperties = []), v = !1; function y(e, t) { var i, n, r; if ( (c(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), c(t._i) || (e._i = t._i), c(t._f) || (e._f = t._f), c(t._l) || (e._l = t._l), c(t._strict) || (e._strict = t._strict), c(t._tzm) || (e._tzm = t._tzm), c(t._isUTC) || (e._isUTC = t._isUTC), c(t._offset) || (e._offset = t._offset), c(t._pf) || (e._pf = p(t)), c(t._locale) || (e._locale = t._locale), b.length > 0) ) for (i = 0; i < b.length; i++) c((r = t[(n = b[i])])) || (e[n] = r); return e; } function w(e) { y(this, e), (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), this.isValid() || (this._d = new Date(NaN)), !1 === v && ((v = !0), r.updateOffset(this), (v = !1)); } function C(e) { return e instanceof w || (null != e && null != e._isAMomentObject); } function S(e) { !1 === r.suppressDeprecationWarnings && 'undefined' != typeof console && console.warn && console.warn('Deprecation warning: ' + e); } function k(e, t) { var i = !0; return g(function () { if ( (null != r.deprecationHandler && r.deprecationHandler(null, e), i) ) { var n, s, o, l = []; for (s = 0; s < arguments.length; s++) { if (((n = ''), 'object' == typeof arguments[s])) { for (o in ((n += '\n[' + s + '] '), arguments[0])) a(arguments[0], o) && (n += o + ': ' + arguments[0][o] + ', '); n = n.slice(0, -2); } else n = arguments[s]; l.push(n); } S( e + '\nArguments: ' + Array.prototype.slice.call(l).join('') + '\n' + new Error().stack ), (i = !1); } return t.apply(this, arguments); }, t); } var x, L = {}; function M(e, t) { null != r.deprecationHandler && r.deprecationHandler(e, t), L[e] || (S(t), (L[e] = !0)); } function D(e) { return ( ('undefined' != typeof Function && e instanceof Function) || '[object Function]' === Object.prototype.toString.call(e) ); } function N(e, t) { var i, n = g({}, e); for (i in t) a(t, i) && (o(e[i]) && o(t[i]) ? ((n[i] = {}), g(n[i], e[i]), g(n[i], t[i])) : null != t[i] ? (n[i] = t[i]) : delete n[i]); for (i in e) a(e, i) && !a(t, i) && o(e[i]) && (n[i] = g({}, n[i])); return n; } function E(e) { null != e && this.set(e); } (r.suppressDeprecationWarnings = !1), (r.deprecationHandler = null), (x = Object.keys ? Object.keys : function (e) { var t, i = []; for (t in e) a(e, t) && i.push(t); return i; }); function T(e, t, i) { var n = '' + Math.abs(e), r = t - n.length; return ( (e >= 0 ? (i ? '+' : '') : '-') + Math.pow(10, Math.max(0, r)).toString().substr(1) + n ); } var I = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, O = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, A = {}, R = {}; function P(e, t, i, n) { var r = n; 'string' == typeof n && (r = function () { return this[n](); }), e && (R[e] = r), t && (R[t[0]] = function () { return T(r.apply(this, arguments), t[1], t[2]); }), i && (R[i] = function () { return this.localeData().ordinal(r.apply(this, arguments), e); }); } function F(e, t) { return e.isValid() ? ((t = B(t, e.localeData())), (A[t] = A[t] || (function (e) { var t, i, n, r = e.match(I); for (t = 0, i = r.length; t < i; t++) R[r[t]] ? (r[t] = R[r[t]]) : (r[t] = (n = r[t]).match(/\[[\s\S]/) ? n.replace(/^\[|\]$/g, '') : n.replace(/\\/g, '')); return function (t) { var n, s = ''; for (n = 0; n < i; n++) s += D(r[n]) ? r[n].call(t, e) : r[n]; return s; }; })(t)), A[t](e)) : e.localeData().invalidDate(); } function B(e, t) { var i = 5; function n(e) { return t.longDateFormat(e) || e; } for (O.lastIndex = 0; i >= 0 && O.test(e); ) (e = e.replace(O, n)), (O.lastIndex = 0), (i -= 1); return e; } var W = {}; function Y(e, t) { var i = e.toLowerCase(); W[i] = W[i + 's'] = W[t] = e; } function H(e) { return 'string' == typeof e ? W[e] || W[e.toLowerCase()] : void 0; } function j(e) { var t, i, n = {}; for (i in e) a(e, i) && (t = H(i)) && (n[t] = e[i]); return n; } var V = {}; function z(e, t) { V[e] = t; } function U(e) { return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0; } function $(e) { return e < 0 ? Math.ceil(e) || 0 : Math.floor(e); } function K(e) { var t = +e, i = 0; return 0 !== t && isFinite(t) && (i = $(t)), i; } function q(e, t) { return function (i) { return null != i ? (Z(this, e, i), r.updateOffset(this, t), this) : G(this, e); }; } function G(e, t) { return e.isValid() ? e._d['get' + (e._isUTC ? 'UTC' : '') + t]() : NaN; } function Z(e, t, i) { e.isValid() && !isNaN(i) && ('FullYear' === t && U(e.year()) && 1 === e.month() && 29 === e.date() ? ((i = K(i)), e._d['set' + (e._isUTC ? 'UTC' : '') + t]( i, e.month(), Ce(i, e.month()) )) : e._d['set' + (e._isUTC ? 'UTC' : '') + t](i)); } var J, Q = /\d/, X = /\d\d/, ee = /\d{3}/, te = /\d{4}/, ie = /[+-]?\d{6}/, ne = /\d\d?/, re = /\d\d\d\d?/, se = /\d\d\d\d\d\d?/, oe = /\d{1,3}/, ae = /\d{1,4}/, le = /[+-]?\d{1,6}/, ce = /\d+/, de = /[+-]?\d+/, he = /Z|[+-]\d\d:?\d\d/gi, ue = /Z|[+-]\d\d(?::?\d\d)?/gi, ge = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; function fe(e, t, i) { J[e] = D(t) ? t : function (e, n) { return e && i ? i : t; }; } function pe(e, t) { return a(J, e) ? J[e](t._strict, t._locale) : new RegExp( me( e .replace('\\', '') .replace( /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (e, t, i, n, r) { return t || i || n || r; } ) ) ); } function me(e) { return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); } J = {}; var _e = {}; function be(e, t) { var i, n = t; for ( 'string' == typeof e && (e = [e]), d(t) && (n = function (e, i) { i[t] = K(e); }), i = 0; i < e.length; i++ ) _e[e[i]] = n; } function ve(e, t) { be(e, function (e, i, n, r) { (n._w = n._w || {}), t(e, n._w, n, r); }); } function ye(e, t, i) { null != t && a(_e, e) && _e[e](t, i._a, i, e); } var we; function Ce(e, t) { if (isNaN(e) || isNaN(t)) return NaN; var i, n = ((t % (i = 12)) + i) % i; return ( (e += (t - n) / 12), 1 === n ? (U(e) ? 29 : 28) : 31 - ((n % 7) % 2) ); } (we = Array.prototype.indexOf ? Array.prototype.indexOf : function (e) { var t; for (t = 0; t < this.length; ++t) if (this[t] === e) return t; return -1; }), P('M', ['MM', 2], 'Mo', function () { return this.month() + 1; }), P('MMM', 0, 0, function (e) { return this.localeData().monthsShort(this, e); }), P('MMMM', 0, 0, function (e) { return this.localeData().months(this, e); }), Y('month', 'M'), z('month', 8), fe('M', ne), fe('MM', ne, X), fe('MMM', function (e, t) { return t.monthsShortRegex(e); }), fe('MMMM', function (e, t) { return t.monthsRegex(e); }), be(['M', 'MM'], function (e, t) { t[1] = K(e) - 1; }), be(['MMM', 'MMMM'], function (e, t, i, n) { var r = i._locale.monthsParse(e, n, i._strict); null != r ? (t[1] = r) : (p(i).invalidMonth = e); }); var Se = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_' ), ke = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), xe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, Le = ge, Me = ge; function De(e, t, i) { var n, r, s, o = e.toLocaleLowerCase(); if (!this._monthsParse) for ( this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], n = 0; n < 12; ++n ) (s = f([2e3, n])), (this._shortMonthsParse[n] = this.monthsShort( s, '' ).toLocaleLowerCase()), (this._longMonthsParse[n] = this.months( s, '' ).toLocaleLowerCase()); return i ? 'MMM' === t ? -1 !== (r = we.call(this._shortMonthsParse, o)) ? r : null : -1 !== (r = we.call(this._longMonthsParse, o)) ? r : null : 'MMM' === t ? -1 !== (r = we.call(this._shortMonthsParse, o)) || -1 !== (r = we.call(this._longMonthsParse, o)) ? r : null : -1 !== (r = we.call(this._longMonthsParse, o)) || -1 !== (r = we.call(this._shortMonthsParse, o)) ? r : null; } function Ne(e, t) { var i; if (!e.isValid()) return e; if ('string' == typeof t) if (/^\d+$/.test(t)) t = K(t); else if (!d((t = e.localeData().monthsParse(t)))) return e; return ( (i = Math.min(e.date(), Ce(e.year(), t))), e._d['set' + (e._isUTC ? 'UTC' : '') + 'Month'](t, i), e ); } function Ee(e) { return null != e ? (Ne(this, e), r.updateOffset(this, !0), this) : G(this, 'Month'); } function Te() { function e(e, t) { return t.length - e.length; } var t, i, n = [], r = [], s = []; for (t = 0; t < 12; t++) (i = f([2e3, t])), n.push(this.monthsShort(i, '')), r.push(this.months(i, '')), s.push(this.months(i, '')), s.push(this.monthsShort(i, '')); for (n.sort(e), r.sort(e), s.sort(e), t = 0; t < 12; t++) (n[t] = me(n[t])), (r[t] = me(r[t])); for (t = 0; t < 24; t++) s[t] = me(s[t]); (this._monthsRegex = new RegExp('^(' + s.join('|') + ')', 'i')), (this._monthsShortRegex = this._monthsRegex), (this._monthsStrictRegex = new RegExp( '^(' + r.join('|') + ')', 'i' )), (this._monthsShortStrictRegex = new RegExp( '^(' + n.join('|') + ')', 'i' )); } function Ie(e) { return U(e) ? 366 : 365; } P('Y', 0, 0, function () { var e = this.year(); return e <= 9999 ? T(e, 4) : '+' + e; }), P(0, ['YY', 2], 0, function () { return this.year() % 100; }), P(0, ['YYYY', 4], 0, 'year'), P(0, ['YYYYY', 5], 0, 'year'), P(0, ['YYYYYY', 6, !0], 0, 'year'), Y('year', 'y'), z('year', 1), fe('Y', de), fe('YY', ne, X), fe('YYYY', ae, te), fe('YYYYY', le, ie), fe('YYYYYY', le, ie), be(['YYYYY', 'YYYYYY'], 0), be('YYYY', function (e, t) { t[0] = 2 === e.length ? r.parseTwoDigitYear(e) : K(e); }), be('YY', function (e, t) { t[0] = r.parseTwoDigitYear(e); }), be('Y', function (e, t) { t[0] = parseInt(e, 10); }), (r.parseTwoDigitYear = function (e) { return K(e) + (K(e) > 68 ? 1900 : 2e3); }); var Oe = q('FullYear', !0); function Ae(e, t, i, n, r, s, o) { var a; return ( e < 100 && e >= 0 ? ((a = new Date(e + 400, t, i, n, r, s, o)), isFinite(a.getFullYear()) && a.setFullYear(e)) : (a = new Date(e, t, i, n, r, s, o)), a ); } function Re(e) { var t, i; return ( e < 100 && e >= 0 ? (((i = Array.prototype.slice.call(arguments))[0] = e + 400), (t = new Date(Date.UTC.apply(null, i))), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : (t = new Date(Date.UTC.apply(null, arguments))), t ); } function Pe(e, t, i) { var n = 7 + t - i; return (-(7 + Re(e, 0, n).getUTCDay() - t) % 7) + n - 1; } function Fe(e, t, i, n, r) { var s, o, a = 1 + 7 * (t - 1) + ((7 + i - n) % 7) + Pe(e, n, r); return ( a <= 0 ? (o = Ie((s = e - 1)) + a) : a > Ie(e) ? ((s = e + 1), (o = a - Ie(e))) : ((s = e), (o = a)), { year: s, dayOfYear: o } ); } function Be(e, t, i) { var n, r, s = Pe(e.year(), t, i), o = Math.floor((e.dayOfYear() - s - 1) / 7) + 1; return ( o < 1 ? (n = o + We((r = e.year() - 1), t, i)) : o > We(e.year(), t, i) ? ((n = o - We(e.year(), t, i)), (r = e.year() + 1)) : ((r = e.year()), (n = o)), { week: n, year: r } ); } function We(e, t, i) { var n = Pe(e, t, i), r = Pe(e + 1, t, i); return (Ie(e) - n + r) / 7; } P('w', ['ww', 2], 'wo', 'week'), P('W', ['WW', 2], 'Wo', 'isoWeek'), Y('week', 'w'), Y('isoWeek', 'W'), z('week', 5), z('isoWeek', 5), fe('w', ne), fe('ww', ne, X), fe('W', ne), fe('WW', ne, X), ve(['w', 'ww', 'W', 'WW'], function (e, t, i, n) { t[n.substr(0, 1)] = K(e); }); function Ye(e, t) { return e.slice(t, 7).concat(e.slice(0, t)); } P('d', 0, 'do', 'day'), P('dd', 0, 0, function (e) { return this.localeData().weekdaysMin(this, e); }), P('ddd', 0, 0, function (e) { return this.localeData().weekdaysShort(this, e); }), P('dddd', 0, 0, function (e) { return this.localeData().weekdays(this, e); }), P('e', 0, 0, 'weekday'), P('E', 0, 0, 'isoWeekday'), Y('day', 'd'), Y('weekday', 'e'), Y('isoWeekday', 'E'), z('day', 11), z('weekday', 11), z('isoWeekday', 11), fe('d', ne), fe('e', ne), fe('E', ne), fe('dd', function (e, t) { return t.weekdaysMinRegex(e); }), fe('ddd', function (e, t) { return t.weekdaysShortRegex(e); }), fe('dddd', function (e, t) { return t.weekdaysRegex(e); }), ve(['dd', 'ddd', 'dddd'], function (e, t, i, n) { var r = i._locale.weekdaysParse(e, n, i._strict); null != r ? (t.d = r) : (p(i).invalidWeekday = e); }), ve(['d', 'e', 'E'], function (e, t, i, n) { t[n] = K(e); }); var He = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_' ), je = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), Ve = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), ze = ge, Ue = ge, $e = ge; function Ke(e, t, i) { var n, r, s, o = e.toLocaleLowerCase(); if (!this._weekdaysParse) for ( this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], n = 0; n < 7; ++n ) (s = f([2e3, 1]).day(n)), (this._minWeekdaysParse[n] = this.weekdaysMin( s, '' ).toLocaleLowerCase()), (this._shortWeekdaysParse[n] = this.weekdaysShort( s, '' ).toLocaleLowerCase()), (this._weekdaysParse[n] = this.weekdays( s, '' ).toLocaleLowerCase()); return i ? 'dddd' === t ? -1 !== (r = we.call(this._weekdaysParse, o)) ? r : null : 'ddd' === t ? -1 !== (r = we.call(this._shortWeekdaysParse, o)) ? r : null : -1 !== (r = we.call(this._minWeekdaysParse, o)) ? r : null : 'dddd' === t ? -1 !== (r = we.call(this._weekdaysParse, o)) || -1 !== (r = we.call(this._shortWeekdaysParse, o)) || -1 !== (r = we.call(this._minWeekdaysParse, o)) ? r : null : 'ddd' === t ? -1 !== (r = we.call(this._shortWeekdaysParse, o)) || -1 !== (r = we.call(this._weekdaysParse, o)) || -1 !== (r = we.call(this._minWeekdaysParse, o)) ? r : null : -1 !== (r = we.call(this._minWeekdaysParse, o)) || -1 !== (r = we.call(this._weekdaysParse, o)) || -1 !== (r = we.call(this._shortWeekdaysParse, o)) ? r : null; } function qe() { function e(e, t) { return t.length - e.length; } var t, i, n, r, s, o = [], a = [], l = [], c = []; for (t = 0; t < 7; t++) (i = f([2e3, 1]).day(t)), (n = me(this.weekdaysMin(i, ''))), (r = me(this.weekdaysShort(i, ''))), (s = me(this.weekdays(i, ''))), o.push(n), a.push(r), l.push(s), c.push(n), c.push(r), c.push(s); o.sort(e), a.sort(e), l.sort(e), c.sort(e), (this._weekdaysRegex = new RegExp('^(' + c.join('|') + ')', 'i')), (this._weekdaysShortRegex = this._weekdaysRegex), (this._weekdaysMinRegex = this._weekdaysRegex), (this._weekdaysStrictRegex = new RegExp( '^(' + l.join('|') + ')', 'i' )), (this._weekdaysShortStrictRegex = new RegExp( '^(' + a.join('|') + ')', 'i' )), (this._weekdaysMinStrictRegex = new RegExp( '^(' + o.join('|') + ')', 'i' )); } function Ge() { return this.hours() % 12 || 12; } function Ze(e, t) { P(e, 0, 0, function () { return this.localeData().meridiem( this.hours(), this.minutes(), t ); }); } function Je(e, t) { return t._meridiemParse; } P('H', ['HH', 2], 0, 'hour'), P('h', ['hh', 2], 0, Ge), P('k', ['kk', 2], 0, function () { return this.hours() || 24; }), P('hmm', 0, 0, function () { return '' + Ge.apply(this) + T(this.minutes(), 2); }), P('hmmss', 0, 0, function () { return ( '' + Ge.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2) ); }), P('Hmm', 0, 0, function () { return '' + this.hours() + T(this.minutes(), 2); }), P('Hmmss', 0, 0, function () { return ( '' + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2) ); }), Ze('a', !0), Ze('A', !1), Y('hour', 'h'), z('hour', 13), fe('a', Je), fe('A', Je), fe('H', ne), fe('h', ne), fe('k', ne), fe('HH', ne, X), fe('hh', ne, X), fe('kk', ne, X), fe('hmm', re), fe('hmmss', se), fe('Hmm', re), fe('Hmmss', se), be(['H', 'HH'], 3), be(['k', 'kk'], function (e, t, i) { var n = K(e); t[3] = 24 === n ? 0 : n; }), be(['a', 'A'], function (e, t, i) { (i._isPm = i._locale.isPM(e)), (i._meridiem = e); }), be(['h', 'hh'], function (e, t, i) { (t[3] = K(e)), (p(i).bigHour = !0); }), be('hmm', function (e, t, i) { var n = e.length - 2; (t[3] = K(e.substr(0, n))), (t[4] = K(e.substr(n))), (p(i).bigHour = !0); }), be('hmmss', function (e, t, i) { var n = e.length - 4, r = e.length - 2; (t[3] = K(e.substr(0, n))), (t[4] = K(e.substr(n, 2))), (t[5] = K(e.substr(r))), (p(i).bigHour = !0); }), be('Hmm', function (e, t, i) { var n = e.length - 2; (t[3] = K(e.substr(0, n))), (t[4] = K(e.substr(n))); }), be('Hmmss', function (e, t, i) { var n = e.length - 4, r = e.length - 2; (t[3] = K(e.substr(0, n))), (t[4] = K(e.substr(n, 2))), (t[5] = K(e.substr(r))); }); var Qe = q('Hours', !0); var Xe, et = { calendar: { sameDay: '[Today at] LT', nextDay: '[Tomorrow at] LT', nextWeek: 'dddd [at] LT', lastDay: '[Yesterday at] LT', lastWeek: '[Last] dddd [at] LT', sameElse: 'L', }, longDateFormat: { LTS: 'h:mm:ss A', LT: 'h:mm A', L: 'MM/DD/YYYY', LL: 'MMMM D, YYYY', LLL: 'MMMM D, YYYY h:mm A', LLLL: 'dddd, MMMM D, YYYY h:mm A', }, invalidDate: 'Invalid date', ordinal: '%d', dayOfMonthOrdinalParse: /\d{1,2}/, relativeTime: { future: 'in %s', past: '%s ago', s: 'a few seconds', ss: '%d seconds', m: 'a minute', mm: '%d minutes', h: 'an hour', hh: '%d hours', d: 'a day', dd: '%d days', w: 'a week', ww: '%d weeks', M: 'a month', MM: '%d months', y: 'a year', yy: '%d years', }, months: Se, monthsShort: ke, week: { dow: 0, doy: 6 }, weekdays: He, weekdaysMin: Ve, weekdaysShort: je, meridiemParse: /[ap]\.?m?\.?/i, }, tt = {}, it = {}; function nt(e, t) { var i, n = Math.min(e.length, t.length); for (i = 0; i < n; i += 1) if (e[i] !== t[i]) return i; return n; } function rt(e) { return e ? e.toLowerCase().replace('_', '-') : e; } function st(t) { var n = null; if (void 0 === tt[t] && e && e.exports) try { (n = Xe._abbr), i(46700)('./' + t), ot(n); } catch (e) { tt[t] = null; } return tt[t]; } function ot(e, t) { var i; return ( e && ((i = c(t) ? lt(e) : at(e, t)) ? (Xe = i) : 'undefined' != typeof console && console.warn && console.warn( 'Locale ' + e + ' not found. Did you forget to load it?' )), Xe._abbr ); } function at(e, t) { if (null !== t) { var i, n = et; if (((t.abbr = e), null != tt[e])) M( 'defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' ), (n = tt[e]._config); else if (null != t.parentLocale) if (null != tt[t.parentLocale]) n = tt[t.parentLocale]._config; else { if (null == (i = st(t.parentLocale))) return ( it[t.parentLocale] || (it[t.parentLocale] = []), it[t.parentLocale].push({ name: e, config: t }), null ); n = i._config; } return ( (tt[e] = new E(N(n, t))), it[e] && it[e].forEach(function (e) { at(e.name, e.config); }), ot(e), tt[e] ); } return delete tt[e], null; } function lt(e) { var t; if ( (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) ) return Xe; if (!s(e)) { if ((t = st(e))) return t; e = [e]; } return (function (e) { for (var t, i, n, r, s = 0; s < e.length; ) { for ( t = (r = rt(e[s]).split('-')).length, i = (i = rt(e[s + 1])) ? i.split('-') : null; t > 0; ) { if ((n = st(r.slice(0, t).join('-')))) return n; if (i && i.length >= t && nt(r, i) >= t - 1) break; t--; } s++; } return Xe; })(e); } function ct(e) { var t, i = e._a; return ( i && -2 === p(e).overflow && ((t = i[1] < 0 || i[1] > 11 ? 1 : i[2] < 1 || i[2] > Ce(i[0], i[1]) ? 2 : i[3] < 0 || i[3] > 24 || (24 === i[3] && (0 !== i[4] || 0 !== i[5] || 0 !== i[6])) ? 3 : i[4] < 0 || i[4] > 59 ? 4 : i[5] < 0 || i[5] > 59 ? 5 : i[6] < 0 || i[6] > 999 ? 6 : -1), p(e)._overflowDayOfYear && (t < 0 || t > 2) && (t = 2), p(e)._overflowWeeks && -1 === t && (t = 7), p(e)._overflowWeekday && -1 === t && (t = 8), (p(e).overflow = t)), e ); } var dt = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, ht = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, ut = /Z|[+-]\d\d(?::?\d\d)?/, gt = [ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], ['GGGG-[W]WW', /\d{4}-W\d\d/, !1], ['YYYY-DDD', /\d{4}-\d{3}/], ['YYYY-MM', /\d{4}-\d\d/, !1], ['YYYYYYMMDD', /[+-]\d{10}/], ['YYYYMMDD', /\d{8}/], ['GGGG[W]WWE', /\d{4}W\d{3}/], ['GGGG[W]WW', /\d{4}W\d{2}/, !1], ['YYYYDDD', /\d{7}/], ['YYYYMM', /\d{6}/, !1], ['YYYY', /\d{4}/, !1], ], ft = [ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], ['HH:mm:ss', /\d\d:\d\d:\d\d/], ['HH:mm', /\d\d:\d\d/], ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], ['HHmmss', /\d\d\d\d\d\d/], ['HHmm', /\d\d\d\d/], ['HH', /\d\d/], ], pt = /^\/?Date\((-?\d+)/i, mt = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, _t = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480, }; function bt(e) { var t, i, n, r, s, o, a = e._i, l = dt.exec(a) || ht.exec(a); if (l) { for (p(e).iso = !0, t = 0, i = gt.length; t < i; t++) if (gt[t][1].exec(l[1])) { (r = gt[t][0]), (n = !1 !== gt[t][2]); break; } if (null == r) return void (e._isValid = !1); if (l[3]) { for (t = 0, i = ft.length; t < i; t++) if (ft[t][1].exec(l[3])) { s = (l[2] || ' ') + ft[t][0]; break; } if (null == s) return void (e._isValid = !1); } if (!n && null != s) return void (e._isValid = !1); if (l[4]) { if (!ut.exec(l[4])) return void (e._isValid = !1); o = 'Z'; } (e._f = r + (s || '') + (o || '')), St(e); } else e._isValid = !1; } function vt(e) { var t = parseInt(e, 10); return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; } function yt(e) { var t, i, n, r, s, o, a, l, c = mt.exec( e._i .replace(/\([^)]*\)|[\n\t]/g, ' ') .replace(/(\s\s+)/g, ' ') .replace(/^\s\s*/, '') .replace(/\s\s*$/, '') ); if (c) { if ( ((i = c[4]), (n = c[3]), (r = c[2]), (s = c[5]), (o = c[6]), (a = c[7]), (l = [ vt(i), ke.indexOf(n), parseInt(r, 10), parseInt(s, 10), parseInt(o, 10), ]), a && l.push(parseInt(a, 10)), (t = l), !(function (e, t, i) { return ( !e || je.indexOf(e) === new Date(t[0], t[1], t[2]).getDay() || ((p(i).weekdayMismatch = !0), (i._isValid = !1), !1) ); })(c[1], t, e)) ) return; (e._a = t), (e._tzm = (function (e, t, i) { if (e) return _t[e]; if (t) return 0; var n = parseInt(i, 10), r = n % 100; return ((n - r) / 100) * 60 + r; })(c[8], c[9], c[10])), (e._d = Re.apply(null, e._a)), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), (p(e).rfc2822 = !0); } else e._isValid = !1; } function wt(e, t, i) { return null != e ? e : null != t ? t : i; } function Ct(e) { var t, i, n, s, o, a = []; if (!e._d) { for ( n = (function (e) { var t = new Date(r.now()); return e._useUTC ? [t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()] : [t.getFullYear(), t.getMonth(), t.getDate()]; })(e), e._w && null == e._a[2] && null == e._a[1] && (function (e) { var t, i, n, r, s, o, a, l, c; null != (t = e._w).GG || null != t.W || null != t.E ? ((s = 1), (o = 4), (i = wt(t.GG, e._a[0], Be(Lt(), 1, 4).year)), (n = wt(t.W, 1)), ((r = wt(t.E, 1)) < 1 || r > 7) && (l = !0)) : ((s = e._locale._week.dow), (o = e._locale._week.doy), (c = Be(Lt(), s, o)), (i = wt(t.gg, e._a[0], c.year)), (n = wt(t.w, c.week)), null != t.d ? ((r = t.d) < 0 || r > 6) && (l = !0) : null != t.e ? ((r = t.e + s), (t.e < 0 || t.e > 6) && (l = !0)) : (r = s)), n < 1 || n > We(i, s, o) ? (p(e)._overflowWeeks = !0) : null != l ? (p(e)._overflowWeekday = !0) : ((a = Fe(i, n, r, s, o)), (e._a[0] = a.year), (e._dayOfYear = a.dayOfYear)); })(e), null != e._dayOfYear && ((o = wt(e._a[0], n[0])), (e._dayOfYear > Ie(o) || 0 === e._dayOfYear) && (p(e)._overflowDayOfYear = !0), (i = Re(o, 0, e._dayOfYear)), (e._a[1] = i.getUTCMonth()), (e._a[2] = i.getUTCDate())), t = 0; t < 3 && null == e._a[t]; ++t ) e._a[t] = a[t] = n[t]; for (; t < 7; t++) e._a[t] = a[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t]; 24 === e._a[3] && 0 === e._a[4] && 0 === e._a[5] && 0 === e._a[6] && ((e._nextDay = !0), (e._a[3] = 0)), (e._d = (e._useUTC ? Re : Ae).apply(null, a)), (s = e._useUTC ? e._d.getUTCDay() : e._d.getDay()), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[3] = 24), e._w && void 0 !== e._w.d && e._w.d !== s && (p(e).weekdayMismatch = !0); } } function St(e) { if (e._f !== r.ISO_8601) if (e._f !== r.RFC_2822) { (e._a = []), (p(e).empty = !0); var t, i, n, s, o, a, l = '' + e._i, c = l.length, d = 0; for ( n = B(e._f, e._locale).match(I) || [], t = 0; t < n.length; t++ ) (s = n[t]), (i = (l.match(pe(s, e)) || [])[0]) && ((o = l.substr(0, l.indexOf(i))).length > 0 && p(e).unusedInput.push(o), (l = l.slice(l.indexOf(i) + i.length)), (d += i.length)), R[s] ? (i ? (p(e).empty = !1) : p(e).unusedTokens.push(s), ye(s, i, e)) : e._strict && !i && p(e).unusedTokens.push(s); (p(e).charsLeftOver = c - d), l.length > 0 && p(e).unusedInput.push(l), e._a[3] <= 12 && !0 === p(e).bigHour && e._a[3] > 0 && (p(e).bigHour = void 0), (p(e).parsedDateParts = e._a.slice(0)), (p(e).meridiem = e._meridiem), (e._a[3] = (function (e, t, i) { var n; return null == i ? t : null != e.meridiemHour ? e.meridiemHour(t, i) : null != e.isPM ? ((n = e.isPM(i)) && t < 12 && (t += 12), n || 12 !== t || (t = 0), t) : t; })(e._locale, e._a[3], e._meridiem)), null !== (a = p(e).era) && (e._a[0] = e._locale.erasConvertYear(a, e._a[0])), Ct(e), ct(e); } else yt(e); else bt(e); } function kt(e) { var t = e._i, i = e._f; return ( (e._locale = e._locale || lt(e._l)), null === t || (void 0 === i && '' === t) ? _({ nullInput: !0 }) : ('string' == typeof t && (e._i = t = e._locale.preparse(t)), C(t) ? new w(ct(t)) : (h(t) ? (e._d = t) : s(i) ? (function (e) { var t, i, n, r, s, o, a = !1; if (0 === e._f.length) return ( (p(e).invalidFormat = !0), void (e._d = new Date(NaN)) ); for (r = 0; r < e._f.length; r++) (s = 0), (o = !1), (t = y({}, e)), null != e._useUTC && (t._useUTC = e._useUTC), (t._f = e._f[r]), St(t), m(t) && (o = !0), (s += p(t).charsLeftOver), (s += 10 * p(t).unusedTokens.length), (p(t).score = s), a ? s < n && ((n = s), (i = t)) : (null == n || s < n || o) && ((n = s), (i = t), o && (a = !0)); g(e, i || t); })(e) : i ? St(e) : (function (e) { var t = e._i; c(t) ? (e._d = new Date(r.now())) : h(t) ? (e._d = new Date(t.valueOf())) : 'string' == typeof t ? (function (e) { var t = pt.exec(e._i); null === t ? (bt(e), !1 === e._isValid && (delete e._isValid, yt(e), !1 === e._isValid && (delete e._isValid, e._strict ? (e._isValid = !1) : r.createFromInputFallback(e)))) : (e._d = new Date(+t[1])); })(e) : s(t) ? ((e._a = u(t.slice(0), function (e) { return parseInt(e, 10); })), Ct(e)) : o(t) ? (function (e) { if (!e._d) { var t = j(e._i), i = void 0 === t.day ? t.date : t.day; (e._a = u( [ t.year, t.month, i, t.hour, t.minute, t.second, t.millisecond, ], function (e) { return e && parseInt(e, 10); } )), Ct(e); } })(e) : d(t) ? (e._d = new Date(t)) : r.createFromInputFallback(e); })(e), m(e) || (e._d = null), e)) ); } function xt(e, t, i, n, r) { var a, c = {}; return ( (!0 !== t && !1 !== t) || ((n = t), (t = void 0)), (!0 !== i && !1 !== i) || ((n = i), (i = void 0)), ((o(e) && l(e)) || (s(e) && 0 === e.length)) && (e = void 0), (c._isAMomentObject = !0), (c._useUTC = c._isUTC = r), (c._l = i), (c._i = e), (c._f = t), (c._strict = n), (a = new w(ct(kt(c))))._nextDay && (a.add(1, 'd'), (a._nextDay = void 0)), a ); } function Lt(e, t, i, n) { return xt(e, t, i, n, !1); } (r.createFromInputFallback = k( 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (e) { e._d = new Date(e._i + (e._useUTC ? ' UTC' : '')); } )), (r.ISO_8601 = function () {}), (r.RFC_2822 = function () {}); var Mt = k( 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var e = Lt.apply(null, arguments); return this.isValid() && e.isValid() ? e < this ? this : e : _(); } ), Dt = k( 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () { var e = Lt.apply(null, arguments); return this.isValid() && e.isValid() ? e > this ? this : e : _(); } ); function Nt(e, t) { var i, n; if ((1 === t.length && s(t[0]) && (t = t[0]), !t.length)) return Lt(); for (i = t[0], n = 1; n < t.length; ++n) (t[n].isValid() && !t[n][e](i)) || (i = t[n]); return i; } var Et = [ 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond', ]; function Tt(e) { var t = j(e), i = t.year || 0, n = t.quarter || 0, r = t.month || 0, s = t.week || t.isoWeek || 0, o = t.day || 0, l = t.hour || 0, c = t.minute || 0, d = t.second || 0, h = t.millisecond || 0; (this._isValid = (function (e) { var t, i, n = !1; for (t in e) if ( a(e, t) && (-1 === we.call(Et, t) || (null != e[t] && isNaN(e[t]))) ) return !1; for (i = 0; i < Et.length; ++i) if (e[Et[i]]) { if (n) return !1; parseFloat(e[Et[i]]) !== K(e[Et[i]]) && (n = !0); } return !0; })(t)), (this._milliseconds = +h + 1e3 * d + 6e4 * c + 1e3 * l * 60 * 60), (this._days = +o + 7 * s), (this._months = +r + 3 * n + 12 * i), (this._data = {}), (this._locale = lt()), this._bubble(); } function It(e) { return e instanceof Tt; } function Ot(e) { return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e); } function At(e, t) { P(e, 0, 0, function () { var e = this.utcOffset(), i = '+'; return ( e < 0 && ((e = -e), (i = '-')), i + T(~~(e / 60), 2) + t + T(~~e % 60, 2) ); }); } At('Z', ':'), At('ZZ', ''), fe('Z', ue), fe('ZZ', ue), be(['Z', 'ZZ'], function (e, t, i) { (i._useUTC = !0), (i._tzm = Pt(ue, e)); }); var Rt = /([\+\-]|\d\d)/gi; function Pt(e, t) { var i, n, r = (t || '').match(e); return null === r ? null : 0 === (n = 60 * (i = ((r[r.length - 1] || []) + '').match(Rt) || [ '-', 0, 0, ])[1] + K(i[2])) ? 0 : '+' === i[0] ? n : -n; } function Ft(e, t) { var i, n; return t._isUTC ? ((i = t.clone()), (n = (C(e) || h(e) ? e.valueOf() : Lt(e).valueOf()) - i.valueOf()), i._d.setTime(i._d.valueOf() + n), r.updateOffset(i, !1), i) : Lt(e).local(); } function Bt(e) { return -Math.round(e._d.getTimezoneOffset()); } function Wt() { return !!this.isValid() && this._isUTC && 0 === this._offset; } r.updateOffset = function () {}; var Yt = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, Ht = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function jt(e, t) { var i, n, r, s, o, l, c = e, h = null; return ( It(e) ? (c = { ms: e._milliseconds, d: e._days, M: e._months }) : d(e) || !isNaN(+e) ? ((c = {}), t ? (c[t] = +e) : (c.milliseconds = +e)) : (h = Yt.exec(e)) ? ((i = '-' === h[1] ? -1 : 1), (c = { y: 0, d: K(h[2]) * i, h: K(h[3]) * i, m: K(h[4]) * i, s: K(h[5]) * i, ms: K(Ot(1e3 * h[6])) * i, })) : (h = Ht.exec(e)) ? ((i = '-' === h[1] ? -1 : 1), (c = { y: Vt(h[2], i), M: Vt(h[3], i), w: Vt(h[4], i), d: Vt(h[5], i), h: Vt(h[6], i), m: Vt(h[7], i), s: Vt(h[8], i), })) : null == c ? (c = {}) : 'object' == typeof c && ('from' in c || 'to' in c) && ((s = Lt(c.from)), (o = Lt(c.to)), (r = s.isValid() && o.isValid() ? ((o = Ft(o, s)), s.isBefore(o) ? (l = zt(s, o)) : (((l = zt(o, s)).milliseconds = -l.milliseconds), (l.months = -l.months)), l) : { milliseconds: 0, months: 0 }), ((c = {}).ms = r.milliseconds), (c.M = r.months)), (n = new Tt(c)), It(e) && a(e, '_locale') && (n._locale = e._locale), It(e) && a(e, '_isValid') && (n._isValid = e._isValid), n ); } function Vt(e, t) { var i = e && parseFloat(e.replace(',', '.')); return (isNaN(i) ? 0 : i) * t; } function zt(e, t) { var i = {}; return ( (i.months = t.month() - e.month() + 12 * (t.year() - e.year())), e.clone().add(i.months, 'M').isAfter(t) && --i.months, (i.milliseconds = +t - +e.clone().add(i.months, 'M')), i ); } function Ut(e, t) { return function (i, n) { var r; return ( null === n || isNaN(+n) || (M( t, 'moment().' + t + '(period, number) is deprecated. Please use moment().' + t + '(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' ), (r = i), (i = n), (n = r)), $t(this, jt(i, n), e), this ); }; } function $t(e, t, i, n) { var s = t._milliseconds, o = Ot(t._days), a = Ot(t._months); e.isValid() && ((n = null == n || n), a && Ne(e, G(e, 'Month') + a * i), o && Z(e, 'Date', G(e, 'Date') + o * i), s && e._d.setTime(e._d.valueOf() + s * i), n && r.updateOffset(e, o || a)); } (jt.fn = Tt.prototype), (jt.invalid = function () { return jt(NaN); }); var Kt = Ut(1, 'add'), qt = Ut(-1, 'subtract'); function Gt(e) { return 'string' == typeof e || e instanceof String; } function Zt(e) { return ( C(e) || h(e) || Gt(e) || d(e) || (function (e) { var t = s(e), i = !1; return ( t && (i = 0 === e.filter(function (t) { return !d(t) && Gt(e); }).length), t && i ); })(e) || (function (e) { var t, i, n = o(e) && !l(e), r = !1, s = [ 'years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms', ]; for (t = 0; t < s.length; t += 1) (i = s[t]), (r = r || a(e, i)); return n && r; })(e) || null == e ); } function Jt(e) { var t, i = o(e) && !l(e), n = !1, r = [ 'sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse', ]; for (t = 0; t < r.length; t += 1) n = n || a(e, r[t]); return i && n; } function Qt(e, t) { if (e.date() < t.date()) return -Qt(t, e); var i = 12 * (t.year() - e.year()) + (t.month() - e.month()), n = e.clone().add(i, 'months'); return ( -( i + (t - n < 0 ? (t - n) / (n - e.clone().add(i - 1, 'months')) : (t - n) / (e.clone().add(i + 1, 'months') - n)) ) || 0 ); } function Xt(e) { var t; return void 0 === e ? this._locale._abbr : (null != (t = lt(e)) && (this._locale = t), this); } (r.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'), (r.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'); var ei = k( 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (e) { return void 0 === e ? this.localeData() : this.locale(e); } ); function ti() { return this._locale; } var ii = 1e3, ni = 6e4, ri = 36e5, si = 126227808e5; function oi(e, t) { return ((e % t) + t) % t; } function ai(e, t, i) { return e < 100 && e >= 0 ? new Date(e + 400, t, i) - si : new Date(e, t, i).valueOf(); } function li(e, t, i) { return e < 100 && e >= 0 ? Date.UTC(e + 400, t, i) - si : Date.UTC(e, t, i); } function ci(e, t) { return t.erasAbbrRegex(e); } function di() { var e, t, i = [], n = [], r = [], s = [], o = this.eras(); for (e = 0, t = o.length; e < t; ++e) n.push(me(o[e].name)), i.push(me(o[e].abbr)), r.push(me(o[e].narrow)), s.push(me(o[e].name)), s.push(me(o[e].abbr)), s.push(me(o[e].narrow)); (this._erasRegex = new RegExp('^(' + s.join('|') + ')', 'i')), (this._erasNameRegex = new RegExp('^(' + n.join('|') + ')', 'i')), (this._erasAbbrRegex = new RegExp('^(' + i.join('|') + ')', 'i')), (this._erasNarrowRegex = new RegExp( '^(' + r.join('|') + ')', 'i' )); } function hi(e, t) { P(0, [e, e.length], 0, t); } function ui(e, t, i, n, r) { var s; return null == e ? Be(this, n, r).year : (t > (s = We(e, n, r)) && (t = s), gi.call(this, e, t, i, n, r)); } function gi(e, t, i, n, r) { var s = Fe(e, t, i, n, r), o = Re(s.year, 0, s.dayOfYear); return ( this.year(o.getUTCFullYear()), this.month(o.getUTCMonth()), this.date(o.getUTCDate()), this ); } P('N', 0, 0, 'eraAbbr'), P('NN', 0, 0, 'eraAbbr'), P('NNN', 0, 0, 'eraAbbr'), P('NNNN', 0, 0, 'eraName'), P('NNNNN', 0, 0, 'eraNarrow'), P('y', ['y', 1], 'yo', 'eraYear'), P('y', ['yy', 2], 0, 'eraYear'), P('y', ['yyy', 3], 0, 'eraYear'), P('y', ['yyyy', 4], 0, 'eraYear'), fe('N', ci), fe('NN', ci), fe('NNN', ci), fe('NNNN', function (e, t) { return t.erasNameRegex(e); }), fe('NNNNN', function (e, t) { return t.erasNarrowRegex(e); }), be(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (e, t, i, n) { var r = i._locale.erasParse(e, n, i._strict); r ? (p(i).era = r) : (p(i).invalidEra = e); }), fe('y', ce), fe('yy', ce), fe('yyy', ce), fe('yyyy', ce), fe('yo', function (e, t) { return t._eraYearOrdinalRegex || ce; }), be(['y', 'yy', 'yyy', 'yyyy'], 0), be(['yo'], function (e, t, i, n) { var r; i._locale._eraYearOrdinalRegex && (r = e.match(i._locale._eraYearOrdinalRegex)), i._locale.eraYearOrdinalParse ? (t[0] = i._locale.eraYearOrdinalParse(e, r)) : (t[0] = parseInt(e, 10)); }), P(0, ['gg', 2], 0, function () { return this.weekYear() % 100; }), P(0, ['GG', 2], 0, function () { return this.isoWeekYear() % 100; }), hi('gggg', 'weekYear'), hi('ggggg', 'weekYear'), hi('GGGG', 'isoWeekYear'), hi('GGGGG', 'isoWeekYear'), Y('weekYear', 'gg'), Y('isoWeekYear', 'GG'), z('weekYear', 1), z('isoWeekYear', 1), fe('G', de), fe('g', de), fe('GG', ne, X), fe('gg', ne, X), fe('GGGG', ae, te), fe('gggg', ae, te), fe('GGGGG', le, ie), fe('ggggg', le, ie), ve(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (e, t, i, n) { t[n.substr(0, 2)] = K(e); }), ve(['gg', 'GG'], function (e, t, i, n) { t[n] = r.parseTwoDigitYear(e); }), P('Q', 0, 'Qo', 'quarter'), Y('quarter', 'Q'), z('quarter', 7), fe('Q', Q), be('Q', function (e, t) { t[1] = 3 * (K(e) - 1); }), P('D', ['DD', 2], 'Do', 'date'), Y('date', 'D'), z('date', 9), fe('D', ne), fe('DD', ne, X), fe('Do', function (e, t) { return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient; }), be(['D', 'DD'], 2), be('Do', function (e, t) { t[2] = K(e.match(ne)[0]); }); var fi = q('Date', !0); P('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'), Y('dayOfYear', 'DDD'), z('dayOfYear', 4), fe('DDD', oe), fe('DDDD', ee), be(['DDD', 'DDDD'], function (e, t, i) { i._dayOfYear = K(e); }), P('m', ['mm', 2], 0, 'minute'), Y('minute', 'm'), z('minute', 14), fe('m', ne), fe('mm', ne, X), be(['m', 'mm'], 4); var pi = q('Minutes', !1); P('s', ['ss', 2], 0, 'second'), Y('second', 's'), z('second', 15), fe('s', ne), fe('ss', ne, X), be(['s', 'ss'], 5); var mi, _i, bi = q('Seconds', !1); for ( P('S', 0, 0, function () { return ~~(this.millisecond() / 100); }), P(0, ['SS', 2], 0, function () { return ~~(this.millisecond() / 10); }), P(0, ['SSS', 3], 0, 'millisecond'), P(0, ['SSSS', 4], 0, function () { return 10 * this.millisecond(); }), P(0, ['SSSSS', 5], 0, function () { return 100 * this.millisecond(); }), P(0, ['SSSSSS', 6], 0, function () { return 1e3 * this.millisecond(); }), P(0, ['SSSSSSS', 7], 0, function () { return 1e4 * this.millisecond(); }), P(0, ['SSSSSSSS', 8], 0, function () { return 1e5 * this.millisecond(); }), P(0, ['SSSSSSSSS', 9], 0, function () { return 1e6 * this.millisecond(); }), Y('millisecond', 'ms'), z('millisecond', 16), fe('S', oe, Q), fe('SS', oe, X), fe('SSS', oe, ee), mi = 'SSSS'; mi.length <= 9; mi += 'S' ) fe(mi, ce); function vi(e, t) { t[6] = K(1e3 * ('0.' + e)); } for (mi = 'S'; mi.length <= 9; mi += 'S') be(mi, vi); (_i = q('Milliseconds', !1)), P('z', 0, 0, 'zoneAbbr'), P('zz', 0, 0, 'zoneName'); var yi = w.prototype; function wi(e) { return e; } (yi.add = Kt), (yi.calendar = function (e, t) { 1 === arguments.length && (arguments[0] ? Zt(arguments[0]) ? ((e = arguments[0]), (t = void 0)) : Jt(arguments[0]) && ((t = arguments[0]), (e = void 0)) : ((e = void 0), (t = void 0))); var i = e || Lt(), n = Ft(i, this).startOf('day'), s = r.calendarFormat(this, n) || 'sameElse', o = t && (D(t[s]) ? t[s].call(this, i) : t[s]); return this.format( o || this.localeData().calendar(s, this, Lt(i)) ); }), (yi.clone = function () { return new w(this); }), (yi.diff = function (e, t, i) { var n, r, s; if (!this.isValid()) return NaN; if (!(n = Ft(e, this)).isValid()) return NaN; switch ( ((r = 6e4 * (n.utcOffset() - this.utcOffset())), (t = H(t))) ) { case 'year': s = Qt(this, n) / 12; break; case 'month': s = Qt(this, n); break; case 'quarter': s = Qt(this, n) / 3; break; case 'second': s = (this - n) / 1e3; break; case 'minute': s = (this - n) / 6e4; break; case 'hour': s = (this - n) / 36e5; break; case 'day': s = (this - n - r) / 864e5; break; case 'week': s = (this - n - r) / 6048e5; break; default: s = this - n; } return i ? s : $(s); }), (yi.endOf = function (e) { var t, i; if ( void 0 === (e = H(e)) || 'millisecond' === e || !this.isValid() ) return this; switch (((i = this._isUTC ? li : ai), e)) { case 'year': t = i(this.year() + 1, 0, 1) - 1; break; case 'quarter': t = i(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1; break; case 'month': t = i(this.year(), this.month() + 1, 1) - 1; break; case 'week': t = i( this.year(), this.month(), this.date() - this.weekday() + 7 ) - 1; break; case 'isoWeek': t = i( this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7 ) - 1; break; case 'day': case 'date': t = i(this.year(), this.month(), this.date() + 1) - 1; break; case 'hour': (t = this._d.valueOf()), (t += ri - oi(t + (this._isUTC ? 0 : this.utcOffset() * ni), ri) - 1); break; case 'minute': (t = this._d.valueOf()), (t += ni - oi(t, ni) - 1); break; case 'second': (t = this._d.valueOf()), (t += ii - oi(t, ii) - 1); } return this._d.setTime(t), r.updateOffset(this, !0), this; }), (yi.format = function (e) { e || (e = this.isUtc() ? r.defaultFormatUtc : r.defaultFormat); var t = F(this, e); return this.localeData().postformat(t); }), (yi.from = function (e, t) { return this.isValid() && ((C(e) && e.isValid()) || Lt(e).isValid()) ? jt({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate(); }), (yi.fromNow = function (e) { return this.from(Lt(), e); }), (yi.to = function (e, t) { return this.isValid() && ((C(e) && e.isValid()) || Lt(e).isValid()) ? jt({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate(); }), (yi.toNow = function (e) { return this.to(Lt(), e); }), (yi.get = function (e) { return D(this[(e = H(e))]) ? this[e]() : this; }), (yi.invalidAt = function () { return p(this).overflow; }), (yi.isAfter = function (e, t) { var i = C(e) ? e : Lt(e); return ( !(!this.isValid() || !i.isValid()) && ('millisecond' === (t = H(t) || 'millisecond') ? this.valueOf() > i.valueOf() : i.valueOf() < this.clone().startOf(t).valueOf()) ); }), (yi.isBefore = function (e, t) { var i = C(e) ? e : Lt(e); return ( !(!this.isValid() || !i.isValid()) && ('millisecond' === (t = H(t) || 'millisecond') ? this.valueOf() < i.valueOf() : this.clone().endOf(t).valueOf() < i.valueOf()) ); }), (yi.isBetween = function (e, t, i, n) { var r = C(e) ? e : Lt(e), s = C(t) ? t : Lt(t); return ( !!(this.isValid() && r.isValid() && s.isValid()) && ('(' === (n = n || '()')[0] ? this.isAfter(r, i) : !this.isBefore(r, i)) && (')' === n[1] ? this.isBefore(s, i) : !this.isAfter(s, i)) ); }), (yi.isSame = function (e, t) { var i, n = C(e) ? e : Lt(e); return ( !(!this.isValid() || !n.isValid()) && ('millisecond' === (t = H(t) || 'millisecond') ? this.valueOf() === n.valueOf() : ((i = n.valueOf()), this.clone().startOf(t).valueOf() <= i && i <= this.clone().endOf(t).valueOf())) ); }), (yi.isSameOrAfter = function (e, t) { return this.isSame(e, t) || this.isAfter(e, t); }), (yi.isSameOrBefore = function (e, t) { return this.isSame(e, t) || this.isBefore(e, t); }), (yi.isValid = function () { return m(this); }), (yi.lang = ei), (yi.locale = Xt), (yi.localeData = ti), (yi.max = Dt), (yi.min = Mt), (yi.parsingFlags = function () { return g({}, p(this)); }), (yi.set = function (e, t) { if ('object' == typeof e) { var i, n = (function (e) { var t, i = []; for (t in e) a(e, t) && i.push({ unit: t, priority: V[t] }); return ( i.sort(function (e, t) { return e.priority - t.priority; }), i ); })((e = j(e))); for (i = 0; i < n.length; i++) this[n[i].unit](e[n[i].unit]); } else if (D(this[(e = H(e))])) return this[e](t); return this; }), (yi.startOf = function (e) { var t, i; if ( void 0 === (e = H(e)) || 'millisecond' === e || !this.isValid() ) return this; switch (((i = this._isUTC ? li : ai), e)) { case 'year': t = i(this.year(), 0, 1); break; case 'quarter': t = i(this.year(), this.month() - (this.month() % 3), 1); break; case 'month': t = i(this.year(), this.month(), 1); break; case 'week': t = i( this.year(), this.month(), this.date() - this.weekday() ); break; case 'isoWeek': t = i( this.year(), this.month(), this.date() - (this.isoWeekday() - 1) ); break; case 'day': case 'date': t = i(this.year(), this.month(), this.date()); break; case 'hour': (t = this._d.valueOf()), (t -= oi( t + (this._isUTC ? 0 : this.utcOffset() * ni), ri )); break; case 'minute': (t = this._d.valueOf()), (t -= oi(t, ni)); break; case 'second': (t = this._d.valueOf()), (t -= oi(t, ii)); } return this._d.setTime(t), r.updateOffset(this, !0), this; }), (yi.subtract = qt), (yi.toArray = function () { var e = this; return [ e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond(), ]; }), (yi.toObject = function () { var e = this; return { years: e.year(), months: e.month(), date: e.date(), hours: e.hours(), minutes: e.minutes(), seconds: e.seconds(), milliseconds: e.milliseconds(), }; }), (yi.toDate = function () { return new Date(this.valueOf()); }), (yi.toISOString = function (e) { if (!this.isValid()) return null; var t = !0 !== e, i = t ? this.clone().utc() : this; return i.year() < 0 || i.year() > 9999 ? F( i, t ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' ) : D(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3) .toISOString() .replace('Z', F(i, 'Z')) : F( i, t ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' ); }), (yi.inspect = function () { if (!this.isValid()) return 'moment.invalid(/* ' + this._i + ' */)'; var e, t, i, n = 'moment', r = ''; return ( this.isLocal() || ((n = 0 === this.utcOffset() ? 'moment.utc' : 'moment.parseZone'), (r = 'Z')), (e = '[' + n + '("]'), (t = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'), '-MM-DD[T]HH:mm:ss.SSS', (i = r + '[")]'), this.format(e + t + '-MM-DD[T]HH:mm:ss.SSS' + i) ); }), 'undefined' != typeof Symbol && null != Symbol.for && (yi[Symbol.for('nodejs.util.inspect.custom')] = function () { return 'Moment<' + this.format() + '>'; }), (yi.toJSON = function () { return this.isValid() ? this.toISOString() : null; }), (yi.toString = function () { return this.clone() .locale('en') .format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); }), (yi.unix = function () { return Math.floor(this.valueOf() / 1e3); }), (yi.valueOf = function () { return this._d.valueOf() - 6e4 * (this._offset || 0); }), (yi.creationData = function () { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict, }; }), (yi.eraName = function () { var e, t, i, n = this.localeData().eras(); for (e = 0, t = n.length; e < t; ++e) { if ( ((i = this.clone().startOf('day').valueOf()), n[e].since <= i && i <= n[e].until) ) return n[e].name; if (n[e].until <= i && i <= n[e].since) return n[e].name; } return ''; }), (yi.eraNarrow = function () { var e, t, i, n = this.localeData().eras(); for (e = 0, t = n.length; e < t; ++e) { if ( ((i = this.clone().startOf('day').valueOf()), n[e].since <= i && i <= n[e].until) ) return n[e].narrow; if (n[e].until <= i && i <= n[e].since) return n[e].narrow; } return ''; }), (yi.eraAbbr = function () { var e, t, i, n = this.localeData().eras(); for (e = 0, t = n.length; e < t; ++e) { if ( ((i = this.clone().startOf('day').valueOf()), n[e].since <= i && i <= n[e].until) ) return n[e].abbr; if (n[e].until <= i && i <= n[e].since) return n[e].abbr; } return ''; }), (yi.eraYear = function () { var e, t, i, n, s = this.localeData().eras(); for (e = 0, t = s.length; e < t; ++e) if ( ((i = s[e].since <= s[e].until ? 1 : -1), (n = this.clone().startOf('day').valueOf()), (s[e].since <= n && n <= s[e].until) || (s[e].until <= n && n <= s[e].since)) ) return (this.year() - r(s[e].since).year()) * i + s[e].offset; return this.year(); }), (yi.year = Oe), (yi.isLeapYear = function () { return U(this.year()); }), (yi.weekYear = function (e) { return ui.call( this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy ); }), (yi.isoWeekYear = function (e) { return ui.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); }), (yi.quarter = yi.quarters = function (e) { return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + (this.month() % 3)); }), (yi.month = Ee), (yi.daysInMonth = function () { return Ce(this.year(), this.month()); }), (yi.week = yi.weeks = function (e) { var t = this.localeData().week(this); return null == e ? t : this.add(7 * (e - t), 'd'); }), (yi.isoWeek = yi.isoWeeks = function (e) { var t = Be(this, 1, 4).week; return null == e ? t : this.add(7 * (e - t), 'd'); }), (yi.weeksInYear = function () { var e = this.localeData()._week; return We(this.year(), e.dow, e.doy); }), (yi.weeksInWeekYear = function () { var e = this.localeData()._week; return We(this.weekYear(), e.dow, e.doy); }), (yi.isoWeeksInYear = function () { return We(this.year(), 1, 4); }), (yi.isoWeeksInISOWeekYear = function () { return We(this.isoWeekYear(), 1, 4); }), (yi.date = fi), (yi.day = yi.days = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return null != e ? ((e = (function (e, t) { return 'string' != typeof e ? e : isNaN(e) ? 'number' == typeof (e = t.weekdaysParse(e)) ? e : null : parseInt(e, 10); })(e, this.localeData())), this.add(e - t, 'd')) : t; }), (yi.weekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t = (this.day() + 7 - this.localeData()._week.dow) % 7; return null == e ? t : this.add(e - t, 'd'); }), (yi.isoWeekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; if (null != e) { var t = (function (e, t) { return 'string' == typeof e ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e; })(e, this.localeData()); return this.day(this.day() % 7 ? t : t - 7); } return this.day() || 7; }), (yi.dayOfYear = function (e) { var t = Math.round( (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 ) + 1; return null == e ? t : this.add(e - t, 'd'); }), (yi.hour = yi.hours = Qe), (yi.minute = yi.minutes = pi), (yi.second = yi.seconds = bi), (yi.millisecond = yi.milliseconds = _i), (yi.utcOffset = function (e, t, i) { var n, s = this._offset || 0; if (!this.isValid()) return null != e ? this : NaN; if (null != e) { if ('string' == typeof e) { if (null === (e = Pt(ue, e))) return this; } else Math.abs(e) < 16 && !i && (e *= 60); return ( !this._isUTC && t && (n = Bt(this)), (this._offset = e), (this._isUTC = !0), null != n && this.add(n, 'm'), s !== e && (!t || this._changeInProgress ? $t(this, jt(e - s, 'm'), 1, !1) : this._changeInProgress || ((this._changeInProgress = !0), r.updateOffset(this, !0), (this._changeInProgress = null))), this ); } return this._isUTC ? s : Bt(this); }), (yi.utc = function (e) { return this.utcOffset(0, e); }), (yi.local = function (e) { return ( this._isUTC && (this.utcOffset(0, e), (this._isUTC = !1), e && this.subtract(Bt(this), 'm')), this ); }), (yi.parseZone = function () { if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); else if ('string' == typeof this._i) { var e = Pt(he, this._i); null != e ? this.utcOffset(e) : this.utcOffset(0, !0); } return this; }), (yi.hasAlignedHourOffset = function (e) { return ( !!this.isValid() && ((e = e ? Lt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0) ); }), (yi.isDST = function () { return ( this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() ); }), (yi.isLocal = function () { return !!this.isValid() && !this._isUTC; }), (yi.isUtcOffset = function () { return !!this.isValid() && this._isUTC; }), (yi.isUtc = Wt), (yi.isUTC = Wt), (yi.zoneAbbr = function () { return this._isUTC ? 'UTC' : ''; }), (yi.zoneName = function () { return this._isUTC ? 'Coordinated Universal Time' : ''; }), (yi.dates = k( 'dates accessor is deprecated. Use date instead.', fi )), (yi.months = k( 'months accessor is deprecated. Use month instead', Ee )), (yi.years = k( 'years accessor is deprecated. Use year instead', Oe )), (yi.zone = k( 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', function (e, t) { return null != e ? ('string' != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset(); } )), (yi.isDSTShifted = k( 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', function () { if (!c(this._isDSTShifted)) return this._isDSTShifted; var e, t = {}; return ( y(t, this), (t = kt(t))._a ? ((e = t._isUTC ? f(t._a) : Lt(t._a)), (this._isDSTShifted = this.isValid() && (function (e, t, i) { var n, r = Math.min(e.length, t.length), s = Math.abs(e.length - t.length), o = 0; for (n = 0; n < r; n++) ((i && e[n] !== t[n]) || (!i && K(e[n]) !== K(t[n]))) && o++; return o + s; })(t._a, e.toArray()) > 0)) : (this._isDSTShifted = !1), this._isDSTShifted ); } )); var Ci = E.prototype; function Si(e, t, i, n) { var r = lt(), s = f().set(n, t); return r[i](s, e); } function ki(e, t, i) { if ((d(e) && ((t = e), (e = void 0)), (e = e || ''), null != t)) return Si(e, t, i, 'month'); var n, r = []; for (n = 0; n < 12; n++) r[n] = Si(e, n, i, 'month'); return r; } function xi(e, t, i, n) { 'boolean' == typeof e ? (d(t) && ((i = t), (t = void 0)), (t = t || '')) : ((i = t = e), (e = !1), d(t) && ((i = t), (t = void 0)), (t = t || '')); var r, s = lt(), o = e ? s._week.dow : 0, a = []; if (null != i) return Si(t, (i + o) % 7, n, 'day'); for (r = 0; r < 7; r++) a[r] = Si(t, (r + o) % 7, n, 'day'); return a; } (Ci.calendar = function (e, t, i) { var n = this._calendar[e] || this._calendar.sameElse; return D(n) ? n.call(t, i) : n; }), (Ci.longDateFormat = function (e) { var t = this._longDateFormat[e], i = this._longDateFormat[e.toUpperCase()]; return t || !i ? t : ((this._longDateFormat[e] = i .match(I) .map(function (e) { return 'MMMM' === e || 'MM' === e || 'DD' === e || 'dddd' === e ? e.slice(1) : e; }) .join('')), this._longDateFormat[e]); }), (Ci.invalidDate = function () { return this._invalidDate; }), (Ci.ordinal = function (e) { return this._ordinal.replace('%d', e); }), (Ci.preparse = wi), (Ci.postformat = wi), (Ci.relativeTime = function (e, t, i, n) { var r = this._relativeTime[i]; return D(r) ? r(e, t, i, n) : r.replace(/%d/i, e); }), (Ci.pastFuture = function (e, t) { var i = this._relativeTime[e > 0 ? 'future' : 'past']; return D(i) ? i(t) : i.replace(/%s/i, t); }), (Ci.set = function (e) { var t, i; for (i in e) a(e, i) && (D((t = e[i])) ? (this[i] = t) : (this['_' + i] = t)); (this._config = e), (this._dayOfMonthOrdinalParseLenient = new RegExp( (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\d{1,2}/.source )); }), (Ci.eras = function (e, t) { var i, n, s, o = this._eras || lt('en')._eras; for (i = 0, n = o.length; i < n; ++i) { switch (typeof o[i].since) { case 'string': (s = r(o[i].since).startOf('day')), (o[i].since = s.valueOf()); } switch (typeof o[i].until) { case 'undefined': o[i].until = 1 / 0; break; case 'string': (s = r(o[i].until).startOf('day').valueOf()), (o[i].until = s.valueOf()); } } return o; }), (Ci.erasParse = function (e, t, i) { var n, r, s, o, a, l = this.eras(); for (e = e.toUpperCase(), n = 0, r = l.length; n < r; ++n) if ( ((s = l[n].name.toUpperCase()), (o = l[n].abbr.toUpperCase()), (a = l[n].narrow.toUpperCase()), i) ) switch (t) { case 'N': case 'NN': case 'NNN': if (o === e) return l[n]; break; case 'NNNN': if (s === e) return l[n]; break; case 'NNNNN': if (a === e) return l[n]; } else if ([s, o, a].indexOf(e) >= 0) return l[n]; }), (Ci.erasConvertYear = function (e, t) { var i = e.since <= e.until ? 1 : -1; return void 0 === t ? r(e.since).year() : r(e.since).year() + (t - e.offset) * i; }), (Ci.erasAbbrRegex = function (e) { return ( a(this, '_erasAbbrRegex') || di.call(this), e ? this._erasAbbrRegex : this._erasRegex ); }), (Ci.erasNameRegex = function (e) { return ( a(this, '_erasNameRegex') || di.call(this), e ? this._erasNameRegex : this._erasRegex ); }), (Ci.erasNarrowRegex = function (e) { return ( a(this, '_erasNarrowRegex') || di.call(this), e ? this._erasNarrowRegex : this._erasRegex ); }), (Ci.months = function (e, t) { return e ? s(this._months) ? this._months[e.month()] : this._months[ (this._months.isFormat || xe).test(t) ? 'format' : 'standalone' ][e.month()] : s(this._months) ? this._months : this._months.standalone; }), (Ci.monthsShort = function (e, t) { return e ? s(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[xe.test(t) ? 'format' : 'standalone'][ e.month() ] : s(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone; }), (Ci.monthsParse = function (e, t, i) { var n, r, s; if (this._monthsParseExact) return De.call(this, e, t, i); for ( this._monthsParse || ((this._monthsParse = []), (this._longMonthsParse = []), (this._shortMonthsParse = [])), n = 0; n < 12; n++ ) { if ( ((r = f([2e3, n])), i && !this._longMonthsParse[n] && ((this._longMonthsParse[n] = new RegExp( '^' + this.months(r, '').replace('.', '') + '$', 'i' )), (this._shortMonthsParse[n] = new RegExp( '^' + this.monthsShort(r, '').replace('.', '') + '$', 'i' ))), i || this._monthsParse[n] || ((s = '^' + this.months(r, '') + '|^' + this.monthsShort(r, '')), (this._monthsParse[n] = new RegExp( s.replace('.', ''), 'i' ))), i && 'MMMM' === t && this._longMonthsParse[n].test(e)) ) return n; if (i && 'MMM' === t && this._shortMonthsParse[n].test(e)) return n; if (!i && this._monthsParse[n].test(e)) return n; } }), (Ci.monthsRegex = function (e) { return this._monthsParseExact ? (a(this, '_monthsRegex') || Te.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (a(this, '_monthsRegex') || (this._monthsRegex = Me), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex); }), (Ci.monthsShortRegex = function (e) { return this._monthsParseExact ? (a(this, '_monthsRegex') || Te.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (a(this, '_monthsShortRegex') || (this._monthsShortRegex = Le), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex); }), (Ci.week = function (e) { return Be(e, this._week.dow, this._week.doy).week; }), (Ci.firstDayOfYear = function () { return this._week.doy; }), (Ci.firstDayOfWeek = function () { return this._week.dow; }), (Ci.weekdays = function (e, t) { var i = s(this._weekdays) ? this._weekdays : this._weekdays[ e && !0 !== e && this._weekdays.isFormat.test(t) ? 'format' : 'standalone' ]; return !0 === e ? Ye(i, this._week.dow) : e ? i[e.day()] : i; }), (Ci.weekdaysMin = function (e) { return !0 === e ? Ye(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin; }), (Ci.weekdaysShort = function (e) { return !0 === e ? Ye(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort; }), (Ci.weekdaysParse = function (e, t, i) { var n, r, s; if (this._weekdaysParseExact) return Ke.call(this, e, t, i); for ( this._weekdaysParse || ((this._weekdaysParse = []), (this._minWeekdaysParse = []), (this._shortWeekdaysParse = []), (this._fullWeekdaysParse = [])), n = 0; n < 7; n++ ) { if ( ((r = f([2e3, 1]).day(n)), i && !this._fullWeekdaysParse[n] && ((this._fullWeekdaysParse[n] = new RegExp( '^' + this.weekdays(r, '').replace('.', '\\.?') + '$', 'i' )), (this._shortWeekdaysParse[n] = new RegExp( '^' + this.weekdaysShort(r, '').replace('.', '\\.?') + '$', 'i' )), (this._minWeekdaysParse[n] = new RegExp( '^' + this.weekdaysMin(r, '').replace('.', '\\.?') + '$', 'i' ))), this._weekdaysParse[n] || ((s = '^' + this.weekdays(r, '') + '|^' + this.weekdaysShort(r, '') + '|^' + this.weekdaysMin(r, '')), (this._weekdaysParse[n] = new RegExp( s.replace('.', ''), 'i' ))), i && 'dddd' === t && this._fullWeekdaysParse[n].test(e)) ) return n; if (i && 'ddd' === t && this._shortWeekdaysParse[n].test(e)) return n; if (i && 'dd' === t && this._minWeekdaysParse[n].test(e)) return n; if (!i && this._weekdaysParse[n].test(e)) return n; } }), (Ci.weekdaysRegex = function (e) { return this._weekdaysParseExact ? (a(this, '_weekdaysRegex') || qe.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (a(this, '_weekdaysRegex') || (this._weekdaysRegex = ze), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex); }), (Ci.weekdaysShortRegex = function (e) { return this._weekdaysParseExact ? (a(this, '_weekdaysRegex') || qe.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (a(this, '_weekdaysShortRegex') || (this._weekdaysShortRegex = Ue), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex); }), (Ci.weekdaysMinRegex = function (e) { return this._weekdaysParseExact ? (a(this, '_weekdaysRegex') || qe.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (a(this, '_weekdaysMinRegex') || (this._weekdaysMinRegex = $e), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex); }), (Ci.isPM = function (e) { return 'p' === (e + '').toLowerCase().charAt(0); }), (Ci.meridiem = function (e, t, i) { return e > 11 ? (i ? 'pm' : 'PM') : i ? 'am' : 'AM'; }), ot('en', { eras: [ { since: '0001-01-01', until: 1 / 0, offset: 1, name: 'Anno Domini', narrow: 'AD', abbr: 'AD', }, { since: '0000-12-31', until: -1 / 0, offset: 1, name: 'Before Christ', narrow: 'BC', abbr: 'BC', }, ], dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) { var t = e % 10; return ( e + (1 === K((e % 100) / 10) ? 'th' : 1 === t ? 'st' : 2 === t ? 'nd' : 3 === t ? 'rd' : 'th') ); }, }), (r.lang = k( 'moment.lang is deprecated. Use moment.locale instead.', ot )), (r.langData = k( 'moment.langData is deprecated. Use moment.localeData instead.', lt )); var Li = Math.abs; function Mi(e, t, i, n) { var r = jt(t, i); return ( (e._milliseconds += n * r._milliseconds), (e._days += n * r._days), (e._months += n * r._months), e._bubble() ); } function Di(e) { return e < 0 ? Math.floor(e) : Math.ceil(e); } function Ni(e) { return (4800 * e) / 146097; } function Ei(e) { return (146097 * e) / 4800; } function Ti(e) { return function () { return this.as(e); }; } var Ii = Ti('ms'), Oi = Ti('s'), Ai = Ti('m'), Ri = Ti('h'), Pi = Ti('d'), Fi = Ti('w'), Bi = Ti('M'), Wi = Ti('Q'), Yi = Ti('y'); function Hi(e) { return function () { return this.isValid() ? this._data[e] : NaN; }; } var ji = Hi('milliseconds'), Vi = Hi('seconds'), zi = Hi('minutes'), Ui = Hi('hours'), $i = Hi('days'), Ki = Hi('months'), qi = Hi('years'); var Gi = Math.round, Zi = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; function Ji(e, t, i, n, r) { return r.relativeTime(t || 1, !!i, e, n); } var Qi = Math.abs; function Xi(e) { return (e > 0) - (e < 0) || +e; } function en() { if (!this.isValid()) return this.localeData().invalidDate(); var e, t, i, n, r, s, o, a, l = Qi(this._milliseconds) / 1e3, c = Qi(this._days), d = Qi(this._months), h = this.asSeconds(); return h ? ((e = $(l / 60)), (t = $(e / 60)), (l %= 60), (e %= 60), (i = $(d / 12)), (d %= 12), (n = l ? l.toFixed(3).replace(/\.?0+$/, '') : ''), (r = h < 0 ? '-' : ''), (s = Xi(this._months) !== Xi(h) ? '-' : ''), (o = Xi(this._days) !== Xi(h) ? '-' : ''), (a = Xi(this._milliseconds) !== Xi(h) ? '-' : ''), r + 'P' + (i ? s + i + 'Y' : '') + (d ? s + d + 'M' : '') + (c ? o + c + 'D' : '') + (t || e || l ? 'T' : '') + (t ? a + t + 'H' : '') + (e ? a + e + 'M' : '') + (l ? a + n + 'S' : '')) : 'P0D'; } var tn = Tt.prototype; return ( (tn.isValid = function () { return this._isValid; }), (tn.abs = function () { var e = this._data; return ( (this._milliseconds = Li(this._milliseconds)), (this._days = Li(this._days)), (this._months = Li(this._months)), (e.milliseconds = Li(e.milliseconds)), (e.seconds = Li(e.seconds)), (e.minutes = Li(e.minutes)), (e.hours = Li(e.hours)), (e.months = Li(e.months)), (e.years = Li(e.years)), this ); }), (tn.add = function (e, t) { return Mi(this, e, t, 1); }), (tn.subtract = function (e, t) { return Mi(this, e, t, -1); }), (tn.as = function (e) { if (!this.isValid()) return NaN; var t, i, n = this._milliseconds; if ('month' === (e = H(e)) || 'quarter' === e || 'year' === e) switch ( ((t = this._days + n / 864e5), (i = this._months + Ni(t)), e) ) { case 'month': return i; case 'quarter': return i / 3; case 'year': return i / 12; } else switch (((t = this._days + Math.round(Ei(this._months))), e)) { case 'week': return t / 7 + n / 6048e5; case 'day': return t + n / 864e5; case 'hour': return 24 * t + n / 36e5; case 'minute': return 1440 * t + n / 6e4; case 'second': return 86400 * t + n / 1e3; case 'millisecond': return Math.floor(864e5 * t) + n; default: throw new Error('Unknown unit ' + e); } }), (tn.asMilliseconds = Ii), (tn.asSeconds = Oi), (tn.asMinutes = Ai), (tn.asHours = Ri), (tn.asDays = Pi), (tn.asWeeks = Fi), (tn.asMonths = Bi), (tn.asQuarters = Wi), (tn.asYears = Yi), (tn.valueOf = function () { return this.isValid() ? this._milliseconds + 864e5 * this._days + (this._months % 12) * 2592e6 + 31536e6 * K(this._months / 12) : NaN; }), (tn._bubble = function () { var e, t, i, n, r, s = this._milliseconds, o = this._days, a = this._months, l = this._data; return ( (s >= 0 && o >= 0 && a >= 0) || (s <= 0 && o <= 0 && a <= 0) || ((s += 864e5 * Di(Ei(a) + o)), (o = 0), (a = 0)), (l.milliseconds = s % 1e3), (e = $(s / 1e3)), (l.seconds = e % 60), (t = $(e / 60)), (l.minutes = t % 60), (i = $(t / 60)), (l.hours = i % 24), (o += $(i / 24)), (a += r = $(Ni(o))), (o -= Di(Ei(r))), (n = $(a / 12)), (a %= 12), (l.days = o), (l.months = a), (l.years = n), this ); }), (tn.clone = function () { return jt(this); }), (tn.get = function (e) { return (e = H(e)), this.isValid() ? this[e + 's']() : NaN; }), (tn.milliseconds = ji), (tn.seconds = Vi), (tn.minutes = zi), (tn.hours = Ui), (tn.days = $i), (tn.weeks = function () { return $(this.days() / 7); }), (tn.months = Ki), (tn.years = qi), (tn.humanize = function (e, t) { if (!this.isValid()) return this.localeData().invalidDate(); var i, n, r = !1, s = Zi; return ( 'object' == typeof e && ((t = e), (e = !1)), 'boolean' == typeof e && (r = e), 'object' == typeof t && ((s = Object.assign({}, Zi, t)), null != t.s && null == t.ss && (s.ss = t.s - 1)), (n = (function (e, t, i, n) { var r = jt(e).abs(), s = Gi(r.as('s')), o = Gi(r.as('m')), a = Gi(r.as('h')), l = Gi(r.as('d')), c = Gi(r.as('M')), d = Gi(r.as('w')), h = Gi(r.as('y')), u = (s <= i.ss && ['s', s]) || (s < i.s && ['ss', s]) || (o <= 1 && ['m']) || (o < i.m && ['mm', o]) || (a <= 1 && ['h']) || (a < i.h && ['hh', a]) || (l <= 1 && ['d']) || (l < i.d && ['dd', l]); return ( null != i.w && (u = u || (d <= 1 && ['w']) || (d < i.w && ['ww', d])), ((u = u || (c <= 1 && ['M']) || (c < i.M && ['MM', c]) || (h <= 1 && ['y']) || ['yy', h])[2] = t), (u[3] = +e > 0), (u[4] = n), Ji.apply(null, u) ); })(this, !r, s, (i = this.localeData()))), r && (n = i.pastFuture(+this, n)), i.postformat(n) ); }), (tn.toISOString = en), (tn.toString = en), (tn.toJSON = en), (tn.locale = Xt), (tn.localeData = ti), (tn.toIsoString = k( 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', en )), (tn.lang = ei), P('X', 0, 0, 'unix'), P('x', 0, 0, 'valueOf'), fe('x', de), fe('X', /[+-]?\d+(\.\d{1,3})?/), be('X', function (e, t, i) { i._d = new Date(1e3 * parseFloat(e)); }), be('x', function (e, t, i) { i._d = new Date(K(e)); }), (r.version = '2.29.1'), (t = Lt), (r.fn = yi), (r.min = function () { return Nt('isBefore', [].slice.call(arguments, 0)); }), (r.max = function () { return Nt('isAfter', [].slice.call(arguments, 0)); }), (r.now = function () { return Date.now ? Date.now() : +new Date(); }), (r.utc = f), (r.unix = function (e) { return Lt(1e3 * e); }), (r.months = function (e, t) { return ki(e, t, 'months'); }), (r.isDate = h), (r.locale = ot), (r.invalid = _), (r.duration = jt), (r.isMoment = C), (r.weekdays = function (e, t, i) { return xi(e, t, i, 'weekdays'); }), (r.parseZone = function () { return Lt.apply(null, arguments).parseZone(); }), (r.localeData = lt), (r.isDuration = It), (r.monthsShort = function (e, t) { return ki(e, t, 'monthsShort'); }), (r.weekdaysMin = function (e, t, i) { return xi(e, t, i, 'weekdaysMin'); }), (r.defineLocale = at), (r.updateLocale = function (e, t) { if (null != t) { var i, n, r = et; null != tt[e] && null != tt[e].parentLocale ? tt[e].set(N(tt[e]._config, t)) : (null != (n = st(e)) && (r = n._config), (t = N(r, t)), null == n && (t.abbr = e), ((i = new E(t)).parentLocale = tt[e]), (tt[e] = i)), ot(e); } else null != tt[e] && (null != tt[e].parentLocale ? ((tt[e] = tt[e].parentLocale), e === ot() && ot(e)) : null != tt[e] && delete tt[e]); return tt[e]; }), (r.locales = function () { return x(tt); }), (r.weekdaysShort = function (e, t, i) { return xi(e, t, i, 'weekdaysShort'); }), (r.normalizeUnits = H), (r.relativeTimeRounding = function (e) { return void 0 === e ? Gi : 'function' == typeof e && ((Gi = e), !0); }), (r.relativeTimeThreshold = function (e, t) { return ( void 0 !== Zi[e] && (void 0 === t ? Zi[e] : ((Zi[e] = t), 's' === e && (Zi.ss = t - 1), !0)) ); }), (r.calendarFormat = function (e, t) { var i = e.diff(t, 'days', !0); return i < -6 ? 'sameElse' : i < -1 ? 'lastWeek' : i < 0 ? 'lastDay' : i < 1 ? 'sameDay' : i < 2 ? 'nextDay' : i < 7 ? 'nextWeek' : 'sameElse'; }), (r.prototype = yi), (r.HTML5_FMT = { DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', DATE: 'YYYY-MM-DD', TIME: 'HH:mm', TIME_SECONDS: 'HH:mm:ss', TIME_MS: 'HH:mm:ss.SSS', WEEK: 'GGGG-[W]WW', MONTH: 'YYYY-MM', }), r ); })(); }, 50158: (e, t, i) => { var n; (self.MonacoEnvironment = ((n = { editorWorkerService: 'editor.worker.js', json: 'json.worker.js', }), { getWorkerUrl: function (e, t) { var r = i.p, s = (r ? r.replace(/\/$/, '') + '/' : '') + n[t]; if (/^((http:)|(https:)|(file:)|(\/\/))/.test(s)) { var o = String(window.location), a = o.substr( 0, o.length - window.location.hash.length - window.location.search.length - window.location.pathname.length ); if (s.substring(0, a.length) !== a) { var l = new Blob( ['/*' + t + '*/importScripts("' + s + '");'], { type: 'application/javascript' } ); return URL.createObjectURL(l); } } return s; }, })), i(29477), i(17355), i(17084), i(84594), i(62015), i(9093), i(53832), i(64494), i(89098), i(76522), i(18728), i(42834), i(7441), i(93391), i(62943), i(23111), i(76798), i(42698), i(62097), i(92729), i(10365), i(25217), i(19646), i(83554), i(80638), i(97830), i(42408), i(34800), i(38486), i(55027), i(40517), i(97720), i(78944), i(98936), i(4454), i(81955), i(78694), i(24993), i(15662), i(19720), i(77847), i(31725), i(70185), i(43497), i(99453), i(60661), (e.exports = i(34935)), i(72323); }, 36640: (e, t, i) => { var n; (self.MonacoEnvironment = ((n = { editorWorkerService: 'editor.worker.js', json: 'json.worker.js', }), { getWorkerUrl: function (e, t) { var r = i.p, s = (r ? r.replace(/\/$/, '') + '/' : '') + n[t]; if (/^((http:)|(https:)|(file:)|(\/\/))/.test(s)) { var o = String(window.location), a = o.substr( 0, o.length - window.location.hash.length - window.location.search.length - window.location.pathname.length ); if (s.substring(0, a.length) !== a) { var l = new Blob( ['/*' + t + '*/importScripts("' + s + '");'], { type: 'application/javascript' } ); return URL.createObjectURL(l); } } return s; }, })), i(29477), i(17355), i(17084), i(84594), i(62015), i(9093), i(53832), i(64494), i(89098), i(76522), i(18728), i(42834), i(7441), i(93391), i(62943), i(23111), i(76798), i(42698), i(62097), i(92729), i(10365), i(25217), i(19646), i(83554), i(80638), i(97830), i(42408), i(34800), i(38486), i(55027), i(40517), i(97720), i(78944), i(98936), i(4454), i(81955), i(78694), i(24993), i(15662), i(19720), i(77847), i(31725), i(70185), i(43497), i(99453), i(60661), (e.exports = i(98368)), i(72323); }, 16268: (e, t, i) => { 'use strict'; i.d(t, { px: () => s, WP: () => o, fX: () => a, ie: () => l, mX: () => c, un: () => h, vU: () => u, Pf: () => g, i7: () => f, G6: () => p, MG: () => m, zc: () => _, X5: () => b, $W: () => v, }); var n = i(4669); class r { constructor() { (this._zoomLevel = 0), (this._lastZoomLevelChangeTime = 0), (this._onDidChangeZoomLevel = new n.Q5()), (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event), (this._zoomFactor = 1); } getZoomLevel() { return this._zoomLevel; } getTimeSinceLastZoomLevelChanged() { return Date.now() - this._lastZoomLevelChangeTime; } getZoomFactor() { return this._zoomFactor; } getPixelRatio() { let e = document.createElement('canvas').getContext('2d'); return ( (window.devicePixelRatio || 1) / (e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio || 1) ); } } function s() { return r.INSTANCE.getZoomLevel(); } function o() { return r.INSTANCE.getTimeSinceLastZoomLevelChanged(); } function a(e) { return r.INSTANCE.onDidChangeZoomLevel(e); } function l() { return r.INSTANCE.getZoomFactor(); } function c() { return r.INSTANCE.getPixelRatio(); } r.INSTANCE = new r(); const d = navigator.userAgent, h = d.indexOf('Edge/') >= 0, u = d.indexOf('Firefox') >= 0, g = d.indexOf('AppleWebKit') >= 0, f = d.indexOf('Chrome') >= 0, p = !f && d.indexOf('Safari') >= 0, m = !f && !p && g, _ = d.indexOf('iPad') >= 0 || (p && navigator.maxTouchPoints > 0), b = h && d.indexOf('WebView/') >= 0, v = window.matchMedia && window.matchMedia('(display-mode: standalone)').matches; }, 10161: (e, t, i) => { 'use strict'; i.d(t, { D: () => s }); var n = i(16268), r = i(1432); const s = { clipboard: { writeText: r.tY || (document.queryCommandSupported && document.queryCommandSupported('copy')) || !!( navigator && navigator.clipboard && navigator.clipboard.writeText ), readText: r.tY || !!( navigator && navigator.clipboard && navigator.clipboard.readText ), richText: (() => { if (n.un) { let e = navigator.userAgent.indexOf('Edge/'), t = parseInt( navigator.userAgent.substring( e + 5, navigator.userAgent.indexOf('.', e) ), 10 ); if (!t || (t >= 12 && t <= 16)) return !1; } return !0; })(), }, keyboard: r.tY || n.$W ? 0 : navigator.keyboard || n.G6 ? 1 : 2, touch: 'ontouchstart' in window || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0, pointerEvents: window.PointerEvent && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0 || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0), }; }, 23547: (e, t, i) => { 'use strict'; i.d(t, { go: () => n, TN: () => r, P$: () => s }); const n = { RESOURCES: 'ResourceURLs', DOWNLOAD_URL: 'DownloadURL', FILES: 'Files', TEXT: 'text/plain', }; class r { constructor(e) { this.data = e; } update() {} getData() { return this.data; } } const s = { CurrentDragAndDropData: void 0 }; }, 65321: (e, t, i) => { 'use strict'; i.d(t, { PO: () => p, ZF: () => m, Uw: () => _, pv: () => v, cn: () => y, PT: () => w, IV: () => C, GK: () => S, og: () => k, nm: () => L, mu: () => D, Gw: () => N, Lo: () => E, qV: () => T, j_: () => I, RE: () => O, lI: () => A, jL: () => R, Y_: () => Y, Dx: () => H, D6: () => j, xQ: () => U, i: () => $, DI: () => K, w: () => q, FK: () => G, If: () => Z, wn: () => J, jg: () => Q, Fx: () => X, uU: () => ee, OO: () => ie, Ay: () => ne, vY: () => re, dS: () => se, fk: () => le, uN: () => ce, Re: () => de, tw: () => he, zB: () => ue, vL: () => ge, _0: () => fe, go: () => me, R3: () => _e, mc: () => ve, $: () => Ce, $Z: () => Se, Cp: () => ke, eJ: () => xe, H$: () => Le, Uh: () => Me, V3: () => De, jt: () => Ne, uD: () => Ee, wY: () => Te, }); var n = i(16268), r = i(4850), s = i(59069), o = i(23938), a = i(15393), l = i(17301), c = i(4669), d = i(5976), h = i(1432), u = i(9488), g = i(66663), f = i(10161); function p(e) { for (; e.firstChild; ) e.removeChild(e.firstChild); } function m(e) { e.parentNode && e.parentNode.removeChild(e); } function _(e) { for (; e; ) { if (e === document.body) return !0; e = e.parentNode || e.host; } return !1; } const b = new (class { hasClass(e, t) { return Boolean(t) && e.classList && e.classList.contains(t); } addClasses(e, ...t) { t.forEach((t) => t.split(' ').forEach((t) => this.addClass(e, t)) ); } addClass(e, t) { t && e.classList && e.classList.add(t); } removeClass(e, t) { t && e.classList && e.classList.remove(t); } removeClasses(e, ...t) { t.forEach((t) => t.split(' ').forEach((t) => this.removeClass(e, t)) ); } toggleClass(e, t, i) { e.classList && e.classList.toggle(t, i); } })(), v = b.hasClass.bind(b), y = b.addClass.bind(b), w = b.addClasses.bind(b), C = b.removeClass.bind(b), S = b.removeClasses.bind(b), k = b.toggleClass.bind(b); class x { constructor(e, t, i, n) { (this._node = e), (this._type = t), (this._handler = i), (this._options = n || !1), this._node.addEventListener( this._type, this._handler, this._options ); } dispose() { this._handler && (this._node.removeEventListener( this._type, this._handler, this._options ), (this._node = null), (this._handler = null)); } } function L(e, t, i, n) { return new x(e, t, i, n); } function M(e) { return function (t) { return e(new o.n(t)); }; } let D = function (e, t, i, n) { let r = i; return ( 'click' === t || 'mousedown' === t ? (r = M(i)) : ('keydown' !== t && 'keypress' !== t && 'keyup' !== t) || (r = (function (e) { return function (t) { return e(new s.y(t)); }; })(i)), L(e, t, r, n) ); }, N = function (e, t, i) { return E(e, M(t), i); }; function E(e, t, i) { return L( e, h.gn && f.D.pointerEvents ? he.POINTER_DOWN : he.MOUSE_DOWN, t, i ); } function T(e, t, i) { return L( e, h.gn && f.D.pointerEvents ? he.POINTER_UP : he.MOUSE_UP, t, i ); } function I(e, t) { return L(e, 'mouseout', (i) => { let n = i.relatedTarget; for (; n && n !== e; ) n = n.parentNode; n !== e && t(i); }); } function O(e, t) { return L(e, 'pointerout', (i) => { let n = i.relatedTarget; for (; n && n !== e; ) n = n.parentNode; n !== e && t(i); }); } let A, R, P = null; class F { constructor(e, t = 0) { (this._runner = e), (this.priority = t), (this._canceled = !1); } dispose() { this._canceled = !0; } execute() { if (!this._canceled) try { this._runner(); } catch (e) { (0, l.dL)(e); } } static sort(e, t) { return t.priority - e.priority; } } !(function () { let e = [], t = null, i = !1, n = !1, r = () => { for (i = !1, t = e, e = [], n = !0; t.length > 0; ) t.sort(F.sort), t.shift().execute(); n = !1; }; (R = (t, n = 0) => { let s = new F(t, n); return ( e.push(s), i || ((i = !0), (function (e) { if (!P) { const e = (e) => setTimeout(() => e(new Date().getTime()), 0); P = self.requestAnimationFrame || self.msRequestAnimationFrame || self.webkitRequestAnimationFrame || self.mozRequestAnimationFrame || self.oRequestAnimationFrame || e; } P.call(self, e); })(r)), s ); }), (A = (e, i) => { if (n) { let n = new F(e, i); return t.push(n), n; } return R(e, i); }); })(); const B = function (e, t) { return t; }; class W extends d.JT { constructor(e, t, i, n = B, r = 16) { super(); let s = null, o = 0, l = this._register(new a._F()), c = () => { (o = new Date().getTime()), i(s), (s = null); }; this._register( L(e, t, (e) => { s = n(s, e); let t = new Date().getTime() - o; t >= r ? (l.cancel(), c()) : l.setIfNotSet(c, r - t); }) ); } } function Y(e, t, i, n, r) { return new W(e, t, i, n, r); } function H(e) { return document.defaultView.getComputedStyle(e, null); } function j(e) { if (e !== document.body) return new z(e.clientWidth, e.clientHeight); if (h.gn && window.visualViewport) { const e = window.visualViewport.width, t = window.visualViewport.height - (n.$W ? 24 : 0); return new z(e, t); } if (window.innerWidth && window.innerHeight) return new z(window.innerWidth, window.innerHeight); if ( document.body && document.body.clientWidth && document.body.clientHeight ) return new z(document.body.clientWidth, document.body.clientHeight); if ( document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight ) return new z( document.documentElement.clientWidth, document.documentElement.clientHeight ); throw new Error('Unable to figure out browser width and height'); } class V { static convertToPixels(e, t) { return parseFloat(t) || 0; } static getDimension(e, t, i) { let n = H(e), r = '0'; return ( n && (r = n.getPropertyValue ? n.getPropertyValue(t) : n.getAttribute(i)), V.convertToPixels(e, r) ); } static getBorderLeftWidth(e) { return V.getDimension(e, 'border-left-width', 'borderLeftWidth'); } static getBorderRightWidth(e) { return V.getDimension(e, 'border-right-width', 'borderRightWidth'); } static getBorderTopWidth(e) { return V.getDimension(e, 'border-top-width', 'borderTopWidth'); } static getBorderBottomWidth(e) { return V.getDimension( e, 'border-bottom-width', 'borderBottomWidth' ); } static getPaddingLeft(e) { return V.getDimension(e, 'padding-left', 'paddingLeft'); } static getPaddingRight(e) { return V.getDimension(e, 'padding-right', 'paddingRight'); } static getPaddingTop(e) { return V.getDimension(e, 'padding-top', 'paddingTop'); } static getPaddingBottom(e) { return V.getDimension(e, 'padding-bottom', 'paddingBottom'); } static getMarginLeft(e) { return V.getDimension(e, 'margin-left', 'marginLeft'); } static getMarginTop(e) { return V.getDimension(e, 'margin-top', 'marginTop'); } static getMarginRight(e) { return V.getDimension(e, 'margin-right', 'marginRight'); } static getMarginBottom(e) { return V.getDimension(e, 'margin-bottom', 'marginBottom'); } } class z { constructor(e, t) { (this.width = e), (this.height = t); } } function U(e) { let t = e.offsetParent, i = e.offsetTop, n = e.offsetLeft; for ( ; null !== (e = e.parentNode) && e !== document.body && e !== document.documentElement; ) { i -= e.scrollTop; const r = te(e) ? null : H(e); r && (n -= 'rtl' !== r.direction ? e.scrollLeft : -e.scrollLeft), e === t && ((n += V.getBorderLeftWidth(e)), (i += V.getBorderTopWidth(e)), (i += e.offsetTop), (n += e.offsetLeft), (t = e.offsetParent)); } return { left: n, top: i }; } function $(e) { let t = e.getBoundingClientRect(); return { left: t.left + K.scrollX, top: t.top + K.scrollY, width: t.width, height: t.height, }; } const K = new (class { get scrollX() { return 'number' == typeof window.scrollX ? window.scrollX : document.body.scrollLeft + document.documentElement.scrollLeft; } get scrollY() { return 'number' == typeof window.scrollY ? window.scrollY : document.body.scrollTop + document.documentElement.scrollTop; } })(); function q(e) { let t = V.getMarginLeft(e) + V.getMarginRight(e); return e.offsetWidth + t; } function G(e) { let t = V.getBorderLeftWidth(e) + V.getBorderRightWidth(e), i = V.getPaddingLeft(e) + V.getPaddingRight(e); return e.offsetWidth - t - i; } function Z(e) { let t = V.getBorderTopWidth(e) + V.getBorderBottomWidth(e), i = V.getPaddingTop(e) + V.getPaddingBottom(e); return e.offsetHeight - t - i; } function J(e) { let t = V.getMarginTop(e) + V.getMarginBottom(e); return e.offsetHeight + t; } function Q(e, t) { for (; e; ) { if (e === t) return !0; e = e.parentNode; } return !1; } function X(e, t, i) { for (; e && e.nodeType === e.ELEMENT_NODE; ) { if (v(e, t)) return e; if (i) if ('string' == typeof i) { if (v(e, i)) return null; } else if (e === i) return null; e = e.parentNode; } return null; } function ee(e, t, i) { return !!X(e, t, i); } function te(e) { return e && !!e.host && !!e.mode; } function ie(e) { return !!ne(e); } function ne(e) { for (; e.parentNode; ) { if (e === document.body) return null; e = e.parentNode; } return te(e) ? e : null; } function re() { let e = document.activeElement; for (; null == e ? void 0 : e.shadowRoot; ) e = e.shadowRoot.activeElement; return e; } function se(e = document.getElementsByTagName('head')[0]) { let t = document.createElement('style'); return ( (t.type = 'text/css'), (t.media = 'screen'), e.appendChild(t), t ); } let oe = null; function ae() { return oe || (oe = se()), oe; } function le(e, t, i = ae()) { i && t && i.sheet.insertRule(e + '{' + t + '}', 0); } function ce(e, t = ae()) { if (!t) return; let i = (function (e) { return e && e.sheet && e.sheet.rules ? e.sheet.rules : e && e.sheet && e.sheet.cssRules ? e.sheet.cssRules : []; })(t), n = []; for (let t = 0; t < i.length; t++) -1 !== i[t].selectorText.indexOf(e) && n.push(t); for (let e = n.length - 1; e >= 0; e--) t.sheet.deleteRule(n[e]); } function de(e) { return 'object' == typeof HTMLElement ? e instanceof HTMLElement : e && 'object' == typeof e && 1 === e.nodeType && 'string' == typeof e.nodeName; } const he = { CLICK: 'click', AUXCLICK: 'auxclick', DBLCLICK: 'dblclick', MOUSE_UP: 'mouseup', MOUSE_DOWN: 'mousedown', MOUSE_OVER: 'mouseover', MOUSE_MOVE: 'mousemove', MOUSE_OUT: 'mouseout', MOUSE_ENTER: 'mouseenter', MOUSE_LEAVE: 'mouseleave', MOUSE_WHEEL: n.un ? 'mousewheel' : 'wheel', POINTER_UP: 'pointerup', POINTER_DOWN: 'pointerdown', POINTER_MOVE: 'pointermove', CONTEXT_MENU: 'contextmenu', WHEEL: 'wheel', KEY_DOWN: 'keydown', KEY_PRESS: 'keypress', KEY_UP: 'keyup', LOAD: 'load', BEFORE_UNLOAD: 'beforeunload', UNLOAD: 'unload', ABORT: 'abort', ERROR: 'error', RESIZE: 'resize', SCROLL: 'scroll', FULLSCREEN_CHANGE: 'fullscreenchange', WK_FULLSCREEN_CHANGE: 'webkitfullscreenchange', SELECT: 'select', CHANGE: 'change', SUBMIT: 'submit', RESET: 'reset', FOCUS: 'focus', FOCUS_IN: 'focusin', FOCUS_OUT: 'focusout', BLUR: 'blur', INPUT: 'input', STORAGE: 'storage', DRAG_START: 'dragstart', DRAG: 'drag', DRAG_ENTER: 'dragenter', DRAG_LEAVE: 'dragleave', DRAG_OVER: 'dragover', DROP: 'drop', DRAG_END: 'dragend', ANIMATION_START: n.Pf ? 'webkitAnimationStart' : 'animationstart', ANIMATION_END: n.Pf ? 'webkitAnimationEnd' : 'animationend', ANIMATION_ITERATION: n.Pf ? 'webkitAnimationIteration' : 'animationiteration', }, ue = { stop: function (e, t) { e.preventDefault ? e.preventDefault() : (e.returnValue = !1), t && (e.stopPropagation ? e.stopPropagation() : (e.cancelBubble = !0)); }, }; function ge(e) { let t = []; for (let i = 0; e && e.nodeType === e.ELEMENT_NODE; i++) (t[i] = e.scrollTop), (e = e.parentNode); return t; } function fe(e, t) { for (let i = 0; e && e.nodeType === e.ELEMENT_NODE; i++) e.scrollTop !== t[i] && (e.scrollTop = t[i]), (e = e.parentNode); } class pe extends d.JT { constructor(e) { super(), (this._onDidFocus = this._register(new c.Q5())), (this.onDidFocus = this._onDidFocus.event), (this._onDidBlur = this._register(new c.Q5())), (this.onDidBlur = this._onDidBlur.event); let t = Q(document.activeElement, e), i = !1; const n = () => { (i = !1), t || ((t = !0), this._onDidFocus.fire()); }, s = () => { t && ((i = !0), window.setTimeout(() => { i && ((i = !1), (t = !1), this._onDidBlur.fire()); }, 0)); }; (this._refreshStateHandler = () => { Q(document.activeElement, e) !== t && (t ? s() : n()); }), this._register((0, r.j)(e, he.FOCUS, !0)(n)), this._register((0, r.j)(e, he.BLUR, !0)(s)); } } function me(e) { return new pe(e); } function _e(e, ...t) { return t.forEach((t) => e.appendChild(t)), t[t.length - 1]; } const be = /([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/; function ve(e, ...t) { (e.innerText = ''), (0, u.kX)(t).forEach((t) => { t instanceof Node ? e.appendChild(t) : e.appendChild(document.createTextNode(t)); }); } var ye; function we(e, t, i, ...n) { let r = be.exec(t); if (!r) throw new Error('Bad use of emmet'); i = Object.assign({}, i || {}); let s, o = r[1] || 'div'; return ( (s = e !== ye.HTML ? document.createElementNS(e, o) : document.createElement(o)), r[3] && (s.id = r[3]), r[4] && (s.className = r[4].replace(/\./g, ' ').trim()), Object.keys(i).forEach((e) => { const t = i[e]; void 0 !== t && (/^on\w+$/.test(e) ? (s[e] = t) : 'selected' === e ? t && s.setAttribute(e, 'true') : s.setAttribute(e, t)); }), (0, u.kX)(n).forEach((e) => { e instanceof Node ? s.appendChild(e) : s.appendChild(document.createTextNode(e)); }), s ); } function Ce(e, t, ...i) { return we(ye.HTML, e, t, ...i); } function Se(...e) { for (let t of e) (t.style.display = ''), t.removeAttribute('aria-hidden'); } function ke(...e) { for (let t of e) (t.style.display = 'none'), t.setAttribute('aria-hidden', 'true'); } function xe(e) { if (e && e.hasAttribute('tabIndex')) { if (document.activeElement === e) { let t = (function (e, t) { for (; e && e.nodeType === e.ELEMENT_NODE; ) { if (e instanceof HTMLElement && e.hasAttribute('tabIndex')) return e; e = e.parentNode; } return null; })(e.parentElement); t && t.focus(); } e.removeAttribute('tabindex'); } } function Le(e) { return Array.prototype.slice.call( document.getElementsByTagName(e), 0 ); } function Me(e) { const t = window.devicePixelRatio * e; return Math.max(1, Math.floor(t)) / window.devicePixelRatio; } function De(e) { if (h.tY || n.X5) window.open(e); else { let t = window.open(); t && ((t.opener = null), (t.location.href = e)); } } function Ne(e) { const t = () => { e(), (i = R(t)); }; let i = R(t); return (0, d.OF)(() => i.dispose()); } function Ee(e) { return e && g.l.vscodeRemote === e.scheme ? g.W.rewrite(e) : e; } function Te(e) { return e ? `url('${Ee(e).toString(!0).replace(/'/g, '%27')}')` : "url('')"; } !(function (e) { (e.HTML = 'http://www.w3.org/1999/xhtml'), (e.SVG = 'http://www.w3.org/2000/svg'); })(ye || (ye = {})), (Ce.SVG = function (e, t, ...i) { return we(ye.SVG, e, t, ...i); }), g.W.setPreferredWebSchema( /^https:/.test(window.location.href) ? 'https' : 'http' ); }, 4850: (e, t, i) => { 'use strict'; i.d(t, { j: () => r, s: () => s }); var n = i(4669); const r = (e, t, i) => { const r = (e) => s.fire(e), s = new n.Q5({ onFirstListenerAdd: () => { e.addEventListener(t, r, i); }, onLastListenerRemove: () => { e.removeEventListener(t, r, i); }, }); return s.event; }; function s(e) { return n.ju.map( e, (e) => (e.preventDefault(), e.stopPropagation(), e) ); } }, 38626: (e, t, i) => { 'use strict'; i.d(t, { Z: () => r, X: () => s }); var n = i(65321); class r { constructor(e) { (this.domNode = e), (this._maxWidth = -1), (this._width = -1), (this._height = -1), (this._top = -1), (this._left = -1), (this._bottom = -1), (this._right = -1), (this._fontFamily = ''), (this._fontWeight = ''), (this._fontSize = -1), (this._fontFeatureSettings = ''), (this._lineHeight = -1), (this._letterSpacing = -100), (this._className = ''), (this._display = ''), (this._position = ''), (this._visibility = ''), (this._backgroundColor = ''), (this._layerHint = !1), (this._contain = 'none'), (this._boxShadow = ''); } setMaxWidth(e) { this._maxWidth !== e && ((this._maxWidth = e), (this.domNode.style.maxWidth = this._maxWidth + 'px')); } setWidth(e) { this._width !== e && ((this._width = e), (this.domNode.style.width = this._width + 'px')); } setHeight(e) { this._height !== e && ((this._height = e), (this.domNode.style.height = this._height + 'px')); } setTop(e) { this._top !== e && ((this._top = e), (this.domNode.style.top = this._top + 'px')); } unsetTop() { -1 !== this._top && ((this._top = -1), (this.domNode.style.top = '')); } setLeft(e) { this._left !== e && ((this._left = e), (this.domNode.style.left = this._left + 'px')); } setBottom(e) { this._bottom !== e && ((this._bottom = e), (this.domNode.style.bottom = this._bottom + 'px')); } setRight(e) { this._right !== e && ((this._right = e), (this.domNode.style.right = this._right + 'px')); } setFontFamily(e) { this._fontFamily !== e && ((this._fontFamily = e), (this.domNode.style.fontFamily = this._fontFamily)); } setFontWeight(e) { this._fontWeight !== e && ((this._fontWeight = e), (this.domNode.style.fontWeight = this._fontWeight)); } setFontSize(e) { this._fontSize !== e && ((this._fontSize = e), (this.domNode.style.fontSize = this._fontSize + 'px')); } setFontFeatureSettings(e) { this._fontFeatureSettings !== e && ((this._fontFeatureSettings = e), (this.domNode.style.fontFeatureSettings = this._fontFeatureSettings)); } setLineHeight(e) { this._lineHeight !== e && ((this._lineHeight = e), (this.domNode.style.lineHeight = this._lineHeight + 'px')); } setLetterSpacing(e) { this._letterSpacing !== e && ((this._letterSpacing = e), (this.domNode.style.letterSpacing = this._letterSpacing + 'px')); } setClassName(e) { this._className !== e && ((this._className = e), (this.domNode.className = this._className)); } toggleClassName(e, t) { n.og(this.domNode, e, t), (this._className = this.domNode.className); } setDisplay(e) { this._display !== e && ((this._display = e), (this.domNode.style.display = this._display)); } setPosition(e) { this._position !== e && ((this._position = e), (this.domNode.style.position = this._position)); } setVisibility(e) { this._visibility !== e && ((this._visibility = e), (this.domNode.style.visibility = this._visibility)); } setBackgroundColor(e) { this._backgroundColor !== e && ((this._backgroundColor = e), (this.domNode.style.backgroundColor = this._backgroundColor)); } setLayerHinting(e) { this._layerHint !== e && ((this._layerHint = e), (this.domNode.style.transform = this._layerHint ? 'translate3d(0px, 0px, 0px)' : '')); } setBoxShadow(e) { this._boxShadow !== e && ((this._boxShadow = e), (this.domNode.style.boxShadow = e)); } setContain(e) { this._contain !== e && ((this._contain = e), (this.domNode.style.contain = this._contain)); } setAttribute(e, t) { this.domNode.setAttribute(e, t); } removeAttribute(e) { this.domNode.removeAttribute(e); } appendChild(e) { this.domNode.appendChild(e.domNode); } removeChild(e) { this.domNode.removeChild(e.domNode); } } function s(e) { return new r(e); } }, 48764: (e, t, i) => { 'use strict'; i.d(t, { IY: () => r, BO: () => s, az: () => o }); var n = i(65321); function r(e, t = {}) { const i = o(t); return (i.textContent = e), i; } function s(e, t = {}) { const i = o(t); return ( l( i, (function (e) { const t = { type: 1, children: [] }; let i = 0, n = t; const r = [], s = new a(e); for (; !s.eos(); ) { let e = s.next(); const t = '\\' === e && 0 !== c(s.peek()); if ((t && (e = s.next()), t || 0 === c(e) || e !== s.peek())) if ('\n' === e) 2 === n.type && (n = r.pop()), n.children.push({ type: 7 }); else if (2 !== n.type) { const t = { type: 2, content: e }; n.children.push(t), r.push(n), (n = t); } else n.content += e; else { s.advance(), 2 === n.type && (n = r.pop()); const t = c(e); if (n.type === t || (5 === n.type && 6 === t)) n = r.pop(); else { const e = { type: t, children: [] }; 5 === t && ((e.index = i), i++), n.children.push(e), r.push(n), (n = e); } } } return 2 === n.type && (n = r.pop()), r.length, t; })(e), t.actionHandler ), i ); } function o(e) { const t = e.inline ? 'span' : 'div', i = document.createElement(t); return e.className && (i.className = e.className), i; } class a { constructor(e) { (this.source = e), (this.index = 0); } eos() { return this.index >= this.source.length; } next() { const e = this.peek(); return this.advance(), e; } peek() { return this.source[this.index]; } advance() { this.index++; } } function l(e, t, i) { let r; if (2 === t.type) r = document.createTextNode(t.content || ''); else if (3 === t.type) r = document.createElement('b'); else if (4 === t.type) r = document.createElement('i'); else if (5 === t.type && i) { const e = document.createElement('a'); (e.href = '#'), i.disposeables.add( n.mu(e, 'click', (e) => { i.callback(String(t.index), e); }) ), (r = e); } else 7 === t.type ? (r = document.createElement('br')) : 1 === t.type && (r = e); r && e !== r && e.appendChild(r), r && Array.isArray(t.children) && t.children.forEach((e) => { l(r, e, i); }); } function c(e) { switch (e) { case '*': return 3; case '_': return 4; case '[': return 5; case ']': return 6; default: return 0; } } }, 57974: (e, t, i) => { 'use strict'; i.d(t, { e: () => c, Z: () => d }); var n = i(65321), r = i(1432), s = i(70262), o = i(23938), a = i(5976), l = i(10161); function c(e, t) { let i = new o.n(t); return ( i.preventDefault(), { leftButton: i.leftButton, buttons: i.buttons, posx: i.posx, posy: i.posy, } ); } class d { constructor() { (this._hooks = new a.SL()), (this._mouseMoveEventMerger = null), (this._mouseMoveCallback = null), (this._onStopCallback = null); } dispose() { this.stopMonitoring(!1), this._hooks.dispose(); } stopMonitoring(e) { if (!this.isMonitoring()) return; this._hooks.clear(), (this._mouseMoveEventMerger = null), (this._mouseMoveCallback = null); const t = this._onStopCallback; (this._onStopCallback = null), e && t && t(); } isMonitoring() { return !!this._mouseMoveEventMerger; } startMonitoring(e, t, i, a, c) { if (this.isMonitoring()) return; (this._mouseMoveEventMerger = i), (this._mouseMoveCallback = a), (this._onStopCallback = c); const d = s.E.getSameOriginWindowChain(), h = r.gn && l.D.pointerEvents ? 'pointermove' : 'mousemove', u = r.gn && l.D.pointerEvents ? 'pointerup' : 'mouseup', g = d.map((e) => e.window.document), f = n.Ay(e); f && g.unshift(f); for (const e of g) this._hooks.add( n.Y_( e, h, (e) => { e.buttons === t ? this._mouseMoveCallback(e) : this.stopMonitoring(!0); }, (e, t) => this._mouseMoveEventMerger(e, t) ) ), this._hooks.add(n.nm(e, u, (e) => this.stopMonitoring(!0))); if (s.E.hasDifferentOriginAncestor()) { let e = d[d.length - 1]; this._hooks.add( n.nm(e.window.document, 'mouseout', (e) => { 'html' === new o.n(e).target.tagName.toLowerCase() && this.stopMonitoring(!0); }) ), this._hooks.add( n.nm(e.window.document, 'mouseover', (e) => { 'html' === new o.n(e).target.tagName.toLowerCase() && this.stopMonitoring(!0); }) ), this._hooks.add( n.nm(e.window.document.body, 'mouseleave', (e) => { this.stopMonitoring(!0); }) ); } } } }, 70262: (e, t, i) => { 'use strict'; i.d(t, { E: () => o }); let n = !1, r = null; function s(e) { if (!e.parent || e.parent === e) return null; try { let t = e.location, i = e.parent.location; if ( 'null' !== t.origin && 'null' !== i.origin && (t.protocol !== i.protocol || t.hostname !== i.hostname || t.port !== i.port) ) return (n = !0), null; } catch (e) { return (n = !0), null; } return e.parent; } class o { static getSameOriginWindowChain() { if (!r) { r = []; let e, t = window; do { (e = s(t)), e ? r.push({ window: t, iframeElement: t.frameElement || null, }) : r.push({ window: t, iframeElement: null }), (t = e); } while (t); } return r.slice(0); } static hasDifferentOriginAncestor() { return r || this.getSameOriginWindowChain(), n; } static getPositionOfChildWindowRelativeToAncestorWindow(e, t) { if (!t || e === t) return { top: 0, left: 0 }; let i = 0, n = 0, r = this.getSameOriginWindowChain(); for (const e of r) { if ( ((i += e.window.scrollY), (n += e.window.scrollX), e.window === t) ) break; if (!e.iframeElement) break; let r = e.iframeElement.getBoundingClientRect(); (i += r.top), (n += r.left); } return { top: i, left: n }; } } }, 59069: (e, t, i) => { 'use strict'; i.d(t, { y: () => d }); var n = i(16268), r = i(22258), s = i(1432); let o = new Array(230), a = new Array(112); !(function () { for (let e = 0; e < a.length; e++) a[e] = -1; function e(e, t) { (o[e] = t), (a[t] = e); } e(3, 7), e(8, 1), e(9, 2), e(13, 3), e(16, 4), e(17, 5), e(18, 6), e(19, 7), e(20, 8), e(27, 9), e(32, 10), e(33, 11), e(34, 12), e(35, 13), e(36, 14), e(37, 15), e(38, 16), e(39, 17), e(40, 18), e(45, 19), e(46, 20), e(48, 21), e(49, 22), e(50, 23), e(51, 24), e(52, 25), e(53, 26), e(54, 27), e(55, 28), e(56, 29), e(57, 30), e(65, 31), e(66, 32), e(67, 33), e(68, 34), e(69, 35), e(70, 36), e(71, 37), e(72, 38), e(73, 39), e(74, 40), e(75, 41), e(76, 42), e(77, 43), e(78, 44), e(79, 45), e(80, 46), e(81, 47), e(82, 48), e(83, 49), e(84, 50), e(85, 51), e(86, 52), e(87, 53), e(88, 54), e(89, 55), e(90, 56), e(93, 58), e(96, 93), e(97, 94), e(98, 95), e(99, 96), e(100, 97), e(101, 98), e(102, 99), e(103, 100), e(104, 101), e(105, 102), e(106, 103), e(107, 104), e(108, 105), e(109, 106), e(110, 107), e(111, 108), e(112, 59), e(113, 60), e(114, 61), e(115, 62), e(116, 63), e(117, 64), e(118, 65), e(119, 66), e(120, 67), e(121, 68), e(122, 69), e(123, 70), e(124, 71), e(125, 72), e(126, 73), e(127, 74), e(128, 75), e(129, 76), e(130, 77), e(144, 78), e(145, 79), e(186, 80), e(187, 81), e(188, 82), e(189, 83), e(190, 84), e(191, 85), e(192, 86), e(193, 110), e(194, 111), e(219, 87), e(220, 88), e(221, 89), e(222, 90), e(223, 91), e(226, 92), e(229, 109), n.vU ? (e(59, 80), e(107, 81), e(109, 83), s.dz && e(224, 57)) : n.Pf && (e(91, 57), s.dz ? e(93, 57) : e(92, 57)); })(); const l = s.dz ? 256 : 2048, c = s.dz ? 2048 : 256; class d { constructor(e) { this._standardKeyboardEventBrand = !0; let t = e; (this.browserEvent = t), (this.target = t.target), (this.ctrlKey = t.ctrlKey), (this.shiftKey = t.shiftKey), (this.altKey = t.altKey), (this.metaKey = t.metaKey), (this.keyCode = (function (e) { if (e.charCode) { let t = String.fromCharCode(e.charCode).toUpperCase(); return r.kL.fromString(t); } return o[e.keyCode] || 0; })(t)), (this.code = t.code), (this.ctrlKey = this.ctrlKey || 5 === this.keyCode), (this.altKey = this.altKey || 6 === this.keyCode), (this.shiftKey = this.shiftKey || 4 === this.keyCode), (this.metaKey = this.metaKey || 57 === this.keyCode), (this._asKeybinding = this._computeKeybinding()), (this._asRuntimeKeybinding = this._computeRuntimeKeybinding()); } preventDefault() { this.browserEvent && this.browserEvent.preventDefault && this.browserEvent.preventDefault(); } stopPropagation() { this.browserEvent && this.browserEvent.stopPropagation && this.browserEvent.stopPropagation(); } toKeybinding() { return this._asRuntimeKeybinding; } equals(e) { return this._asKeybinding === e; } _computeKeybinding() { let e = 0; 5 !== this.keyCode && 4 !== this.keyCode && 6 !== this.keyCode && 57 !== this.keyCode && (e = this.keyCode); let t = 0; return ( this.ctrlKey && (t |= l), this.altKey && (t |= 512), this.shiftKey && (t |= 1024), this.metaKey && (t |= c), (t |= e), t ); } _computeRuntimeKeybinding() { let e = 0; return ( 5 !== this.keyCode && 4 !== this.keyCode && 6 !== this.keyCode && 57 !== this.keyCode && (e = this.keyCode), new r.QC( this.ctrlKey, this.shiftKey, this.altKey, this.metaKey, e ) ); } } }, 23938: (e, t, i) => { 'use strict'; i.d(t, { n: () => o, q: () => a }); var n = i(16268), r = i(70262), s = i(1432); class o { constructor(e) { (this.timestamp = Date.now()), (this.browserEvent = e), (this.leftButton = 0 === e.button), (this.middleButton = 1 === e.button), (this.rightButton = 2 === e.button), (this.buttons = e.buttons), (this.target = e.target), (this.detail = e.detail || 1), 'dblclick' === e.type && (this.detail = 2), (this.ctrlKey = e.ctrlKey), (this.shiftKey = e.shiftKey), (this.altKey = e.altKey), (this.metaKey = e.metaKey), 'number' == typeof e.pageX ? ((this.posx = e.pageX), (this.posy = e.pageY)) : ((this.posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft), (this.posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop)); let t = r.E.getPositionOfChildWindowRelativeToAncestorWindow( self, e.view ); (this.posx -= t.left), (this.posy -= t.top); } preventDefault() { this.browserEvent.preventDefault(); } stopPropagation() { this.browserEvent.stopPropagation(); } } class a { constructor(e, t = 0, i = 0) { if ( ((this.browserEvent = e || null), (this.target = e ? e.target || e.targetNode || e.srcElement : null), (this.deltaY = i), (this.deltaX = t), e) ) { let t = e, i = e; if (void 0 !== t.wheelDeltaY) this.deltaY = t.wheelDeltaY / 120; else if (void 0 !== i.VERTICAL_AXIS && i.axis === i.VERTICAL_AXIS) this.deltaY = -i.detail / 3; else if ('wheel' === e.type) { const t = e; t.deltaMode === t.DOM_DELTA_LINE ? n.vU && !s.dz ? (this.deltaY = -e.deltaY / 3) : (this.deltaY = -e.deltaY) : (this.deltaY = -e.deltaY / 40); } if (void 0 !== t.wheelDeltaX) n.G6 && s.ED ? (this.deltaX = -t.wheelDeltaX / 120) : (this.deltaX = t.wheelDeltaX / 120); else if ( void 0 !== i.HORIZONTAL_AXIS && i.axis === i.HORIZONTAL_AXIS ) this.deltaX = -e.detail / 3; else if ('wheel' === e.type) { const t = e; t.deltaMode === t.DOM_DELTA_LINE ? n.vU && !s.dz ? (this.deltaX = -e.deltaX / 3) : (this.deltaX = -e.deltaX) : (this.deltaX = -e.deltaX / 40); } 0 === this.deltaY && 0 === this.deltaX && e.wheelDelta && (this.deltaY = e.wheelDelta / 120); } } preventDefault() { this.browserEvent && this.browserEvent.preventDefault(); } stopPropagation() { this.browserEvent && this.browserEvent.stopPropagation(); } } }, 10553: (e, t, i) => { 'use strict'; i.d(t, { t: () => n, o: () => l }); var n, r = i(9488), s = i(5976), o = i(65321), a = i(49898); !(function (e) { (e.Tap = '-monaco-gesturetap'), (e.Change = '-monaco-gesturechange'), (e.Start = '-monaco-gesturestart'), (e.End = '-monaco-gesturesend'), (e.Contextmenu = '-monaco-gesturecontextmenu'); })(n || (n = {})); class l extends s.JT { constructor() { super(), (this.dispatched = !1), (this.activeTouches = {}), (this.handle = null), (this.targets = []), (this.ignoreTargets = []), (this._lastSetTapCountTime = 0), this._register( o.nm(document, 'touchstart', (e) => this.onTouchStart(e), { passive: !1, }) ), this._register( o.nm(document, 'touchend', (e) => this.onTouchEnd(e)) ), this._register( o.nm(document, 'touchmove', (e) => this.onTouchMove(e), { passive: !1, }) ); } static addTarget(e) { return l.isTouchDevice() ? (l.INSTANCE || (l.INSTANCE = new l()), l.INSTANCE.targets.push(e), { dispose: () => { l.INSTANCE.targets = l.INSTANCE.targets.filter( (t) => t !== e ); }, }) : s.JT.None; } static ignoreTarget(e) { return l.isTouchDevice() ? (l.INSTANCE || (l.INSTANCE = new l()), l.INSTANCE.ignoreTargets.push(e), { dispose: () => { l.INSTANCE.ignoreTargets = l.INSTANCE.ignoreTargets.filter( (t) => t !== e ); }, }) : s.JT.None; } static isTouchDevice() { return ( 'ontouchstart' in window || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0 ); } dispose() { this.handle && (this.handle.dispose(), (this.handle = null)), super.dispose(); } onTouchStart(e) { let t = Date.now(); this.handle && (this.handle.dispose(), (this.handle = null)); for (let i = 0, r = e.targetTouches.length; i < r; i++) { let r = e.targetTouches.item(i); this.activeTouches[r.identifier] = { id: r.identifier, initialTarget: r.target, initialTimeStamp: t, initialPageX: r.pageX, initialPageY: r.pageY, rollingTimestamps: [t], rollingPageX: [r.pageX], rollingPageY: [r.pageY], }; let s = this.newGestureEvent(n.Start, r.target); (s.pageX = r.pageX), (s.pageY = r.pageY), this.dispatchEvent(s); } this.dispatched && (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); } onTouchEnd(e) { let t = Date.now(), i = Object.keys(this.activeTouches).length; for (let s = 0, o = e.changedTouches.length; s < o; s++) { let o = e.changedTouches.item(s); if (!this.activeTouches.hasOwnProperty(String(o.identifier))) { console.warn('move of an UNKNOWN touch', o); continue; } let a = this.activeTouches[o.identifier], c = Date.now() - a.initialTimeStamp; if ( c < l.HOLD_DELAY && Math.abs(a.initialPageX - r.Gb(a.rollingPageX)) < 30 && Math.abs(a.initialPageY - r.Gb(a.rollingPageY)) < 30 ) { let e = this.newGestureEvent(n.Tap, a.initialTarget); (e.pageX = r.Gb(a.rollingPageX)), (e.pageY = r.Gb(a.rollingPageY)), this.dispatchEvent(e); } else if ( c >= l.HOLD_DELAY && Math.abs(a.initialPageX - r.Gb(a.rollingPageX)) < 30 && Math.abs(a.initialPageY - r.Gb(a.rollingPageY)) < 30 ) { let e = this.newGestureEvent(n.Contextmenu, a.initialTarget); (e.pageX = r.Gb(a.rollingPageX)), (e.pageY = r.Gb(a.rollingPageY)), this.dispatchEvent(e); } else if (1 === i) { let e = r.Gb(a.rollingPageX), i = r.Gb(a.rollingPageY), n = r.Gb(a.rollingTimestamps) - a.rollingTimestamps[0], s = e - a.rollingPageX[0], o = i - a.rollingPageY[0]; const l = this.targets.filter( (e) => a.initialTarget instanceof Node && e.contains(a.initialTarget) ); this.inertia( l, t, Math.abs(s) / n, s > 0 ? 1 : -1, e, Math.abs(o) / n, o > 0 ? 1 : -1, i ); } this.dispatchEvent(this.newGestureEvent(n.End, a.initialTarget)), delete this.activeTouches[o.identifier]; } this.dispatched && (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); } newGestureEvent(e, t) { let i = document.createEvent('CustomEvent'); return ( i.initEvent(e, !1, !0), (i.initialTarget = t), (i.tapCount = 0), i ); } dispatchEvent(e) { if (e.type === n.Tap) { const t = new Date().getTime(); let i = 0; (i = t - this._lastSetTapCountTime > l.CLEAR_TAP_COUNT_TIME ? 1 : 2), (this._lastSetTapCountTime = t), (e.tapCount = i); } else (e.type !== n.Change && e.type !== n.Contextmenu) || (this._lastSetTapCountTime = 0); for (let t = 0; t < this.ignoreTargets.length; t++) if ( e.initialTarget instanceof Node && this.ignoreTargets[t].contains(e.initialTarget) ) return; this.targets.forEach((t) => { e.initialTarget instanceof Node && t.contains(e.initialTarget) && (t.dispatchEvent(e), (this.dispatched = !0)); }); } inertia(e, t, i, r, s, a, c, d) { this.handle = o.jL(() => { let o = Date.now(), h = o - t, u = 0, g = 0, f = !0; (i += l.SCROLL_FRICTION * h), (a += l.SCROLL_FRICTION * h), i > 0 && ((f = !1), (u = r * i * h)), a > 0 && ((f = !1), (g = c * a * h)); let p = this.newGestureEvent(n.Change); (p.translationX = u), (p.translationY = g), e.forEach((e) => e.dispatchEvent(p)), f || this.inertia(e, o, i, r, s + u, a, c, d + g); }); } onTouchMove(e) { let t = Date.now(); for (let i = 0, s = e.changedTouches.length; i < s; i++) { let s = e.changedTouches.item(i); if (!this.activeTouches.hasOwnProperty(String(s.identifier))) { console.warn('end of an UNKNOWN touch', s); continue; } let o = this.activeTouches[s.identifier], a = this.newGestureEvent(n.Change, o.initialTarget); (a.translationX = s.pageX - r.Gb(o.rollingPageX)), (a.translationY = s.pageY - r.Gb(o.rollingPageY)), (a.pageX = s.pageX), (a.pageY = s.pageY), this.dispatchEvent(a), o.rollingPageX.length > 3 && (o.rollingPageX.shift(), o.rollingPageY.shift(), o.rollingTimestamps.shift()), o.rollingPageX.push(s.pageX), o.rollingPageY.push(s.pageY), o.rollingTimestamps.push(t); } this.dispatched && (e.preventDefault(), e.stopPropagation(), (this.dispatched = !1)); } } (l.SCROLL_FRICTION = -0.005), (l.HOLD_DELAY = 700), (l.CLEAR_TAP_COUNT_TIME = 400), (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); s > 3 && o && Object.defineProperty(t, i, o); })([a.H], l, 'isTouchDevice', null); }, 76033: (e, t, i) => { 'use strict'; i.d(t, { Y: () => u, g: () => g }); var n = i(1432), r = i(63580), s = i(5976), o = i(74741), a = i(65321), l = i(98401), c = i(10553), d = i(23547), h = i(16268); class u extends s.JT { constructor(e, t, i = {}) { super(), (this.options = i), (this._context = e || this), (this._action = t), t instanceof o.aU && this._register( t.onDidChange((e) => { this.element && this.handleActionChangeEvent(e); }) ); } handleActionChangeEvent(e) { void 0 !== e.enabled && this.updateEnabled(), void 0 !== e.checked && this.updateChecked(), void 0 !== e.class && this.updateClass(), void 0 !== e.label && (this.updateLabel(), this.updateTooltip()), void 0 !== e.tooltip && this.updateTooltip(); } get actionRunner() { return ( this._actionRunner || (this._actionRunner = this._register(new o.Wi())), this._actionRunner ); } set actionRunner(e) { this._actionRunner = e; } getAction() { return this._action; } isEnabled() { return this._action.enabled; } setActionContext(e) { this._context = e; } render(e) { const t = (this.element = e); this._register(c.o.addTarget(e)); const i = this.options && this.options.draggable; i && ((e.draggable = !0), h.vU && this._register( a.nm(e, a.tw.DRAG_START, (e) => { var t; return null === (t = e.dataTransfer) || void 0 === t ? void 0 : t.setData(d.go.TEXT, this._action.label); }) )), this._register(a.nm(t, c.t.Tap, (e) => this.onClick(e))), this._register( a.nm(t, a.tw.MOUSE_DOWN, (e) => { i || a.zB.stop(e, !0), this._action.enabled && 0 === e.button && a.cn(t, 'active'); }) ), n.dz && this._register( a.nm(t, a.tw.CONTEXT_MENU, (e) => { 0 === e.button && !0 === e.ctrlKey && this.onClick(e); }) ), this._register( a.nm(t, a.tw.CLICK, (e) => { a.zB.stop(e, !0), (this.options && this.options.isMenu) || n.xS(() => this.onClick(e)); }) ), this._register( a.nm(t, a.tw.DBLCLICK, (e) => { a.zB.stop(e, !0); }) ), [a.tw.MOUSE_UP, a.tw.MOUSE_OUT].forEach((e) => { this._register( a.nm(t, e, (e) => { a.zB.stop(e), a.IV(t, 'active'); }) ); }); } onClick(e) { var t; a.zB.stop(e, !0); const i = l.Jp(this._context) ? ( null === (t = this.options) || void 0 === t ? void 0 : t.useEventAsContext ) ? e : void 0 : this._context; this.actionRunner.run(this._action, i); } focus() { this.element && (this.element.focus(), a.cn(this.element, 'focused')); } blur() { this.element && (this.element.blur(), a.IV(this.element, 'focused')); } updateEnabled() {} updateLabel() {} updateTooltip() {} updateClass() {} updateChecked() {} dispose() { this.element && (a.ZF(this.element), (this.element = void 0)), super.dispose(); } } class g extends u { constructor(e, t, i = {}) { super(e, t, i), (this.options = i), (this.options.icon = void 0 !== i.icon && i.icon), (this.options.label = void 0 === i.label || i.label), (this.cssClass = ''); } render(e) { super.render(e), this.element && (this.label = a.R3(this.element, a.$('a.action-label'))), this.label && (this._action.id === o.Z0.ID ? this.label.setAttribute('role', 'presentation') : this.options.isMenu ? this.label.setAttribute('role', 'menuitem') : this.label.setAttribute('role', 'button')), this.options.label && this.options.keybinding && this.element && (a.R3( this.element, a.$('span.keybinding') ).textContent = this.options.keybinding), this.updateClass(), this.updateLabel(), this.updateTooltip(), this.updateEnabled(), this.updateChecked(); } focus() { super.focus(), this.label && this.label.focus(); } updateLabel() { this.options.label && this.label && (this.label.textContent = this.getAction().label); } updateTooltip() { let e = null; this.getAction().tooltip ? (e = this.getAction().tooltip) : !this.options.label && this.getAction().label && this.options.icon && ((e = this.getAction().label), this.options.keybinding && (e = r.N( { key: 'titleLabel', comment: ['action title', 'action keybinding'], }, '{0} ({1})', e, this.options.keybinding ))), e && this.label && (this.label.title = e); } updateClass() { this.cssClass && this.label && a.GK(this.label, this.cssClass), this.options.icon ? ((this.cssClass = this.getAction().class), this.label && (a.cn(this.label, 'codicon'), this.cssClass && a.PT(this.label, this.cssClass)), this.updateEnabled()) : this.label && a.IV(this.label, 'codicon'); } updateEnabled() { this.getAction().enabled ? (this.label && (this.label.removeAttribute('aria-disabled'), a.IV(this.label, 'disabled'), (this.label.tabIndex = 0)), this.element && a.IV(this.element, 'disabled')) : (this.label && (this.label.setAttribute('aria-disabled', 'true'), a.cn(this.label, 'disabled'), a.eJ(this.label)), this.element && a.cn(this.element, 'disabled')); } updateChecked() { this.label && (this.getAction().checked ? a.cn(this.label, 'checked') : a.IV(this.label, 'checked')); } } }, 90317: (e, t, i) => { 'use strict'; i.d(t, { o: () => d }); var n = i(5976), r = i(74741), s = i(65321), o = i(98401), a = i(59069), l = i(4669), c = i(76033); class d extends n.JT { constructor(e, t = {}) { var i, n, o; let c, d; switch ( (super(), (this._onDidBlur = this._register(new l.Q5())), (this.onDidBlur = this._onDidBlur.event), (this._onDidCancel = this._register(new l.Q5())), (this.onDidCancel = this._onDidCancel.event), (this._onDidRun = this._register(new l.Q5())), (this.onDidRun = this._onDidRun.event), (this._onDidBeforeRun = this._register(new l.Q5())), (this.onDidBeforeRun = this._onDidBeforeRun.event), (this.options = t), (this._context = null !== (i = t.context) && void 0 !== i ? i : null), (this._orientation = null !== (n = this.options.orientation) && void 0 !== n ? n : 0), (this._triggerKeys = null !== (o = this.options.triggerKeys) && void 0 !== o ? o : { keys: [3, 10], keyDown: !1 }), this.options.actionRunner ? (this._actionRunner = this.options.actionRunner) : ((this._actionRunner = new r.Wi()), this._register(this._actionRunner)), this._register( this._actionRunner.onDidRun((e) => this._onDidRun.fire(e)) ), this._register( this._actionRunner.onDidBeforeRun((e) => this._onDidBeforeRun.fire(e) ) ), (this.viewItems = []), (this.focusedItem = void 0), (this.domNode = document.createElement('div')), (this.domNode.className = 'monaco-action-bar'), !1 !== t.animated && s.cn(this.domNode, 'animated'), this._orientation) ) { case 0: (c = 15), (d = 17); break; case 1: (c = 17), (d = 15), (this.domNode.className += ' reverse'); break; case 2: (c = 16), (d = 18), (this.domNode.className += ' vertical'); break; case 3: (c = 18), (d = 16), (this.domNode.className += ' vertical reverse'); } this._register( s.nm(this.domNode, s.tw.KEY_DOWN, (e) => { const t = new a.y(e); let i = !0; t.equals(c) ? (i = this.focusPrevious()) : t.equals(d) ? (i = this.focusNext()) : t.equals(9) ? this._onDidCancel.fire() : this.isTriggerKeyEvent(t) ? this._triggerKeys.keyDown && this.doTrigger(t) : (i = !1), i && (t.preventDefault(), t.stopPropagation()); }) ), this._register( s.nm(this.domNode, s.tw.KEY_UP, (e) => { const t = new a.y(e); this.isTriggerKeyEvent(t) ? (this._triggerKeys.keyDown || this.doTrigger(t), t.preventDefault(), t.stopPropagation()) : (t.equals(2) || t.equals(1026)) && this.updateFocusedItem(); }) ), (this.focusTracker = this._register(s.go(this.domNode))), this._register( this.focusTracker.onDidBlur(() => { (s.vY() !== this.domNode && s.jg(s.vY(), this.domNode)) || (this._onDidBlur.fire(), (this.focusedItem = void 0)); }) ), this._register( this.focusTracker.onDidFocus(() => this.updateFocusedItem()) ), (this.actionsList = document.createElement('ul')), (this.actionsList.className = 'actions-container'), this.actionsList.setAttribute('role', 'toolbar'), this.options.ariaLabel && this.actionsList.setAttribute( 'aria-label', this.options.ariaLabel ), this.domNode.appendChild(this.actionsList), e.appendChild(this.domNode); } isTriggerKeyEvent(e) { let t = !1; return ( this._triggerKeys.keys.forEach((i) => { t = t || e.equals(i); }), t ); } updateFocusedItem() { for (let e = 0; e < this.actionsList.children.length; e++) { const t = this.actionsList.children[e]; if (s.jg(s.vY(), t)) { this.focusedItem = e; break; } } } get context() { return this._context; } set context(e) { (this._context = e), this.viewItems.forEach((t) => t.setActionContext(e)); } get actionRunner() { return this._actionRunner; } set actionRunner(e) { e && ((this._actionRunner = e), this.viewItems.forEach((t) => (t.actionRunner = e))); } getContainer() { return this.domNode; } push(e, t = {}) { const i = Array.isArray(e) ? e : [e]; let n = o.hj(t.index) ? t.index : null; i.forEach((e) => { const i = document.createElement('li'); let r; (i.className = 'action-item'), i.setAttribute('role', 'presentation'), this.options.allowContextMenu || this._register( s.nm(i, s.tw.CONTEXT_MENU, (e) => { s.zB.stop(e, !0); }) ), this.options.actionViewItemProvider && (r = this.options.actionViewItemProvider(e)), r || (r = new c.g(this.context, e, t)), (r.actionRunner = this._actionRunner), r.setActionContext(this.context), r.render(i), null === n || n < 0 || n >= this.actionsList.children.length ? (this.actionsList.appendChild(i), this.viewItems.push(r)) : (this.actionsList.insertBefore( i, this.actionsList.children[n] ), this.viewItems.splice(n, 0, r), n++); }), this.focusedItem && this.focus(this.focusedItem); } clear() { (0, n.B9)(this.viewItems), (this.viewItems = []), s.PO(this.actionsList); } focus(e) { let t, i = !1; void 0 === e ? (i = !0) : 'number' == typeof e ? (t = e) : 'boolean' == typeof e && (i = e), i && void 0 === this.focusedItem ? ((this.focusedItem = -1), this.focusNext()) : (void 0 !== t && (this.focusedItem = t), this.updateFocus()); } focusNext() { void 0 === this.focusedItem && (this.focusedItem = this.viewItems.length - 1); const e = this.focusedItem; let t; do { if ( this.options.preventLoopNavigation && this.focusedItem + 1 >= this.viewItems.length ) return (this.focusedItem = e), !1; (this.focusedItem = (this.focusedItem + 1) % this.viewItems.length), (t = this.viewItems[this.focusedItem]); } while (this.focusedItem !== e && !t.isEnabled()); return ( this.focusedItem !== e || t.isEnabled() || (this.focusedItem = void 0), this.updateFocus(), !0 ); } focusPrevious() { void 0 === this.focusedItem && (this.focusedItem = 0); const e = this.focusedItem; let t; do { if ( ((this.focusedItem = this.focusedItem - 1), this.focusedItem < 0) ) { if (this.options.preventLoopNavigation) return (this.focusedItem = e), !1; this.focusedItem = this.viewItems.length - 1; } t = this.viewItems[this.focusedItem]; } while (this.focusedItem !== e && !t.isEnabled()); return ( this.focusedItem !== e || t.isEnabled() || (this.focusedItem = void 0), this.updateFocus(!0), !0 ); } updateFocus(e, t) { void 0 === this.focusedItem && this.actionsList.focus({ preventScroll: t }); for (let i = 0; i < this.viewItems.length; i++) { const n = this.viewItems[i]; i === this.focusedItem ? o.mf(n.isEnabled) && (n.isEnabled() && o.mf(n.focus) ? n.focus(e) : this.actionsList.focus({ preventScroll: t })) : o.mf(n.blur) && n.blur(); } } doTrigger(e) { if (void 0 === this.focusedItem) return; const t = this.viewItems[this.focusedItem]; if (t instanceof c.Y) { const i = null === t._context || void 0 === t._context ? e : t._context; this.run(t._action, i); } } run(e, t) { return this._actionRunner.run(e, t); } dispose() { (0, n.B9)(this.viewItems), (this.viewItems = []), s.ZF(this.getContainer()), super.dispose(); } } }, 85152: (e, t, i) => { 'use strict'; i.d(t, { wW: () => d, Z9: () => h, i7: () => u }); var n = i(1432), r = i(65321); let s, o, a, l, c; function d(e) { (s = document.createElement('div')), (s.className = 'monaco-aria-container'); const t = () => { const e = document.createElement('div'); return ( (e.className = 'monaco-alert'), e.setAttribute('role', 'alert'), e.setAttribute('aria-atomic', 'true'), s.appendChild(e), e ); }; (o = t()), (a = t()); const i = () => { const e = document.createElement('div'); return ( (e.className = 'monaco-status'), e.setAttribute('role', 'complementary'), e.setAttribute('aria-live', 'polite'), e.setAttribute('aria-atomic', 'true'), s.appendChild(e), e ); }; (l = i()), (c = i()), e.appendChild(s); } function h(e) { s && (o.textContent !== e ? (r.PO(a), g(o, e)) : (r.PO(o), g(a, e))); } function u(e) { s && (n.dz ? h(e) : l.textContent !== e ? (r.PO(c), g(l, e)) : (r.PO(l), g(c, e))); } function g(e, t) { r.PO(e), t.length > 2e4 && (t = t.substr(0, 2e4)), (e.textContent = t), (e.style.visibility = 'hidden'), (e.style.visibility = 'visible'); } }, 28609: (e, t, i) => { 'use strict'; i.d(t, { D: () => r, a: () => s }); var n = i(73046); const r = new (class { constructor() { this.onDidChange = n.fK.onDidRegister; } getCSS() { const e = []; for (let t of n.fK.all) e.push(s(t)); return e.join('\n'); } })(); function s(e) { let t = e.definition; for (; t instanceof n.lA; ) t = t.definition; return `.codicon-${e.id}:before { content: '${t.character}'; }`; } }, 67488: (e, t, i) => { 'use strict'; i.d(t, { Z: () => l }); var n = i(65321), r = i(97295), s = i(41264), o = i(36248); const a = { badgeBackground: s.Il.fromHex('#4D4D4D'), badgeForeground: s.Il.fromHex('#FFFFFF'), }; class l { constructor(e, t) { (this.count = 0), (this.options = t || Object.create(null)), (0, o.jB)(this.options, a, !1), (this.badgeBackground = this.options.badgeBackground), (this.badgeForeground = this.options.badgeForeground), (this.badgeBorder = this.options.badgeBorder), (this.element = (0, n.R3)(e, (0, n.$)('.monaco-count-badge'))), (this.countFormat = this.options.countFormat || '{0}'), (this.titleFormat = this.options.titleFormat || ''), this.setCount(this.options.count || 0); } setCount(e) { (this.count = e), this.render(); } setTitleFormat(e) { (this.titleFormat = e), this.render(); } render() { (this.element.textContent = (0, r.WU)( this.countFormat, this.count )), (this.element.title = (0, r.WU)(this.titleFormat, this.count)), this.applyStyles(); } style(e) { (this.badgeBackground = e.badgeBackground), (this.badgeForeground = e.badgeForeground), (this.badgeBorder = e.badgeBorder), this.applyStyles(); } applyStyles() { if (this.element) { const e = this.badgeBackground ? this.badgeBackground.toString() : '', t = this.badgeForeground ? this.badgeForeground.toString() : '', i = this.badgeBorder ? this.badgeBorder.toString() : ''; (this.element.style.backgroundColor = e), (this.element.style.color = t), (this.element.style.borderWidth = i ? '1px' : ''), (this.element.style.borderStyle = i ? 'solid' : ''), (this.element.style.borderColor = i); } } } }, 34650: (e, t, i) => { 'use strict'; i.d(t, { q: () => o }); var n = i(36248), r = i(73046), s = i(97295); class o { constructor(e, t) { (this.supportCodicons = t), (this.text = ''), (this.title = ''), (this.highlights = []), (this.didEverRender = !1), (this.domNode = document.createElement('span')), (this.domNode.className = 'monaco-highlighted-label'), e.appendChild(this.domNode); } get element() { return this.domNode; } set(e, t = [], i = '', r) { e || (e = ''), r && (e = o.escapeNewLines(e, t)), (this.didEverRender && this.text === e && this.title === i && n.fS(this.highlights, t)) || (Array.isArray(t) || (t = []), (this.text = e), (this.title = i), (this.highlights = t), this.render()); } render() { let e = '', t = 0; for (const i of this.highlights) { if (i.end === i.start) continue; if (t < i.start) { e += ''; const n = this.text.substring(t, i.start); (e += this.supportCodicons ? (0, r.Mi)((0, s.YU)(n)) : (0, s.YU)(n)), (e += ''), (t = i.end); } i.extraClasses ? (e += ``) : (e += ''); const n = this.text.substring(i.start, i.end); (e += this.supportCodicons ? (0, r.Mi)((0, s.YU)(n)) : (0, s.YU)(n)), (e += ''), (t = i.end); } if (t < this.text.length) { e += ''; const i = this.text.substring(t); (e += this.supportCodicons ? (0, r.Mi)((0, s.YU)(i)) : (0, s.YU)(i)), (e += ''); } (this.domNode.innerHTML = e), this.title ? (this.domNode.title = this.title) : this.domNode.removeAttribute('title'), (this.didEverRender = !0); } static escapeNewLines(e, t) { let i = 0, n = 0; return e.replace(/\r\n|\r|\n/g, (e, r) => { (n = '\r\n' === e ? -1 : 0), (r += i); for (const e of t) e.end <= r || (e.start >= r && (e.start += n), e.end >= r && (e.end += n)); return (i += n), '⏎'; }); } } }, 59834: (e, t, i) => { 'use strict'; i.d(t, { g: () => c }); var n = i(65321), r = i(34650), s = i(5976), o = i(61134), a = i(36248); class l { constructor(e) { this._element = e; } get element() { return this._element; } set textContent(e) { this.disposed || e === this._textContent || ((this._textContent = e), (this._element.textContent = e)); } set className(e) { this.disposed || e === this._className || ((this._className = e), (this._element.className = e)); } set title(e) { this.disposed || e === this._title || ((this._title = e), this._title ? (this._element.title = e) : this._element.removeAttribute('title')); } set empty(e) { this.disposed || e === this._empty || ((this._empty = e), (this._element.style.marginLeft = e ? '0' : '')); } dispose() { this.disposed = !0; } } class c extends s.JT { constructor(e, t) { super(), (this.domNode = this._register( new l(n.R3(e, n.$('.monaco-icon-label'))) )); const i = n.R3( this.domNode.element, n.$('.monaco-icon-label-container') ), s = n.R3(i, n.$('span.monaco-icon-name-container')); (this.descriptionContainer = this._register( new l(n.R3(i, n.$('span.monaco-icon-description-container'))) )), (null == t ? void 0 : t.supportHighlights) ? (this.nameNode = new h(s, !!t.supportCodicons)) : (this.nameNode = new d(s)), (null == t ? void 0 : t.supportDescriptionHighlights) ? (this.descriptionNodeFactory = () => new r.q( n.R3( this.descriptionContainer.element, n.$('span.label-description') ), !!t.supportCodicons )) : (this.descriptionNodeFactory = () => this._register( new l( n.R3( this.descriptionContainer.element, n.$('span.label-description') ) ) )); } setLabel(e, t, i) { const n = ['monaco-icon-label']; i && (i.extraClasses && n.push(...i.extraClasses), i.italic && n.push('italic'), i.strikethrough && n.push('strikethrough')), (this.domNode.className = n.join(' ')), (this.domNode.title = (null == i ? void 0 : i.title) || ''), this.nameNode.setLabel(e, i), (t || this.descriptionNode) && (this.descriptionNode || (this.descriptionNode = this.descriptionNodeFactory()), this.descriptionNode instanceof r.q ? (this.descriptionNode.set( t || '', i ? i.descriptionMatches : void 0 ), (null == i ? void 0 : i.descriptionTitle) ? (this.descriptionNode.element.title = i.descriptionTitle) : this.descriptionNode.element.removeAttribute('title')) : ((this.descriptionNode.textContent = t || ''), (this.descriptionNode.title = (null == i ? void 0 : i.descriptionTitle) || ''), (this.descriptionNode.empty = !t))); } } class d { constructor(e) { (this.container = e), (this.label = void 0), (this.singleLabel = void 0); } setLabel(e, t) { if (this.label !== e || !(0, a.fS)(this.options, t)) if (((this.label = e), (this.options = t), 'string' == typeof e)) this.singleLabel || ((this.container.innerText = ''), n.IV(this.container, 'multiple'), (this.singleLabel = n.R3( this.container, n.$('a.label-name', { id: null == t ? void 0 : t.domId }) ))), (this.singleLabel.textContent = e); else { (this.container.innerText = ''), n.cn(this.container, 'multiple'), (this.singleLabel = void 0); for (let i = 0; i < e.length; i++) { const r = e[i], s = (null == t ? void 0 : t.domId) && `${null == t ? void 0 : t.domId}_${i}`; n.R3( this.container, n.$( 'a.label-name', { id: s, 'data-icon-label-count': e.length, 'data-icon-label-index': i, role: 'treeitem', }, r ) ), i < e.length - 1 && n.R3( this.container, n.$( 'span.label-separator', void 0, (null == t ? void 0 : t.separator) || '/' ) ); } } } } class h { constructor(e, t) { (this.container = e), (this.supportCodicons = t), (this.label = void 0), (this.singleLabel = void 0); } setLabel(e, t) { if (this.label !== e || !(0, a.fS)(this.options, t)) if (((this.label = e), (this.options = t), 'string' == typeof e)) this.singleLabel || ((this.container.innerText = ''), n.IV(this.container, 'multiple'), (this.singleLabel = new r.q( n.R3( this.container, n.$('a.label-name', { id: null == t ? void 0 : t.domId }) ), this.supportCodicons ))), this.singleLabel.set( e, null == t ? void 0 : t.matches, null == t ? void 0 : t.title, null == t ? void 0 : t.labelEscapeNewLines ); else { (this.container.innerText = ''), n.cn(this.container, 'multiple'), (this.singleLabel = void 0); const i = (null == t ? void 0 : t.separator) || '/', s = (function (e, t, i) { if (!i) return; let n = 0; return e.map((e) => { const r = { start: n, end: n + e.length }, s = i .map((e) => o.e.intersect(r, e)) .filter((e) => !o.e.isEmpty(e)) .map(({ start: e, end: t }) => ({ start: e - n, end: t - n, })); return (n = r.end + t.length), s; }); })(e, i, null == t ? void 0 : t.matches); for (let o = 0; o < e.length; o++) { const a = e[o], l = s ? s[o] : void 0, c = (null == t ? void 0 : t.domId) && `${null == t ? void 0 : t.domId}_${o}`, d = n.$('a.label-name', { id: c, 'data-icon-label-count': e.length, 'data-icon-label-index': o, role: 'treeitem', }); new r.q(n.R3(this.container, d), this.supportCodicons).set( a, l, null == t ? void 0 : t.title, null == t ? void 0 : t.labelEscapeNewLines ), o < e.length - 1 && n.R3(d, n.$('span.label-separator', void 0, i)); } } } } }, 77927: (e, t, i) => { 'use strict'; i.d(t, { p: () => v, W: () => b }); var n = i(63580), r = i(65321), s = i(48764), o = i(85152), a = i(90317), l = i(4669), c = i(93794), d = i(41264), h = i(36248); class u { constructor(e, t = 0, i = e.length, n = t - 1) { (this.items = e), (this.start = t), (this.end = i), (this.index = n); } current() { return this.index === this.start - 1 || this.index === this.end ? null : this.items[this.index]; } next() { return ( (this.index = Math.min(this.index + 1, this.end)), this.current() ); } previous() { return ( (this.index = Math.max(this.index - 1, this.start - 1)), this.current() ); } first() { return (this.index = this.start), this.current(); } last() { return (this.index = this.end - 1), this.current(); } } class g { constructor(e = [], t = 10) { this._initialize(e), (this._limit = t), this._onChange(); } add(e) { this._history.delete(e), this._history.add(e), this._onChange(); } next() { return this._currentPosition() !== this._elements.length - 1 ? this._navigator.next() : null; } previous() { return 0 !== this._currentPosition() ? this._navigator.previous() : null; } current() { return this._navigator.current(); } first() { return this._navigator.first(); } last() { return this._navigator.last(); } has(e) { return this._history.has(e); } _onChange() { this._reduceToLimit(); const e = this._elements; this._navigator = new u(e, 0, e.length, e.length); } _reduceToLimit() { const e = this._elements; e.length > this._limit && this._initialize(e.slice(e.length - this._limit)); } _currentPosition() { const e = this._navigator.current(); return e ? this._elements.indexOf(e) : -1; } _initialize(e) { this._history = new Set(); for (const t of e) this._history.add(t); } get _elements() { const e = []; return this._history.forEach((t) => e.push(t)), e; } } var f = i(9802), p = i(4850); const m = r.$, _ = { inputBackground: d.Il.fromHex('#3C3C3C'), inputForeground: d.Il.fromHex('#CCCCCC'), inputValidationInfoBorder: d.Il.fromHex('#55AAFF'), inputValidationInfoBackground: d.Il.fromHex('#063B49'), inputValidationWarningBorder: d.Il.fromHex('#B89500'), inputValidationWarningBackground: d.Il.fromHex('#352A05'), inputValidationErrorBorder: d.Il.fromHex('#BE1100'), inputValidationErrorBackground: d.Il.fromHex('#5A1D1D'), }; class b extends c.$ { constructor(e, t, i) { super(), (this.state = 'idle'), (this.maxHeight = Number.POSITIVE_INFINITY), (this._onDidChange = this._register(new l.Q5())), (this.onDidChange = this._onDidChange.event), (this._onDidHeightChange = this._register(new l.Q5())), (this.onDidHeightChange = this._onDidHeightChange.event), (this.contextViewProvider = t), (this.options = i || Object.create(null)), (0, h.jB)(this.options, _, !1), (this.message = null), (this.placeholder = this.options.placeholder || ''), (this.ariaLabel = this.options.ariaLabel || ''), (this.inputBackground = this.options.inputBackground), (this.inputForeground = this.options.inputForeground), (this.inputBorder = this.options.inputBorder), (this.inputValidationInfoBorder = this.options.inputValidationInfoBorder), (this.inputValidationInfoBackground = this.options.inputValidationInfoBackground), (this.inputValidationInfoForeground = this.options.inputValidationInfoForeground), (this.inputValidationWarningBorder = this.options.inputValidationWarningBorder), (this.inputValidationWarningBackground = this.options.inputValidationWarningBackground), (this.inputValidationWarningForeground = this.options.inputValidationWarningForeground), (this.inputValidationErrorBorder = this.options.inputValidationErrorBorder), (this.inputValidationErrorBackground = this.options.inputValidationErrorBackground), (this.inputValidationErrorForeground = this.options.inputValidationErrorForeground), this.options.validationOptions && (this.validation = this.options.validationOptions.validation), (this.element = r.R3(e, m('.monaco-inputbox.idle'))); let n = this.options.flexibleHeight ? 'textarea' : 'input', s = r.R3(this.element, m('.wrapper')); if ( ((this.input = r.R3(s, m(n + '.input.empty'))), this.input.setAttribute('autocorrect', 'off'), this.input.setAttribute('autocapitalize', 'off'), this.input.setAttribute('spellcheck', 'false'), this.onfocus(this.input, () => this.element.classList.add('synthetic-focus') ), this.onblur(this.input, () => this.element.classList.remove('synthetic-focus') ), this.options.flexibleHeight) ) { (this.maxHeight = 'number' == typeof this.options.flexibleMaxHeight ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY), (this.mirror = r.R3(s, m('div.mirror'))), (this.mirror.innerText = ' '), (this.scrollableElement = new f.NB(this.element, { vertical: 1, })), this.options.flexibleWidth && (this.input.setAttribute('wrap', 'off'), (this.mirror.style.whiteSpace = 'pre'), (this.mirror.style.wordWrap = 'initial')), r.R3(e, this.scrollableElement.getDomNode()), this._register(this.scrollableElement), this._register( this.scrollableElement.onScroll( (e) => (this.input.scrollTop = e.scrollTop) ) ); const t = l.ju.filter( (0, p.j)(document, 'selectionchange'), () => { const e = document.getSelection(); return (null == e ? void 0 : e.anchorNode) === s; } ); this._register(t(this.updateScrollDimensions, this)), this._register( this.onDidHeightChange(this.updateScrollDimensions, this) ); } else (this.input.type = this.options.type || 'text'), this.input.setAttribute('wrap', 'off'); this.ariaLabel && this.input.setAttribute('aria-label', this.ariaLabel), this.placeholder && this.setPlaceHolder(this.placeholder), this.oninput(this.input, () => this.onValueChange()), this.onblur(this.input, () => this.onBlur()), this.onfocus(this.input, () => this.onFocus()), this.ignoreGesture(this.input), setTimeout(() => this.updateMirror(), 0), this.options.actions && ((this.actionbar = this._register(new a.o(this.element))), this.actionbar.push(this.options.actions, { icon: !0, label: !1, })), this.applyStyles(); } onBlur() { this._hideMessage(); } onFocus() { this._showMessage(); } setPlaceHolder(e) { (this.placeholder = e), this.input.setAttribute('placeholder', e), (this.input.title = e); } setAriaLabel(e) { (this.ariaLabel = e), e ? this.input.setAttribute('aria-label', this.ariaLabel) : this.input.removeAttribute('aria-label'); } getAriaLabel() { return this.ariaLabel; } get inputElement() { return this.input; } get value() { return this.input.value; } set value(e) { this.input.value !== e && ((this.input.value = e), this.onValueChange()); } get height() { return 'number' == typeof this.cachedHeight ? this.cachedHeight : r.wn(this.element); } focus() { this.input.focus(); } blur() { this.input.blur(); } hasFocus() { return document.activeElement === this.input; } select(e = null) { this.input.select(), e && this.input.setSelectionRange(e.start, e.end); } isSelectionAtEnd() { return ( this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd ); } enable() { this.input.removeAttribute('disabled'); } disable() { this.blur(), (this.input.disabled = !0), this._hideMessage(); } get width() { return r.w(this.input); } set width(e) { if (this.options.flexibleHeight && this.options.flexibleWidth) { let t = 0; this.mirror && (t = (parseFloat(this.mirror.style.paddingLeft || '') || 0) + (parseFloat(this.mirror.style.paddingRight || '') || 0)), (this.input.style.width = e - t + 'px'); } else this.input.style.width = e + 'px'; this.mirror && (this.mirror.style.width = e + 'px'); } set paddingRight(e) { this.options.flexibleHeight && this.options.flexibleWidth ? (this.input.style.width = `calc(100% - ${e}px)`) : (this.input.style.paddingRight = e + 'px'), this.mirror && (this.mirror.style.paddingRight = e + 'px'); } updateScrollDimensions() { if ( 'number' != typeof this.cachedContentHeight || 'number' != typeof this.cachedHeight || !this.scrollableElement ) return; const e = this.cachedContentHeight, t = this.cachedHeight, i = this.input.scrollTop; this.scrollableElement.setScrollDimensions({ scrollHeight: e, height: t, }), this.scrollableElement.setScrollPosition({ scrollTop: i }); } showMessage(e, t) { (this.message = e), this.element.classList.remove('idle'), this.element.classList.remove('info'), this.element.classList.remove('warning'), this.element.classList.remove('error'), this.element.classList.add(this.classForType(e.type)); const i = this.stylesForType(this.message.type); (this.element.style.border = i.border ? `1px solid ${i.border}` : ''), (this.hasFocus() || t) && this._showMessage(); } hideMessage() { (this.message = null), this.element.classList.remove('info'), this.element.classList.remove('warning'), this.element.classList.remove('error'), this.element.classList.add('idle'), this._hideMessage(), this.applyStyles(); } validate() { let e = null; return ( this.validation && ((e = this.validation(this.value)), e ? (this.inputElement.setAttribute('aria-invalid', 'true'), this.showMessage(e)) : this.inputElement.hasAttribute('aria-invalid') && (this.inputElement.removeAttribute('aria-invalid'), this.hideMessage())), !e ); } stylesForType(e) { switch (e) { case 1: return { border: this.inputValidationInfoBorder, background: this.inputValidationInfoBackground, foreground: this.inputValidationInfoForeground, }; case 2: return { border: this.inputValidationWarningBorder, background: this.inputValidationWarningBackground, foreground: this.inputValidationWarningForeground, }; default: return { border: this.inputValidationErrorBorder, background: this.inputValidationErrorBackground, foreground: this.inputValidationErrorForeground, }; } } classForType(e) { switch (e) { case 1: return 'info'; case 2: return 'warning'; default: return 'error'; } } _showMessage() { if (!this.contextViewProvider || !this.message) return; let e, t, i = () => (e.style.width = r.w(this.element) + 'px'); this.contextViewProvider.showContextView({ getAnchor: () => this.element, anchorAlignment: 1, render: (t) => { if (!this.message) return null; (e = r.R3(t, m('.monaco-inputbox-container'))), i(); const n = { inline: !0, className: 'monaco-inputbox-message' }, o = this.message.formatContent ? (0, s.BO)(this.message.content, n) : (0, s.IY)(this.message.content, n); o.classList.add(this.classForType(this.message.type)); const a = this.stylesForType(this.message.type); return ( (o.style.backgroundColor = a.background ? a.background.toString() : ''), (o.style.color = a.foreground ? a.foreground.toString() : ''), (o.style.border = a.border ? `1px solid ${a.border}` : ''), r.R3(e, o), null ); }, onHide: () => { this.state = 'closed'; }, layout: i, }), (t = 3 === this.message.type ? n.N('alertErrorMessage', 'Error: {0}', this.message.content) : 2 === this.message.type ? n.N( 'alertWarningMessage', 'Warning: {0}', this.message.content ) : n.N('alertInfoMessage', 'Info: {0}', this.message.content)), o.Z9(t), (this.state = 'open'); } _hideMessage() { this.contextViewProvider && ('open' === this.state && this.contextViewProvider.hideContextView(), (this.state = 'idle')); } onValueChange() { this._onDidChange.fire(this.value), this.validate(), this.updateMirror(), this.input.classList.toggle('empty', !this.value), 'open' === this.state && this.contextViewProvider && this.contextViewProvider.layout(); } updateMirror() { if (!this.mirror) return; const e = this.value, t = 10 === e.charCodeAt(e.length - 1) ? ' ' : ''; e + t ? (this.mirror.textContent = e + t) : (this.mirror.innerText = ' '), this.layout(); } style(e) { (this.inputBackground = e.inputBackground), (this.inputForeground = e.inputForeground), (this.inputBorder = e.inputBorder), (this.inputValidationInfoBackground = e.inputValidationInfoBackground), (this.inputValidationInfoForeground = e.inputValidationInfoForeground), (this.inputValidationInfoBorder = e.inputValidationInfoBorder), (this.inputValidationWarningBackground = e.inputValidationWarningBackground), (this.inputValidationWarningForeground = e.inputValidationWarningForeground), (this.inputValidationWarningBorder = e.inputValidationWarningBorder), (this.inputValidationErrorBackground = e.inputValidationErrorBackground), (this.inputValidationErrorForeground = e.inputValidationErrorForeground), (this.inputValidationErrorBorder = e.inputValidationErrorBorder), this.applyStyles(); } applyStyles() { const e = this.inputBackground ? this.inputBackground.toString() : '', t = this.inputForeground ? this.inputForeground.toString() : '', i = this.inputBorder ? this.inputBorder.toString() : ''; (this.element.style.backgroundColor = e), (this.element.style.color = t), (this.input.style.backgroundColor = 'inherit'), (this.input.style.color = t), (this.element.style.borderWidth = i ? '1px' : ''), (this.element.style.borderStyle = i ? 'solid' : ''), (this.element.style.borderColor = i); } layout() { if (!this.mirror) return; const e = this.cachedContentHeight; (this.cachedContentHeight = r.wn(this.mirror)), e !== this.cachedContentHeight && ((this.cachedHeight = Math.min( this.cachedContentHeight, this.maxHeight )), (this.input.style.height = this.cachedHeight + 'px'), this._onDidHeightChange.fire(this.cachedContentHeight)); } insertAtCursor(e) { const t = this.inputElement, i = t.selectionStart, n = t.selectionEnd, r = t.value; null !== i && null !== n && ((this.value = r.substr(0, i) + e + r.substr(n)), t.setSelectionRange(i + 1, i + 1), this.layout()); } dispose() { this._hideMessage(), (this.message = null), this.actionbar && this.actionbar.dispose(), super.dispose(); } } class v extends b { constructor(e, t, i) { super(e, t, i), (this.history = new g(i.history, 100)); } addToHistory() { this.value && this.value !== this.getCurrentValue() && this.history.add(this.value); } showNextValue() { this.history.has(this.value) || this.addToHistory(); let e = this.getNextValue(); e && (e = e === this.value ? this.getNextValue() : e), e && ((this.value = e), o.i7(this.value)); } showPreviousValue() { this.history.has(this.value) || this.addToHistory(); let e = this.getPreviousValue(); e && (e = e === this.value ? this.getPreviousValue() : e), e && ((this.value = e), o.i7(this.value)); } getCurrentValue() { let e = this.history.current(); return e || ((e = this.history.last()), this.history.next()), e; } getPreviousValue() { return this.history.previous() || this.history.first(); } getNextValue() { return this.history.next() || this.history.last(); } } }, 25707: (e, t, i) => { 'use strict'; i.d(t, { kX: () => S, Bv: () => M }); var n = i(36248), r = i(5976), s = i(10553), o = i(65321), a = i(4669), l = i(4850), c = i(9802), d = i(76633), h = i(61134); function u(e, t) { const i = []; for (let n of t) { if (e.start >= n.range.end) continue; if (e.end < n.range.start) break; const t = h.e.intersect(e, n.range); h.e.isEmpty(t) || i.push({ range: t, size: n.size }); } return i; } function g({ start: e, end: t }, i) { return { start: e + i, end: t + i }; } class f { constructor() { (this.groups = []), (this._size = 0); } splice(e, t, i = []) { const n = i.length - t, r = u({ start: 0, end: e }, this.groups), s = u( { start: e + t, end: Number.POSITIVE_INFINITY }, this.groups ).map((e) => ({ range: g(e.range, n), size: e.size })), o = i.map((t, i) => ({ range: { start: e + i, end: e + i + 1 }, size: t.size, })); (this.groups = (function (...e) { return (function (e) { const t = []; let i = null; for (let n of e) { const e = n.range.start, r = n.range.end, s = n.size; i && s === i.size ? (i.range.end = r) : ((i = { range: { start: e, end: r }, size: s }), t.push(i)); } return t; })(e.reduce((e, t) => e.concat(t), [])); })(r, o, s)), (this._size = this.groups.reduce( (e, t) => e + t.size * (t.range.end - t.range.start), 0 )); } get count() { const e = this.groups.length; return e ? this.groups[e - 1].range.end : 0; } get size() { return this._size; } indexAt(e) { if (e < 0) return -1; let t = 0, i = 0; for (let n of this.groups) { const r = n.range.end - n.range.start, s = i + r * n.size; if (e < s) return t + Math.floor((e - i) / n.size); (t += r), (i = s); } return t; } indexAfter(e) { return Math.min(this.indexAt(e) + 1, this.count); } positionAt(e) { if (e < 0) return -1; let t = 0, i = 0; for (let n of this.groups) { const r = n.range.end - n.range.start, s = i + r; if (e < s) return t + (e - i) * n.size; (t += r * n.size), (i = s); } return -1; } } class p { constructor(e) { (this.renderers = e), (this.cache = new Map()); } alloc(e) { let t = this.getTemplateCache(e).pop(); if (!t) { const i = (0, o.$)('.monaco-list-row'); t = { domNode: i, templateId: e, templateData: this.getRenderer(e).renderTemplate(i), }; } return t; } release(e) { e && this.releaseRow(e); } releaseRow(e) { const { domNode: t, templateId: i } = e; t && ((0, o.IV)(t, 'scrolling'), (function (e) { try { e.parentElement && e.parentElement.removeChild(e); } catch (e) {} })(t)), this.getTemplateCache(i).push(e); } getTemplateCache(e) { let t = this.cache.get(e); return t || ((t = []), this.cache.set(e, t)), t; } dispose() { this.cache.forEach((e, t) => { for (const i of e) this.getRenderer(t).disposeTemplate(i.templateData), (i.domNode = null), (i.templateData = null); }), this.cache.clear(); } getRenderer(e) { const t = this.renderers.get(e); if (!t) throw new Error(`No renderer found for ${e}`); return t; } } var m = i(49898), _ = i(9488), b = i(23547), v = i(15393), y = i(16268), w = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }; const C = { useShadows: !0, verticalScrollMode: 1, setRowLineHeight: !0, setRowHeight: !0, supportDynamicHeights: !1, dnd: { getDragElements: (e) => [e], getDragURI: () => null, onDragStart() {}, onDragOver: () => !1, drop() {}, }, horizontalScrolling: !1, transformOptimization: !0, }; class S { constructor(e) { this.elements = e; } update() {} getData() { return this.elements; } } class k { constructor(e) { this.elements = e; } update() {} getData() { return this.elements; } } class x { constructor() { (this.types = []), (this.files = []); } update(e) { if ( (e.types && this.types.splice(0, this.types.length, ...e.types), e.files) ) { this.files.splice(0, this.files.length); for (let t = 0; t < e.files.length; t++) { const i = e.files.item(t); i && (i.size || i.type) && this.files.push(i); } } } getData() { return { types: this.types, files: this.files }; } } class L { constructor(e) { (null == e ? void 0 : e.getSetSize) ? (this.getSetSize = e.getSetSize.bind(e)) : (this.getSetSize = (e, t, i) => i), (null == e ? void 0 : e.getPosInSet) ? (this.getPosInSet = e.getPosInSet.bind(e)) : (this.getPosInSet = (e, t) => t + 1), (null == e ? void 0 : e.getRole) ? (this.getRole = e.getRole.bind(e)) : (this.getRole = (e) => 'listitem'), (null == e ? void 0 : e.isChecked) ? (this.isChecked = e.isChecked.bind(e)) : (this.isChecked = (e) => {}); } } class M { constructor(e, t, i, h = C) { if ( ((this.virtualDelegate = t), (this.domId = 'list_id_' + ++M.InstanceCount), (this.renderers = new Map()), (this.renderWidth = 0), (this._scrollHeight = 0), (this.scrollableElementUpdateDisposable = null), (this.scrollableElementWidthDelayer = new v.vp(50)), (this.splicing = !1), (this.dragOverAnimationStopDisposable = r.JT.None), (this.dragOverMouseY = 0), (this.canDrop = !1), (this.currentDragFeedbackDisposable = r.JT.None), (this.onDragLeaveTimeout = r.JT.None), (this.disposables = new r.SL()), (this._onDidChangeContentHeight = new a.Q5()), (this._horizontalScrolling = !1), h.horizontalScrolling && h.supportDynamicHeights) ) throw new Error( 'Horizontal scrolling and dynamic heights not supported simultaneously' ); (this.items = []), (this.itemId = 0), (this.rangeMap = new f()); for (const e of i) this.renderers.set(e.templateId, e); (this.cache = this.disposables.add(new p(this.renderers))), (this.lastRenderTop = 0), (this.lastRenderHeight = 0), (this.domNode = document.createElement('div')), (this.domNode.className = 'monaco-list'), o.cn(this.domNode, this.domId), (this.domNode.tabIndex = 0), o.og( this.domNode, 'mouse-support', 'boolean' != typeof h.mouseSupport || h.mouseSupport ), (this._horizontalScrolling = (0, n.CJ)( h, (e) => e.horizontalScrolling, C.horizontalScrolling )), o.og( this.domNode, 'horizontal-scrolling', this._horizontalScrolling ), (this.additionalScrollHeight = void 0 === h.additionalScrollHeight ? 0 : h.additionalScrollHeight), (this.accessibilityProvider = new L(h.accessibilityProvider)), (this.rowsContainer = document.createElement('div')), (this.rowsContainer.className = 'monaco-list-rows'), (0, n.CJ)( h, (e) => e.transformOptimization, C.transformOptimization ) && (this.rowsContainer.style.transform = 'translate3d(0px, 0px, 0px)'), this.disposables.add(s.o.addTarget(this.rowsContainer)), (this.scrollable = new d.Rm( (0, n.CJ)(h, (e) => e.smoothScrolling, !1) ? 125 : 0, (e) => o.jL(e) )), (this.scrollableElement = this.disposables.add( new c.$Z( this.rowsContainer, { alwaysConsumeMouseWheel: !0, horizontal: 1, vertical: (0, n.CJ)( h, (e) => e.verticalScrollMode, C.verticalScrollMode ), useShadows: (0, n.CJ)(h, (e) => e.useShadows, C.useShadows), }, this.scrollable ) )), this.domNode.appendChild(this.scrollableElement.getDomNode()), e.appendChild(this.domNode), this.scrollableElement.onScroll( this.onScroll, this, this.disposables ), (0, l.j)(this.rowsContainer, s.t.Change)( this.onTouchChange, this, this.disposables ), (0, l.j)(this.scrollableElement.getDomNode(), 'scroll')( (e) => (e.target.scrollTop = 0), null, this.disposables ), a.ju.map((0, l.j)(this.domNode, 'dragover'), (e) => this.toDragEvent(e) )(this.onDragOver, this, this.disposables), a.ju.map((0, l.j)(this.domNode, 'drop'), (e) => this.toDragEvent(e) )(this.onDrop, this, this.disposables), (0, l.j)(this.domNode, 'dragleave')( this.onDragLeave, this, this.disposables ), (0, l.j)(window, 'dragend')( this.onDragEnd, this, this.disposables ), (this.setRowLineHeight = (0, n.CJ)( h, (e) => e.setRowLineHeight, C.setRowLineHeight )), (this.setRowHeight = (0, n.CJ)( h, (e) => e.setRowHeight, C.setRowHeight )), (this.supportDynamicHeights = (0, n.CJ)( h, (e) => e.supportDynamicHeights, C.supportDynamicHeights )), (this.dnd = (0, n.CJ)(h, (e) => e.dnd, C.dnd)), this.layout(); } get contentHeight() { return this.rangeMap.size; } get horizontalScrolling() { return this._horizontalScrolling; } set horizontalScrolling(e) { if (e !== this._horizontalScrolling) { if (e && this.supportDynamicHeights) throw new Error( 'Horizontal scrolling and dynamic heights not supported simultaneously' ); if ( ((this._horizontalScrolling = e), o.og( this.domNode, 'horizontal-scrolling', this._horizontalScrolling ), this._horizontalScrolling) ) { for (const e of this.items) this.measureItemWidth(e); this.updateScrollWidth(), this.scrollableElement.setScrollDimensions({ width: o.FK(this.domNode), }), (this.rowsContainer.style.width = `${Math.max( this.scrollWidth || 0, this.renderWidth )}px`); } else this.scrollableElementWidthDelayer.cancel(), this.scrollableElement.setScrollDimensions({ width: this.renderWidth, scrollWidth: this.renderWidth, }), (this.rowsContainer.style.width = ''); } } updateOptions(e) { void 0 !== e.additionalScrollHeight && (this.additionalScrollHeight = e.additionalScrollHeight), void 0 !== e.smoothScrolling && this.scrollable.setSmoothScrollDuration( e.smoothScrolling ? 125 : 0 ), void 0 !== e.horizontalScrolling && (this.horizontalScrolling = e.horizontalScrolling); } splice(e, t, i = []) { if (this.splicing) throw new Error("Can't run recursive splices."); this.splicing = !0; try { return this._splice(e, t, i); } finally { (this.splicing = !1), this._onDidChangeContentHeight.fire(this.contentHeight); } } _splice(e, t, i = []) { const n = this.getRenderRange( this.lastRenderTop, this.lastRenderHeight ), s = { start: e, end: e + t }, o = h.e.intersect(n, s); for (let e = o.start; e < o.end; e++) this.removeItemFromDOM(e); const a = { start: e + t, end: this.items.length }, l = h.e.intersect(a, n), c = h.e.relativeComplement(a, n), d = i.map((e) => ({ id: String(this.itemId++), element: e, templateId: this.virtualDelegate.getTemplateId(e), size: this.virtualDelegate.getHeight(e), width: void 0, hasDynamicHeight: !!this.virtualDelegate.hasDynamicHeight && this.virtualDelegate.hasDynamicHeight(e), lastDynamicHeightWidth: void 0, row: null, uri: void 0, dropTarget: !1, dragStartDisposable: r.JT.None, })); let u; 0 === e && t >= this.items.length ? ((this.rangeMap = new f()), this.rangeMap.splice(0, 0, d), (this.items = d), (u = [])) : (this.rangeMap.splice(e, t, d), (u = this.items.splice(e, t, ...d))); const p = i.length - t, m = this.getRenderRange( this.lastRenderTop, this.lastRenderHeight ), _ = g(l, p), b = h.e.intersect(m, _); for (let e = b.start; e < b.end; e++) this.updateItemInDOM(this.items[e], e); const v = h.e.relativeComplement(_, m); for (const e of v) for (let t = e.start; t < e.end; t++) this.removeItemFromDOM(t); const y = c.map((e) => g(e, p)), w = [{ start: e, end: e + i.length }, ...y].map((e) => h.e.intersect(m, e) ), C = this.getNextToLastElement(w); for (const e of w) for (let t = e.start; t < e.end; t++) this.insertItemInDOM(t, C); return ( this.eventuallyUpdateScrollDimensions(), this.supportDynamicHeights && this._rerender(this.scrollTop, this.renderHeight), u.map((e) => e.element) ); } eventuallyUpdateScrollDimensions() { (this._scrollHeight = this.contentHeight), (this.rowsContainer.style.height = `${this._scrollHeight}px`), this.scrollableElementUpdateDisposable || (this.scrollableElementUpdateDisposable = o.jL(() => { this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight, }), this.updateScrollWidth(), (this.scrollableElementUpdateDisposable = null); })); } eventuallyUpdateScrollWidth() { this.horizontalScrolling ? this.scrollableElementWidthDelayer.trigger(() => this.updateScrollWidth() ) : this.scrollableElementWidthDelayer.cancel(); } updateScrollWidth() { if (!this.horizontalScrolling) return; let e = 0; for (const t of this.items) void 0 !== t.width && (e = Math.max(e, t.width)); (this.scrollWidth = e), this.scrollableElement.setScrollDimensions({ scrollWidth: 0 === e ? 0 : e + 10, }); } rerender() { if (this.supportDynamicHeights) { for (const e of this.items) e.lastDynamicHeightWidth = void 0; this._rerender(this.lastRenderTop, this.lastRenderHeight); } } get length() { return this.items.length; } get renderHeight() { return this.scrollableElement.getScrollDimensions().height; } element(e) { return this.items[e].element; } domElement(e) { const t = this.items[e].row; return t && t.domNode; } elementHeight(e) { return this.items[e].size; } elementTop(e) { return this.rangeMap.positionAt(e); } indexAt(e) { return this.rangeMap.indexAt(e); } indexAfter(e) { return this.rangeMap.indexAfter(e); } layout(e, t) { let i = { height: 'number' == typeof e ? e : o.If(this.domNode) }; this.scrollableElementUpdateDisposable && (this.scrollableElementUpdateDisposable.dispose(), (this.scrollableElementUpdateDisposable = null), (i.scrollHeight = this.scrollHeight)), this.scrollableElement.setScrollDimensions(i), void 0 !== t && ((this.renderWidth = t), this.supportDynamicHeights && this._rerender(this.scrollTop, this.renderHeight), this.horizontalScrolling && this.scrollableElement.setScrollDimensions({ width: 'number' == typeof t ? t : o.FK(this.domNode), })); } render(e, t, i, n, r, s = !1) { const o = this.getRenderRange(t, i), a = h.e.relativeComplement(o, e), l = h.e.relativeComplement(e, o), c = this.getNextToLastElement(a); if (s) { const t = h.e.intersect(e, o); for (let e = t.start; e < t.end; e++) this.updateItemInDOM(this.items[e], e); } for (const e of a) for (let t = e.start; t < e.end; t++) this.insertItemInDOM(t, c); for (const e of l) for (let t = e.start; t < e.end; t++) this.removeItemFromDOM(t); void 0 !== n && (this.rowsContainer.style.left = `-${n}px`), (this.rowsContainer.style.top = `-${t}px`), this.horizontalScrolling && void 0 !== r && (this.rowsContainer.style.width = `${Math.max( r, this.renderWidth )}px`), (this.lastRenderTop = t), (this.lastRenderHeight = i); } insertItemInDOM(e, t) { const i = this.items[e]; if (!i.row) { i.row = this.cache.alloc(i.templateId); const e = this.accessibilityProvider.getRole(i.element) || 'listitem'; i.row.domNode.setAttribute('role', e); const t = this.accessibilityProvider.isChecked(i.element); void 0 !== t && i.row.domNode.setAttribute('aria-checked', String(!!t)); } i.row.domNode.parentElement || (t ? this.rowsContainer.insertBefore(i.row.domNode, t) : this.rowsContainer.appendChild(i.row.domNode)), this.updateItemInDOM(i, e); const n = this.renderers.get(i.templateId); if (!n) throw new Error( `No renderer found for template id ${i.templateId}` ); n && n.renderElement(i.element, e, i.row.templateData, i.size); const r = this.dnd.getDragURI(i.element); if ( (i.dragStartDisposable.dispose(), (i.row.domNode.draggable = !!r), r) ) { const e = (0, l.j)(i.row.domNode, 'dragstart'); i.dragStartDisposable = e((e) => this.onDragStart(i.element, r, e) ); } this.horizontalScrolling && (this.measureItemWidth(i), this.eventuallyUpdateScrollWidth()); } measureItemWidth(e) { if (!e.row || !e.row.domNode) return; (e.row.domNode.style.width = y.vU ? '-moz-fit-content' : 'fit-content'), (e.width = o.FK(e.row.domNode)); const t = window.getComputedStyle(e.row.domNode); t.paddingLeft && (e.width += parseFloat(t.paddingLeft)), t.paddingRight && (e.width += parseFloat(t.paddingRight)), (e.row.domNode.style.width = ''); } updateItemInDOM(e, t) { (e.row.domNode.style.top = `${this.elementTop(t)}px`), this.setRowHeight && (e.row.domNode.style.height = `${e.size}px`), this.setRowLineHeight && (e.row.domNode.style.lineHeight = `${e.size}px`), e.row.domNode.setAttribute('data-index', `${t}`), e.row.domNode.setAttribute( 'data-last-element', t === this.length - 1 ? 'true' : 'false' ), e.row.domNode.setAttribute( 'aria-setsize', String( this.accessibilityProvider.getSetSize( e.element, t, this.length ) ) ), e.row.domNode.setAttribute( 'aria-posinset', String(this.accessibilityProvider.getPosInSet(e.element, t)) ), e.row.domNode.setAttribute('id', this.getElementDomId(t)), o.og(e.row.domNode, 'drop-target', e.dropTarget); } removeItemFromDOM(e) { const t = this.items[e]; t.dragStartDisposable.dispose(); const i = this.renderers.get(t.templateId); t.row && i && i.disposeElement && i.disposeElement(t.element, e, t.row.templateData, t.size), this.cache.release(t.row), (t.row = null), this.horizontalScrolling && this.eventuallyUpdateScrollWidth(); } getScrollTop() { return this.scrollableElement.getScrollPosition().scrollTop; } setScrollTop(e) { this.scrollableElementUpdateDisposable && (this.scrollableElementUpdateDisposable.dispose(), (this.scrollableElementUpdateDisposable = null), this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight, })), this.scrollableElement.setScrollPosition({ scrollTop: e }); } get scrollTop() { return this.getScrollTop(); } set scrollTop(e) { this.setScrollTop(e); } get scrollHeight() { return ( this._scrollHeight + (this.horizontalScrolling ? 10 : 0) + this.additionalScrollHeight ); } get onMouseClick() { return a.ju.map((0, l.j)(this.domNode, 'click'), (e) => this.toMouseEvent(e) ); } get onMouseDblClick() { return a.ju.map((0, l.j)(this.domNode, 'dblclick'), (e) => this.toMouseEvent(e) ); } get onMouseMiddleClick() { return a.ju.filter( a.ju.map((0, l.j)(this.domNode, 'auxclick'), (e) => this.toMouseEvent(e) ), (e) => 1 === e.browserEvent.button ); } get onMouseDown() { return a.ju.map((0, l.j)(this.domNode, 'mousedown'), (e) => this.toMouseEvent(e) ); } get onContextMenu() { return a.ju.map((0, l.j)(this.domNode, 'contextmenu'), (e) => this.toMouseEvent(e) ); } get onTouchStart() { return a.ju.map((0, l.j)(this.domNode, 'touchstart'), (e) => this.toTouchEvent(e) ); } get onTap() { return a.ju.map((0, l.j)(this.rowsContainer, s.t.Tap), (e) => this.toGestureEvent(e) ); } toMouseEvent(e) { const t = this.getItemIndexFromEventTarget(e.target || null), i = void 0 === t ? void 0 : this.items[t]; return { browserEvent: e, index: t, element: i && i.element }; } toTouchEvent(e) { const t = this.getItemIndexFromEventTarget(e.target || null), i = void 0 === t ? void 0 : this.items[t]; return { browserEvent: e, index: t, element: i && i.element }; } toGestureEvent(e) { const t = this.getItemIndexFromEventTarget(e.initialTarget || null), i = void 0 === t ? void 0 : this.items[t]; return { browserEvent: e, index: t, element: i && i.element }; } toDragEvent(e) { const t = this.getItemIndexFromEventTarget(e.target || null), i = void 0 === t ? void 0 : this.items[t]; return { browserEvent: e, index: t, element: i && i.element }; } onScroll(e) { try { const t = this.getRenderRange( this.lastRenderTop, this.lastRenderHeight ); this.render( t, e.scrollTop, e.height, e.scrollLeft, e.scrollWidth ), this.supportDynamicHeights && this._rerender(e.scrollTop, e.height); } catch (t) { throw (console.error('Got bad scroll event:', e), t); } } onTouchChange(e) { e.preventDefault(), e.stopPropagation(), (this.scrollTop -= e.translationY); } onDragStart(e, t, i) { if (!i.dataTransfer) return; const n = this.dnd.getDragElements(e); if ( ((i.dataTransfer.effectAllowed = 'copyMove'), i.dataTransfer.setData(b.go.RESOURCES, JSON.stringify([t])), i.dataTransfer.setDragImage) ) { let e; this.dnd.getDragLabel && (e = this.dnd.getDragLabel(n, i)), void 0 === e && (e = String(n.length)); const t = o.$('.monaco-drag-image'); (t.textContent = e), document.body.appendChild(t), i.dataTransfer.setDragImage(t, -10, -10), setTimeout(() => document.body.removeChild(t), 0); } (this.currentDragData = new S(n)), (b.P$.CurrentDragAndDropData = new k(n)), this.dnd.onDragStart && this.dnd.onDragStart(this.currentDragData, i); } onDragOver(e) { if ( (e.browserEvent.preventDefault(), this.onDragLeaveTimeout.dispose(), b.P$.CurrentDragAndDropData && 'vscode-ui' === b.P$.CurrentDragAndDropData.getData()) ) return !1; if ( (this.setupDragAndDropScrollTopAnimation(e.browserEvent), !e.browserEvent.dataTransfer) ) return !1; if (!this.currentDragData) if (b.P$.CurrentDragAndDropData) this.currentDragData = b.P$.CurrentDragAndDropData; else { if (!e.browserEvent.dataTransfer.types) return !1; this.currentDragData = new x(); } const t = this.dnd.onDragOver( this.currentDragData, e.element, e.index, e.browserEvent ); if ( ((this.canDrop = 'boolean' == typeof t ? t : t.accept), !this.canDrop) ) return ( (this.currentDragFeedback = void 0), this.currentDragFeedbackDisposable.dispose(), !1 ); let i; if ( ((e.browserEvent.dataTransfer.dropEffect = 'boolean' != typeof t && 0 === t.effect ? 'copy' : 'move'), (i = 'boolean' != typeof t && t.feedback ? t.feedback : void 0 === e.index ? [-1] : [e.index]), (i = (0, _.EB)(i) .filter((e) => e >= -1 && e < this.length) .sort((e, t) => e - t)), (i = -1 === i[0] ? [-1] : i), (n = this.currentDragFeedback), (s = i), Array.isArray(n) && Array.isArray(s) ? (0, _.fS)(n, s) : n === s) ) return !0; var n, s; if ( ((this.currentDragFeedback = i), this.currentDragFeedbackDisposable.dispose(), -1 === i[0]) ) o.cn(this.domNode, 'drop-target'), o.cn(this.rowsContainer, 'drop-target'), (this.currentDragFeedbackDisposable = (0, r.OF)(() => { o.IV(this.domNode, 'drop-target'), o.IV(this.rowsContainer, 'drop-target'); })); else { for (const e of i) { const t = this.items[e]; (t.dropTarget = !0), t.row && t.row.domNode && o.cn(t.row.domNode, 'drop-target'); } this.currentDragFeedbackDisposable = (0, r.OF)(() => { for (const e of i) { const t = this.items[e]; (t.dropTarget = !1), t.row && t.row.domNode && o.IV(t.row.domNode, 'drop-target'); } }); } return !0; } onDragLeave() { this.onDragLeaveTimeout.dispose(), (this.onDragLeaveTimeout = (0, v.Vg)( () => this.clearDragOverFeedback(), 100 )); } onDrop(e) { if (!this.canDrop) return; const t = this.currentDragData; this.teardownDragAndDropScrollTopAnimation(), this.clearDragOverFeedback(), (this.currentDragData = void 0), (b.P$.CurrentDragAndDropData = void 0), t && e.browserEvent.dataTransfer && (e.browserEvent.preventDefault(), t.update(e.browserEvent.dataTransfer), this.dnd.drop(t, e.element, e.index, e.browserEvent)); } onDragEnd(e) { (this.canDrop = !1), this.teardownDragAndDropScrollTopAnimation(), this.clearDragOverFeedback(), (this.currentDragData = void 0), (b.P$.CurrentDragAndDropData = void 0), this.dnd.onDragEnd && this.dnd.onDragEnd(e); } clearDragOverFeedback() { (this.currentDragFeedback = void 0), this.currentDragFeedbackDisposable.dispose(), (this.currentDragFeedbackDisposable = r.JT.None); } setupDragAndDropScrollTopAnimation(e) { if (!this.dragOverAnimationDisposable) { const e = o.xQ(this.domNode).top; this.dragOverAnimationDisposable = o.jt( this.animateDragAndDropScrollTop.bind(this, e) ); } this.dragOverAnimationStopDisposable.dispose(), (this.dragOverAnimationStopDisposable = (0, v.Vg)(() => { this.dragOverAnimationDisposable && (this.dragOverAnimationDisposable.dispose(), (this.dragOverAnimationDisposable = void 0)); }, 1e3)), (this.dragOverMouseY = e.pageY); } animateDragAndDropScrollTop(e) { if (void 0 === this.dragOverMouseY) return; const t = this.dragOverMouseY - e, i = this.renderHeight - 35; t < 35 ? (this.scrollTop += Math.max(-14, Math.floor(0.3 * (t - 35)))) : t > i && (this.scrollTop += Math.min(14, Math.floor(0.3 * (t - i)))); } teardownDragAndDropScrollTopAnimation() { this.dragOverAnimationStopDisposable.dispose(), this.dragOverAnimationDisposable && (this.dragOverAnimationDisposable.dispose(), (this.dragOverAnimationDisposable = void 0)); } getItemIndexFromEventTarget(e) { const t = this.scrollableElement.getDomNode(); let i = e; for ( ; i instanceof HTMLElement && i !== this.rowsContainer && t.contains(i); ) { const e = i.getAttribute('data-index'); if (e) { const t = Number(e); if (!isNaN(t)) return t; } i = i.parentElement; } } getRenderRange(e, t) { return { start: this.rangeMap.indexAt(e), end: this.rangeMap.indexAfter(e + t - 1), }; } _rerender(e, t) { const i = this.getRenderRange(e, t); let n, r; e === this.elementTop(i.start) ? ((n = i.start), (r = 0)) : i.end - i.start > 1 && ((n = i.start + 1), (r = this.elementTop(n) - e)); let s = 0; for (;;) { const o = this.getRenderRange(e, t); let a = !1; for (let e = o.start; e < o.end; e++) { const t = this.probeDynamicHeight(e); 0 !== t && this.rangeMap.splice(e, 1, [this.items[e]]), (s += t), (a = a || 0 !== t); } if (!a) { 0 !== s && this.eventuallyUpdateScrollDimensions(); const e = h.e.relativeComplement(i, o); for (const t of e) for (let e = t.start; e < t.end; e++) this.items[e].row && this.removeItemFromDOM(e); const t = h.e.relativeComplement(o, i); for (const e of t) for (let t = e.start; t < e.end; t++) { const e = t + 1, i = e < this.items.length ? this.items[e].row : null, n = i ? i.domNode : null; this.insertItemInDOM(t, n); } for (let e = o.start; e < o.end; e++) this.items[e].row && this.updateItemInDOM(this.items[e], e); return ( 'number' == typeof n && (this.scrollTop = this.elementTop(n) - r), void this._onDidChangeContentHeight.fire(this.contentHeight) ); } } } probeDynamicHeight(e) { const t = this.items[e]; if ( !t.hasDynamicHeight || t.lastDynamicHeightWidth === this.renderWidth ) return 0; if ( this.virtualDelegate.hasDynamicHeight && !this.virtualDelegate.hasDynamicHeight(t.element) ) return 0; const i = t.size; if (!this.setRowHeight && t.row && t.row.domNode) { let e = t.row.domNode.offsetHeight; return ( (t.size = e), (t.lastDynamicHeightWidth = this.renderWidth), e - i ); } const n = this.cache.alloc(t.templateId); (n.domNode.style.height = ''), this.rowsContainer.appendChild(n.domNode); const r = this.renderers.get(t.templateId); return ( r && (r.renderElement(t.element, e, n.templateData, void 0), r.disposeElement && r.disposeElement(t.element, e, n.templateData, void 0)), (t.size = n.domNode.offsetHeight), this.virtualDelegate.setDynamicHeight && this.virtualDelegate.setDynamicHeight(t.element, t.size), (t.lastDynamicHeightWidth = this.renderWidth), this.rowsContainer.removeChild(n.domNode), this.cache.release(n), t.size - i ); } getNextToLastElement(e) { const t = e[e.length - 1]; if (!t) return null; const i = this.items[t.end]; return i && i.row ? i.row.domNode : null; } getElementDomId(e) { return `${this.domId}_${e}`; } dispose() { if (this.items) { for (const e of this.items) if (e.row) { const t = this.renderers.get(e.row.templateId); t && t.disposeTemplate(e.row.templateData); } this.items = []; } this.domNode && this.domNode.parentNode && this.domNode.parentNode.removeChild(this.domNode), (0, r.B9)(this.disposables); } } (M.InstanceCount = 0), w([m.H], M.prototype, 'onMouseClick', null), w([m.H], M.prototype, 'onMouseDblClick', null), w([m.H], M.prototype, 'onMouseMiddleClick', null), w([m.H], M.prototype, 'onMouseDown', null), w([m.H], M.prototype, 'onContextMenu', null), w([m.H], M.prototype, 'onTouchStart', null), w([m.H], M.prototype, 'onTap', null); }, 43799: (e, t, i) => { 'use strict'; i.d(t, { WK: () => E, wD: () => F, aV: () => U, sx: () => P, cK: () => M, hD: () => D, wn: () => A, Zo: () => O, }); var n = i(5976), r = i(98401), s = i(9488), o = i(49898), a = i(65321), l = i(1432), c = i(10553), d = i(59069), h = i(4669), u = i(4850); class g extends Error { constructor(e, t) { super(`ListError [${e}] ${t}`); } } var f = i(25707), p = i(41264), m = i(36248); class _ { constructor(e) { this.spliceables = e; } splice(e, t, i) { this.spliceables.forEach((n) => n.splice(e, t, i)); } } var b, v = i(59870), y = i(75392), w = i(85152), C = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }; class S { constructor(e) { (this.trait = e), (this.renderedElements = []); } get templateId() { return `template:${this.trait.trait}`; } renderTemplate(e) { return e; } renderElement(e, t, i) { const n = (0, s.Zr)( this.renderedElements, (e) => e.templateData === i ); if (n >= 0) { const e = this.renderedElements[n]; this.trait.unrender(i), (e.index = t); } else { const e = { index: t, templateData: i }; this.renderedElements.push(e); } this.trait.renderIndex(t, i); } splice(e, t, i) { const n = []; for (const r of this.renderedElements) r.index < e ? n.push(r) : r.index >= e + t && n.push({ index: r.index + i - t, templateData: r.templateData, }); this.renderedElements = n; } renderIndexes(e) { for (const { index: t, templateData: i } of this.renderedElements) e.indexOf(t) > -1 && this.trait.renderIndex(t, i); } disposeTemplate(e) { const t = (0, s.Zr)( this.renderedElements, (t) => t.templateData === e ); t < 0 || this.renderedElements.splice(t, 1); } } class k { constructor(e) { (this._trait = e), (this.indexes = []), (this.sortedIndexes = []), (this._onChange = new h.Q5()), (this.onChange = this._onChange.event); } get trait() { return this._trait; } get renderer() { return new S(this); } splice(e, t, i) { const n = i.length - t, r = e + t, s = [ ...this.sortedIndexes.filter((t) => t < e), ...i.map((t, i) => (t ? i + e : -1)).filter((e) => -1 !== e), ...this.sortedIndexes.filter((e) => e >= r).map((e) => e + n), ]; this.renderer.splice(e, t, i.length), this._set(s, s); } renderIndex(e, t) { a.og(t, this._trait, this.contains(e)); } unrender(e) { a.IV(e, this._trait); } set(e, t) { return this._set(e, [...e].sort(H), t); } _set(e, t, i) { const n = this.indexes, r = this.sortedIndexes; (this.indexes = e), (this.sortedIndexes = t); const s = Y(r, e); return ( this.renderer.renderIndexes(s), this._onChange.fire({ indexes: e, browserEvent: i }), n ); } get() { return this.indexes; } contains(e) { return (0, s.ry)(this.sortedIndexes, e, H) >= 0; } dispose() { (0, n.B9)(this._onChange); } } C([o.H], k.prototype, 'renderer', null); class x extends k { constructor(e) { super('selected'), (this.setAriaSelected = e); } renderIndex(e, t) { super.renderIndex(e, t), this.setAriaSelected && (this.contains(e) ? t.setAttribute('aria-selected', 'true') : t.setAttribute('aria-selected', 'false')); } } class L { constructor(e, t, i) { (this.trait = e), (this.view = t), (this.identityProvider = i); } splice(e, t, i) { if (!this.identityProvider) return this.trait.splice( e, t, i.map(() => !1) ); const n = this.trait .get() .map((e) => this.identityProvider.getId(this.view.element(e)).toString() ), r = i.map( (e) => n.indexOf(this.identityProvider.getId(e).toString()) > -1 ); this.trait.splice(e, t, r); } } function M(e) { return 'INPUT' === e.tagName || 'TEXTAREA' === e.tagName; } function D(e) { return ( !!a.pv(e, 'monaco-editor') || (!a.pv(e, 'monaco-list') && !!e.parentElement && D(e.parentElement)) ); } class N { constructor(e, t, i) { (this.list = e), (this.view = t), (this.disposables = new n.SL()); const r = !1 !== i.multipleSelectionSupport, s = h.ju .chain((0, u.j)(t.domNode, 'keydown')) .filter((e) => !M(e.target)) .map((e) => new d.y(e)); s .filter((e) => 3 === e.keyCode) .on(this.onEnter, this, this.disposables), s .filter((e) => 16 === e.keyCode) .on(this.onUpArrow, this, this.disposables), s .filter((e) => 18 === e.keyCode) .on(this.onDownArrow, this, this.disposables), s .filter((e) => 11 === e.keyCode) .on(this.onPageUpArrow, this, this.disposables), s .filter((e) => 12 === e.keyCode) .on(this.onPageDownArrow, this, this.disposables), s .filter((e) => 9 === e.keyCode) .on(this.onEscape, this, this.disposables), r && s .filter( (e) => (l.dz ? e.metaKey : e.ctrlKey) && 31 === e.keyCode ) .on(this.onCtrlA, this, this.disposables); } onEnter(e) { e.preventDefault(), e.stopPropagation(), this.list.setSelection(this.list.getFocus(), e.browserEvent); } onUpArrow(e) { e.preventDefault(), e.stopPropagation(), this.list.focusPrevious(1, !1, e.browserEvent), this.list.reveal(this.list.getFocus()[0]), this.view.domNode.focus(); } onDownArrow(e) { e.preventDefault(), e.stopPropagation(), this.list.focusNext(1, !1, e.browserEvent), this.list.reveal(this.list.getFocus()[0]), this.view.domNode.focus(); } onPageUpArrow(e) { e.preventDefault(), e.stopPropagation(), this.list.focusPreviousPage(e.browserEvent), this.list.reveal(this.list.getFocus()[0]), this.view.domNode.focus(); } onPageDownArrow(e) { e.preventDefault(), e.stopPropagation(), this.list.focusNextPage(e.browserEvent), this.list.reveal(this.list.getFocus()[0]), this.view.domNode.focus(); } onCtrlA(e) { e.preventDefault(), e.stopPropagation(), this.list.setSelection( (0, s.w6)(this.list.length), e.browserEvent ), this.view.domNode.focus(); } onEscape(e) { e.preventDefault(), e.stopPropagation(), this.list.setSelection([], e.browserEvent), this.view.domNode.focus(); } dispose() { this.disposables.dispose(); } } !(function (e) { (e[(e.Idle = 0)] = 'Idle'), (e[(e.Typing = 1)] = 'Typing'); })(b || (b = {})); const E = new (class { mightProducePrintableCharacter(e) { return ( !(e.ctrlKey || e.metaKey || e.altKey) && ((e.keyCode >= 31 && e.keyCode <= 56) || (e.keyCode >= 21 && e.keyCode <= 30) || (e.keyCode >= 93 && e.keyCode <= 102) || (e.keyCode >= 80 && e.keyCode <= 90)) ); } })(); class T { constructor(e, t, i, r) { (this.list = e), (this.view = t), (this.keyboardNavigationLabelProvider = i), (this.delegate = r), (this.enabled = !1), (this.state = b.Idle), (this.automaticKeyboardNavigation = !0), (this.triggered = !1), (this.previouslyFocused = -1), (this.enabledDisposables = new n.SL()), (this.disposables = new n.SL()), this.updateOptions(e.options); } updateOptions(e) { void 0 === e.enableKeyboardNavigation || e.enableKeyboardNavigation ? this.enable() : this.disable(), void 0 !== e.automaticKeyboardNavigation && (this.automaticKeyboardNavigation = e.automaticKeyboardNavigation); } enable() { if (this.enabled) return; const e = h.ju .chain((0, u.j)(this.view.domNode, 'keydown')) .filter((e) => !M(e.target)) .filter( () => this.automaticKeyboardNavigation || this.triggered ) .map((e) => new d.y(e)) .filter((e) => this.delegate.mightProducePrintableCharacter(e)) .forEach((e) => { e.stopPropagation(), e.preventDefault(); }) .map((e) => e.browserEvent.key).event, t = h.ju.debounce(e, () => null, 800); h.ju.reduce(h.ju.any(e, t), (e, t) => null === t ? null : (e || '') + t )(this.onInput, this, this.enabledDisposables), t(this.onClear, this, this.enabledDisposables), (this.enabled = !0), (this.triggered = !1); } disable() { this.enabled && (this.enabledDisposables.clear(), (this.enabled = !1), (this.triggered = !1)); } onClear() { var e; const t = this.list.getFocus(); if (t.length > 0 && t[0] === this.previouslyFocused) { const i = null === (e = this.list.options.accessibilityProvider) || void 0 === e ? void 0 : e.getAriaLabel(this.list.element(t[0])); i && (0, w.Z9)(i); } this.previouslyFocused = -1; } onInput(e) { if (!e) return (this.state = b.Idle), void (this.triggered = !1); const t = this.list.getFocus(), i = t.length > 0 ? t[0] : 0, n = this.state === b.Idle ? 1 : 0; this.state = b.Typing; for (let t = 0; t < this.list.length; t++) { const r = (i + t + n) % this.list.length, s = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( this.view.element(r) ), o = s && s.toString(); if (void 0 === o || (0, y.Ji)(e, o)) return ( (this.previouslyFocused = i), this.list.setFocus([r]), void this.list.reveal(r) ); } } dispose() { this.disable(), this.enabledDisposables.dispose(), this.disposables.dispose(); } } class I { constructor(e, t) { (this.list = e), (this.view = t), (this.disposables = new n.SL()), h.ju .chain((0, u.j)(t.domNode, 'keydown')) .filter((e) => !M(e.target)) .map((e) => new d.y(e)) .filter( (e) => !( 2 !== e.keyCode || e.ctrlKey || e.metaKey || e.shiftKey || e.altKey ) ) .on(this.onTab, this, this.disposables); } onTab(e) { if (e.target !== this.view.domNode) return; const t = this.list.getFocus(); if (0 === t.length) return; const i = this.view.domElement(t[0]); if (!i) return; const n = i.querySelector('[tabIndex]'); if (!(n && n instanceof HTMLElement && -1 !== n.tabIndex)) return; const r = window.getComputedStyle(n); 'hidden' !== r.visibility && 'none' !== r.display && (e.preventDefault(), e.stopPropagation(), n.focus()); } dispose() { this.disposables.dispose(); } } function O(e) { return l.dz ? e.browserEvent.metaKey : e.browserEvent.ctrlKey; } function A(e) { return e.browserEvent.shiftKey; } const R = { isSelectionSingleChangeEvent: O, isSelectionRangeChangeEvent: A, }; class P { constructor(e) { (this.list = e), (this.disposables = new n.SL()), (this._onPointer = new h.Q5()), (this.onPointer = this._onPointer.event), (this.multipleSelectionSupport = !( !1 === e.options.multipleSelectionSupport )), this.multipleSelectionSupport && (this.multipleSelectionController = e.options.multipleSelectionController || R), (this.mouseSupport = void 0 === e.options.mouseSupport || !!e.options.mouseSupport), this.mouseSupport && (e.onMouseDown(this.onMouseDown, this, this.disposables), e.onContextMenu(this.onContextMenu, this, this.disposables), e.onMouseDblClick(this.onDoubleClick, this, this.disposables), e.onTouchStart(this.onMouseDown, this, this.disposables), this.disposables.add(c.o.addTarget(e.getHTMLElement()))), h.ju.any(e.onMouseClick, e.onMouseMiddleClick, e.onTap)( this.onViewPointer, this, this.disposables ); } isSelectionSingleChangeEvent(e) { return this.multipleSelectionController ? this.multipleSelectionController.isSelectionSingleChangeEvent(e) : l.dz ? e.browserEvent.metaKey : e.browserEvent.ctrlKey; } isSelectionRangeChangeEvent(e) { return this.multipleSelectionController ? this.multipleSelectionController.isSelectionRangeChangeEvent(e) : e.browserEvent.shiftKey; } isSelectionChangeEvent(e) { return ( this.isSelectionSingleChangeEvent(e) || this.isSelectionRangeChangeEvent(e) ); } onMouseDown(e) { D(e.browserEvent.target) || (document.activeElement !== e.browserEvent.target && this.list.domFocus()); } onContextMenu(e) { if (D(e.browserEvent.target)) return; const t = void 0 === e.index ? [] : [e.index]; this.list.setFocus(t, e.browserEvent); } onViewPointer(e) { if (!this.mouseSupport) return; if (M(e.browserEvent.target) || D(e.browserEvent.target)) return; let t = this.list.getFocus()[0]; const i = this.list.getSelection(); t = void 0 === t ? i[0] : t; const n = e.index; return void 0 === n ? (this.list.setFocus([], e.browserEvent), void this.list.setSelection([], e.browserEvent)) : (this.multipleSelectionSupport && this.isSelectionRangeChangeEvent(e)) || (this.multipleSelectionSupport && this.isSelectionChangeEvent(e)) ? this.changeSelection(e, t) : (this.list.setFocus([n], e.browserEvent), ((r = e.browserEvent) instanceof MouseEvent && 2 === r.button) || this.list.setSelection([n], e.browserEvent), void this._onPointer.fire(e)); var r; } onDoubleClick(e) { if (M(e.browserEvent.target) || D(e.browserEvent.target)) return; if (this.multipleSelectionSupport && this.isSelectionChangeEvent(e)) return; const t = this.list.getFocus(); this.list.setSelection(t, e.browserEvent); } changeSelection(e, t) { const i = e.index; if (this.isSelectionRangeChangeEvent(e) && void 0 !== t) { const n = Math.min(t, i), r = Math.max(t, i), o = (0, s.w6)(n, r + 1), a = this.list.getSelection(), l = (function (e, t) { const i = e.indexOf(t); if (-1 === i) return []; const n = []; let r = i - 1; for (; r >= 0 && e[r] === t - (i - r); ) n.push(e[r--]); for ( n.reverse(), r = i; r < e.length && e[r] === t + (r - i); ) n.push(e[r++]); return n; })(Y(a, [t]), t); if (0 === l.length) return; const c = Y( o, (function (e, t) { const i = []; let n = 0, r = 0; for (; n < e.length || r < t.length; ) if (n >= e.length) i.push(t[r++]); else if (r >= t.length) i.push(e[n++]); else { if (e[n] === t[r]) { n++, r++; continue; } e[n] < t[r] ? i.push(e[n++]) : r++; } return i; })(a, l) ); this.list.setSelection(c, e.browserEvent); } else if (this.isSelectionSingleChangeEvent(e)) { const t = this.list.getSelection(), n = t.filter((e) => e !== i); this.list.setFocus([i]), t.length === n.length ? this.list.setSelection([...n, i], e.browserEvent) : this.list.setSelection(n, e.browserEvent); } } dispose() { this.disposables.dispose(); } } class F { constructor(e, t) { (this.styleElement = e), (this.selectorSuffix = t); } style(e) { const t = this.selectorSuffix && `.${this.selectorSuffix}`, i = []; e.listBackground && (e.listBackground.isOpaque() ? i.push( `.monaco-list${t} .monaco-list-rows { background: ${e.listBackground}; }` ) : l.dz || console.warn( `List with id '${this.selectorSuffix}' was styled with a non-opaque background color. This will break sub-pixel antialiasing.` )), e.listFocusBackground && (i.push( `.monaco-list${t}:focus .monaco-list-row.focused { background-color: ${e.listFocusBackground}; }` ), i.push( `.monaco-list${t}:focus .monaco-list-row.focused:hover { background-color: ${e.listFocusBackground}; }` )), e.listFocusForeground && i.push( `.monaco-list${t}:focus .monaco-list-row.focused { color: ${e.listFocusForeground}; }` ), e.listActiveSelectionBackground && (i.push( `.monaco-list${t}:focus .monaco-list-row.selected { background-color: ${e.listActiveSelectionBackground}; }` ), i.push( `.monaco-list${t}:focus .monaco-list-row.selected:hover { background-color: ${e.listActiveSelectionBackground}; }` )), e.listActiveSelectionForeground && i.push( `.monaco-list${t}:focus .monaco-list-row.selected { color: ${e.listActiveSelectionForeground}; }` ), e.listFocusAndSelectionBackground && i.push( `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { background-color: ${e.listFocusAndSelectionBackground}; }\n\t\t\t` ), e.listFocusAndSelectionForeground && i.push( `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.selected.focused { color: ${e.listFocusAndSelectionForeground}; }\n\t\t\t` ), e.listInactiveFocusBackground && (i.push( `.monaco-list${t} .monaco-list-row.focused { background-color: ${e.listInactiveFocusBackground}; }` ), i.push( `.monaco-list${t} .monaco-list-row.focused:hover { background-color: ${e.listInactiveFocusBackground}; }` )), e.listInactiveSelectionBackground && (i.push( `.monaco-list${t} .monaco-list-row.selected { background-color: ${e.listInactiveSelectionBackground}; }` ), i.push( `.monaco-list${t} .monaco-list-row.selected:hover { background-color: ${e.listInactiveSelectionBackground}; }` )), e.listInactiveSelectionForeground && i.push( `.monaco-list${t} .monaco-list-row.selected { color: ${e.listInactiveSelectionForeground}; }` ), e.listHoverBackground && i.push( `.monaco-list${t}:not(.drop-target) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${e.listHoverBackground}; }` ), e.listHoverForeground && i.push( `.monaco-list${t} .monaco-list-row:hover:not(.selected):not(.focused) { color: ${e.listHoverForeground}; }` ), e.listSelectionOutline && i.push( `.monaco-list${t} .monaco-list-row.selected { outline: 1px dotted ${e.listSelectionOutline}; outline-offset: -1px; }` ), e.listFocusOutline && i.push( `\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${t}:focus .monaco-list-row.focused { outline: 1px solid ${e.listFocusOutline}; outline-offset: -1px; }\n\t\t\t` ), e.listInactiveFocusOutline && i.push( `.monaco-list${t} .monaco-list-row.focused { outline: 1px dotted ${e.listInactiveFocusOutline}; outline-offset: -1px; }` ), e.listHoverOutline && i.push( `.monaco-list${t} .monaco-list-row:hover { outline: 1px dashed ${e.listHoverOutline}; outline-offset: -1px; }` ), e.listDropBackground && i.push( `\n\t\t\t\t.monaco-list${t}.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${t} .monaco-list-row.drop-target { background-color: ${e.listDropBackground} !important; color: inherit !important; }\n\t\t\t` ), e.listFilterWidgetBackground && i.push( `.monaco-list-type-filter { background-color: ${e.listFilterWidgetBackground} }` ), e.listFilterWidgetOutline && i.push( `.monaco-list-type-filter { border: 1px solid ${e.listFilterWidgetOutline}; }` ), e.listFilterWidgetNoMatchesOutline && i.push( `.monaco-list-type-filter.no-matches { border: 1px solid ${e.listFilterWidgetNoMatchesOutline}; }` ), e.listMatchesShadow && i.push( `.monaco-list-type-filter { box-shadow: 1px 1px 1px ${e.listMatchesShadow}; }` ); const n = i.join('\n'); n !== this.styleElement.innerHTML && (this.styleElement.innerHTML = n); } } const B = { listFocusBackground: p.Il.fromHex('#7FB0D0'), listActiveSelectionBackground: p.Il.fromHex('#0E639C'), listActiveSelectionForeground: p.Il.fromHex('#FFFFFF'), listFocusAndSelectionBackground: p.Il.fromHex('#094771'), listFocusAndSelectionForeground: p.Il.fromHex('#FFFFFF'), listInactiveSelectionBackground: p.Il.fromHex('#3F3F46'), listHoverBackground: p.Il.fromHex('#2A2D2E'), listDropBackground: p.Il.fromHex('#383B3D'), treeIndentGuidesStroke: p.Il.fromHex('#a9a9a9'), }, W = { keyboardSupport: !0, mouseSupport: !0, multipleSelectionSupport: !0, dnd: { getDragURI: () => null, onDragStart() {}, onDragOver: () => !1, drop() {}, }, }; function Y(e, t) { const i = []; let n = 0, r = 0; for (; n < e.length || r < t.length; ) if (n >= e.length) i.push(t[r++]); else if (r >= t.length) i.push(e[n++]); else { if (e[n] === t[r]) { i.push(e[n]), n++, r++; continue; } e[n] < t[r] ? i.push(e[n++]) : i.push(t[r++]); } return i; } const H = (e, t) => e - t; class j { constructor(e, t) { (this._templateId = e), (this.renderers = t); } get templateId() { return this._templateId; } renderTemplate(e) { return this.renderers.map((t) => t.renderTemplate(e)); } renderElement(e, t, i, n) { let r = 0; for (const s of this.renderers) s.renderElement(e, t, i[r++], n); } disposeElement(e, t, i, n) { let r = 0; for (const s of this.renderers) s.disposeElement && s.disposeElement(e, t, i[r], n), (r += 1); } disposeTemplate(e) { let t = 0; for (const i of this.renderers) i.disposeTemplate(e[t++]); } } class V { constructor(e) { (this.accessibilityProvider = e), (this.templateId = 'a18n'); } renderTemplate(e) { return e; } renderElement(e, t, i) { const n = this.accessibilityProvider.getAriaLabel(e); n ? i.setAttribute('aria-label', n) : i.removeAttribute('aria-label'); const r = this.accessibilityProvider.getAriaLevel && this.accessibilityProvider.getAriaLevel(e); 'number' == typeof r ? i.setAttribute('aria-level', `${r}`) : i.removeAttribute('aria-level'); } disposeTemplate(e) {} } class z { constructor(e, t) { (this.list = e), (this.dnd = t); } getDragElements(e) { const t = this.list.getSelectedElements(); return t.indexOf(e) > -1 ? t : [e]; } getDragURI(e) { return this.dnd.getDragURI(e); } getDragLabel(e, t) { if (this.dnd.getDragLabel) return this.dnd.getDragLabel(e, t); } onDragStart(e, t) { this.dnd.onDragStart && this.dnd.onDragStart(e, t); } onDragOver(e, t, i, n) { return this.dnd.onDragOver(e, t, i, n); } onDragEnd(e) { this.dnd.onDragEnd && this.dnd.onDragEnd(e); } drop(e, t, i, n) { this.dnd.drop(e, t, i, n); } } class U { constructor(e, t, i, r, s = W) { var o; (this.user = e), (this._options = s), (this.eventBufferer = new h.E7()), (this._ariaLabel = ''), (this.disposables = new n.SL()), (this.didJustPressContextMenuKey = !1), (this._onDidDispose = new h.Q5()), (this.onDidDispose = this._onDidDispose.event); const l = this._options.accessibilityProvider && this._options.accessibilityProvider.getWidgetRole ? null === (o = this._options.accessibilityProvider) || void 0 === o ? void 0 : o.getWidgetRole() : 'list'; (this.selection = new x('listbox' !== l)), (this.focus = new k('focused')), (0, m.jB)(s, B, !1); const c = [this.focus.renderer, this.selection.renderer]; (this.accessibilityProvider = s.accessibilityProvider), this.accessibilityProvider && (c.push(new V(this.accessibilityProvider)), this.accessibilityProvider.onDidChangeActiveDescendant && this.accessibilityProvider.onDidChangeActiveDescendant( this.onDidChangeActiveDescendant, this, this.disposables )), (r = r.map((e) => new j(e.templateId, [...c, e]))); const d = Object.assign(Object.assign({}, s), { dnd: s.dnd && new z(this, s.dnd), }); if ( ((this.view = new f.Bv(t, i, r, d)), this.view.domNode.setAttribute('role', l), s.styleController) ) this.styleController = s.styleController(this.view.domId); else { const e = a.dS(this.view.domNode); this.styleController = new F(e, this.view.domId); } if ( ((this.spliceable = new _([ new L(this.focus, this.view, s.identityProvider), new L(this.selection, this.view, s.identityProvider), this.view, ])), this.disposables.add(this.focus), this.disposables.add(this.selection), this.disposables.add(this.view), this.disposables.add(this._onDidDispose), (this.onDidFocus = h.ju.map( (0, u.j)(this.view.domNode, 'focus', !0), () => null )), (this.onDidBlur = h.ju.map( (0, u.j)(this.view.domNode, 'blur', !0), () => null )), this.disposables.add(new I(this, this.view)), 'boolean' != typeof s.keyboardSupport || s.keyboardSupport) ) { const e = new N(this, this.view, s); this.disposables.add(e); } if (s.keyboardNavigationLabelProvider) { const e = s.keyboardNavigationDelegate || E; (this.typeLabelController = new T( this, this.view, s.keyboardNavigationLabelProvider, e )), this.disposables.add(this.typeLabelController); } (this.mouseController = this.createMouseController(s)), this.disposables.add(this.mouseController), this.onDidChangeFocus( this._onFocusChange, this, this.disposables ), this.onDidChangeSelection( this._onSelectionChange, this, this.disposables ), this.accessibilityProvider && (this.ariaLabel = this.accessibilityProvider.getWidgetAriaLabel()), s.multipleSelectionSupport && this.view.domNode.setAttribute('aria-multiselectable', 'true'); } get onDidChangeFocus() { return h.ju.map( this.eventBufferer.wrapEvent(this.focus.onChange), (e) => this.toListEvent(e) ); } get onDidChangeSelection() { return h.ju.map( this.eventBufferer.wrapEvent(this.selection.onChange), (e) => this.toListEvent(e) ); } get domId() { return this.view.domId; } get onMouseClick() { return this.view.onMouseClick; } get onMouseDblClick() { return this.view.onMouseDblClick; } get onMouseMiddleClick() { return this.view.onMouseMiddleClick; } get onPointer() { return this.mouseController.onPointer; } get onMouseDown() { return this.view.onMouseDown; } get onTouchStart() { return this.view.onTouchStart; } get onTap() { return this.view.onTap; } get onContextMenu() { const e = h.ju .chain((0, u.j)(this.view.domNode, 'keydown')) .map((e) => new d.y(e)) .filter( (e) => (this.didJustPressContextMenuKey = 58 === e.keyCode || (e.shiftKey && 68 === e.keyCode)) ) .filter((e) => (e.preventDefault(), e.stopPropagation(), !1)) .event, t = h.ju .chain((0, u.j)(this.view.domNode, 'keyup')) .filter(() => { const e = this.didJustPressContextMenuKey; return (this.didJustPressContextMenuKey = !1), e; }) .filter( () => this.getFocus().length > 0 && !!this.view.domElement(this.getFocus()[0]) ) .map((e) => { const t = this.getFocus()[0]; return { index: t, element: this.view.element(t), anchor: this.view.domElement(t), browserEvent: e, }; }).event, i = h.ju .chain(this.view.onContextMenu) .filter(() => !this.didJustPressContextMenuKey) .map(({ element: e, index: t, browserEvent: i }) => ({ element: e, index: t, anchor: { x: i.clientX + 1, y: i.clientY }, browserEvent: i, })).event; return h.ju.any(e, t, i); } get onKeyDown() { return (0, u.j)(this.view.domNode, 'keydown'); } createMouseController(e) { return new P(this); } updateOptions(e = {}) { (this._options = Object.assign( Object.assign({}, this._options), e )), this.typeLabelController && this.typeLabelController.updateOptions(this._options), this.view.updateOptions(e); } get options() { return this._options; } splice(e, t, i = []) { if (e < 0 || e > this.view.length) throw new g(this.user, `Invalid start index: ${e}`); if (t < 0) throw new g(this.user, `Invalid delete count: ${t}`); (0 === t && 0 === i.length) || this.eventBufferer.bufferEvents(() => this.spliceable.splice(e, t, i) ); } rerender() { this.view.rerender(); } element(e) { return this.view.element(e); } get length() { return this.view.length; } get contentHeight() { return this.view.contentHeight; } get scrollTop() { return this.view.getScrollTop(); } set scrollTop(e) { this.view.setScrollTop(e); } get ariaLabel() { return this._ariaLabel; } set ariaLabel(e) { (this._ariaLabel = e), this.view.domNode.setAttribute('aria-label', e); } domFocus() { this.view.domNode.focus(); } layout(e, t) { this.view.layout(e, t); } setSelection(e, t) { for (const t of e) if (t < 0 || t >= this.length) throw new g(this.user, `Invalid index ${t}`); this.selection.set(e, t); } getSelection() { return this.selection.get(); } getSelectedElements() { return this.getSelection().map((e) => this.view.element(e)); } setFocus(e, t) { for (const t of e) if (t < 0 || t >= this.length) throw new g(this.user, `Invalid index ${t}`); this.focus.set(e, t); } focusNext(e = 1, t = !1, i, n) { if (0 === this.length) return; const r = this.focus.get(), s = this.findNextIndex(r.length > 0 ? r[0] + e : 0, t, n); s > -1 && this.setFocus([s], i); } focusPrevious(e = 1, t = !1, i, n) { if (0 === this.length) return; const r = this.focus.get(), s = this.findPreviousIndex(r.length > 0 ? r[0] - e : 0, t, n); s > -1 && this.setFocus([s], i); } focusNextPage(e, t) { let i = this.view.indexAt( this.view.getScrollTop() + this.view.renderHeight ); i = 0 === i ? 0 : i - 1; const n = this.view.element(i), r = this.getFocusedElements()[0]; if (r !== n) { const n = this.findPreviousIndex(i, !1, t); n > -1 && r !== this.view.element(n) ? this.setFocus([n], e) : this.setFocus([i], e); } else { const n = this.view.getScrollTop(); this.view.setScrollTop( n + this.view.renderHeight - this.view.elementHeight(i) ), this.view.getScrollTop() !== n && setTimeout(() => this.focusNextPage(e, t), 0); } } focusPreviousPage(e, t) { let i; const n = this.view.getScrollTop(); i = 0 === n ? this.view.indexAt(n) : this.view.indexAfter(n - 1); const r = this.view.element(i), s = this.getFocusedElements()[0]; if (s !== r) { const n = this.findNextIndex(i, !1, t); n > -1 && s !== this.view.element(n) ? this.setFocus([n], e) : this.setFocus([i], e); } else { const i = n; this.view.setScrollTop(n - this.view.renderHeight), this.view.getScrollTop() !== i && setTimeout(() => this.focusPreviousPage(e, t), 0); } } focusLast(e, t) { if (0 === this.length) return; const i = this.findPreviousIndex(this.length - 1, !1, t); i > -1 && this.setFocus([i], e); } focusFirst(e, t) { this.focusNth(0, e, t); } focusNth(e, t, i) { if (0 === this.length) return; const n = this.findNextIndex(e, !1, i); n > -1 && this.setFocus([n], t); } findNextIndex(e, t = !1, i) { for (let n = 0; n < this.length; n++) { if (e >= this.length && !t) return -1; if (((e %= this.length), !i || i(this.element(e)))) return e; e++; } return -1; } findPreviousIndex(e, t = !1, i) { for (let n = 0; n < this.length; n++) { if (e < 0 && !t) return -1; if ( ((e = (this.length + (e % this.length)) % this.length), !i || i(this.element(e))) ) return e; e--; } return -1; } getFocus() { return this.focus.get(); } getFocusedElements() { return this.getFocus().map((e) => this.view.element(e)); } reveal(e, t) { if (e < 0 || e >= this.length) throw new g(this.user, `Invalid index ${e}`); const i = this.view.getScrollTop(), n = this.view.elementTop(e), s = this.view.elementHeight(e); if ((0, r.hj)(t)) { const e = s - this.view.renderHeight; this.view.setScrollTop(e * (0, v.u)(t, 0, 1) + n); } else { const e = n + s, t = i + this.view.renderHeight; (n < i && e >= t) || (n < i ? this.view.setScrollTop(n) : e >= t && this.view.setScrollTop(e - this.view.renderHeight)); } } getRelativeTop(e) { if (e < 0 || e >= this.length) throw new g(this.user, `Invalid index ${e}`); const t = this.view.getScrollTop(), i = this.view.elementTop(e), n = this.view.elementHeight(e); if (i < t || i + n > t + this.view.renderHeight) return null; const r = n - this.view.renderHeight; return Math.abs((t - i) / r); } getHTMLElement() { return this.view.domNode; } style(e) { this.styleController.style(e); } toListEvent({ indexes: e, browserEvent: t }) { return { indexes: e, elements: e.map((e) => this.view.element(e)), browserEvent: t, }; } _onFocusChange() { const e = this.focus.get(); a.og(this.view.domNode, 'element-focused', e.length > 0), this.onDidChangeActiveDescendant(); } onDidChangeActiveDescendant() { var e; const t = this.focus.get(); if (t.length > 0) { let i; (null === (e = this.accessibilityProvider) || void 0 === e ? void 0 : e.getActiveDescendantId) && (i = this.accessibilityProvider.getActiveDescendantId( this.view.element(t[0]) )), this.view.domNode.setAttribute( 'aria-activedescendant', i || this.view.getElementDomId(t[0]) ); } else this.view.domNode.removeAttribute('aria-activedescendant'); } _onSelectionChange() { const e = this.selection.get(); a.og(this.view.domNode, 'selection-none', 0 === e.length), a.og(this.view.domNode, 'selection-single', 1 === e.length), a.og(this.view.domNode, 'selection-multiple', e.length > 1); } dispose() { this._onDidDispose.fire(), this.disposables.dispose(), this._onDidDispose.dispose(); } } C([o.H], U.prototype, 'onDidChangeFocus', null), C([o.H], U.prototype, 'onDidChangeSelection', null), C([o.H], U.prototype, 'onContextMenu', null); }, 96542: (e, t, i) => { 'use strict'; i.d(t, { S: () => n }); const n = 'monaco-mouse-cursor-text'; }, 73098: (e, t, i) => { 'use strict'; i.d(t, { g: () => u }); var n = i(5976), r = i(1432), s = i(98401), o = i(10553), a = i(23938), l = i(4669), c = i(65321), d = i(4850); const h = new l.Q5(); class u extends n.JT { constructor(e, t, i) { super(), (this._state = 3), (this._onDidEnablementChange = this._register(new l.Q5())), (this.onDidEnablementChange = this._onDidEnablementChange.event), (this._onDidStart = this._register(new l.Q5())), (this.onDidStart = this._onDidStart.event), (this._onDidChange = this._register(new l.Q5())), (this.onDidChange = this._onDidChange.event), (this._onDidReset = this._register(new l.Q5())), (this.onDidReset = this._onDidReset.event), (this._onDidEnd = this._register(new l.Q5())), (this.onDidEnd = this._onDidEnd.event), (this.linkedSash = void 0), (this.orthogonalStartSashDisposables = this._register( new n.SL() )), (this.orthogonalEndSashDisposables = this._register(new n.SL())), (this.el = (0, c.R3)(e, (0, c.$)('.monaco-sash'))), r.dz && (0, c.cn)(this.el, 'mac'), this._register( (0, d.j)(this.el, 'mousedown')(this.onMouseDown, this) ), this._register( (0, d.j)(this.el, 'dblclick')(this.onMouseDoubleClick, this) ), this._register(o.o.addTarget(this.el)), this._register( (0, d.j)(this.el, o.t.Start)(this.onTouchStart, this) ), 'number' == typeof i.size ? ((this.size = i.size), 0 === i.orientation ? (this.el.style.width = `${this.size}px`) : (this.el.style.height = `${this.size}px`)) : ((this.size = 4), this._register( h.event((e) => { (this.size = e), this.layout(); }) )), (this.hidden = !1), (this.layoutProvider = t), (this.orthogonalStartSash = i.orthogonalStartSash), (this.orthogonalEndSash = i.orthogonalEndSash), (this.orientation = i.orientation || 0), 1 === this.orientation ? ((0, c.cn)(this.el, 'horizontal'), (0, c.IV)(this.el, 'vertical')) : ((0, c.IV)(this.el, 'horizontal'), (0, c.cn)(this.el, 'vertical')), (0, c.og)(this.el, 'debug', !1), this.layout(); } get state() { return this._state; } set state(e) { this._state !== e && ((0, c.og)(this.el, 'disabled', 0 === e), (0, c.og)(this.el, 'minimum', 1 === e), (0, c.og)(this.el, 'maximum', 2 === e), (this._state = e), this._onDidEnablementChange.fire(e)); } get orthogonalStartSash() { return this._orthogonalStartSash; } set orthogonalStartSash(e) { this.orthogonalStartSashDisposables.clear(), e ? (this.orthogonalStartSashDisposables.add( e.onDidEnablementChange( this.onOrthogonalStartSashEnablementChange, this ) ), this.onOrthogonalStartSashEnablementChange(e.state)) : this.onOrthogonalStartSashEnablementChange(0), (this._orthogonalStartSash = e); } get orthogonalEndSash() { return this._orthogonalEndSash; } set orthogonalEndSash(e) { this.orthogonalEndSashDisposables.clear(), e ? (this.orthogonalEndSashDisposables.add( e.onDidEnablementChange( this.onOrthogonalEndSashEnablementChange, this ) ), this.onOrthogonalEndSashEnablementChange(e.state)) : this.onOrthogonalEndSashEnablementChange(0), (this._orthogonalEndSash = e); } onMouseDown(e) { c.zB.stop(e, !1); let t = !1; if (!e.__orthogonalSashEvent) { const i = this.getOrthogonalSash(e); i && ((t = !0), (e.__orthogonalSashEvent = !0), i.onMouseDown(e)); } if ( (this.linkedSash && !e.__linkedSashEvent && ((e.__linkedSashEvent = !0), this.linkedSash.onMouseDown(e)), !this.state) ) return; const i = [...(0, c.H$)('iframe'), ...(0, c.H$)('webview')]; for (const e of i) e.style.pointerEvents = 'none'; const s = new a.n(e), o = s.posx, l = s.posy, h = s.altKey, u = { startX: o, currentX: o, startY: l, currentY: l, altKey: h }; (0, c.cn)(this.el, 'active'), this._onDidStart.fire(u); const g = (0, c.dS)(this.el), f = () => { let e = ''; (e = t ? 'all-scroll' : 1 === this.orientation ? 1 === this.state ? 's-resize' : 2 === this.state ? 'n-resize' : r.dz ? 'row-resize' : 'ns-resize' : 1 === this.state ? 'e-resize' : 2 === this.state ? 'w-resize' : r.dz ? 'col-resize' : 'ew-resize'), (g.innerHTML = `* { cursor: ${e} !important; }`); }, p = new n.SL(); f(), t || this.onDidEnablementChange(f, null, p), (0, d.j)(window, 'mousemove')( (e) => { c.zB.stop(e, !1); const t = new a.n(e), i = { startX: o, currentX: t.posx, startY: l, currentY: t.posy, altKey: h, }; this._onDidChange.fire(i); }, null, p ), (0, d.j)(window, 'mouseup')( (e) => { c.zB.stop(e, !1), this.el.removeChild(g), (0, c.IV)(this.el, 'active'), this._onDidEnd.fire(), p.dispose(); for (const e of i) e.style.pointerEvents = 'auto'; }, null, p ); } onMouseDoubleClick(e) { const t = this.getOrthogonalSash(e); t && t._onDidReset.fire(), this.linkedSash && this.linkedSash._onDidReset.fire(), this._onDidReset.fire(); } onTouchStart(e) { c.zB.stop(e); const t = [], i = e.pageX, r = e.pageY, a = e.altKey; this._onDidStart.fire({ startX: i, currentX: i, startY: r, currentY: r, altKey: a, }), t.push( (0, c.nm)(this.el, o.t.Change, (e) => { s.hj(e.pageX) && s.hj(e.pageY) && this._onDidChange.fire({ startX: i, currentX: e.pageX, startY: r, currentY: e.pageY, altKey: a, }); }) ), t.push( (0, c.nm)(this.el, o.t.End, (e) => { this._onDidEnd.fire(), (0, n.B9)(t); }) ); } layout() { if (0 === this.orientation) { const e = this.layoutProvider; (this.el.style.left = e.getVerticalSashLeft(this) - this.size / 2 + 'px'), e.getVerticalSashTop && (this.el.style.top = e.getVerticalSashTop(this) + 'px'), e.getVerticalSashHeight && (this.el.style.height = e.getVerticalSashHeight(this) + 'px'); } else { const e = this.layoutProvider; (this.el.style.top = e.getHorizontalSashTop(this) - this.size / 2 + 'px'), e.getHorizontalSashLeft && (this.el.style.left = e.getHorizontalSashLeft(this) + 'px'), e.getHorizontalSashWidth && (this.el.style.width = e.getHorizontalSashWidth(this) + 'px'); } } hide() { (this.hidden = !0), (this.el.style.display = 'none'), this.el.setAttribute('aria-hidden', 'true'); } onOrthogonalStartSashEnablementChange(e) { (0, c.og)(this.el, 'orthogonal-start', 0 !== e); } onOrthogonalEndSashEnablementChange(e) { (0, c.og)(this.el, 'orthogonal-end', 0 !== e); } getOrthogonalSash(e) { if (0 === this.orientation) { if (e.offsetY <= this.size) return this.orthogonalStartSash; if (e.offsetY >= this.el.clientHeight - this.size) return this.orthogonalEndSash; } else { if (e.offsetX <= this.size) return this.orthogonalStartSash; if (e.offsetX >= this.el.clientWidth - this.size) return this.orthogonalEndSash; } } dispose() { super.dispose(), this.el.remove(); } } }, 9802: (e, t, i) => { 'use strict'; i.d(t, { s$: () => E, NB: () => D, $Z: () => N }); var n = i(65321), r = i(38626), s = i(23938), o = i(57974), a = i(93794), l = i(15393); class c extends a.$ { constructor(e) { super(), (this._onActivate = e.onActivate), (this.bgDomNode = document.createElement('div')), (this.bgDomNode.className = 'arrow-background'), (this.bgDomNode.style.position = 'absolute'), (this.bgDomNode.style.width = e.bgWidth + 'px'), (this.bgDomNode.style.height = e.bgHeight + 'px'), void 0 !== e.top && (this.bgDomNode.style.top = '0px'), void 0 !== e.left && (this.bgDomNode.style.left = '0px'), void 0 !== e.bottom && (this.bgDomNode.style.bottom = '0px'), void 0 !== e.right && (this.bgDomNode.style.right = '0px'), (this.domNode = document.createElement('div')), (this.domNode.className = e.className), (0, n.PT)(this.domNode, e.icon.classNames), (this.domNode.style.position = 'absolute'), (this.domNode.style.width = '11px'), (this.domNode.style.height = '11px'), void 0 !== e.top && (this.domNode.style.top = e.top + 'px'), void 0 !== e.left && (this.domNode.style.left = e.left + 'px'), void 0 !== e.bottom && (this.domNode.style.bottom = e.bottom + 'px'), void 0 !== e.right && (this.domNode.style.right = e.right + 'px'), (this._mouseMoveMonitor = this._register(new o.Z())), this.onmousedown(this.bgDomNode, (e) => this._arrowMouseDown(e)), this.onmousedown(this.domNode, (e) => this._arrowMouseDown(e)), (this._mousedownRepeatTimer = this._register(new l.zh())), (this._mousedownScheduleRepeatTimer = this._register(new l._F())); } _arrowMouseDown(e) { this._onActivate(), this._mousedownRepeatTimer.cancel(), this._mousedownScheduleRepeatTimer.cancelAndSet(() => { this._mousedownRepeatTimer.cancelAndSet( () => this._onActivate(), 1e3 / 24 ); }, 200), this._mouseMoveMonitor.startMonitoring( e.target, e.buttons, o.e, (e) => {}, () => { this._mousedownRepeatTimer.cancel(), this._mousedownScheduleRepeatTimer.cancel(); } ), e.preventDefault(); } } var d = i(5976); class h extends d.JT { constructor(e, t, i) { super(), (this._visibility = e), (this._visibleClassName = t), (this._invisibleClassName = i), (this._domNode = null), (this._isVisible = !1), (this._isNeeded = !1), (this._shouldBeVisible = !1), (this._revealTimer = this._register(new l._F())); } applyVisibilitySetting(e) { return 2 !== this._visibility && (3 === this._visibility || e); } setShouldBeVisible(e) { let t = this.applyVisibilitySetting(e); this._shouldBeVisible !== t && ((this._shouldBeVisible = t), this.ensureVisibility()); } setIsNeeded(e) { this._isNeeded !== e && ((this._isNeeded = e), this.ensureVisibility()); } setDomNode(e) { (this._domNode = e), this._domNode.setClassName(this._invisibleClassName), this.setShouldBeVisible(!1); } ensureVisibility() { this._isNeeded ? this._shouldBeVisible ? this._reveal() : this._hide(!0) : this._hide(!1); } _reveal() { this._isVisible || ((this._isVisible = !0), this._revealTimer.setIfNotSet(() => { this._domNode && this._domNode.setClassName(this._visibleClassName); }, 0)); } _hide(e) { this._revealTimer.cancel(), this._isVisible && ((this._isVisible = !1), this._domNode && this._domNode.setClassName( this._invisibleClassName + (e ? ' fade' : '') )); } } var u = i(1432); class g extends a.$ { constructor(e) { super(), (this._lazyRender = e.lazyRender), (this._host = e.host), (this._scrollable = e.scrollable), (this._scrollbarState = e.scrollbarState), (this._visibilityController = this._register( new h( e.visibility, 'visible scrollbar ' + e.extraScrollbarClassName, 'invisible scrollbar ' + e.extraScrollbarClassName ) )), this._visibilityController.setIsNeeded( this._scrollbarState.isNeeded() ), (this._mouseMoveMonitor = this._register(new o.Z())), (this._shouldRender = !0), (this.domNode = (0, r.X)(document.createElement('div'))), this.domNode.setAttribute('role', 'presentation'), this.domNode.setAttribute('aria-hidden', 'true'), this._visibilityController.setDomNode(this.domNode), this.domNode.setPosition('absolute'), this.onmousedown(this.domNode.domNode, (e) => this._domNodeMouseDown(e) ); } _createArrow(e) { let t = this._register(new c(e)); this.domNode.domNode.appendChild(t.bgDomNode), this.domNode.domNode.appendChild(t.domNode); } _createSlider(e, t, i, n) { (this.slider = (0, r.X)(document.createElement('div'))), this.slider.setClassName('slider'), this.slider.setPosition('absolute'), this.slider.setTop(e), this.slider.setLeft(t), 'number' == typeof i && this.slider.setWidth(i), 'number' == typeof n && this.slider.setHeight(n), this.slider.setLayerHinting(!0), this.slider.setContain('strict'), this.domNode.domNode.appendChild(this.slider.domNode), this.onmousedown(this.slider.domNode, (e) => { e.leftButton && (e.preventDefault(), this._sliderMouseDown(e, () => {})); }), this.onclick(this.slider.domNode, (e) => { e.leftButton && e.stopPropagation(); }); } _onElementSize(e) { return ( this._scrollbarState.setVisibleSize(e) && (this._visibilityController.setIsNeeded( this._scrollbarState.isNeeded() ), (this._shouldRender = !0), this._lazyRender || this.render()), this._shouldRender ); } _onElementScrollSize(e) { return ( this._scrollbarState.setScrollSize(e) && (this._visibilityController.setIsNeeded( this._scrollbarState.isNeeded() ), (this._shouldRender = !0), this._lazyRender || this.render()), this._shouldRender ); } _onElementScrollPosition(e) { return ( this._scrollbarState.setScrollPosition(e) && (this._visibilityController.setIsNeeded( this._scrollbarState.isNeeded() ), (this._shouldRender = !0), this._lazyRender || this.render()), this._shouldRender ); } beginReveal() { this._visibilityController.setShouldBeVisible(!0); } beginHide() { this._visibilityController.setShouldBeVisible(!1); } render() { this._shouldRender && ((this._shouldRender = !1), this._renderDomNode( this._scrollbarState.getRectangleLargeSize(), this._scrollbarState.getRectangleSmallSize() ), this._updateSlider( this._scrollbarState.getSliderSize(), this._scrollbarState.getArrowSize() + this._scrollbarState.getSliderPosition() )); } _domNodeMouseDown(e) { e.target === this.domNode.domNode && this._onMouseDown(e); } delegateMouseDown(e) { let t = this.domNode.domNode.getClientRects()[0].top, i = t + this._scrollbarState.getSliderPosition(), n = t + this._scrollbarState.getSliderPosition() + this._scrollbarState.getSliderSize(), r = this._sliderMousePosition(e); i <= r && r <= n ? e.leftButton && (e.preventDefault(), this._sliderMouseDown(e, () => {})) : this._onMouseDown(e); } _onMouseDown(e) { let t, i; if ( e.target === this.domNode.domNode && 'number' == typeof e.browserEvent.offsetX && 'number' == typeof e.browserEvent.offsetY ) (t = e.browserEvent.offsetX), (i = e.browserEvent.offsetY); else { const r = n.i(this.domNode.domNode); (t = e.posx - r.left), (i = e.posy - r.top); } this._setDesiredScrollPositionNow( this._scrollbarState.getDesiredScrollPositionFromOffset( this._mouseDownRelativePosition(t, i) ) ), e.leftButton && (e.preventDefault(), this._sliderMouseDown(e, () => {})); } _sliderMouseDown(e, t) { const i = this._sliderMousePosition(e), n = this._sliderOrthogonalMousePosition(e), r = this._scrollbarState.clone(); this.slider.toggleClassName('active', !0), this._mouseMoveMonitor.startMonitoring( e.target, e.buttons, o.e, (e) => { const t = this._sliderOrthogonalMousePosition(e), s = Math.abs(t - n); if (u.ED && s > 140) return void this._setDesiredScrollPositionNow( r.getScrollPosition() ); const o = this._sliderMousePosition(e) - i; this._setDesiredScrollPositionNow( r.getDesiredScrollPositionFromDelta(o) ); }, () => { this.slider.toggleClassName('active', !1), this._host.onDragEnd(), t(); } ), this._host.onDragStart(); } _setDesiredScrollPositionNow(e) { let t = {}; this.writeScrollPosition(t, e), this._scrollable.setScrollPositionNow(t); } updateScrollbarSize(e) { this._updateScrollbarSize(e), this._scrollbarState.setScrollbarSize(e), (this._shouldRender = !0), this._lazyRender || this.render(); } } class f { constructor(e, t, i, n, r, s) { (this._scrollbarSize = Math.round(t)), (this._oppositeScrollbarSize = Math.round(i)), (this._arrowSize = Math.round(e)), (this._visibleSize = n), (this._scrollSize = r), (this._scrollPosition = s), (this._computedAvailableSize = 0), (this._computedIsNeeded = !1), (this._computedSliderSize = 0), (this._computedSliderRatio = 0), (this._computedSliderPosition = 0), this._refreshComputedValues(); } clone() { return new f( this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize, this._visibleSize, this._scrollSize, this._scrollPosition ); } setVisibleSize(e) { let t = Math.round(e); return ( this._visibleSize !== t && ((this._visibleSize = t), this._refreshComputedValues(), !0) ); } setScrollSize(e) { let t = Math.round(e); return ( this._scrollSize !== t && ((this._scrollSize = t), this._refreshComputedValues(), !0) ); } setScrollPosition(e) { let t = Math.round(e); return ( this._scrollPosition !== t && ((this._scrollPosition = t), this._refreshComputedValues(), !0) ); } setScrollbarSize(e) { this._scrollbarSize = e; } static _computeValues(e, t, i, n, r) { const s = Math.max(0, i - e), o = Math.max(0, s - 2 * t), a = n > 0 && n > i; if (!a) return { computedAvailableSize: Math.round(s), computedIsNeeded: a, computedSliderSize: Math.round(o), computedSliderRatio: 0, computedSliderPosition: 0, }; const l = Math.round(Math.max(20, Math.floor((i * o) / n))), c = (o - l) / (n - i), d = r * c; return { computedAvailableSize: Math.round(s), computedIsNeeded: a, computedSliderSize: Math.round(l), computedSliderRatio: c, computedSliderPosition: Math.round(d), }; } _refreshComputedValues() { const e = f._computeValues( this._oppositeScrollbarSize, this._arrowSize, this._visibleSize, this._scrollSize, this._scrollPosition ); (this._computedAvailableSize = e.computedAvailableSize), (this._computedIsNeeded = e.computedIsNeeded), (this._computedSliderSize = e.computedSliderSize), (this._computedSliderRatio = e.computedSliderRatio), (this._computedSliderPosition = e.computedSliderPosition); } getArrowSize() { return this._arrowSize; } getScrollPosition() { return this._scrollPosition; } getRectangleLargeSize() { return this._computedAvailableSize; } getRectangleSmallSize() { return this._scrollbarSize; } isNeeded() { return this._computedIsNeeded; } getSliderSize() { return this._computedSliderSize; } getSliderPosition() { return this._computedSliderPosition; } getDesiredScrollPositionFromOffset(e) { if (!this._computedIsNeeded) return 0; let t = e - this._arrowSize - this._computedSliderSize / 2; return Math.round(t / this._computedSliderRatio); } getDesiredScrollPositionFromDelta(e) { if (!this._computedIsNeeded) return 0; let t = this._computedSliderPosition + e; return Math.round(t / this._computedSliderRatio); } } var p = i(73046); const m = (0, p.q5)('scrollbar-button-left', p.lA.triangleLeft), _ = (0, p.q5)('scrollbar-button-right', p.lA.triangleRight); class b extends g { constructor(e, t, i) { const n = e.getScrollDimensions(), r = e.getCurrentScrollPosition(); if ( (super({ lazyRender: t.lazyRender, host: i, scrollbarState: new f( t.horizontalHasArrows ? t.arrowSize : 0, 2 === t.horizontal ? 0 : t.horizontalScrollbarSize, 2 === t.vertical ? 0 : t.verticalScrollbarSize, n.width, n.scrollWidth, r.scrollLeft ), visibility: t.horizontal, extraScrollbarClassName: 'horizontal', scrollable: e, }), t.horizontalHasArrows) ) { let e = (t.arrowSize - 11) / 2, i = (t.horizontalScrollbarSize - 11) / 2; this._createArrow({ className: 'scra', icon: m, top: i, left: e, bottom: void 0, right: void 0, bgWidth: t.arrowSize, bgHeight: t.horizontalScrollbarSize, onActivate: () => this._host.onMouseWheel(new s.q(null, 1, 0)), }), this._createArrow({ className: 'scra', icon: _, top: i, left: void 0, bottom: void 0, right: e, bgWidth: t.arrowSize, bgHeight: t.horizontalScrollbarSize, onActivate: () => this._host.onMouseWheel(new s.q(null, -1, 0)), }); } this._createSlider( Math.floor( (t.horizontalScrollbarSize - t.horizontalSliderSize) / 2 ), 0, void 0, t.horizontalSliderSize ); } _updateSlider(e, t) { this.slider.setWidth(e), this.slider.setLeft(t); } _renderDomNode(e, t) { this.domNode.setWidth(e), this.domNode.setHeight(t), this.domNode.setLeft(0), this.domNode.setBottom(0); } onDidScroll(e) { return ( (this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender), (this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender), (this._shouldRender = this._onElementSize(e.width) || this._shouldRender), this._shouldRender ); } _mouseDownRelativePosition(e, t) { return e; } _sliderMousePosition(e) { return e.posx; } _sliderOrthogonalMousePosition(e) { return e.posy; } _updateScrollbarSize(e) { this.slider.setHeight(e); } writeScrollPosition(e, t) { e.scrollLeft = t; } } const v = (0, p.q5)('scrollbar-button-up', p.lA.triangleUp), y = (0, p.q5)('scrollbar-button-down', p.lA.triangleDown); class w extends g { constructor(e, t, i) { const n = e.getScrollDimensions(), r = e.getCurrentScrollPosition(); if ( (super({ lazyRender: t.lazyRender, host: i, scrollbarState: new f( t.verticalHasArrows ? t.arrowSize : 0, 2 === t.vertical ? 0 : t.verticalScrollbarSize, 0, n.height, n.scrollHeight, r.scrollTop ), visibility: t.vertical, extraScrollbarClassName: 'vertical', scrollable: e, }), t.verticalHasArrows) ) { let e = (t.arrowSize - 11) / 2, i = (t.verticalScrollbarSize - 11) / 2; this._createArrow({ className: 'scra', icon: v, top: e, left: i, bottom: void 0, right: void 0, bgWidth: t.verticalScrollbarSize, bgHeight: t.arrowSize, onActivate: () => this._host.onMouseWheel(new s.q(null, 0, 1)), }), this._createArrow({ className: 'scra', icon: y, top: void 0, left: i, bottom: e, right: void 0, bgWidth: t.verticalScrollbarSize, bgHeight: t.arrowSize, onActivate: () => this._host.onMouseWheel(new s.q(null, 0, -1)), }); } this._createSlider( 0, Math.floor((t.verticalScrollbarSize - t.verticalSliderSize) / 2), t.verticalSliderSize, void 0 ); } _updateSlider(e, t) { this.slider.setHeight(e), this.slider.setTop(t); } _renderDomNode(e, t) { this.domNode.setWidth(t), this.domNode.setHeight(e), this.domNode.setRight(0), this.domNode.setTop(0); } onDidScroll(e) { return ( (this._shouldRender = this._onElementScrollSize(e.scrollHeight) || this._shouldRender), (this._shouldRender = this._onElementScrollPosition(e.scrollTop) || this._shouldRender), (this._shouldRender = this._onElementSize(e.height) || this._shouldRender), this._shouldRender ); } _mouseDownRelativePosition(e, t) { return t; } _sliderMousePosition(e) { return e.posy; } _sliderOrthogonalMousePosition(e) { return e.posx; } _updateScrollbarSize(e) { this.slider.setWidth(e); } writeScrollPosition(e, t) { e.scrollTop = t; } } var C = i(4669), S = i(76633), k = i(16268); class x { constructor(e, t, i) { (this.timestamp = e), (this.deltaX = t), (this.deltaY = i), (this.score = 0); } } class L { constructor() { (this._capacity = 5), (this._memory = []), (this._front = -1), (this._rear = -1); } isPhysicalMouseWheel() { if (-1 === this._front && -1 === this._rear) return !1; let e = 1, t = 0, i = 1, n = this._rear; for (;;) { const r = n === this._front ? e : Math.pow(2, -i); if ( ((e -= r), (t += this._memory[n].score * r), n === this._front) ) break; (n = (this._capacity + n - 1) % this._capacity), i++; } return t <= 0.5; } accept(e, t, i) { const n = new x(e, t, i); (n.score = this._computeScore(n)), -1 === this._front && -1 === this._rear ? ((this._memory[0] = n), (this._front = 0), (this._rear = 0)) : ((this._rear = (this._rear + 1) % this._capacity), this._rear === this._front && (this._front = (this._front + 1) % this._capacity), (this._memory[this._rear] = n)); } _computeScore(e) { if (Math.abs(e.deltaX) > 0 && Math.abs(e.deltaY) > 0) return 1; let t = 0.5; return ( (-1 === this._front && -1 === this._rear) || this._memory[this._rear], (this._isAlmostInt(e.deltaX) && this._isAlmostInt(e.deltaY)) || (t += 0.25), Math.min(Math.max(t, 0), 1) ); } _isAlmostInt(e) { return Math.abs(Math.round(e) - e) < 0.01; } } L.INSTANCE = new L(); class M extends a.$ { constructor(e, t, i) { super(), (this._onScroll = this._register(new C.Q5())), (this.onScroll = this._onScroll.event), (this._onWillScroll = this._register(new C.Q5())), (e.style.overflow = 'hidden'), (this._options = (function (e) { let t = { lazyRender: void 0 !== e.lazyRender && e.lazyRender, className: void 0 !== e.className ? e.className : '', useShadows: void 0 === e.useShadows || e.useShadows, handleMouseWheel: void 0 === e.handleMouseWheel || e.handleMouseWheel, flipAxes: void 0 !== e.flipAxes && e.flipAxes, alwaysConsumeMouseWheel: void 0 !== e.alwaysConsumeMouseWheel && e.alwaysConsumeMouseWheel, scrollYToX: void 0 !== e.scrollYToX && e.scrollYToX, mouseWheelScrollSensitivity: void 0 !== e.mouseWheelScrollSensitivity ? e.mouseWheelScrollSensitivity : 1, fastScrollSensitivity: void 0 !== e.fastScrollSensitivity ? e.fastScrollSensitivity : 5, scrollPredominantAxis: void 0 === e.scrollPredominantAxis || e.scrollPredominantAxis, mouseWheelSmoothScroll: void 0 === e.mouseWheelSmoothScroll || e.mouseWheelSmoothScroll, arrowSize: void 0 !== e.arrowSize ? e.arrowSize : 11, listenOnDomNode: void 0 !== e.listenOnDomNode ? e.listenOnDomNode : null, horizontal: void 0 !== e.horizontal ? e.horizontal : 1, horizontalScrollbarSize: void 0 !== e.horizontalScrollbarSize ? e.horizontalScrollbarSize : 10, horizontalSliderSize: void 0 !== e.horizontalSliderSize ? e.horizontalSliderSize : 0, horizontalHasArrows: void 0 !== e.horizontalHasArrows && e.horizontalHasArrows, vertical: void 0 !== e.vertical ? e.vertical : 1, verticalScrollbarSize: void 0 !== e.verticalScrollbarSize ? e.verticalScrollbarSize : 10, verticalHasArrows: void 0 !== e.verticalHasArrows && e.verticalHasArrows, verticalSliderSize: void 0 !== e.verticalSliderSize ? e.verticalSliderSize : 0, }; return ( (t.horizontalSliderSize = void 0 !== e.horizontalSliderSize ? e.horizontalSliderSize : t.horizontalScrollbarSize), (t.verticalSliderSize = void 0 !== e.verticalSliderSize ? e.verticalSliderSize : t.verticalScrollbarSize), u.dz && (t.className += ' mac'), t ); })(t)), (this._scrollable = i), this._register( this._scrollable.onScroll((e) => { this._onWillScroll.fire(e), this._onDidScroll(e), this._onScroll.fire(e); }) ); let n = { onMouseWheel: (e) => this._onMouseWheel(e), onDragStart: () => this._onDragStart(), onDragEnd: () => this._onDragEnd(), }; (this._verticalScrollbar = this._register( new w(this._scrollable, this._options, n) )), (this._horizontalScrollbar = this._register( new b(this._scrollable, this._options, n) )), (this._domNode = document.createElement('div')), (this._domNode.className = 'monaco-scrollable-element ' + this._options.className), this._domNode.setAttribute('role', 'presentation'), (this._domNode.style.position = 'relative'), (this._domNode.style.overflow = 'hidden'), this._domNode.appendChild(e), this._domNode.appendChild( this._horizontalScrollbar.domNode.domNode ), this._domNode.appendChild( this._verticalScrollbar.domNode.domNode ), this._options.useShadows ? ((this._leftShadowDomNode = (0, r.X)( document.createElement('div') )), this._leftShadowDomNode.setClassName('shadow'), this._domNode.appendChild(this._leftShadowDomNode.domNode), (this._topShadowDomNode = (0, r.X)( document.createElement('div') )), this._topShadowDomNode.setClassName('shadow'), this._domNode.appendChild(this._topShadowDomNode.domNode), (this._topLeftShadowDomNode = (0, r.X)( document.createElement('div') )), this._topLeftShadowDomNode.setClassName( 'shadow top-left-corner' ), this._domNode.appendChild(this._topLeftShadowDomNode.domNode)) : ((this._leftShadowDomNode = null), (this._topShadowDomNode = null), (this._topLeftShadowDomNode = null)), (this._listenOnDomNode = this._options.listenOnDomNode || this._domNode), (this._mouseWheelToDispose = []), this._setListeningToMouseWheel(this._options.handleMouseWheel), this.onmouseover(this._listenOnDomNode, (e) => this._onMouseOver(e) ), this.onnonbubblingmouseout(this._listenOnDomNode, (e) => this._onMouseOut(e) ), (this._hideTimeout = this._register(new l._F())), (this._isDragging = !1), (this._mouseIsOver = !1), (this._shouldRender = !0), (this._revealOnScroll = !0); } dispose() { (this._mouseWheelToDispose = (0, d.B9)(this._mouseWheelToDispose)), super.dispose(); } getDomNode() { return this._domNode; } getOverviewRulerLayoutInfo() { return { parent: this._domNode, insertBefore: this._verticalScrollbar.domNode.domNode, }; } delegateVerticalScrollbarMouseDown(e) { this._verticalScrollbar.delegateMouseDown(e); } getScrollDimensions() { return this._scrollable.getScrollDimensions(); } setScrollDimensions(e) { this._scrollable.setScrollDimensions(e, !1); } updateClassName(e) { (this._options.className = e), u.dz && (this._options.className += ' mac'), (this._domNode.className = 'monaco-scrollable-element ' + this._options.className); } updateOptions(e) { void 0 !== e.handleMouseWheel && ((this._options.handleMouseWheel = e.handleMouseWheel), this._setListeningToMouseWheel(this._options.handleMouseWheel)), void 0 !== e.mouseWheelScrollSensitivity && (this._options.mouseWheelScrollSensitivity = e.mouseWheelScrollSensitivity), void 0 !== e.fastScrollSensitivity && (this._options.fastScrollSensitivity = e.fastScrollSensitivity), void 0 !== e.scrollPredominantAxis && (this._options.scrollPredominantAxis = e.scrollPredominantAxis), void 0 !== e.horizontalScrollbarSize && this._horizontalScrollbar.updateScrollbarSize( e.horizontalScrollbarSize ), this._options.lazyRender || this._render(); } _setListeningToMouseWheel(e) { if ( this._mouseWheelToDispose.length > 0 !== e && ((this._mouseWheelToDispose = (0, d.B9)( this._mouseWheelToDispose )), e) ) { let e = (e) => { this._onMouseWheel(new s.q(e)); }; this._mouseWheelToDispose.push( n.nm(this._listenOnDomNode, n.tw.MOUSE_WHEEL, e, { passive: !1, }) ); } } _onMouseWheel(e) { const t = L.INSTANCE; { const i = window.devicePixelRatio / (0, k.ie)(); u.ED || u.IJ ? t.accept(Date.now(), e.deltaX / i, e.deltaY / i) : t.accept(Date.now(), e.deltaX, e.deltaY); } if (e.deltaY || e.deltaX) { let i = e.deltaY * this._options.mouseWheelScrollSensitivity, n = e.deltaX * this._options.mouseWheelScrollSensitivity; this._options.scrollPredominantAxis && (Math.abs(i) >= Math.abs(n) ? (n = 0) : (i = 0)), this._options.flipAxes && ([i, n] = [n, i]); const r = !u.dz && e.browserEvent && e.browserEvent.shiftKey; (!this._options.scrollYToX && !r) || n || ((n = i), (i = 0)), e.browserEvent && e.browserEvent.altKey && ((n *= this._options.fastScrollSensitivity), (i *= this._options.fastScrollSensitivity)); const s = this._scrollable.getFutureScrollPosition(); let o = {}; if (i) { const e = s.scrollTop - 50 * i; this._verticalScrollbar.writeScrollPosition(o, e); } if (n) { const e = s.scrollLeft - 50 * n; this._horizontalScrollbar.writeScrollPosition(o, e); } (o = this._scrollable.validateScrollPosition(o)), (s.scrollLeft !== o.scrollLeft || s.scrollTop !== o.scrollTop) && (this._options.mouseWheelSmoothScroll && t.isPhysicalMouseWheel() ? this._scrollable.setScrollPositionSmooth(o) : this._scrollable.setScrollPositionNow(o), (this._shouldRender = !0)); } (this._options.alwaysConsumeMouseWheel || this._shouldRender) && (e.preventDefault(), e.stopPropagation()); } _onDidScroll(e) { (this._shouldRender = this._horizontalScrollbar.onDidScroll(e) || this._shouldRender), (this._shouldRender = this._verticalScrollbar.onDidScroll(e) || this._shouldRender), this._options.useShadows && (this._shouldRender = !0), this._revealOnScroll && this._reveal(), this._options.lazyRender || this._render(); } renderNow() { if (!this._options.lazyRender) throw new Error( 'Please use `lazyRender` together with `renderNow`!' ); this._render(); } _render() { if ( this._shouldRender && ((this._shouldRender = !1), this._horizontalScrollbar.render(), this._verticalScrollbar.render(), this._options.useShadows) ) { const e = this._scrollable.getCurrentScrollPosition(); let t = e.scrollTop > 0, i = e.scrollLeft > 0; this._leftShadowDomNode.setClassName( 'shadow' + (i ? ' left' : '') ), this._topShadowDomNode.setClassName( 'shadow' + (t ? ' top' : '') ), this._topLeftShadowDomNode.setClassName( 'shadow top-left-corner' + (t ? ' top' : '') + (i ? ' left' : '') ); } } _onDragStart() { (this._isDragging = !0), this._reveal(); } _onDragEnd() { (this._isDragging = !1), this._hide(); } _onMouseOut(e) { (this._mouseIsOver = !1), this._hide(); } _onMouseOver(e) { (this._mouseIsOver = !0), this._reveal(); } _reveal() { this._verticalScrollbar.beginReveal(), this._horizontalScrollbar.beginReveal(), this._scheduleHide(); } _hide() { this._mouseIsOver || this._isDragging || (this._verticalScrollbar.beginHide(), this._horizontalScrollbar.beginHide()); } _scheduleHide() { this._mouseIsOver || this._isDragging || this._hideTimeout.cancelAndSet(() => this._hide(), 500); } } class D extends M { constructor(e, t) { (t = t || {}).mouseWheelSmoothScroll = !1; const i = new S.Rm(0, (e) => n.jL(e)); super(e, t, i), this._register(i); } setScrollPosition(e) { this._scrollable.setScrollPositionNow(e); } } class N extends M { constructor(e, t, i) { super(e, t, i); } setScrollPosition(e) { this._scrollable.setScrollPositionNow(e); } getScrollPosition() { return this._scrollable.getCurrentScrollPosition(); } } class E extends D { constructor(e, t) { super(e, t), (this._element = e), this.onScroll((e) => { e.scrollTopChanged && (this._element.scrollTop = e.scrollTop), e.scrollLeftChanged && (this._element.scrollLeft = e.scrollLeft); }), this.scanDomNode(); } scanDomNode() { this.setScrollDimensions({ width: this._element.clientWidth, scrollWidth: this._element.scrollWidth, height: this._element.clientHeight, scrollHeight: this._element.scrollHeight, }), this.setScrollPosition({ scrollLeft: this._element.scrollLeft, scrollTop: this._element.scrollTop, }); } } }, 93794: (e, t, i) => { 'use strict'; i.d(t, { $: () => l }); var n = i(65321), r = i(59069), s = i(23938), o = i(5976), a = i(10553); class l extends o.JT { onclick(e, t) { this._register(n.nm(e, n.tw.CLICK, (e) => t(new s.n(e)))); } onmousedown(e, t) { this._register(n.nm(e, n.tw.MOUSE_DOWN, (e) => t(new s.n(e)))); } onmouseover(e, t) { this._register(n.nm(e, n.tw.MOUSE_OVER, (e) => t(new s.n(e)))); } onnonbubblingmouseout(e, t) { this._register(n.j_(e, (e) => t(new s.n(e)))); } onkeydown(e, t) { this._register(n.nm(e, n.tw.KEY_DOWN, (e) => t(new r.y(e)))); } onkeyup(e, t) { this._register(n.nm(e, n.tw.KEY_UP, (e) => t(new r.y(e)))); } oninput(e, t) { this._register(n.nm(e, n.tw.INPUT, t)); } onblur(e, t) { this._register(n.nm(e, n.tw.BLUR, t)); } onfocus(e, t) { this._register(n.nm(e, n.tw.FOCUS, t)); } ignoreGesture(e) { a.o.ignoreTarget(e); } } }, 74741: (e, t, i) => { 'use strict'; i.d(t, { aU: () => s, Wi: () => o, Z0: () => a, wY: () => l }); var n = i(5976), r = i(4669); class s extends n.JT { constructor(e, t = '', i = '', n = !0, s) { super(), (this._onDidChange = this._register(new r.Q5())), (this.onDidChange = this._onDidChange.event), (this._enabled = !0), (this._checked = !1), (this._id = e), (this._label = t), (this._cssClass = i), (this._enabled = n), (this._actionCallback = s); } get id() { return this._id; } get label() { return this._label; } set label(e) { this._setLabel(e); } _setLabel(e) { this._label !== e && ((this._label = e), this._onDidChange.fire({ label: e })); } get tooltip() { return this._tooltip || ''; } set tooltip(e) { this._setTooltip(e); } _setTooltip(e) { this._tooltip !== e && ((this._tooltip = e), this._onDidChange.fire({ tooltip: e })); } get class() { return this._cssClass; } set class(e) { this._setClass(e); } _setClass(e) { this._cssClass !== e && ((this._cssClass = e), this._onDidChange.fire({ class: e })); } get enabled() { return this._enabled; } set enabled(e) { this._setEnabled(e); } _setEnabled(e) { this._enabled !== e && ((this._enabled = e), this._onDidChange.fire({ enabled: e })); } get checked() { return this._checked; } set checked(e) { this._setChecked(e); } _setChecked(e) { this._checked !== e && ((this._checked = e), this._onDidChange.fire({ checked: e })); } run(e, t) { return this._actionCallback ? this._actionCallback(e) : Promise.resolve(!0); } } class o extends n.JT { constructor() { super(...arguments), (this._onDidBeforeRun = this._register(new r.Q5())), (this.onDidBeforeRun = this._onDidBeforeRun.event), (this._onDidRun = this._register(new r.Q5())), (this.onDidRun = this._onDidRun.event); } run(e, t) { return ( (i = this), (n = void 0), (s = function* () { if (!e.enabled) return Promise.resolve(null); this._onDidBeforeRun.fire({ action: e }); try { const i = yield this.runAction(e, t); this._onDidRun.fire({ action: e, result: i }); } catch (t) { this._onDidRun.fire({ action: e, error: t }); } }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } runAction(e, t) { const i = t ? e.run(t) : e.run(); return Promise.resolve(i); } } class a extends s { constructor(e) { super(a.ID, e, e ? 'separator text' : 'separator'), (this.checked = !1), (this.enabled = !1); } } a.ID = 'vs.actions.separator'; class l extends s { constructor(e, t, i, n) { super(e, t, n, !0), (this._actions = i); } get actions() { return Array.isArray(this._actions) ? this._actions : this._actions(); } } }, 9488: (e, t, i) => { 'use strict'; function n(e, t = 0) { return e[e.length - (1 + t)]; } function r(e) { if (0 === e.length) throw new Error('Invalid tail call'); return [e.slice(0, e.length - 1), e[e.length - 1]]; } function s(e, t, i = (e, t) => e === t) { if (e === t) return !0; if (!e || !t) return !1; if (e.length !== t.length) return !1; for (let n = 0, r = e.length; n < r; n++) if (!i(e[n], t[n])) return !1; return !0; } function o(e, t, i) { let n = 0, r = e.length - 1; for (; n <= r; ) { const s = ((n + r) / 2) | 0, o = i(e[s], t); if (o < 0) n = s + 1; else { if (!(o > 0)) return s; r = s - 1; } } return -(n + 1); } function a(e, t) { let i = 0, n = e.length; if (0 === n) return 0; for (; i < n; ) { const r = Math.floor((i + n) / 2); t(e[r]) ? (n = r) : (i = r + 1); } return i; } function l(e, t) { return c(e, t, 0, e.length - 1, []), e; } function c(e, t, i, n, r) { if (n <= i) return; const s = (i + (n - i) / 2) | 0; c(e, t, i, s, r), c(e, t, s + 1, n, r), t(e[s], e[s + 1]) <= 0 || (function (e, t, i, n, r, s) { let o = i, a = n + 1; for (let t = i; t <= r; t++) s[t] = e[t]; for (let l = i; l <= r; l++) o > n ? (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, i, s, n, r); } function d(e, t) { const i = []; let n; for (const r of l(e.slice(0), t)) n && 0 === t(n[0], r) ? n.push(r) : ((n = [r]), i.push(n)); return i; } function h(e) { return e.filter((e) => !!e); } function u(e) { return !Array.isArray(e) || 0 === e.length; } function g(e) { return Array.isArray(e) && e.length > 0; } function f(e, t) { if (!t) return e.filter((t, i) => e.indexOf(t) === i); const i = Object.create(null); return e.filter((e) => { const n = t(e); return !i[n] && ((i[n] = !0), !0); }); } function p(e) { const t = new Set(); return e.filter((e) => !t.has(e) && (t.add(e), !0)); } function m(e, t) { for (let i = 0; i < e.length; i++) if (t(e[i])) return i; return -1; } function _(e, t, i) { const n = m(e, t); return n < 0 ? i : e[n]; } function b(e, t) { return e.length > 0 ? e[0] : t; } function v(e) { return [].concat(...e); } function y(e, t) { let i = 'number' == typeof t ? e : 0; 'number' == typeof t ? (i = e) : ((i = 0), (t = e)); const n = []; if (i <= t) for (let e = i; e < t; e++) n.push(e); else for (let e = i; e > t; e--) n.push(e); return n; } function w(e, t, i) { const n = e.slice(0, t), r = e.slice(t); return n.concat(i, r); } function C(e, t) { const i = e.indexOf(t); i > -1 && (e.splice(i, 1), e.unshift(t)); } function S(e, t) { const i = e.indexOf(t); i > -1 && (e.splice(i, 1), e.push(t)); } function k(e) { return Array.isArray(e) ? e : [e]; } i.d(t, { Gb: () => n, JH: () => r, fS: () => s, ry: () => o, lG: () => a, qt: () => l, vM: () => d, kX: () => h, XY: () => u, Of: () => g, EB: () => f, cU: () => p, Zr: () => m, Ps: () => _, Xh: () => b, xH: () => v, w6: () => y, Zv: () => w, zI: () => C, al: () => S, _2: () => k, }); }, 35146: (e, t, i) => { 'use strict'; function n(e, t) { if (!e) throw new Error(t ? `Assertion failed (${t})` : 'Assertion Failed'); } i.d(t, { ok: () => n }); }, 15393: (e, t, i) => { 'use strict'; i.d(t, { J8: () => o, PG: () => a, eP: () => l, vp: () => c, Vs: () => d, Vg: () => h, Ps: () => u, _F: () => g, zh: () => f, pY: () => p, To: () => m, Ue: () => _, }); var n = i(71050), r = i(17301), s = i(5976); function o(e) { return e && 'function' == typeof e.then; } function a(e) { const t = new n.A(), i = e(t.token), s = new Promise((e, n) => { t.token.onCancellationRequested(() => { n(r.F0()); }), Promise.resolve(i).then( (i) => { t.dispose(), e(i); }, (e) => { t.dispose(), n(e); } ); }); return new (class { cancel() { t.cancel(); } then(e, t) { return s.then(e, t); } catch(e) { return this.then(void 0, e); } finally(e) { return s.finally(e); } })(); } function l(e, t, i) { return Promise.race([ e, new Promise((e) => t.onCancellationRequested(() => e(i))), ]); } class c { constructor(e) { (this.defaultDelay = e), (this.timeout = null), (this.completionPromise = null), (this.doResolve = null), (this.doReject = null), (this.task = null); } trigger(e, t = this.defaultDelay) { return ( (this.task = e), this.cancelTimeout(), this.completionPromise || (this.completionPromise = new Promise((e, t) => { (this.doResolve = e), (this.doReject = t); }).then(() => { if ( ((this.completionPromise = null), (this.doResolve = null), this.task) ) { const e = this.task; return (this.task = null), e(); } })), (this.timeout = setTimeout(() => { (this.timeout = null), this.doResolve && this.doResolve(null); }, t)), this.completionPromise ); } isTriggered() { return null !== this.timeout; } cancel() { this.cancelTimeout(), this.completionPromise && (this.doReject && this.doReject(r.F0()), (this.completionPromise = null)); } cancelTimeout() { null !== this.timeout && (clearTimeout(this.timeout), (this.timeout = null)); } dispose() { this.cancelTimeout(); } } function d(e, t) { return t ? new Promise((i, n) => { const s = setTimeout(i, e); t.onCancellationRequested(() => { clearTimeout(s), n(r.F0()); }); }) : a((t) => d(e, t)); } function h(e, t = 0) { const i = setTimeout(e, t); return (0, s.OF)(() => clearTimeout(i)); } function u(e, t = (e) => !!e, i = null) { let n = 0; const r = e.length, s = () => { if (n >= r) return Promise.resolve(i); const o = e[n++]; return Promise.resolve(o()).then((e) => t(e) ? Promise.resolve(e) : s() ); }; return s(); } class g { constructor(e, t) { (this._token = -1), 'function' == typeof e && 'number' == typeof t && this.setIfNotSet(e, t); } dispose() { this.cancel(); } cancel() { -1 !== this._token && (clearTimeout(this._token), (this._token = -1)); } cancelAndSet(e, t) { this.cancel(), (this._token = setTimeout(() => { (this._token = -1), e(); }, t)); } setIfNotSet(e, t) { -1 === this._token && (this._token = setTimeout(() => { (this._token = -1), e(); }, t)); } } class f { constructor() { this._token = -1; } dispose() { this.cancel(); } cancel() { -1 !== this._token && (clearInterval(this._token), (this._token = -1)); } cancelAndSet(e, t) { this.cancel(), (this._token = setInterval(() => { e(); }, t)); } } class p { constructor(e, t) { (this.timeoutToken = -1), (this.runner = e), (this.timeout = t), (this.timeoutHandler = this.onTimeout.bind(this)); } dispose() { this.cancel(), (this.runner = null); } cancel() { this.isScheduled() && (clearTimeout(this.timeoutToken), (this.timeoutToken = -1)); } schedule(e = this.timeout) { this.cancel(), (this.timeoutToken = setTimeout(this.timeoutHandler, e)); } isScheduled() { return -1 !== this.timeoutToken; } onTimeout() { (this.timeoutToken = -1), this.runner && this.doRun(); } doRun() { this.runner && this.runner(); } } let m; !(function () { if ( 'function' != typeof requestIdleCallback || 'function' != typeof cancelIdleCallback ) { const e = Object.freeze({ didTimeout: !0, timeRemaining: () => 15, }); m = (t) => { const i = setTimeout(() => t(e)); let n = !1; return { dispose() { n || ((n = !0), clearTimeout(i)); }, }; }; } else m = (e, t) => { const i = requestIdleCallback( e, 'number' == typeof t ? { timeout: t } : void 0 ); let n = !1; return { dispose() { n || ((n = !0), cancelIdleCallback(i)); }, }; }; })(); class _ { constructor(e) { (this._didRun = !1), (this._executor = () => { try { this._value = e(); } catch (e) { this._error = e; } finally { this._didRun = !0; } }), (this._handle = m(() => this._executor())); } dispose() { this._handle.dispose(); } get value() { if ( (this._didRun || (this._handle.dispose(), this._executor()), this._error) ) throw this._error; return this._value; } } }, 53060: (e, t, i) => { 'use strict'; i.d(t, { KN: () => a, mP: () => l, oq: () => c, Ag: () => d, T4: () => h, Q$: () => u, Cg: () => g, }); var n = i(97295); const r = 'undefined' != typeof Buffer, s = 'undefined' != typeof TextDecoder; let o; class a { constructor(e) { (this.buffer = e), (this.byteLength = this.buffer.byteLength); } toString() { return r ? this.buffer.toString() : s ? (o || (o = new TextDecoder()), o.decode(this.buffer)) : n.CZ(this.buffer); } } function l(e, t) { return ((e[t + 0] << 0) >>> 0) | ((e[t + 1] << 8) >>> 0); } function c(e, t, i) { (e[i + 0] = 255 & t), (t >>>= 8), (e[i + 1] = 255 & t); } function d(e, t) { return ( e[t] * Math.pow(2, 24) + e[t + 1] * Math.pow(2, 16) + e[t + 2] * Math.pow(2, 8) + e[t + 3] ); } function h(e, t, i) { (e[i + 3] = t), (t >>>= 8), (e[i + 2] = t), (t >>>= 8), (e[i + 1] = t), (t >>>= 8), (e[i] = t); } function u(e, t) { return e[t]; } function g(e, t, i) { e[i] = t; } }, 71050: (e, t, i) => { 'use strict'; i.d(t, { T: () => s, A: () => a }); var n = i(4669); const r = Object.freeze(function (e, t) { const i = setTimeout(e.bind(t), 0); return { dispose() { clearTimeout(i); }, }; }); var s; !(function (e) { (e.isCancellationToken = function (t) { return ( t === e.None || t === e.Cancelled || t instanceof o || (!(!t || 'object' != typeof t) && 'boolean' == typeof t.isCancellationRequested && 'function' == typeof t.onCancellationRequested) ); }), (e.None = Object.freeze({ isCancellationRequested: !1, onCancellationRequested: n.ju.None, })), (e.Cancelled = Object.freeze({ isCancellationRequested: !0, onCancellationRequested: r, })); })(s || (s = {})); class o { 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 ? r : (this._emitter || (this._emitter = new n.Q5()), this._emitter.event); } dispose() { this._emitter && (this._emitter.dispose(), (this._emitter = null)); } } class a { 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 o()), this._token; } cancel() { this._token ? this._token instanceof o && this._token.cancel() : (this._token = s.Cancelled); } dispose(e = !1) { e && this.cancel(), this._parentListener && this._parentListener.dispose(), this._token ? this._token instanceof o && this._token.dispose() : (this._token = s.None); } } }, 60703: (e, t, i) => { 'use strict'; i.d(t, { Ln: () => s, fe: () => o, YU: () => a }); var n = i(75392), r = i(97295); const s = '$('; function o(e) { const t = e.indexOf(s); return -1 === t ? { text: e } : (function (e, t) { const i = []; let n = ''; function r(e) { if (e) { n += e; for (const t of e) i.push(d); } } let o, a, l = -1, c = '', d = 0, h = t; const u = e.length; for (r(e.substr(0, t)); h < u; ) (o = e[h]), (a = e[h + 1]), o === s[0] && a === s[1] ? ((l = h), r(c), (c = s), h++) : ')' === o && -1 !== l ? ((d += h - l + 1), (l = -1), (c = '')) : -1 !== l ? /^[a-z0-9\-]$/i.test(o) ? (c += o) : (r(c), (l = -1), (c = '')) : r(o), h++; return r(c), { text: n, codiconOffsets: i }; })(e, t); } function a(e, t, i = !1) { const { text: s, codiconOffsets: o } = t; if (!o || 0 === o.length) return (0, n.Oh)(e, s, i); const a = (0, r.j3)(s, ' '), l = s.length - a.length, c = (0, n.Oh)(e, a, i); if (c) for (const e of c) { const t = o[e.start + l] + l; (e.start += t), (e.end += t); } return c; } }, 73046: (e, t, i) => { 'use strict'; i.d(t, { fK: () => o, q5: () => a, lA: () => l, qQ: () => d, dg: () => u, b3: () => g, Mi: () => f, QF: () => m, }); var n = i(60703), r = i(4669); const s = new (class { constructor() { (this._icons = new Map()), (this._onDidRegister = new r.Q5()); } add(e) { this._icons.has(e.id) ? console.error(`Duplicate registration of codicon ${e.id}`) : (this._icons.set(e.id, e), this._onDidRegister.fire(e)); } get(e) { return this._icons.get(e); } get all() { return this._icons.values(); } get onDidRegister() { return this._onDidRegister.event; } })(), o = s; function a(e, t, i) { return new l(e, t); } class l { constructor(e, t, i) { (this.id = e), (this.definition = t), (this.description = i), s.add(this); } get classNames() { return 'codicon codicon-' + this.id; } get cssSelector() { return '.codicon.codicon-' + this.id; } } !(function (e) { (e.add = new e('add', { character: '\\ea60' })), (e.plus = new e('plus', { character: '\\ea60' })), (e.gistNew = new e('gist-new', { character: '\\ea60' })), (e.repoCreate = new e('repo-create', { character: '\\ea60' })), (e.lightbulb = new e('lightbulb', { character: '\\ea61' })), (e.lightBulb = new e('light-bulb', { character: '\\ea61' })), (e.repo = new e('repo', { character: '\\ea62' })), (e.repoDelete = new e('repo-delete', { character: '\\ea62' })), (e.gistFork = new e('gist-fork', { character: '\\ea63' })), (e.repoForked = new e('repo-forked', { character: '\\ea63' })), (e.gitPullRequest = new e('git-pull-request', { character: '\\ea64', })), (e.gitPullRequestAbandoned = new e('git-pull-request-abandoned', { character: '\\ea64', })), (e.recordKeys = new e('record-keys', { character: '\\ea65' })), (e.keyboard = new e('keyboard', { character: '\\ea65' })), (e.tag = new e('tag', { character: '\\ea66' })), (e.tagAdd = new e('tag-add', { character: '\\ea66' })), (e.tagRemove = new e('tag-remove', { character: '\\ea66' })), (e.person = new e('person', { character: '\\ea67' })), (e.personAdd = new e('person-add', { character: '\\ea67' })), (e.personFollow = new e('person-follow', { character: '\\ea67' })), (e.personOutline = new e('person-outline', { character: '\\ea67', })), (e.personFilled = new e('person-filled', { character: '\\ea67' })), (e.gitBranch = new e('git-branch', { character: '\\ea68' })), (e.gitBranchCreate = new e('git-branch-create', { character: '\\ea68', })), (e.gitBranchDelete = new e('git-branch-delete', { character: '\\ea68', })), (e.sourceControl = new e('source-control', { character: '\\ea68', })), (e.mirror = new e('mirror', { character: '\\ea69' })), (e.mirrorPublic = new e('mirror-public', { character: '\\ea69' })), (e.star = new e('star', { character: '\\ea6a' })), (e.starAdd = new e('star-add', { character: '\\ea6a' })), (e.starDelete = new e('star-delete', { character: '\\ea6a' })), (e.starEmpty = new e('star-empty', { character: '\\ea6a' })), (e.comment = new e('comment', { character: '\\ea6b' })), (e.commentAdd = new e('comment-add', { character: '\\ea6b' })), (e.alert = new e('alert', { character: '\\ea6c' })), (e.warning = new e('warning', { character: '\\ea6c' })), (e.search = new e('search', { character: '\\ea6d' })), (e.searchSave = new e('search-save', { character: '\\ea6d' })), (e.logOut = new e('log-out', { character: '\\ea6e' })), (e.signOut = new e('sign-out', { character: '\\ea6e' })), (e.logIn = new e('log-in', { character: '\\ea6f' })), (e.signIn = new e('sign-in', { character: '\\ea6f' })), (e.eye = new e('eye', { character: '\\ea70' })), (e.eyeUnwatch = new e('eye-unwatch', { character: '\\ea70' })), (e.eyeWatch = new e('eye-watch', { character: '\\ea70' })), (e.circleFilled = new e('circle-filled', { character: '\\ea71' })), (e.primitiveDot = new e('primitive-dot', { character: '\\ea71' })), (e.closeDirty = new e('close-dirty', { character: '\\ea71' })), (e.debugBreakpoint = new e('debug-breakpoint', { character: '\\ea71', })), (e.debugBreakpointDisabled = new e('debug-breakpoint-disabled', { character: '\\ea71', })), (e.debugHint = new e('debug-hint', { character: '\\ea71' })), (e.primitiveSquare = new e('primitive-square', { character: '\\ea72', })), (e.edit = new e('edit', { character: '\\ea73' })), (e.pencil = new e('pencil', { character: '\\ea73' })), (e.info = new e('info', { character: '\\ea74' })), (e.issueOpened = new e('issue-opened', { character: '\\ea74' })), (e.gistPrivate = new e('gist-private', { character: '\\ea75' })), (e.gitForkPrivate = new e('git-fork-private', { character: '\\ea75', })), (e.lock = new e('lock', { character: '\\ea75' })), (e.mirrorPrivate = new e('mirror-private', { character: '\\ea75', })), (e.close = new e('close', { character: '\\ea76' })), (e.removeClose = new e('remove-close', { character: '\\ea76' })), (e.x = new e('x', { character: '\\ea76' })), (e.repoSync = new e('repo-sync', { character: '\\ea77' })), (e.sync = new e('sync', { character: '\\ea77' })), (e.clone = new e('clone', { character: '\\ea78' })), (e.desktopDownload = new e('desktop-download', { character: '\\ea78', })), (e.beaker = new e('beaker', { character: '\\ea79' })), (e.microscope = new e('microscope', { character: '\\ea79' })), (e.vm = new e('vm', { character: '\\ea7a' })), (e.deviceDesktop = new e('device-desktop', { character: '\\ea7a', })), (e.file = new e('file', { character: '\\ea7b' })), (e.fileText = new e('file-text', { character: '\\ea7b' })), (e.more = new e('more', { character: '\\ea7c' })), (e.ellipsis = new e('ellipsis', { character: '\\ea7c' })), (e.kebabHorizontal = new e('kebab-horizontal', { character: '\\ea7c', })), (e.mailReply = new e('mail-reply', { character: '\\ea7d' })), (e.reply = new e('reply', { character: '\\ea7d' })), (e.organization = new e('organization', { character: '\\ea7e' })), (e.organizationFilled = new e('organization-filled', { character: '\\ea7e', })), (e.organizationOutline = new e('organization-outline', { character: '\\ea7e', })), (e.newFile = new e('new-file', { character: '\\ea7f' })), (e.fileAdd = new e('file-add', { character: '\\ea7f' })), (e.newFolder = new e('new-folder', { character: '\\ea80' })), (e.fileDirectoryCreate = new e('file-directory-create', { character: '\\ea80', })), (e.trash = new e('trash', { character: '\\ea81' })), (e.trashcan = new e('trashcan', { character: '\\ea81' })), (e.history = new e('history', { character: '\\ea82' })), (e.clock = new e('clock', { character: '\\ea82' })), (e.folder = new e('folder', { character: '\\ea83' })), (e.fileDirectory = new e('file-directory', { character: '\\ea83', })), (e.symbolFolder = new e('symbol-folder', { character: '\\ea83' })), (e.logoGithub = new e('logo-github', { character: '\\ea84' })), (e.markGithub = new e('mark-github', { character: '\\ea84' })), (e.github = new e('github', { character: '\\ea84' })), (e.terminal = new e('terminal', { character: '\\ea85' })), (e.console = new e('console', { character: '\\ea85' })), (e.repl = new e('repl', { character: '\\ea85' })), (e.zap = new e('zap', { character: '\\ea86' })), (e.symbolEvent = new e('symbol-event', { character: '\\ea86' })), (e.error = new e('error', { character: '\\ea87' })), (e.stop = new e('stop', { character: '\\ea87' })), (e.variable = new e('variable', { character: '\\ea88' })), (e.symbolVariable = new e('symbol-variable', { character: '\\ea88', })), (e.array = new e('array', { character: '\\ea8a' })), (e.symbolArray = new e('symbol-array', { character: '\\ea8a' })), (e.symbolModule = new e('symbol-module', { character: '\\ea8b' })), (e.symbolPackage = new e('symbol-package', { character: '\\ea8b', })), (e.symbolNamespace = new e('symbol-namespace', { character: '\\ea8b', })), (e.symbolObject = new e('symbol-object', { character: '\\ea8b' })), (e.symbolMethod = new e('symbol-method', { character: '\\ea8c' })), (e.symbolFunction = new e('symbol-function', { character: '\\ea8c', })), (e.symbolConstructor = new e('symbol-constructor', { character: '\\ea8c', })), (e.symbolBoolean = new e('symbol-boolean', { character: '\\ea8f', })), (e.symbolNull = new e('symbol-null', { character: '\\ea8f' })), (e.symbolNumeric = new e('symbol-numeric', { character: '\\ea90', })), (e.symbolNumber = new e('symbol-number', { character: '\\ea90' })), (e.symbolStructure = new e('symbol-structure', { character: '\\ea91', })), (e.symbolStruct = new e('symbol-struct', { character: '\\ea91' })), (e.symbolParameter = new e('symbol-parameter', { character: '\\ea92', })), (e.symbolTypeParameter = new e('symbol-type-parameter', { character: '\\ea92', })), (e.symbolKey = new e('symbol-key', { character: '\\ea93' })), (e.symbolText = new e('symbol-text', { character: '\\ea93' })), (e.symbolReference = new e('symbol-reference', { character: '\\ea94', })), (e.goToFile = new e('go-to-file', { character: '\\ea94' })), (e.symbolEnum = new e('symbol-enum', { character: '\\ea95' })), (e.symbolValue = new e('symbol-value', { character: '\\ea95' })), (e.symbolRuler = new e('symbol-ruler', { character: '\\ea96' })), (e.symbolUnit = new e('symbol-unit', { character: '\\ea96' })), (e.activateBreakpoints = new e('activate-breakpoints', { character: '\\ea97', })), (e.archive = new e('archive', { character: '\\ea98' })), (e.arrowBoth = new e('arrow-both', { character: '\\ea99' })), (e.arrowDown = new e('arrow-down', { character: '\\ea9a' })), (e.arrowLeft = new e('arrow-left', { character: '\\ea9b' })), (e.arrowRight = new e('arrow-right', { character: '\\ea9c' })), (e.arrowSmallDown = new e('arrow-small-down', { character: '\\ea9d', })), (e.arrowSmallLeft = new e('arrow-small-left', { character: '\\ea9e', })), (e.arrowSmallRight = new e('arrow-small-right', { character: '\\ea9f', })), (e.arrowSmallUp = new e('arrow-small-up', { character: '\\eaa0' })), (e.arrowUp = new e('arrow-up', { character: '\\eaa1' })), (e.bell = new e('bell', { character: '\\eaa2' })), (e.bold = new e('bold', { character: '\\eaa3' })), (e.book = new e('book', { character: '\\eaa4' })), (e.bookmark = new e('bookmark', { character: '\\eaa5' })), (e.debugBreakpointConditionalUnverified = new e( 'debug-breakpoint-conditional-unverified', { character: '\\eaa6' } )), (e.debugBreakpointConditional = new e( 'debug-breakpoint-conditional', { character: '\\eaa7' } )), (e.debugBreakpointConditionalDisabled = new e( 'debug-breakpoint-conditional-disabled', { character: '\\eaa7' } )), (e.debugBreakpointDataUnverified = new e( 'debug-breakpoint-data-unverified', { character: '\\eaa8' } )), (e.debugBreakpointData = new e('debug-breakpoint-data', { character: '\\eaa9', })), (e.debugBreakpointDataDisabled = new e( 'debug-breakpoint-data-disabled', { character: '\\eaa9' } )), (e.debugBreakpointLogUnverified = new e( 'debug-breakpoint-log-unverified', { character: '\\eaaa' } )), (e.debugBreakpointLog = new e('debug-breakpoint-log', { character: '\\eaab', })), (e.debugBreakpointLogDisabled = new e( 'debug-breakpoint-log-disabled', { character: '\\eaab' } )), (e.briefcase = new e('briefcase', { character: '\\eaac' })), (e.broadcast = new e('broadcast', { character: '\\eaad' })), (e.browser = new e('browser', { character: '\\eaae' })), (e.bug = new e('bug', { character: '\\eaaf' })), (e.calendar = new e('calendar', { character: '\\eab0' })), (e.caseSensitive = new e('case-sensitive', { character: '\\eab1', })), (e.check = new e('check', { character: '\\eab2' })), (e.checklist = new e('checklist', { character: '\\eab3' })), (e.chevronDown = new e('chevron-down', { character: '\\eab4' })), (e.chevronLeft = new e('chevron-left', { character: '\\eab5' })), (e.chevronRight = new e('chevron-right', { character: '\\eab6' })), (e.chevronUp = new e('chevron-up', { character: '\\eab7' })), (e.chromeClose = new e('chrome-close', { character: '\\eab8' })), (e.chromeMaximize = new e('chrome-maximize', { character: '\\eab9', })), (e.chromeMinimize = new e('chrome-minimize', { character: '\\eaba', })), (e.chromeRestore = new e('chrome-restore', { character: '\\eabb', })), (e.circleOutline = new e('circle-outline', { character: '\\eabc', })), (e.debugBreakpointUnverified = new e( 'debug-breakpoint-unverified', { character: '\\eabc' } )), (e.circleSlash = new e('circle-slash', { character: '\\eabd' })), (e.circuitBoard = new e('circuit-board', { character: '\\eabe' })), (e.clearAll = new e('clear-all', { character: '\\eabf' })), (e.clippy = new e('clippy', { character: '\\eac0' })), (e.closeAll = new e('close-all', { character: '\\eac1' })), (e.cloudDownload = new e('cloud-download', { character: '\\eac2', })), (e.cloudUpload = new e('cloud-upload', { character: '\\eac3' })), (e.code = new e('code', { character: '\\eac4' })), (e.collapseAll = new e('collapse-all', { character: '\\eac5' })), (e.colorMode = new e('color-mode', { character: '\\eac6' })), (e.commentDiscussion = new e('comment-discussion', { character: '\\eac7', })), (e.compareChanges = new e('compare-changes', { character: '\\eafd', })), (e.creditCard = new e('credit-card', { character: '\\eac9' })), (e.dash = new e('dash', { character: '\\eacc' })), (e.dashboard = new e('dashboard', { character: '\\eacd' })), (e.database = new e('database', { character: '\\eace' })), (e.debugContinue = new e('debug-continue', { character: '\\eacf', })), (e.debugDisconnect = new e('debug-disconnect', { character: '\\ead0', })), (e.debugPause = new e('debug-pause', { character: '\\ead1' })), (e.debugRestart = new e('debug-restart', { character: '\\ead2' })), (e.debugStart = new e('debug-start', { character: '\\ead3' })), (e.debugStepInto = new e('debug-step-into', { character: '\\ead4', })), (e.debugStepOut = new e('debug-step-out', { character: '\\ead5' })), (e.debugStepOver = new e('debug-step-over', { character: '\\ead6', })), (e.debugStop = new e('debug-stop', { character: '\\ead7' })), (e.debug = new e('debug', { character: '\\ead8' })), (e.deviceCameraVideo = new e('device-camera-video', { character: '\\ead9', })), (e.deviceCamera = new e('device-camera', { character: '\\eada' })), (e.deviceMobile = new e('device-mobile', { character: '\\eadb' })), (e.diffAdded = new e('diff-added', { character: '\\eadc' })), (e.diffIgnored = new e('diff-ignored', { character: '\\eadd' })), (e.diffModified = new e('diff-modified', { character: '\\eade' })), (e.diffRemoved = new e('diff-removed', { character: '\\eadf' })), (e.diffRenamed = new e('diff-renamed', { character: '\\eae0' })), (e.diff = new e('diff', { character: '\\eae1' })), (e.discard = new e('discard', { character: '\\eae2' })), (e.editorLayout = new e('editor-layout', { character: '\\eae3' })), (e.emptyWindow = new e('empty-window', { character: '\\eae4' })), (e.exclude = new e('exclude', { character: '\\eae5' })), (e.extensions = new e('extensions', { character: '\\eae6' })), (e.eyeClosed = new e('eye-closed', { character: '\\eae7' })), (e.fileBinary = new e('file-binary', { character: '\\eae8' })), (e.fileCode = new e('file-code', { character: '\\eae9' })), (e.fileMedia = new e('file-media', { character: '\\eaea' })), (e.filePdf = new e('file-pdf', { character: '\\eaeb' })), (e.fileSubmodule = new e('file-submodule', { character: '\\eaec', })), (e.fileSymlinkDirectory = new e('file-symlink-directory', { character: '\\eaed', })), (e.fileSymlinkFile = new e('file-symlink-file', { character: '\\eaee', })), (e.fileZip = new e('file-zip', { character: '\\eaef' })), (e.files = new e('files', { character: '\\eaf0' })), (e.filter = new e('filter', { character: '\\eaf1' })), (e.flame = new e('flame', { character: '\\eaf2' })), (e.foldDown = new e('fold-down', { character: '\\eaf3' })), (e.foldUp = new e('fold-up', { character: '\\eaf4' })), (e.fold = new e('fold', { character: '\\eaf5' })), (e.folderActive = new e('folder-active', { character: '\\eaf6' })), (e.folderOpened = new e('folder-opened', { character: '\\eaf7' })), (e.gear = new e('gear', { character: '\\eaf8' })), (e.gift = new e('gift', { character: '\\eaf9' })), (e.gistSecret = new e('gist-secret', { character: '\\eafa' })), (e.gist = new e('gist', { character: '\\eafb' })), (e.gitCommit = new e('git-commit', { character: '\\eafc' })), (e.gitCompare = new e('git-compare', { character: '\\eafd' })), (e.gitMerge = new e('git-merge', { character: '\\eafe' })), (e.githubAction = new e('github-action', { character: '\\eaff' })), (e.githubAlt = new e('github-alt', { character: '\\eb00' })), (e.globe = new e('globe', { character: '\\eb01' })), (e.grabber = new e('grabber', { character: '\\eb02' })), (e.graph = new e('graph', { character: '\\eb03' })), (e.gripper = new e('gripper', { character: '\\eb04' })), (e.heart = new e('heart', { character: '\\eb05' })), (e.home = new e('home', { character: '\\eb06' })), (e.horizontalRule = new e('horizontal-rule', { character: '\\eb07', })), (e.hubot = new e('hubot', { character: '\\eb08' })), (e.inbox = new e('inbox', { character: '\\eb09' })), (e.issueClosed = new e('issue-closed', { character: '\\eb0a' })), (e.issueReopened = new e('issue-reopened', { character: '\\eb0b', })), (e.issues = new e('issues', { character: '\\eb0c' })), (e.italic = new e('italic', { character: '\\eb0d' })), (e.jersey = new e('jersey', { character: '\\eb0e' })), (e.json = new e('json', { character: '\\eb0f' })), (e.kebabVertical = new e('kebab-vertical', { character: '\\eb10', })), (e.key = new e('key', { character: '\\eb11' })), (e.law = new e('law', { character: '\\eb12' })), (e.lightbulbAutofix = new e('lightbulb-autofix', { character: '\\eb13', })), (e.linkExternal = new e('link-external', { character: '\\eb14' })), (e.link = new e('link', { character: '\\eb15' })), (e.listOrdered = new e('list-ordered', { character: '\\eb16' })), (e.listUnordered = new e('list-unordered', { character: '\\eb17', })), (e.liveShare = new e('live-share', { character: '\\eb18' })), (e.loading = new e('loading', { character: '\\eb19' })), (e.location = new e('location', { character: '\\eb1a' })), (e.mailRead = new e('mail-read', { character: '\\eb1b' })), (e.mail = new e('mail', { character: '\\eb1c' })), (e.markdown = new e('markdown', { character: '\\eb1d' })), (e.megaphone = new e('megaphone', { character: '\\eb1e' })), (e.mention = new e('mention', { character: '\\eb1f' })), (e.milestone = new e('milestone', { character: '\\eb20' })), (e.mortarBoard = new e('mortar-board', { character: '\\eb21' })), (e.move = new e('move', { character: '\\eb22' })), (e.multipleWindows = new e('multiple-windows', { character: '\\eb23', })), (e.mute = new e('mute', { character: '\\eb24' })), (e.noNewline = new e('no-newline', { character: '\\eb25' })), (e.note = new e('note', { character: '\\eb26' })), (e.octoface = new e('octoface', { character: '\\eb27' })), (e.openPreview = new e('open-preview', { character: '\\eb28' })), (e.package_ = new e('package', { character: '\\eb29' })), (e.paintcan = new e('paintcan', { character: '\\eb2a' })), (e.pin = new e('pin', { character: '\\eb2b' })), (e.play = new e('play', { character: '\\eb2c' })), (e.run = new e('run', { character: '\\eb2c' })), (e.plug = new e('plug', { character: '\\eb2d' })), (e.preserveCase = new e('preserve-case', { character: '\\eb2e' })), (e.preview = new e('preview', { character: '\\eb2f' })), (e.project = new e('project', { character: '\\eb30' })), (e.pulse = new e('pulse', { character: '\\eb31' })), (e.question = new e('question', { character: '\\eb32' })), (e.quote = new e('quote', { character: '\\eb33' })), (e.radioTower = new e('radio-tower', { character: '\\eb34' })), (e.reactions = new e('reactions', { character: '\\eb35' })), (e.references = new e('references', { character: '\\eb36' })), (e.refresh = new e('refresh', { character: '\\eb37' })), (e.regex = new e('regex', { character: '\\eb38' })), (e.remoteExplorer = new e('remote-explorer', { character: '\\eb39', })), (e.remote = new e('remote', { character: '\\eb3a' })), (e.remove = new e('remove', { character: '\\eb3b' })), (e.replaceAll = new e('replace-all', { character: '\\eb3c' })), (e.replace = new e('replace', { character: '\\eb3d' })), (e.repoClone = new e('repo-clone', { character: '\\eb3e' })), (e.repoForcePush = new e('repo-force-push', { character: '\\eb3f', })), (e.repoPull = new e('repo-pull', { character: '\\eb40' })), (e.repoPush = new e('repo-push', { character: '\\eb41' })), (e.report = new e('report', { character: '\\eb42' })), (e.requestChanges = new e('request-changes', { character: '\\eb43', })), (e.rocket = new e('rocket', { character: '\\eb44' })), (e.rootFolderOpened = new e('root-folder-opened', { character: '\\eb45', })), (e.rootFolder = new e('root-folder', { character: '\\eb46' })), (e.rss = new e('rss', { character: '\\eb47' })), (e.ruby = new e('ruby', { character: '\\eb48' })), (e.saveAll = new e('save-all', { character: '\\eb49' })), (e.saveAs = new e('save-as', { character: '\\eb4a' })), (e.save = new e('save', { character: '\\eb4b' })), (e.screenFull = new e('screen-full', { character: '\\eb4c' })), (e.screenNormal = new e('screen-normal', { character: '\\eb4d' })), (e.searchStop = new e('search-stop', { character: '\\eb4e' })), (e.server = new e('server', { character: '\\eb50' })), (e.settingsGear = new e('settings-gear', { character: '\\eb51' })), (e.settings = new e('settings', { character: '\\eb52' })), (e.shield = new e('shield', { character: '\\eb53' })), (e.smiley = new e('smiley', { character: '\\eb54' })), (e.sortPrecedence = new e('sort-precedence', { character: '\\eb55', })), (e.splitHorizontal = new e('split-horizontal', { character: '\\eb56', })), (e.splitVertical = new e('split-vertical', { character: '\\eb57', })), (e.squirrel = new e('squirrel', { character: '\\eb58' })), (e.starFull = new e('star-full', { character: '\\eb59' })), (e.starHalf = new e('star-half', { character: '\\eb5a' })), (e.symbolClass = new e('symbol-class', { character: '\\eb5b' })), (e.symbolColor = new e('symbol-color', { character: '\\eb5c' })), (e.symbolConstant = new e('symbol-constant', { character: '\\eb5d', })), (e.symbolEnumMember = new e('symbol-enum-member', { character: '\\eb5e', })), (e.symbolField = new e('symbol-field', { character: '\\eb5f' })), (e.symbolFile = new e('symbol-file', { character: '\\eb60' })), (e.symbolInterface = new e('symbol-interface', { character: '\\eb61', })), (e.symbolKeyword = new e('symbol-keyword', { character: '\\eb62', })), (e.symbolMisc = new e('symbol-misc', { character: '\\eb63' })), (e.symbolOperator = new e('symbol-operator', { character: '\\eb64', })), (e.symbolProperty = new e('symbol-property', { character: '\\eb65', })), (e.wrench = new e('wrench', { character: '\\eb65' })), (e.wrenchSubaction = new e('wrench-subaction', { character: '\\eb65', })), (e.symbolSnippet = new e('symbol-snippet', { character: '\\eb66', })), (e.tasklist = new e('tasklist', { character: '\\eb67' })), (e.telescope = new e('telescope', { character: '\\eb68' })), (e.textSize = new e('text-size', { character: '\\eb69' })), (e.threeBars = new e('three-bars', { character: '\\eb6a' })), (e.thumbsdown = new e('thumbsdown', { character: '\\eb6b' })), (e.thumbsup = new e('thumbsup', { character: '\\eb6c' })), (e.tools = new e('tools', { character: '\\eb6d' })), (e.triangleDown = new e('triangle-down', { character: '\\eb6e' })), (e.triangleLeft = new e('triangle-left', { character: '\\eb6f' })), (e.triangleRight = new e('triangle-right', { character: '\\eb70', })), (e.triangleUp = new e('triangle-up', { character: '\\eb71' })), (e.twitter = new e('twitter', { character: '\\eb72' })), (e.unfold = new e('unfold', { character: '\\eb73' })), (e.unlock = new e('unlock', { character: '\\eb74' })), (e.unmute = new e('unmute', { character: '\\eb75' })), (e.unverified = new e('unverified', { character: '\\eb76' })), (e.verified = new e('verified', { character: '\\eb77' })), (e.versions = new e('versions', { character: '\\eb78' })), (e.vmActive = new e('vm-active', { character: '\\eb79' })), (e.vmOutline = new e('vm-outline', { character: '\\eb7a' })), (e.vmRunning = new e('vm-running', { character: '\\eb7b' })), (e.watch = new e('watch', { character: '\\eb7c' })), (e.whitespace = new e('whitespace', { character: '\\eb7d' })), (e.wholeWord = new e('whole-word', { character: '\\eb7e' })), (e.window = new e('window', { character: '\\eb7f' })), (e.wordWrap = new e('word-wrap', { character: '\\eb80' })), (e.zoomIn = new e('zoom-in', { character: '\\eb81' })), (e.zoomOut = new e('zoom-out', { character: '\\eb82' })), (e.listFilter = new e('list-filter', { character: '\\eb83' })), (e.listFlat = new e('list-flat', { character: '\\eb84' })), (e.listSelection = new e('list-selection', { character: '\\eb85', })), (e.selection = new e('selection', { character: '\\eb85' })), (e.listTree = new e('list-tree', { character: '\\eb86' })), (e.debugBreakpointFunctionUnverified = new e( 'debug-breakpoint-function-unverified', { character: '\\eb87' } )), (e.debugBreakpointFunction = new e('debug-breakpoint-function', { character: '\\eb88', })), (e.debugBreakpointFunctionDisabled = new e( 'debug-breakpoint-function-disabled', { character: '\\eb88' } )), (e.debugStackframeActive = new e('debug-stackframe-active', { character: '\\eb89', })), (e.debugStackframeDot = new e('debug-stackframe-dot', { character: '\\eb8a', })), (e.debugStackframe = new e('debug-stackframe', { character: '\\eb8b', })), (e.debugStackframeFocused = new e('debug-stackframe-focused', { character: '\\eb8b', })), (e.debugBreakpointUnsupported = new e( 'debug-breakpoint-unsupported', { character: '\\eb8c' } )), (e.symbolString = new e('symbol-string', { character: '\\eb8d' })), (e.debugReverseContinue = new e('debug-reverse-continue', { character: '\\eb8e', })), (e.debugStepBack = new e('debug-step-back', { character: '\\eb8f', })), (e.debugRestartFrame = new e('debug-restart-frame', { character: '\\eb90', })), (e.callIncoming = new e('call-incoming', { character: '\\eb92' })), (e.callOutgoing = new e('call-outgoing', { character: '\\eb93' })), (e.menu = new e('menu', { character: '\\eb94' })), (e.expandAll = new e('expand-all', { character: '\\eb95' })), (e.feedback = new e('feedback', { character: '\\eb96' })), (e.groupByRefType = new e('group-by-ref-type', { character: '\\eb97', })), (e.ungroupByRefType = new e('ungroup-by-ref-type', { character: '\\eb98', })), (e.account = new e('account', { character: '\\eb99' })), (e.bellDot = new e('bell-dot', { character: '\\eb9a' })), (e.debugConsole = new e('debug-console', { character: '\\eb9b' })), (e.library = new e('library', { character: '\\eb9c' })), (e.output = new e('output', { character: '\\eb9d' })), (e.runAll = new e('run-all', { character: '\\eb9e' })), (e.syncIgnored = new e('sync-ignored', { character: '\\eb9f' })), (e.pinned = new e('pinned', { character: '\\eba0' })), (e.githubInverted = new e('github-inverted', { character: '\\eba1', })), (e.debugAlt = new e('debug-alt', { character: '\\eb91' })), (e.serverProcess = new e('server-process', { character: '\\eba2', })), (e.serverEnvironment = new e('server-environment', { character: '\\eba3', })), (e.pass = new e('pass', { character: '\\eba4' })), (e.stopCircle = new e('stop-circle', { character: '\\eba5' })), (e.playCircle = new e('play-circle', { character: '\\eba6' })), (e.record = new e('record', { character: '\\eba7' })), (e.debugAltSmall = new e('debug-alt-small', { character: '\\eba8', })), (e.vmConnect = new e('vm-connect', { character: '\\eba9' })), (e.cloud = new e('cloud', { character: '\\ebaa' })), (e.merge = new e('merge', { character: '\\ebab' })); })(l || (l = {})); const c = /(\\)?\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)/gi; function d(e) { return e.replace(c, (e, t) => (t ? e : `\\${e}`)); } const h = /\\\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)/gi; function u(e) { return e.replace(h, (e) => `\\${e}`); } const g = /(\\)?\$\((([a-z0-9\-]+?)(?:~([a-z0-9\-]*?))?)\)/gi; function f(e) { return e.replace(g, (e, t, i, n, r) => t ? `$(${i})` : `` ); } const p = /(\s)?(\\)?\$\([a-z0-9\-]+?(?:~[a-z0-9\-]*?)?\)(\s)?/gi; function m(e) { return -1 === e.indexOf(n.Ln) ? e : e.replace(p, (e, t, i, n) => (i ? e : t || n || '')); } }, 6626: (e, t, i) => { 'use strict'; i.d(t, { E: () => r, r: () => s }); const n = Object.prototype.hasOwnProperty; function r(e, t) { for (let i in e) if ( n.call(e, i) && !1 === t({ key: i, value: e[i] }, function () { delete e[i]; }) ) return; } class s { constructor() { this.map = new Map(); } add(e, t) { let i = this.map.get(e); i || ((i = new Set()), this.map.set(e, i)), i.add(t); } delete(e, t) { const i = this.map.get(e); i && (i.delete(t), 0 === i.size && this.map.delete(e)); } forEach(e, t) { const i = this.map.get(e); i && i.forEach(t); } } }, 41264: (e, t, i) => { 'use strict'; function n(e, t) { const i = Math.pow(10, t); return Math.round(e * i) / i; } i.d(t, { VS: () => r, tx: () => o, Il: () => a }); class r { constructor(e, t, i, r = 1) { (this.r = 0 | Math.min(255, Math.max(0, e))), (this.g = 0 | Math.min(255, Math.max(0, t))), (this.b = 0 | Math.min(255, Math.max(0, i))), (this.a = n(Math.max(Math.min(1, r), 0), 3)); } static equals(e, t) { return e.r === t.r && e.g === t.g && e.b === t.b && e.a === t.a; } } class s { constructor(e, t, i, r) { (this.h = 0 | Math.max(Math.min(360, e), 0)), (this.s = n(Math.max(Math.min(1, t), 0), 3)), (this.l = n(Math.max(Math.min(1, i), 0), 3)), (this.a = n(Math.max(Math.min(1, r), 0), 3)); } static equals(e, t) { return e.h === t.h && e.s === t.s && e.l === t.l && e.a === t.a; } static fromRGBA(e) { const t = e.r / 255, i = e.g / 255, n = e.b / 255, r = e.a, o = Math.max(t, i, n), a = Math.min(t, i, n); let l = 0, c = 0; const d = (a + o) / 2, h = o - a; if (h > 0) { switch ( ((c = Math.min(d <= 0.5 ? h / (2 * d) : h / (2 - 2 * d), 1)), o) ) { case t: l = (i - n) / h + (i < n ? 6 : 0); break; case i: l = (n - t) / h + 2; break; case n: l = (t - i) / h + 4; } (l *= 60), (l = Math.round(l)); } return new s(l, c, d, r); } static _hue2rgb(e, t, i) { return ( i < 0 && (i += 1), i > 1 && (i -= 1), i < 1 / 6 ? e + 6 * (t - e) * i : i < 0.5 ? t : i < 2 / 3 ? e + (t - e) * (2 / 3 - i) * 6 : e ); } static toRGBA(e) { const t = e.h / 360, { s: i, l: n, a: o } = e; let a, l, c; if (0 === i) a = l = c = n; else { const e = n < 0.5 ? n * (1 + i) : n + i - n * i, r = 2 * n - e; (a = s._hue2rgb(r, e, t + 1 / 3)), (l = s._hue2rgb(r, e, t)), (c = s._hue2rgb(r, e, t - 1 / 3)); } return new r( Math.round(255 * a), Math.round(255 * l), Math.round(255 * c), o ); } } class o { constructor(e, t, i, r) { (this.h = 0 | Math.max(Math.min(360, e), 0)), (this.s = n(Math.max(Math.min(1, t), 0), 3)), (this.v = n(Math.max(Math.min(1, i), 0), 3)), (this.a = n(Math.max(Math.min(1, r), 0), 3)); } static equals(e, t) { return e.h === t.h && e.s === t.s && e.v === t.v && e.a === t.a; } static fromRGBA(e) { const t = e.r / 255, i = e.g / 255, n = e.b / 255, r = Math.max(t, i, n), s = r - Math.min(t, i, n), a = 0 === r ? 0 : s / r; let l; return ( (l = 0 === s ? 0 : r === t ? ((((i - n) / s) % 6) + 6) % 6 : r === i ? (n - t) / s + 2 : (t - i) / s + 4), new o(Math.round(60 * l), a, r, e.a) ); } static toRGBA(e) { const { h: t, s: i, v: n, a: s } = e, o = n * i, a = o * (1 - Math.abs(((t / 60) % 2) - 1)), l = n - o; let [c, d, h] = [0, 0, 0]; return ( t < 60 ? ((c = o), (d = a)) : t < 120 ? ((c = a), (d = o)) : t < 180 ? ((d = o), (h = a)) : t < 240 ? ((d = a), (h = o)) : t < 300 ? ((c = a), (h = o)) : t < 360 && ((c = o), (h = a)), (c = Math.round(255 * (c + l))), (d = Math.round(255 * (d + l))), (h = Math.round(255 * (h + l))), new r(c, d, h, s) ); } } class a { constructor(e) { if (!e) throw new Error('Color needs a value'); if (e instanceof r) this.rgba = e; else if (e instanceof s) (this._hsla = e), (this.rgba = s.toRGBA(e)); else { if (!(e instanceof o)) throw new Error('Invalid color ctor argument'); (this._hsva = e), (this.rgba = o.toRGBA(e)); } } static fromHex(e) { return a.Format.CSS.parseHex(e) || a.red; } get hsla() { return this._hsla ? this._hsla : s.fromRGBA(this.rgba); } get hsva() { return this._hsva ? this._hsva : o.fromRGBA(this.rgba); } equals(e) { return ( !!e && r.equals(this.rgba, e.rgba) && s.equals(this.hsla, e.hsla) && o.equals(this.hsva, e.hsva) ); } getRelativeLuminance() { return n( 0.2126 * a._relativeLuminanceForComponent(this.rgba.r) + 0.7152 * a._relativeLuminanceForComponent(this.rgba.g) + 0.0722 * a._relativeLuminanceForComponent(this.rgba.b), 4 ); } static _relativeLuminanceForComponent(e) { const t = e / 255; return t <= 0.03928 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); } isLighter() { return ( (299 * this.rgba.r + 587 * this.rgba.g + 114 * this.rgba.b) / 1e3 >= 128 ); } isLighterThan(e) { return this.getRelativeLuminance() > e.getRelativeLuminance(); } isDarkerThan(e) { return this.getRelativeLuminance() < e.getRelativeLuminance(); } lighten(e) { return new a( new s( this.hsla.h, this.hsla.s, this.hsla.l + this.hsla.l * e, this.hsla.a ) ); } darken(e) { return new a( new s( this.hsla.h, this.hsla.s, this.hsla.l - this.hsla.l * e, this.hsla.a ) ); } transparent(e) { const { r: t, g: i, b: n, a: s } = this.rgba; return new a(new r(t, i, n, s * e)); } isTransparent() { return 0 === this.rgba.a; } isOpaque() { return 1 === this.rgba.a; } opposite() { return new a( new r( 255 - this.rgba.r, 255 - this.rgba.g, 255 - this.rgba.b, this.rgba.a ) ); } toString() { return '' + a.Format.CSS.format(this); } static getLighterColor(e, t, i) { if (e.isLighterThan(t)) return e; i = i || 0.5; const n = e.getRelativeLuminance(), r = t.getRelativeLuminance(); return (i = (i * (r - n)) / r), e.lighten(i); } static getDarkerColor(e, t, i) { if (e.isDarkerThan(t)) return e; i = i || 0.5; const n = e.getRelativeLuminance(); return (i = (i * (n - t.getRelativeLuminance())) / n), e.darken(i); } } (a.white = new a(new r(255, 255, 255, 1))), (a.black = new a(new r(0, 0, 0, 1))), (a.red = new a(new r(255, 0, 0, 1))), (a.blue = new a(new r(0, 0, 255, 1))), (a.cyan = new a(new r(0, 255, 255, 1))), (a.lightgrey = new a(new r(211, 211, 211, 1))), (a.transparent = new a(new r(0, 0, 0, 0))), (function (e) { let t; !(function (t) { let i; !(function (t) { function i(e) { const t = e.toString(16); return 2 !== t.length ? '0' + t : t; } function n(e) { switch (e) { case 48: return 0; case 49: return 1; case 50: return 2; case 51: return 3; case 52: return 4; case 53: return 5; case 54: return 6; case 55: return 7; case 56: return 8; case 57: return 9; case 97: case 65: return 10; case 98: case 66: return 11; case 99: case 67: return 12; case 100: case 68: return 13; case 101: case 69: return 14; case 102: case 70: return 15; } return 0; } (t.formatRGB = function (t) { return 1 === t.rgba.a ? `rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})` : e.Format.CSS.formatRGBA(t); }), (t.formatRGBA = function (e) { return `rgba(${e.rgba.r}, ${e.rgba.g}, ${ e.rgba.b }, ${+e.rgba.a.toFixed(2)})`; }), (t.formatHSL = function (t) { return 1 === t.hsla.a ? `hsl(${t.hsla.h}, ${(100 * t.hsla.s).toFixed(2)}%, ${( 100 * t.hsla.l ).toFixed(2)}%)` : e.Format.CSS.formatHSLA(t); }), (t.formatHSLA = function (e) { return `hsla(${e.hsla.h}, ${(100 * e.hsla.s).toFixed( 2 )}%, ${(100 * e.hsla.l).toFixed(2)}%, ${e.hsla.a.toFixed( 2 )})`; }), (t.formatHex = function (e) { return `#${i(e.rgba.r)}${i(e.rgba.g)}${i(e.rgba.b)}`; }), (t.formatHexA = function (t, n = !1) { return n && 1 === t.rgba.a ? e.Format.CSS.formatHex(t) : `#${i(t.rgba.r)}${i(t.rgba.g)}${i(t.rgba.b)}${i( Math.round(255 * t.rgba.a) )}`; }), (t.format = function (t) { return t.isOpaque() ? e.Format.CSS.formatHex(t) : e.Format.CSS.formatRGBA(t); }), (t.parseHex = function (t) { const i = t.length; if (0 === i) return null; if (35 !== t.charCodeAt(0)) return null; if (7 === i) { const i = 16 * n(t.charCodeAt(1)) + n(t.charCodeAt(2)), s = 16 * n(t.charCodeAt(3)) + n(t.charCodeAt(4)), o = 16 * n(t.charCodeAt(5)) + n(t.charCodeAt(6)); return new e(new r(i, s, o, 1)); } if (9 === i) { const i = 16 * n(t.charCodeAt(1)) + n(t.charCodeAt(2)), s = 16 * n(t.charCodeAt(3)) + n(t.charCodeAt(4)), o = 16 * n(t.charCodeAt(5)) + n(t.charCodeAt(6)), a = 16 * n(t.charCodeAt(7)) + n(t.charCodeAt(8)); return new e(new r(i, s, o, a / 255)); } if (4 === i) { const i = n(t.charCodeAt(1)), s = n(t.charCodeAt(2)), o = n(t.charCodeAt(3)); return new e(new r(16 * i + i, 16 * s + s, 16 * o + o)); } if (5 === i) { const i = n(t.charCodeAt(1)), s = n(t.charCodeAt(2)), o = n(t.charCodeAt(3)), a = n(t.charCodeAt(4)); return new e( new r( 16 * i + i, 16 * s + s, 16 * o + o, (16 * a + a) / 255 ) ); } return null; }); })((i = t.CSS || (t.CSS = {}))); })((t = e.Format || (e.Format = {}))); })(a || (a = {})); }, 49898: (e, t, i) => { 'use strict'; i.d(t, { H: () => r }); let n = 0; function r(e, t, i) { return (function () { const e = '$memoize' + n++; let t; const i = function (i, n, r) { let s = null, o = null; if ( ('function' == typeof r.value ? ((s = 'value'), (o = r.value), 0 !== o.length && console.warn( 'Memoize should only be used in functions with zero parameters' )) : 'function' == typeof r.get && ((s = 'get'), (o = r.get)), !o) ) throw new Error('not supported'); const a = `${e}:${n}`; r[s] = function (...e) { return ( (t = this), this.hasOwnProperty(a) || Object.defineProperty(this, a, { configurable: !0, enumerable: !1, writable: !0, value: o.apply(this, e), }), this[a] ); }; }; return ( (i.clear = () => { void 0 !== t && Object.getOwnPropertyNames(t).forEach((i) => { 0 === i.indexOf(e) && delete t[i]; }); }), i ); })()(e, t, i); } }, 17301: (e, t, i) => { 'use strict'; i.d(t, { dL: () => r, Cp: () => s, ri: () => o, VV: () => l, F0: () => c, b1: () => d, L6: () => h, }); const n = 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 r(e) { l(e) || n.onUnexpectedError(e); } function s(e) { l(e) || n.onUnexpectedExternalError(e); } function o(e) { if (e instanceof Error) { let { name: t, message: i } = e; return { $isError: !0, name: t, message: i, stack: e.stacktrace || e.stack, }; } return e; } const a = 'Canceled'; function l(e) { return e instanceof Error && e.name === a && e.message === a; } function c() { const e = new Error(a); return (e.name = e.message), e; } function d(e) { return e ? new Error(`Illegal argument: ${e}`) : new Error('Illegal argument'); } function h(e) { return e ? new Error(`Illegal state: ${e}`) : new Error('Illegal state'); } }, 4669: (e, t, i) => { 'use strict'; i.d(t, { ju: () => n, Q5: () => a, K3: () => l, E7: () => c, ZD: () => d, }); var n, r = i(17301), s = i(5976), o = i(91741); !(function (e) { function t(e) { return (t, i = null, n) => { let r, s = !1; return ( (r = e( (e) => { if (!s) return r ? r.dispose() : (s = !0), t.call(i, e); }, null, n )), s && r.dispose(), r ); }; } function i(e, t) { return l((i, n = null, r) => e((e) => i.call(n, t(e)), null, r)); } function n(e, t) { return l((i, n = null, r) => e( (e) => { t(e), i.call(n, e); }, null, r ) ); } function r(e, t) { return l((i, n = null, r) => e((e) => t(e) && i.call(n, e), null, r) ); } function o(e, t, n) { let r = n; return i(e, (e) => ((r = t(r, e)), r)); } function l(e) { let t; const i = new a({ onFirstListenerAdd() { t = e(i.fire, i); }, onLastListenerRemove() { t.dispose(); }, }); return i.event; } function c(e, t, i = 100, n = !1, r) { let s, o, l, c = 0; const d = new a({ leakWarningThreshold: r, onFirstListenerAdd() { s = e((e) => { c++, (o = t(o, e)), n && !l && (d.fire(o), (o = void 0)), clearTimeout(l), (l = setTimeout(() => { const e = o; (o = void 0), (l = void 0), (!n || c > 1) && d.fire(e), (c = 0); }, i)); }); }, onLastListenerRemove() { s.dispose(); }, }); return d.event; } function d(e) { let t, i = !0; return r(e, (e) => { const n = i || e !== t; return (i = !1), (t = e), n; }); } (e.None = () => s.JT.None), (e.once = t), (e.map = i), (e.forEach = n), (e.filter = r), (e.signal = function (e) { return e; }), (e.any = function (...e) { return (t, i = null, n) => (0, s.F8)(...e.map((e) => e((e) => t.call(i, e), null, n))); }), (e.reduce = o), (e.snapshot = l), (e.debounce = c), (e.stopwatch = function (e) { const n = new Date().getTime(); return i(t(e), (e) => new Date().getTime() - n); }), (e.latch = d), (e.buffer = function (e, t = !1, i = []) { let n = i.slice(), r = e((e) => { n ? n.push(e) : o.fire(e); }); const s = () => { n && n.forEach((e) => o.fire(e)), (n = null); }, o = new a({ onFirstListenerAdd() { r || (r = e((e) => o.fire(e))); }, onFirstListenerDidAdd() { n && (t ? setTimeout(s) : s()); }, onLastListenerRemove() { r && r.dispose(), (r = null); }, }); return o.event; }); class h { constructor(e) { this.event = e; } map(e) { return new h(i(this.event, e)); } forEach(e) { return new h(n(this.event, e)); } filter(e) { return new h(r(this.event, e)); } reduce(e, t) { return new h(o(this.event, e, t)); } latch() { return new h(d(this.event)); } debounce(e, t = 100, i = !1, n) { return new h(c(this.event, e, t, i, n)); } on(e, t, i) { return this.event(e, t, i); } once(e, i, n) { return t(this.event)(e, i, n); } } (e.chain = function (e) { return new h(e); }), (e.fromNodeEventEmitter = function (e, t, i = (e) => e) { const n = (...e) => r.fire(i(...e)), r = new a({ onFirstListenerAdd: () => e.on(t, n), onLastListenerRemove: () => e.removeListener(t, n), }); return r.event; }), (e.fromDOMEventEmitter = function (e, t, i = (e) => e) { const n = (...e) => r.fire(i(...e)), r = new a({ onFirstListenerAdd: () => e.addEventListener(t, n), onLastListenerRemove: () => e.removeEventListener(t, n), }); return r.event; }), (e.fromPromise = function (e) { const t = new a(); let i = !1; return ( e .then(void 0, () => null) .then(() => { i ? t.fire(void 0) : setTimeout(() => t.fire(void 0), 0); }), (i = !0), t.event ); }), (e.toPromise = function (e) { return new Promise((i) => t(e)(i)); }); })(n || (n = {})); class a { constructor(e) { (this._disposed = !1), (this._options = e), (this._leakageMon = void 0); } get event() { return ( this._event || (this._event = (e, t, i) => { this._listeners || (this._listeners = new o.S()); const n = this._listeners.isEmpty(); n && this._options && this._options.onFirstListenerAdd && this._options.onFirstListenerAdd(this); const r = this._listeners.push(t ? [e, t] : e); let l, c; return ( n && this._options && this._options.onFirstListenerDidAdd && this._options.onFirstListenerDidAdd(this), this._options && this._options.onListenerDidAdd && this._options.onListenerDidAdd(this, e, t), this._leakageMon && (l = this._leakageMon.check(this._listeners.size)), (c = { dispose: () => { l && l(), (c.dispose = a._noop), !this._disposed && (r(), this._options && this._options.onLastListenerRemove) && ((this._listeners && !this._listeners.isEmpty()) || this._options.onLastListenerRemove(this)); }, }), i instanceof s.SL ? i.add(c) : Array.isArray(i) && i.push(c), c ); }), this._event ); } fire(e) { if (this._listeners) { this._deliveryQueue || (this._deliveryQueue = new o.S()); 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) { (0, r.dL)(e); } } } } dispose() { this._listeners && this._listeners.clear(), this._deliveryQueue && this._deliveryQueue.clear(), this._leakageMon && this._leakageMon.dispose(), (this._disposed = !0); } } a._noop = function () {}; class l extends a { constructor(e) { super(e), (this._isPaused = 0), (this._eventQueue = new o.S()), (this._mergeFn = e && e.merge); } pause() { this._isPaused++; } resume() { if (0 !== this._isPaused && 0 == --this._isPaused) if (this._mergeFn) { const e = this._eventQueue.toArray(); this._eventQueue.clear(), super.fire(this._mergeFn(e)); } else for (; !this._isPaused && 0 !== this._eventQueue.size; ) super.fire(this._eventQueue.shift()); } fire(e) { this._listeners && (0 !== this._isPaused ? this._eventQueue.push(e) : super.fire(e)); } } class c { constructor() { this.buffers = []; } wrapEvent(e) { return (t, i, n) => e( (e) => { const n = this.buffers[this.buffers.length - 1]; n ? n.push(() => t.call(i, e)) : t.call(i, e); }, void 0, n ); } bufferEvents(e) { const t = []; this.buffers.push(t); const i = e(); return this.buffers.pop(), t.forEach((e) => e()), i; } } class d { constructor() { (this.listening = !1), (this.inputEvent = n.None), (this.inputEventListener = s.JT.None), (this.emitter = new a({ onFirstListenerDidAdd: () => { (this.listening = !0), (this.inputEventListener = this.inputEvent( this.emitter.fire, this.emitter )); }, onLastListenerRemove: () => { (this.listening = !1), this.inputEventListener.dispose(); }, })), (this.event = this.emitter.event); } set input(e) { (this.inputEvent = e), this.listening && (this.inputEventListener.dispose(), (this.inputEventListener = e(this.emitter.fire, this.emitter))); } dispose() { this.inputEventListener.dispose(), this.emitter.dispose(); } } }, 15527: (e, t, i) => { 'use strict'; i.d(t, { e: () => s, K: () => o }); var n = i(97295), r = i(88721); function s(e) { return e.replace(/[\\/]/g, r.KR.sep); } function o(e, t, i, s = r.ir) { if (e === t) return !0; if (!e || !t) return !1; if (t.length > e.length) return !1; if (i) { if (!(0, n.ok)(e, t)) return !1; if (t.length === e.length) return !0; let i = t.length; return t.charAt(t.length - 1) === s && i--, e.charAt(i) === s; } return t.charAt(t.length - 1) !== s && (t += s), 0 === e.indexOf(t); } }, 75392: (e, t, i) => { 'use strict'; i.d(t, { or: () => s, Ji: () => o, ir: () => a, KZ: () => y, Oh: () => L, jB: () => M, mB: () => D, CL: () => P, EW: () => F, l7: () => U, }); var n = i(43702), r = i(97295); function s(...e) { return function (t, i) { for (let n = 0, r = e.length; n < r; n++) { const r = e[n](t, i); if (r) return r; } return null; }; } const o = function (e, t, i) { if (!i || i.length < t.length) return null; let n; return ( (n = e ? r.ok(i, t) : 0 === i.indexOf(t)), n ? (t.length > 0 ? [{ start: 0, end: t.length }] : []) : null ); }.bind(void 0, !0); function a(e, t) { const i = t.toLowerCase().indexOf(e.toLowerCase()); return -1 === i ? null : [{ start: i, end: i + e.length }]; } function l(e, t, i, n) { if (i === e.length) return []; if (n === t.length) return null; if (e[i] === t[n]) { let r = null; return (r = l(e, t, i + 1, n + 1)) ? m({ start: n, end: n + 1 }, r) : null; } return l(e, t, i, n + 1); } function c(e) { return 97 <= e && e <= 122; } function d(e) { return 65 <= e && e <= 90; } function h(e) { return 48 <= e && e <= 57; } function u(e) { return 32 === e || 9 === e || 10 === e || 13 === e; } const g = new Set(); function f(e) { return u(e) || g.has(e); } function p(e) { return c(e) || d(e) || h(e); } function m(e, t) { return ( 0 === t.length ? (t = [e]) : e.end === t[0].start ? (t[0].start = e.start) : t.unshift(e), t ); } function _(e, t) { for (let i = t; i < e.length; i++) { const t = e.charCodeAt(i); if (d(t) || h(t) || (i > 0 && !p(e.charCodeAt(i - 1)))) return i; } return e.length; } function b(e, t, i, n) { if (i === e.length) return []; if (n === t.length) return null; if (e[i] !== t[n].toLowerCase()) return null; { let r = null, s = n + 1; for (r = b(e, t, i + 1, n + 1); !r && (s = _(t, s)) < t.length; ) (r = b(e, t, i + 1, s)), s++; return null === r ? null : m({ start: n, end: n + 1 }, r); } } function v(e, t) { if (!t) return null; if (0 === (t = t.trim()).length) return null; if ( !(function (e) { let t = 0, i = 0, n = 0, r = 0; for (let s = 0; s < e.length; s++) (n = e.charCodeAt(s)), d(n) && t++, c(n) && i++, u(n) && r++; return (0 !== t && 0 !== i) || 0 !== r ? t <= 5 : e.length <= 30; })(e) ) return null; if (t.length > 60) return null; const i = (function (e) { let t = 0, i = 0, n = 0, r = 0, s = 0; for (let o = 0; o < e.length; o++) (s = e.charCodeAt(o)), d(s) && t++, c(s) && i++, p(s) && n++, h(s) && r++; return { upperPercent: t / e.length, lowerPercent: i / e.length, alphaPercent: n / e.length, numericPercent: r / e.length, }; })(t); if ( !(function (e) { const { upperPercent: t, lowerPercent: i, alphaPercent: n, numericPercent: r, } = e; return i > 0.2 && t < 0.8 && n > 0.6 && r < 0.2; })(i) ) { if ( !(function (e) { const { upperPercent: t, lowerPercent: i } = e; return 0 === i && t > 0.6; })(i) ) return null; t = t.toLowerCase(); } let n = null, r = 0; for ( e = e.toLowerCase(); r < t.length && null === (n = b(e, t, 0, r)); ) r = _(t, r + 1); return n; } function y(e, t, i = !1) { if (!t || 0 === t.length) return null; let n = null, r = 0; for ( e = e.toLowerCase(), t = t.toLowerCase(); r < t.length && null === (n = w(e, t, 0, r, i)); ) r = C(t, r + 1); return n; } function w(e, t, i, n, r) { if (i === e.length) return []; if (n === t.length) return null; if ( (s = e.charCodeAt(i)) === (o = t.charCodeAt(n)) || (f(s) && f(o)) ) { let s = null, o = n + 1; if (((s = w(e, t, i + 1, n + 1, r)), !r)) for (; !s && (o = C(t, o)) < t.length; ) (s = w(e, t, i + 1, o, r)), o++; return null === s ? null : m({ start: n, end: n + 1 }, s); } return null; var s, o; } function C(e, t) { for (let i = t; i < e.length; i++) if (f(e.charCodeAt(i)) || (i > 0 && f(e.charCodeAt(i - 1)))) return i; return e.length; } '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?' .split('') .forEach((e) => g.add(e.charCodeAt(0))); const S = s(o, v, a), k = s(o, v, function (e, t) { return l(e.toLowerCase(), t.toLowerCase(), 0, 0); }), x = new n.z6(1e4); function L(e, t, i = !1) { if ('string' != typeof e || 'string' != typeof t) return null; let n = x.get(e); n || ((n = new RegExp(r.un(e), 'i')), x.set(e, n)); const s = n.exec(t); return s ? [{ start: s.index, end: s.index + s[0].length }] : i ? k(e, t) : S(e, t); } function M(e, t, i, n, r, s) { const o = F(e, t, 0, n, r, 0, !0); if (o) return o; let a = 0, l = 0, c = s; for (let e = 0; e < t.length && e < N; ++e) { const i = r.indexOf(t.charAt(e), c); if (i >= 0) (l += 1), (a += Math.pow(2, i)), (c = i + 1); else if (0 !== a) break; } return [l, a, s]; } function D(e) { if (void 0 === e) return []; const t = e[1].toString(2), i = []; for (let n = e[2]; n < N; n++) if ('1' === t[t.length - (n + 1)]) { const e = i[i.length - 1]; e && e.end === n ? (e.end = n + 1) : i.push({ start: n, end: n + 1 }); } return i; } const N = 128; function E() { const e = [], t = [0]; for (let e = 1; e <= N; e++) t.push(-e); for (let i = 0; i <= N; i++) { const n = t.slice(0); (n[0] = -i), e.push(n); } return e; } const T = E(), I = E(), O = E(); function A(e, t) { if (t < 0 || t >= e.length) return !1; switch (e.charCodeAt(t)) { case 95: case 45: case 46: case 32: case 47: case 92: case 39: case 34: case 58: case 36: return !0; default: return !1; } } function R(e, t, i) { return t[e] !== i[e]; } var P; function F(e, t, i, n, r, s, o) { const a = e.length > N ? N : e.length, l = n.length > N ? N : n.length; if (i >= a || s >= l || a - i > l - s) return; if ( !(function (e, t, i, n, r, s) { for (; t < i && r < s; ) e[t] === n[r] && (t += 1), (r += 1); return t === i; })(t, i, a, r, s, l) ) return; let c = 1, d = 1, h = i, u = s, g = !1; for (c = 1, h = i; h < a; c++, h++) for (d = 1, u = s; u < l; d++, u++) { const s = B(e, t, h, i, n, r, u); h === i && s > 1 && (g = !0), (I[c][d] = s); const o = T[c - 1][d - 1] + (s > 1 ? 1 : s), a = T[c - 1][d] + -1, l = T[c][d - 1] + -1; l >= a ? l > o ? ((T[c][d] = l), (O[c][d] = 4)) : l === o ? ((T[c][d] = l), (O[c][d] = 6)) : ((T[c][d] = o), (O[c][d] = 2)) : a > o ? ((T[c][d] = a), (O[c][d] = 1)) : a === o ? ((T[c][d] = a), (O[c][d] = 3)) : ((T[c][d] = o), (O[c][d] = 2)); } return (g || o) && ((W = 0), (H = -100), (j = s), (V = o), z(c - 1, d - 1, a === l ? 1 : 0, 0, !1), 0 !== W) ? [H, Y, s] : void 0; } function B(e, t, i, n, r, s, o) { return t[i] !== s[o] ? -1 : o === i - n ? e[i] === r[o] ? 7 : 5 : !R(o, r, s) || (0 !== o && R(o - 1, r, s)) ? !A(s, o) || (0 !== o && A(s, o - 1)) ? A(s, o - 1) || (function (e, t) { if (t < 0 || t >= e.length) return !1; switch (e.charCodeAt(t)) { case 32: case 9: return !0; default: return !1; } })(s, o - 1) ? 5 : 1 : 5 : e[i] === r[o] ? 7 : 5; } !(function (e) { (e.Default = Object.freeze([-100, 0, 0])), (e.isDefault = function (e) { return !e || (-100 === e[0] && 0 === e[1] && 0 === e[2]); }); })(P || (P = {})); let W = 0, Y = 0, H = 0, j = 0, V = !1; function z(e, t, i, n, r) { if (W >= 10 || i < -25) return; let s = 0; for (; e > 0 && t > 0; ) { const o = I[e][t], a = O[e][t]; if (4 === a) (t -= 1), r ? (i -= 5) : 0 !== n && (i -= 1), (r = !1), (s = 0); else { if (!(2 & a)) return; if ( (4 & a && z(e, t - 1, 0 !== n ? i - 1 : i, n, r), (i += o), (e -= 1), (t -= 1), (r = !0), (n += Math.pow(2, t + j)), 1 === o) ) { if (((s += 1), 0 === e && !V)) return; } else (i += 1 + s * (o - 1)), (s = 0); } } (W += 1), (i -= t >= 3 ? 9 : 3 * t) > H && ((H = i), (Y = n)); } function U(e, t, i, n, r, s, o) { return (function (e, t, i, n, r, s, o, a) { let l = F(e, t, i, n, r, s, a); if (e.length >= 3) { const t = Math.min(7, e.length - 1); for (let o = i + 1; o < t; o++) { const t = $(e, o); if (t) { const e = F(t, t.toLowerCase(), i, n, r, s, a); e && ((e[0] -= 3), (!l || e[0] > l[0]) && (l = e)); } } } return l; })(e, t, i, n, r, s, 0, o); } function $(e, t) { if (t + 1 >= e.length) return; const i = e[t], n = e[t + 1]; return i !== n ? e.slice(0, t) + n + i + e.slice(t + 2) : void 0; } }, 88289: (e, t, i) => { 'use strict'; function n(e) { const t = this; let i, n = !1; return function () { return n || ((n = !0), (i = e.apply(t, arguments))), i; }; } i.d(t, { I: () => n }); }, 14118: (e, t, i) => { 'use strict'; i.d(t, { EQ: () => M }); var n = i(9488), r = i(97295), s = i(15527), o = i(88721), a = i(43702), l = i(15393); const c = '**', d = /\//g; function h(e) { switch (e) { case 0: return ''; case 1: return '[^/\\\\]*?'; default: return '(?:[/\\\\]|[^/\\\\]+[/\\\\]|[/\\\\][^/\\\\]+)*?'; } } function u(e, t) { if (!e) return []; const i = []; let n = !1, r = !1, s = ''; for (const o of e) { switch (o) { case t: if (!n && !r) { i.push(s), (s = ''); continue; } break; case '{': n = !0; break; case '}': n = !1; break; case '[': r = !0; break; case ']': r = !1; } s += o; } return s && i.push(s), i; } function g(e) { if (!e) return ''; let t = ''; const i = u(e, '/'); if (i.every((e) => e === c)) t = '.*'; else { let e = !1; i.forEach((n, s) => { if (n === c) return void (e || ((t += h(2)), (e = !0))); let o = !1, a = '', l = !1, d = ''; for (const e of n) if ('}' !== e && o) a += e; else if (!l || (']' === e && d)) switch (e) { case '{': o = !0; continue; case '[': l = !0; continue; case '}': const i = `(?:${u(a, ',') .map((e) => g(e)) .join('|')})`; (t += i), (o = !1), (a = ''); break; case ']': (t += '[' + d + ']'), (l = !1), (d = ''); break; case '?': t += '[^/\\\\]'; continue; case '*': t += h(1); continue; default: t += r.ec(e); } else { let t; (t = '-' === e ? e : ('^' !== e && '!' !== e) || d ? '/' === e ? '' : r.ec(e) : '^'), (d += t); } s < i.length - 1 && (i[s + 1] !== c || s + 2 < i.length) && (t += '[/\\\\]'), (e = !1); }); } return t; } const f = /^\*\*\/\*\.[\w\.-]+$/, p = /^\*\*\/([\w\.-]+)\/?$/, m = /^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/, _ = /^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/, b = /^\*\*((\/[\w\.-]+)+)\/?$/, v = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/, y = new a.z6(1e4), w = function () { return !1; }, C = function () { return null; }; function S(e, t) { if (!e) return C; let i; (i = 'string' != typeof e ? e.pattern : e), (i = i.trim()); const r = `${i}_${!!t.trimForExclusions}`; let s, o = y.get(r); if (o) return k(o, e); if (f.test(i)) { const e = i.substr(4); o = function (t, n) { return 'string' == typeof t && t.endsWith(e) ? i : null; }; } else o = (s = p.exec(x(i, t))) ? (function (e, t) { const i = `/${e}`, n = `\\${e}`, r = function (r, s) { return 'string' != typeof r ? null : s ? s === e ? t : null : r === e || r.endsWith(i) || r.endsWith(n) ? t : null; }, s = [e]; return ( (r.basenames = s), (r.patterns = [t]), (r.allBasenames = s), r ); })(s[1], i) : (t.trimForExclusions ? _ : m).test(i) ? (function (e, t) { const i = D( e .slice(1, -1) .split(',') .map((e) => S(e, t)) .filter((e) => e !== C), e ), r = i.length; if (!r) return C; if (1 === r) return i[0]; const s = function (t, n) { for (let r = 0, s = i.length; r < s; r++) if (i[r](t, n)) return e; return null; }, o = n.Ps(i, (e) => !!e.allBasenames); o && (s.allBasenames = o.allBasenames); const a = i.reduce( (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), [] ); return a.length && (s.allPaths = a), s; })(i, t) : (s = b.exec(x(i, t))) ? L(s[1].substr(1), i, !0) : (s = v.exec(x(i, t))) ? L(s[1], i, !1) : (function (e) { try { const t = new RegExp(`^${g(e)}$`); return function (i) { return ( (t.lastIndex = 0), 'string' == typeof i && t.test(i) ? e : null ); }; } catch (e) { return C; } })(i); return y.set(r, o), k(o, e); } function k(e, t) { return 'string' == typeof t ? e : function (i, n) { return s.K(i, t.base) ? e(o.Gf(t.base, i), n) : null; }; } function x(e, t) { return t.trimForExclusions && e.endsWith('/**') ? e.substr(0, e.length - 2) : e; } function L(e, t, i) { const n = o.ir !== o.KR.sep ? e.replace(d, o.ir) : e, r = o.ir + n, s = i ? function (e, i) { return 'string' != typeof e || (e !== n && !e.endsWith(r)) ? null : t; } : function (e, i) { return 'string' == typeof e && e === n ? t : null; }; return (s.allPaths = [(i ? '*/' : './') + e]), s; } function M(e, t, i) { return ( !(!e || 'string' != typeof t) && (function (e, t = {}) { if (!e) return w; if ( 'string' == typeof e || (function (e) { const t = e; return ( t && 'string' == typeof t.base && 'string' == typeof t.pattern ); })(e) ) { const i = S(e, t); if (i === C) return w; const n = function (e, t) { return !!i(e, t); }; return ( i.allBasenames && (n.allBasenames = i.allBasenames), i.allPaths && (n.allPaths = i.allPaths), n ); } return (function (e, t) { const i = D( Object.getOwnPropertyNames(e) .map((i) => (function (e, t, i) { if (!1 === t) return C; const n = S(e, i); if (n === C) return C; if ('boolean' == typeof t) return n; if (t) { const i = t.when; if ('string' == typeof i) { const t = (t, r, s, o) => { if (!o || !n(t, r)) return null; const a = o(i.replace('$(basename)', s)); return (0, l.J8)(a) ? a.then((t) => (t ? e : null)) : a ? e : null; }; return (t.requiresSiblings = !0), t; } } return n; })(i, e[i], t) ) .filter((e) => e !== C) ), r = i.length; if (!r) return C; if (!i.some((e) => !!e.requiresSiblings)) { if (1 === r) return i[0]; const e = function (e, t) { for (let n = 0, r = i.length; n < r; n++) { const r = i[n](e, t); if (r) return r; } return null; }, t = n.Ps(i, (e) => !!e.allBasenames); t && (e.allBasenames = t.allBasenames); const s = i.reduce( (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), [] ); return s.length && (e.allPaths = s), e; } const s = function (e, t, n) { let r; for (let s = 0, a = i.length; s < a; s++) { const a = i[s]; a.requiresSiblings && n && (t || (t = o.EZ(e)), r || (r = t.substr(0, t.length - o.DZ(e).length))); const l = a(e, t, r, n); if (l) return l; } return null; }, a = n.Ps(i, (e) => !!e.allBasenames); a && (s.allBasenames = a.allBasenames); const c = i.reduce( (e, t) => (t.allPaths ? e.concat(t.allPaths) : e), [] ); return c.length && (s.allPaths = c), s; })(e, t); })(e)(t, void 0, i) ); } function D(e, t) { const i = e.filter((e) => !!e.basenames); if (i.length < 2) return e; const n = i.reduce((e, t) => { const i = t.basenames; return i ? e.concat(i) : e; }, []); let r; if (t) { r = []; for (let e = 0, i = n.length; e < i; e++) r.push(t); } else r = i.reduce((e, t) => { const i = t.patterns; return i ? e.concat(i) : e; }, []); const s = function (e, t) { if ('string' != typeof e) return null; if (!t) { let i; for (i = e.length; i > 0; i--) { const t = e.charCodeAt(i - 1); if (47 === t || 92 === t) break; } t = e.substr(i); } const i = n.indexOf(t); return -1 !== i ? r[i] : null; }; (s.basenames = n), (s.patterns = r), (s.allBasenames = n); const o = e.filter((e) => !e.basenames); return o.push(s), o; } }, 89954: (e, t, i) => { 'use strict'; i.d(t, { vp: () => r, Cv: () => a, yP: () => h }); var n = i(97295); function r(e) { return s(e, 0); } function s(e, t) { switch (typeof e) { case 'object': return null === e ? o(349, t) : Array.isArray(e) ? ((i = e), (n = o(104579, (n = t))), i.reduce((e, t) => s(t, e), n)) : (function (e, t) { return ( (t = o(181387, t)), Object.keys(e) .sort() .reduce((t, i) => ((t = a(i, t)), s(e[i], t)), t) ); })(e, t); case 'string': return a(e, t); case 'boolean': return (function (e, t) { return o(e ? 433 : 863, t); })(e, t); case 'number': return o(e, t); case 'undefined': return o(937, t); default: return o(617, t); } var i, n; } function o(e, t) { return ((t << 5) - t + e) | 0; } function a(e, t) { t = o(149417, t); for (let i = 0, n = e.length; i < n; i++) t = o(e.charCodeAt(i), t); return t; } function l(e, t, i = 32) { const n = i - t; return ((e << t) | ((~((1 << n) - 1) & e) >>> n)) >>> 0; } function c(e, t = 0, i = e.byteLength, n = 0) { for (let r = 0; r < i; r++) e[t + r] = n; } function d(e, t = 32) { return (function (e, t, i = '0') { for (; e.length < t; ) e = i + e; return e; })((e >>> 0).toString(16), t / 4); } 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 i = this._buff; let r, s, o = this._buffLen, a = this._leftoverHighSurrogate; for ( 0 !== a ? ((r = a), (s = -1), (a = 0)) : ((r = e.charCodeAt(0)), (s = 0)); ; ) { let l = r; if (n.ZG(r)) { if (!(s + 1 < t)) { a = r; break; } { const t = e.charCodeAt(s + 1); n.YK(t) ? (s++, (l = n.rL(r, t))) : (l = 65533); } } else n.YK(r) && (l = 65533); if (((o = this._push(i, o, l)), s++, !(s < t))) break; r = e.charCodeAt(s); } (this._buffLen = o), (this._leftoverHighSurrogate = a); } _push(e, t, i) { return ( i < 128 ? (e[t++] = i) : i < 2048 ? ((e[t++] = 192 | ((1984 & i) >>> 6)), (e[t++] = 128 | ((63 & i) >>> 0))) : i < 65536 ? ((e[t++] = 224 | ((61440 & i) >>> 12)), (e[t++] = 128 | ((4032 & i) >>> 6)), (e[t++] = 128 | ((63 & i) >>> 0))) : ((e[t++] = 240 | ((1835008 & i) >>> 18)), (e[t++] = 128 | ((258048 & i) >>> 12)), (e[t++] = 128 | ((4032 & i) >>> 6)), (e[t++] = 128 | ((63 & i) >>> 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()), d(this._h0) + d(this._h1) + d(this._h2) + d(this._h3) + d(this._h4) ); } _wrapUp() { (this._buff[this._buffLen++] = 128), c(this._buff, this._buffLen), this._buffLen > 56 && (this._step(), c(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 i = 0; i < 64; i += 4) e.setUint32(i, t.getUint32(i, !1), !1); for (let t = 64; t < 320; t += 4) e.setUint32( t, l( e.getUint32(t - 12, !1) ^ e.getUint32(t - 32, !1) ^ e.getUint32(t - 56, !1) ^ e.getUint32(t - 64, !1), 1 ), !1 ); let i, n, r, s = this._h0, o = this._h1, a = this._h2, c = this._h3, d = this._h4; for (let t = 0; t < 80; t++) t < 20 ? ((i = (o & a) | (~o & c)), (n = 1518500249)) : t < 40 ? ((i = o ^ a ^ c), (n = 1859775393)) : t < 60 ? ((i = (o & a) | (o & c) | (a & c)), (n = 2400959708)) : ((i = o ^ a ^ c), (n = 3395469782)), (r = (l(s, 5) + i + d + n + e.getUint32(4 * t, !1)) & 4294967295), (d = c), (c = a), (a = l(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 + c) & 4294967295), (this._h4 = (this._h4 + d) & 4294967295); } } h._bigBlock32 = new DataView(new ArrayBuffer(320)); }, 59365: (e, t, i) => { 'use strict'; i.d(t, { W5: () => o, CP: () => a, W6: () => c, oR: () => h, v1: () => u, }); var n = i(9488), r = i(73046), s = i(17301); class o { constructor(e = '', t = !1) { var i, n; if (((this._value = e), 'string' != typeof this._value)) throw (0, s.b1)('value'); 'boolean' == typeof t ? ((this._isTrusted = t), (this._supportThemeIcons = !1)) : ((this._isTrusted = null !== (i = t.isTrusted) && void 0 !== i && i), (this._supportThemeIcons = null !== (n = t.supportThemeIcons) && void 0 !== n && n)); } get value() { return this._value; } get isTrusted() { return this._isTrusted; } get supportThemeIcons() { return this._supportThemeIcons; } appendText(e) { return ( (this._value += (this._supportThemeIcons ? (0, r.qQ)(e) : e) .replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&') .replace(/\n/g, '\n\n')), this ); } appendMarkdown(e) { return (this._value += e), this; } appendCodeblock(e, t) { return ( (this._value += '\n```'), (this._value += e), (this._value += '\n'), (this._value += t), (this._value += '\n```\n'), this ); } } function a(e) { return l(e) ? !e.value : !Array.isArray(e) || e.every(a); } function l(e) { return ( e instanceof o || (!(!e || 'object' != typeof e) && !( 'string' != typeof e.value || ('boolean' != typeof e.isTrusted && void 0 !== e.isTrusted) || ('boolean' != typeof e.supportThemeIcons && void 0 !== e.supportThemeIcons) )) ); } function c(e, t) { return ( (!e && !t) || (!(!e || !t) && (Array.isArray(e) && Array.isArray(t) ? (0, n.fS)(e, t, d) : !(!l(e) || !l(t)) && d(e, t))) ); } function d(e, t) { return ( e === t || (!(!e || !t) && e.value === t.value && e.isTrusted === t.isTrusted && e.supportThemeIcons === t.supportThemeIcons) ); } function h(e) { return e ? e.replace(/\\([\\`*_{}[\]()#+\-.!])/g, '$1') : e; } function u(e) { const t = [], i = e.split('|').map((e) => e.trim()); e = i[0]; const n = i[1]; if (n) { const e = /height=(\d+)/.exec(n), i = /width=(\d+)/.exec(n), r = e ? e[1] : '', s = i ? i[1] : '', o = isFinite(parseInt(s)), a = isFinite(parseInt(r)); o && t.push(`width="${s}"`), a && t.push(`height="${r}"`); } return { href: e, dimensions: t }; } }, 44742: (e, t, i) => { 'use strict'; i.d(t, { R: () => n, a: () => r }); class n { constructor(e) { (this._prefix = e), (this._lastId = 0); } nextId() { return this._prefix + ++this._lastId; } } const r = new n('id#'); }, 53725: (e, t, i) => { 'use strict'; var n; i.d(t, { $: () => n }), (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 i of e) if (t(i)) return !0; return !1; }), (e.filter = function* (e, t) { for (const i of e) t(i) && (yield i); }), (e.map = function* (e, t) { for (const i of e) yield t(i); }), (e.concat = function* (...e) { for (const t of e) for (const e of t) yield e; }), (e.consume = function (t, i = Number.POSITIVE_INFINITY) { const n = []; if (0 === i) return [n, t]; const r = t[Symbol.iterator](); for (let t = 0; t < i; t++) { const t = r.next(); if (t.done) return [n, e.empty()]; n.push(t.value); } return [n, { [Symbol.iterator]: () => r }]; }); })(n || (n = {})); }, 22258: (e, t, i) => { 'use strict'; i.d(t, { kL: () => l, gx: () => c, gm: () => d, QC: () => u, BQ: () => f, f1: () => p, }); var n = i(17301); class r { 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 s = new r(), o = new r(), a = new r(); var l; function c(e, t) { return (e | (((65535 & t) << 16) >>> 0)) >>> 0; } function d(e, t) { if (0 === e) return null; const i = (65535 & e) >>> 0, n = (4294901760 & e) >>> 16; return new g(0 !== n ? [h(i, t), h(n, t)] : [h(i, t)]); } function h(e, t) { const i = !!(2048 & e), n = !!(256 & e); return new u( 2 === t ? n : i, !!(1024 & e), !!(512 & e), 2 === t ? i : n, 255 & e ); } !(function () { function e(e, t, i = t, n = i) { s.define(e, t), o.define(e, i), a.define(e, n); } 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 s.keyCodeToStr(e); }), (e.fromString = function (e) { return s.strToKeyCode(e); }), (e.toUserSettingsUS = function (e) { return o.keyCodeToStr(e); }), (e.toUserSettingsGeneral = function (e) { return a.keyCodeToStr(e); }), (e.fromUserSettings = function (e) { return o.strToKeyCode(e) || a.strToKeyCode(e); }); })(l || (l = {})); class u { constructor(e, t, i, n, r) { (this.ctrlKey = e), (this.shiftKey = t), (this.altKey = i), (this.metaKey = n), (this.keyCode = r); } equals(e) { return ( this.ctrlKey === e.ctrlKey && this.shiftKey === e.shiftKey && this.altKey === e.altKey && this.metaKey === e.metaKey && this.keyCode === e.keyCode ); } isModifierKey() { return ( 0 === this.keyCode || 5 === this.keyCode || 57 === this.keyCode || 6 === this.keyCode || 4 === this.keyCode ); } toChord() { return new g([this]); } isDuplicateModifierCase() { return ( (this.ctrlKey && 5 === this.keyCode) || (this.shiftKey && 4 === this.keyCode) || (this.altKey && 6 === this.keyCode) || (this.metaKey && 57 === this.keyCode) ); } } class g { constructor(e) { if (0 === e.length) throw (0, n.b1)('parts'); this.parts = e; } } class f { constructor(e, t, i, n, r, s) { (this.ctrlKey = e), (this.shiftKey = t), (this.altKey = i), (this.metaKey = n), (this.keyLabel = r), (this.keyAriaLabel = s); } } class p {} }, 68843: (e, t, i) => { 'use strict'; i.d(t, { kz: () => c, pP: () => d, DT: () => u }); var n = i(70666), r = i(88721), s = i(97295), o = i(66663), a = i(1432), l = i(95935); function c(e, t, i) { if (('string' == typeof e && (e = n.o.file(e)), i)) { const t = i.getWorkspaceFolder(e); if (t) { const n = i.getWorkspace().folders.length > 1; let r; if (((r = (0, l.Xy)(t.uri, e) ? '' : (0, l.lX)(t.uri, e)), n)) { const e = t.name ? t.name : (0, l.EZ)(t.uri); r = r ? e + ' • ' + r : e; } return r; } } if (e.scheme !== o.l.file && e.scheme !== o.l.untitled) return e.with({ query: null, fragment: null }).toString(!0); if (h(e.fsPath)) return (0, r.Fv)(u(e.fsPath)); let c = (0, r.Fv)(e.fsPath); return ( !a.ED && (null == t ? void 0 : t.userHome) && (c = (function (e, t) { if (a.ED || !e || !t) return e; let i = g.original === t ? g.normalized : void 0; return ( i || ((i = `${(0, s.oL)(t, r.KR.sep)}${r.KR.sep}`), (g = { original: t, normalized: i })), (a.IJ ? e.startsWith(i) : (0, s.ok)(e, i)) && (e = `~/${e.substr(i.length)}`), e ); })(c, t.userHome.fsPath)), c ); } function d(e) { if (!e) return; 'string' == typeof e && (e = n.o.file(e)); const t = (0, l.EZ)(e) || (e.scheme === o.l.file ? e.fsPath : e.path); return h(t) ? u(t) : t; } function h(e) { return !(!a.ED || !e || ':' !== e[1]); } function u(e) { return h(e) ? e.charAt(0).toUpperCase() + e.slice(1) : e; } let g = Object.create(null); }, 5976: (e, t, i) => { 'use strict'; i.d(t, { Wf: () => o, B9: () => a, F8: () => l, OF: () => c, SL: () => d, JT: () => h, XK: () => u, Jz: () => g, }); var n = i(53725); function r(e) {} class s extends Error { constructor(e) { super( `Encounter errors while disposing of store. Errors: [${e.join( ', ' )}]` ), (this.errors = e); } } function o(e) { return 'function' == typeof e.dispose && 0 === e.dispose.length; } function a(e) { if (n.$.is(e)) { let t = []; for (const i of e) if (i) try { i.dispose(); } catch (e) { t.push(e); } if (1 === t.length) throw t[0]; if (t.length > 1) throw new s(t); return Array.isArray(e) ? [] : e; } if (e) return e.dispose(), e; } function l(...e) { return e.forEach(r), { dispose: () => a(e) }; } function c(e) { return { dispose: () => { e(); }, }; } class d { constructor() { (this._toDispose = new Set()), (this._isDisposed = !1); } dispose() { this._isDisposed || ((this._isDisposed = !0), this.clear()); } clear() { try { a(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 ? d.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 ); } } d.DISABLE_DISPOSED_WARNING = !1; class h { constructor() { this._store = new d(); } 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() {} }); class u { constructor() { this._isDisposed = !1; } get value() { return this._isDisposed ? void 0 : this._value; } set value(e) { this._isDisposed || e === this._value || (this._value && this._value.dispose(), (this._value = e)); } clear() { this.value = void 0; } dispose() { (this._isDisposed = !0), this._value && this._value.dispose(), (this._value = void 0); } } class g { constructor(e) { this.object = e; } dispose() {} } }, 91741: (e, t, i) => { 'use strict'; i.d(t, { S: () => r }); class n { constructor(e) { (this.element = e), (this.next = n.Undefined), (this.prev = n.Undefined); } } n.Undefined = new n(void 0); class r { constructor() { (this._first = n.Undefined), (this._last = n.Undefined), (this._size = 0); } get size() { return this._size; } isEmpty() { return this._first === n.Undefined; } clear() { (this._first = n.Undefined), (this._last = n.Undefined), (this._size = 0); } unshift(e) { return this._insert(e, !1); } push(e) { return this._insert(e, !0); } _insert(e, t) { const i = new n(e); if (this._first === n.Undefined) (this._first = i), (this._last = i); else if (t) { const e = this._last; (this._last = i), (i.prev = e), (e.next = i); } else { const e = this._first; (this._first = i), (i.next = e), (e.prev = i); } this._size += 1; let r = !1; return () => { r || ((r = !0), this._remove(i)); }; } shift() { if (this._first !== n.Undefined) { const e = this._first.element; return this._remove(this._first), e; } } pop() { if (this._last !== n.Undefined) { const e = this._last.element; return this._remove(this._last), e; } } _remove(e) { if (e.prev !== n.Undefined && e.next !== n.Undefined) { const t = e.prev; (t.next = e.next), (e.next.prev = t); } else e.prev === n.Undefined && e.next === n.Undefined ? ((this._first = n.Undefined), (this._last = n.Undefined)) : e.next === n.Undefined ? ((this._last = this._last.prev), (this._last.next = n.Undefined)) : e.prev === n.Undefined && ((this._first = this._first.next), (this._first.prev = n.Undefined)); this._size -= 1; } *[Symbol.iterator]() { let e = this._first; for (; e !== n.Undefined; ) yield e.element, (e = e.next); } toArray() { const e = []; for (let t = this._first; t !== n.Undefined; t = t.next) e.push(t.element); return e; } } }, 43702: (e, t, i) => { 'use strict'; i.d(t, { Id: () => h, Y9: () => u, z6: () => f }); var n = i(70666), r = i(97295), s = i(66663), o = i(1432); class a { constructor() { (this._value = ''), (this._pos = 0); } reset(e) { return (this._value = e), (this._pos = 0), this; } next() { return (this._pos += 1), this; } hasNext() { return this._pos < this._value.length - 1; } cmp(e) { return e.charCodeAt(0) - this._value.charCodeAt(this._pos); } value() { return this._value[this._pos]; } } class l { constructor(e = !0, t = !0) { (this._splitOnBackslash = e), (this._caseSensitive = t); } reset(e) { return ( (this._value = e.replace(/\\$|\/$/, '')), (this._from = 0), (this._to = 0), this.next() ); } hasNext() { return this._to < this._value.length; } next() { this._from = this._to; let e = !0; for (; this._to < this._value.length; this._to++) { const t = this._value.charCodeAt(this._to); if (47 === t || (this._splitOnBackslash && 92 === t)) { if (!e) break; this._from++; } else e = !1; } return this; } cmp(e) { return this._caseSensitive ? (0, r.TT)(e, this._value, 0, e.length, this._from, this._to) : (0, r.j_)(e, this._value, 0, e.length, this._from, this._to); } value() { return this._value.substring(this._from, this._to); } } class c { constructor() { (this._states = []), (this._stateIdx = 0); } reset(e) { if ( ((this._value = e), (this._states = []), this._value.scheme && this._states.push(1), this._value.authority && this._states.push(2), this._value.path) ) { const t = e.scheme === s.l.file && o.IJ; (this._pathIterator = new l(!1, t)), this._pathIterator.reset(e.path), this._pathIterator.value() && this._states.push(3); } return ( this._value.query && this._states.push(4), this._value.fragment && this._states.push(5), (this._stateIdx = 0), this ); } next() { return ( 3 === this._states[this._stateIdx] && this._pathIterator.hasNext() ? this._pathIterator.next() : (this._stateIdx += 1), this ); } hasNext() { return ( (3 === this._states[this._stateIdx] && this._pathIterator.hasNext()) || this._stateIdx < this._states.length - 1 ); } cmp(e) { if (1 === this._states[this._stateIdx]) return (0, r.qu)(e, this._value.scheme); if (2 === this._states[this._stateIdx]) return (0, r.j_)(e, this._value.authority); if (3 === this._states[this._stateIdx]) return this._pathIterator.cmp(e); if (4 === this._states[this._stateIdx]) return (0, r.qu)(e, this._value.query); if (5 === this._states[this._stateIdx]) return (0, r.qu)(e, this._value.fragment); throw new Error(); } value() { if (1 === this._states[this._stateIdx]) return this._value.scheme; if (2 === this._states[this._stateIdx]) return this._value.authority; if (3 === this._states[this._stateIdx]) return this._pathIterator.value(); if (4 === this._states[this._stateIdx]) return this._value.query; if (5 === this._states[this._stateIdx]) return this._value.fragment; throw new Error(); } } class d {} class h { constructor(e) { this._iter = e; } static forUris() { return new h(new c()); } static forStrings() { return new h(new a()); } clear() { this._root = void 0; } set(e, t) { const i = this._iter.reset(e); let n; for ( this._root || ((this._root = new d()), (this._root.segment = i.value())), n = this._root; ; ) { const e = i.cmp(n.segment); if (e > 0) n.left || ((n.left = new d()), (n.left.segment = i.value())), (n = n.left); else if (e < 0) n.right || ((n.right = new d()), (n.right.segment = i.value())), (n = n.right); else { if (!i.hasNext()) break; i.next(), n.mid || ((n.mid = new d()), (n.mid.segment = i.value())), (n = n.mid); } } const r = n.value; return (n.value = t), (n.key = e), r; } get(e) { const t = this._iter.reset(e); let i = this._root; for (; i; ) { const e = t.cmp(i.segment); if (e > 0) i = i.left; else if (e < 0) i = i.right; else { if (!t.hasNext()) break; t.next(), (i = i.mid); } } return i ? i.value : void 0; } findSubstr(e) { const t = this._iter.reset(e); let i, n = this._root; for (; n; ) { const e = t.cmp(n.segment); if (e > 0) n = n.left; else if (e < 0) n = n.right; else { if (!t.hasNext()) break; t.next(), (i = n.value || i), (n = n.mid); } } return (n && n.value) || i; } forEach(e) { this._forEach(this._root, e); } _forEach(e, t) { e && (this._forEach(e.left, t), e.value && t(e.value, e.key), this._forEach(e.mid, t), this._forEach(e.right, t)); } } class u { constructor(e, t) { (this[Symbol.toStringTag] = 'ResourceMap'), e instanceof u ? ((this.map = new Map(e.map)), (this.toKey = null != t ? t : u.defaultToKey)) : ((this.map = new Map()), (this.toKey = null != e ? e : u.defaultToKey)); } set(e, t) { return this.map.set(this.toKey(e), t), this; } get(e) { return this.map.get(this.toKey(e)); } has(e) { return this.map.has(this.toKey(e)); } get size() { return this.map.size; } clear() { this.map.clear(); } delete(e) { return this.map.delete(this.toKey(e)); } forEach(e, t) { void 0 !== t && (e = e.bind(t)); for (let [t, i] of this.map) e(i, n.o.parse(t), this); } values() { return this.map.values(); } *keys() { for (let e of this.map.keys()) yield n.o.parse(e); } *entries() { for (let e of this.map.entries()) yield [n.o.parse(e[0]), e[1]]; } *[Symbol.iterator]() { for (let e of this.map) yield [n.o.parse(e[0]), e[1]]; } } u.defaultToKey = (e) => e.toString(); class g { constructor() { (this[Symbol.toStringTag] = 'LinkedMap'), (this._map = new Map()), (this._head = void 0), (this._tail = void 0), (this._size = 0), (this._state = 0); } clear() { this._map.clear(), (this._head = void 0), (this._tail = void 0), (this._size = 0), this._state++; } isEmpty() { return !this._head && !this._tail; } get size() { return this._size; } get first() { var e; return null === (e = this._head) || void 0 === e ? void 0 : e.value; } get last() { var e; return null === (e = this._tail) || void 0 === e ? void 0 : e.value; } has(e) { return this._map.has(e); } get(e, t = 0) { const i = this._map.get(e); if (i) return 0 !== t && this.touch(i, t), i.value; } set(e, t, i = 0) { let n = this._map.get(e); if (n) (n.value = t), 0 !== i && this.touch(n, i); else { switch ( ((n = { key: e, value: t, next: void 0, previous: void 0 }), i) ) { case 0: this.addItemLast(n); break; case 1: this.addItemFirst(n); break; case 2: default: this.addItemLast(n); } this._map.set(e, n), this._size++; } return this; } delete(e) { return !!this.remove(e); } remove(e) { const t = this._map.get(e); if (t) return ( this._map.delete(e), this.removeItem(t), this._size--, t.value ); } shift() { if (!this._head && !this._tail) return; if (!this._head || !this._tail) throw new Error('Invalid list'); const e = this._head; return ( this._map.delete(e.key), this.removeItem(e), this._size--, e.value ); } forEach(e, t) { const i = this._state; let n = this._head; for (; n; ) { if ( (t ? e.bind(t)(n.value, n.key, this) : e(n.value, n.key, this), this._state !== i) ) throw new Error('LinkedMap got modified during iteration.'); n = n.next; } } keys() { const e = this, t = this._state; let i = this._head; const n = { [Symbol.iterator]: () => n, next() { if (e._state !== t) throw new Error('LinkedMap got modified during iteration.'); if (i) { const e = { value: i.key, done: !1 }; return (i = i.next), e; } return { value: void 0, done: !0 }; }, }; return n; } values() { const e = this, t = this._state; let i = this._head; const n = { [Symbol.iterator]: () => n, next() { if (e._state !== t) throw new Error('LinkedMap got modified during iteration.'); if (i) { const e = { value: i.value, done: !1 }; return (i = i.next), e; } return { value: void 0, done: !0 }; }, }; return n; } entries() { const e = this, t = this._state; let i = this._head; const n = { [Symbol.iterator]: () => n, next() { if (e._state !== t) throw new Error('LinkedMap got modified during iteration.'); if (i) { const e = { value: [i.key, i.value], done: !1 }; return (i = i.next), e; } return { value: void 0, done: !0 }; }, }; return n; } [Symbol.iterator]() { return this.entries(); } trimOld(e) { if (e >= this.size) return; if (0 === e) return void this.clear(); let t = this._head, i = this.size; for (; t && i > e; ) this._map.delete(t.key), (t = t.next), i--; (this._head = t), (this._size = i), t && (t.previous = void 0), this._state++; } addItemFirst(e) { if (this._head || this._tail) { if (!this._head) throw new Error('Invalid list'); (e.next = this._head), (this._head.previous = e); } else this._tail = e; (this._head = e), this._state++; } addItemLast(e) { if (this._head || this._tail) { if (!this._tail) throw new Error('Invalid list'); (e.previous = this._tail), (this._tail.next = e); } else this._head = e; (this._tail = e), this._state++; } removeItem(e) { if (e === this._head && e === this._tail) (this._head = void 0), (this._tail = void 0); else if (e === this._head) { if (!e.next) throw new Error('Invalid list'); (e.next.previous = void 0), (this._head = e.next); } else if (e === this._tail) { if (!e.previous) throw new Error('Invalid list'); (e.previous.next = void 0), (this._tail = e.previous); } else { const t = e.next, i = e.previous; if (!t || !i) throw new Error('Invalid list'); (t.previous = i), (i.next = t); } (e.next = void 0), (e.previous = void 0), this._state++; } touch(e, t) { if (!this._head || !this._tail) throw new Error('Invalid list'); if (1 === t || 2 === t) if (1 === t) { if (e === this._head) return; const t = e.next, i = e.previous; e === this._tail ? ((i.next = void 0), (this._tail = i)) : ((t.previous = i), (i.next = t)), (e.previous = void 0), (e.next = this._head), (this._head.previous = e), (this._head = e), this._state++; } else if (2 === t) { if (e === this._tail) return; const t = e.next, i = e.previous; e === this._head ? ((t.previous = void 0), (this._head = t)) : ((t.previous = i), (i.next = t)), (e.next = void 0), (e.previous = this._tail), (this._tail.next = e), (this._tail = e), this._state++; } } toJSON() { const e = []; return ( this.forEach((t, i) => { e.push([i, t]); }), e ); } fromJSON(e) { this.clear(); for (const [t, i] of e) this.set(t, i); } } class f extends g { constructor(e, t = 1) { super(), (this._limit = e), (this._ratio = Math.min(Math.max(0, t), 1)); } get limit() { return this._limit; } set limit(e) { (this._limit = e), this.checkTrim(); } get(e, t = 2) { return super.get(e, t); } peek(e) { return super.get(e, 0); } set(e, t) { return super.set(e, t, 2), this.checkTrim(), this; } checkTrim() { this.size > this._limit && this.trimOld(Math.round(this._limit * this._ratio)); } } }, 33720: function (e) { e.exports = (function () { 'use strict'; function e(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; (n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n); } } function t(e, t) { (null == t || t > e.length) && (t = e.length); for (var i = 0, n = new Array(t); i < t; i++) n[i] = e[i]; return n; } function i(e, i) { var n; if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { if ( Array.isArray(e) || (n = (function (e, i) { if (e) { if ('string' == typeof e) return t(e, i); var n = Object.prototype.toString.call(e).slice(8, -1); return ( 'Object' === n && e.constructor && (n = e.constructor.name), 'Map' === n || 'Set' === n ? Array.from(e) : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? t(e, i) : void 0 ); } })(e)) || (i && e && 'number' == typeof e.length) ) { n && (e = n); var r = 0; return function () { return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }; }; } throw new TypeError( 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' ); } return (n = e[Symbol.iterator]()).next.bind(n); } var n = (function (e, t) { return e((t = { exports: {} }), t.exports), t.exports; })(function (e) { function t() { return { baseUrl: null, breaks: !1, gfm: !0, headerIds: !0, headerPrefix: '', highlight: null, langPrefix: 'language-', mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartLists: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1, }; } e.exports = { defaults: { baseUrl: null, breaks: !1, gfm: !0, headerIds: !0, headerPrefix: '', highlight: null, langPrefix: 'language-', mangle: !0, pedantic: !1, renderer: null, sanitize: !1, sanitizer: null, silent: !1, smartLists: !1, smartypants: !1, tokenizer: null, walkTokens: null, xhtml: !1, }, getDefaults: t, changeDefaults: function (t) { e.exports.defaults = t; }, }; }), r = (n.defaults, n.getDefaults, n.changeDefaults, /[&<>"']/), s = /[&<>"']/g, o = /[<>"']|&(?!#?\w+;)/, a = /[<>"']|&(?!#?\w+;)/g, l = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', }, c = function (e) { return l[e]; }; var d = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi; function h(e) { return e.replace(d, function (e, t) { return 'colon' === (t = t.toLowerCase()) ? ':' : '#' === t.charAt(0) ? 'x' === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : ''; }); } var u = /(^|[^\[])\^/g; var g = /[^\w:]/g, f = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; var p = {}, m = /^[^:]+:\/*[^/]*$/, _ = /^([^:]+:)[\s\S]*$/, b = /^([^:]+:\/*[^/]*)[\s\S]*$/; function v(e, t) { p[' ' + e] || (m.test(e) ? (p[' ' + e] = e + '/') : (p[' ' + e] = y(e, '/', !0))); var i = -1 === (e = p[' ' + e]).indexOf(':'); return '//' === t.substring(0, 2) ? i ? t : e.replace(_, '$1') + t : '/' === t.charAt(0) ? i ? t : e.replace(b, '$1') + t : e + t; } function y(e, t, i) { var n = e.length; if (0 === n) return ''; for (var r = 0; r < n; ) { var s = e.charAt(n - r - 1); if (s !== t || i) { if (s === t || !i) break; r++; } else r++; } return e.substr(0, n - r); } var w = function (e, t) { if (t) { if (r.test(e)) return e.replace(s, c); } else if (o.test(e)) return e.replace(a, c); return e; }, C = h, S = function (e, t) { (e = e.source || e), (t = t || ''); var i = { replace: function (t, n) { return ( (n = (n = n.source || n).replace(u, '$1')), (e = e.replace(t, n)), i ); }, getRegex: function () { return new RegExp(e, t); }, }; return i; }, k = function (e, t, i) { if (e) { var n; try { n = decodeURIComponent(h(i)).replace(g, '').toLowerCase(); } catch (e) { return null; } if ( 0 === n.indexOf('javascript:') || 0 === n.indexOf('vbscript:') || 0 === n.indexOf('data:') ) return null; } t && !f.test(i) && (i = v(t, i)); try { i = encodeURI(i).replace(/%25/g, '%'); } catch (e) { return null; } return i; }, x = { exec: function () {} }, L = function (e) { for (var t, i, n = 1; n < arguments.length; n++) for (i in (t = arguments[n])) Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]); return e; }, M = function (e, t) { var i = e .replace(/\|/g, function (e, t, i) { for (var n = !1, r = t; --r >= 0 && '\\' === i[r]; ) n = !n; return n ? '|' : ' |'; }) .split(/ \|/), n = 0; if (i.length > t) i.splice(t); else for (; i.length < t; ) i.push(''); for (; n < i.length; n++) i[n] = i[n].trim().replace(/\\\|/g, '|'); return i; }, D = y, N = function (e, t) { if (-1 === e.indexOf(t[1])) return -1; for (var i = e.length, n = 0, r = 0; r < i; r++) if ('\\' === e[r]) r++; else if (e[r] === t[0]) n++; else if (e[r] === t[1] && --n < 0) return r; return -1; }, E = function (e) { e && e.sanitize && e.silent; }, T = n.defaults, I = D, O = M, A = w, R = N; function P(e, t, i) { var n = t.href, r = t.title ? A(t.title) : null, s = e[1].replace(/\\([\[\]])/g, '$1'); return '!' !== e[0].charAt(0) ? { type: 'link', raw: i, href: n, title: r, text: s } : { type: 'image', raw: i, href: n, title: r, text: A(s) }; } var F = (function () { function e(e) { this.options = e || T; } var t = e.prototype; return ( (t.space = function (e) { var t = this.rules.block.newline.exec(e); if (t) return t[0].length > 1 ? { type: 'space', raw: t[0] } : { raw: '\n' }; }), (t.code = function (e, t) { var i = this.rules.block.code.exec(e); if (i) { var n = t[t.length - 1]; if (n && 'paragraph' === n.type) return { raw: i[0], text: i[0].trimRight() }; var r = i[0].replace(/^ {4}/gm, ''); return { type: 'code', raw: i[0], codeBlockStyle: 'indented', text: this.options.pedantic ? r : I(r, '\n'), }; } }), (t.fences = function (e) { var t = this.rules.block.fences.exec(e); if (t) { var i = t[0], n = (function (e, t) { var i = e.match(/^(\s+)(?:```)/); if (null === i) return t; var n = i[1]; return t .split('\n') .map(function (e) { var t = e.match(/^\s+/); return null === t ? e : t[0].length >= n.length ? e.slice(n.length) : e; }) .join('\n'); })(i, t[3] || ''); return { type: 'code', raw: i, lang: t[2] ? t[2].trim() : t[2], text: n, }; } }), (t.heading = function (e) { var t = this.rules.block.heading.exec(e); if (t) return { type: 'heading', raw: t[0], depth: t[1].length, text: t[2], }; }), (t.nptable = function (e) { var t = this.rules.block.nptable.exec(e); if (t) { var i = { type: 'table', header: O(t[1].replace(/^ *| *\| *$/g, '')), align: t[2].replace(/^ *|\| *$/g, '').split(/ *\| */), cells: t[3] ? t[3].replace(/\n$/, '').split('\n') : [], raw: t[0], }; if (i.header.length === i.align.length) { var n, r = i.align.length; for (n = 0; n < r; n++) /^ *-+: *$/.test(i.align[n]) ? (i.align[n] = 'right') : /^ *:-+: *$/.test(i.align[n]) ? (i.align[n] = 'center') : /^ *:-+ *$/.test(i.align[n]) ? (i.align[n] = 'left') : (i.align[n] = null); for (r = i.cells.length, n = 0; n < r; n++) i.cells[n] = O(i.cells[n], i.header.length); return i; } } }), (t.hr = function (e) { var t = this.rules.block.hr.exec(e); if (t) return { type: 'hr', raw: t[0] }; }), (t.blockquote = function (e) { var t = this.rules.block.blockquote.exec(e); if (t) { var i = t[0].replace(/^ *> ?/gm, ''); return { type: 'blockquote', raw: t[0], text: i }; } }), (t.list = function (e) { var t = this.rules.block.list.exec(e); if (t) { for ( var i, n, r, s, o, a, l, c = t[0], d = t[2], h = d.length > 1, u = ')' === d[d.length - 1], g = { type: 'list', raw: c, ordered: h, start: h ? +d.slice(0, -1) : '', loose: !1, items: [], }, f = t[0].match(this.rules.block.item), p = !1, m = f.length, _ = 0; _ < m; _++ ) (c = i = f[_]), (n = i.length), ~(i = i.replace(/^ *([*+-]|\d+[.)]) */, '')).indexOf( '\n ' ) && ((n -= i.length), (i = this.options.pedantic ? i.replace(/^ {1,4}/gm, '') : i.replace( new RegExp('^ {1,' + n + '}', 'gm'), '' ))), _ !== m - 1 && ((r = this.rules.block.bullet.exec(f[_ + 1])[0]), (h ? 1 === r.length || (!u && ')' === r[r.length - 1]) : r.length > 1 || (this.options.smartLists && r !== d)) && ((s = f.slice(_ + 1).join('\n')), (g.raw = g.raw.substring( 0, g.raw.length - s.length )), (_ = m - 1))), (o = p || /\n\n(?!\s*$)/.test(i)), _ !== m - 1 && ((p = '\n' === i.charAt(i.length - 1)), o || (o = p)), o && (g.loose = !0), (l = void 0), (a = /^\[[ xX]\] /.test(i)) && ((l = ' ' !== i[1]), (i = i.replace(/^\[[ xX]\] +/, ''))), g.items.push({ type: 'list_item', raw: c, task: a, checked: l, loose: o, text: i, }); return g; } }), (t.html = function (e) { var t = this.rules.block.html.exec(e); if (t) return { type: this.options.sanitize ? 'paragraph' : 'html', raw: t[0], pre: !this.options.sanitizer && ('pre' === t[1] || 'script' === t[1] || 'style' === t[1]), text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(t[0]) : A(t[0]) : t[0], }; }), (t.def = function (e) { var t = this.rules.block.def.exec(e); if (t) return ( t[3] && (t[3] = t[3].substring(1, t[3].length - 1)), { tag: t[1].toLowerCase().replace(/\s+/g, ' '), raw: t[0], href: t[2], title: t[3], } ); }), (t.table = function (e) { var t = this.rules.block.table.exec(e); if (t) { var i = { type: 'table', header: O(t[1].replace(/^ *| *\| *$/g, '')), align: t[2].replace(/^ *|\| *$/g, '').split(/ *\| */), cells: t[3] ? t[3].replace(/\n$/, '').split('\n') : [], }; if (i.header.length === i.align.length) { i.raw = t[0]; var n, r = i.align.length; for (n = 0; n < r; n++) /^ *-+: *$/.test(i.align[n]) ? (i.align[n] = 'right') : /^ *:-+: *$/.test(i.align[n]) ? (i.align[n] = 'center') : /^ *:-+ *$/.test(i.align[n]) ? (i.align[n] = 'left') : (i.align[n] = null); for (r = i.cells.length, n = 0; n < r; n++) i.cells[n] = O( i.cells[n].replace(/^ *\| *| *\| *$/g, ''), i.header.length ); return i; } } }), (t.lheading = function (e) { var t = this.rules.block.lheading.exec(e); if (t) return { type: 'heading', raw: t[0], depth: '=' === t[2].charAt(0) ? 1 : 2, text: t[1], }; }), (t.paragraph = function (e) { var t = this.rules.block.paragraph.exec(e); if (t) return { type: 'paragraph', raw: t[0], text: '\n' === t[1].charAt(t[1].length - 1) ? t[1].slice(0, -1) : t[1], }; }), (t.text = function (e, t) { var i = this.rules.block.text.exec(e); if (i) { var n = t[t.length - 1]; return n && 'text' === n.type ? { raw: i[0], text: i[0] } : { type: 'text', raw: i[0], text: i[0] }; } }), (t.escape = function (e) { var t = this.rules.inline.escape.exec(e); if (t) return { type: 'escape', raw: t[0], text: A(t[1]) }; }), (t.tag = function (e, t, i) { var n = this.rules.inline.tag.exec(e); if (n) return ( !t && /^/i.test(n[0]) && (t = !1), !i && /^<(pre|code|kbd|script)(\s|>)/i.test(n[0]) ? (i = !0) : i && /^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0]) && (i = !1), { type: this.options.sanitize ? 'text' : 'html', raw: n[0], inLink: t, inRawBlock: i, text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(n[0]) : A(n[0]) : n[0], } ); }), (t.link = function (e) { var t = this.rules.inline.link.exec(e); if (t) { var i = R(t[2], '()'); if (i > -1) { var n = (0 === t[0].indexOf('!') ? 5 : 4) + t[1].length + i; (t[2] = t[2].substring(0, i)), (t[0] = t[0].substring(0, n).trim()), (t[3] = ''); } var r = t[2], s = ''; if (this.options.pedantic) { var o = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r); o ? ((r = o[1]), (s = o[3])) : (s = ''); } else s = t[3] ? t[3].slice(1, -1) : ''; return P( t, { href: (r = r.trim().replace(/^<([\s\S]*)>$/, '$1')) ? r.replace(this.rules.inline._escapes, '$1') : r, title: s ? s.replace(this.rules.inline._escapes, '$1') : s, }, t[0] ); } }), (t.reflink = function (e, t) { var i; if ( (i = this.rules.inline.reflink.exec(e)) || (i = this.rules.inline.nolink.exec(e)) ) { var n = (i[2] || i[1]).replace(/\s+/g, ' '); if (!(n = t[n.toLowerCase()]) || !n.href) { var r = i[0].charAt(0); return { type: 'text', raw: r, text: r }; } return P(i, n, i[0]); } }), (t.strong = function (e, t, i) { void 0 === i && (i = ''); var n = this.rules.inline.strong.start.exec(e); if ( n && (!n[1] || (n[1] && ('' === i || this.rules.inline.punctuation.exec(i)))) ) { t = t.slice(-1 * e.length); var r, s = '**' === n[0] ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd; for (s.lastIndex = 0; null != (n = s.exec(t)); ) if ( (r = this.rules.inline.strong.middle.exec( t.slice(0, n.index + 3) )) ) return { type: 'strong', raw: e.slice(0, r[0].length), text: e.slice(2, r[0].length - 2), }; } }), (t.em = function (e, t, i) { void 0 === i && (i = ''); var n = this.rules.inline.em.start.exec(e); if ( n && (!n[1] || (n[1] && ('' === i || this.rules.inline.punctuation.exec(i)))) ) { t = t.slice(-1 * e.length); var r, s = '*' === n[0] ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd; for (s.lastIndex = 0; null != (n = s.exec(t)); ) if ( (r = this.rules.inline.em.middle.exec( t.slice(0, n.index + 2) )) ) return { type: 'em', raw: e.slice(0, r[0].length), text: e.slice(1, r[0].length - 1), }; } }), (t.codespan = function (e) { var t = this.rules.inline.code.exec(e); if (t) { var i = t[2].replace(/\n/g, ' '), n = /[^ ]/.test(i), r = i.startsWith(' ') && i.endsWith(' '); return ( n && r && (i = i.substring(1, i.length - 1)), (i = A(i, !0)), { type: 'codespan', raw: t[0], text: i } ); } }), (t.br = function (e) { var t = this.rules.inline.br.exec(e); if (t) return { type: 'br', raw: t[0] }; }), (t.del = function (e) { var t = this.rules.inline.del.exec(e); if (t) return { type: 'del', raw: t[0], text: t[1] }; }), (t.autolink = function (e, t) { var i, n, r = this.rules.inline.autolink.exec(e); if (r) return ( (n = '@' === r[2] ? 'mailto:' + (i = A(this.options.mangle ? t(r[1]) : r[1])) : (i = A(r[1]))), { type: 'link', raw: r[0], text: i, href: n, tokens: [{ type: 'text', raw: i, text: i }], } ); }), (t.url = function (e, t) { var i; if ((i = this.rules.inline.url.exec(e))) { var n, r; if ('@' === i[2]) r = 'mailto:' + (n = A(this.options.mangle ? t(i[0]) : i[0])); else { var s; do { (s = i[0]), (i[0] = this.rules.inline._backpedal.exec(i[0])[0]); } while (s !== i[0]); (n = A(i[0])), (r = 'www.' === i[1] ? 'http://' + n : n); } return { type: 'link', raw: i[0], text: n, href: r, tokens: [{ type: 'text', raw: n, text: n }], }; } }), (t.inlineText = function (e, t, i) { var n, r = this.rules.inline.text.exec(e); if (r) return ( (n = t ? this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(r[0]) : A(r[0]) : r[0] : A(this.options.smartypants ? i(r[0]) : r[0])), { type: 'text', raw: r[0], text: n } ); }), e ); })(), B = x, W = S, Y = L, H = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, html: '^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))', def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, nptable: B, table: B, lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, text: /^[^\n]+/, _label: /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/, _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/, }; (H.def = W(H.def) .replace('label', H._label) .replace('title', H._title) .getRegex()), (H.bullet = /(?:[*+-]|\d{1,9}[.)])/), (H.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/), (H.item = W(H.item, 'gm').replace(/bull/g, H.bullet).getRegex()), (H.list = W(H.list) .replace(/bull/g, H.bullet) .replace( 'hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))' ) .replace('def', '\\n+(?=' + H.def.source + ')') .getRegex()), (H._tag = 'address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul'), (H._comment = /|$)/), (H.html = W(H.html, 'i') .replace('comment', H._comment) .replace('tag', H._tag) .replace( 'attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/ ) .getRegex()), (H.paragraph = W(H._paragraph) .replace('hr', H.hr) .replace('heading', ' {0,3}#{1,6} ') .replace('|lheading', '') .replace('blockquote', ' {0,3}>') .replace( 'fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') .replace( 'html', ')|<(?:script|pre|style|!--)' ) .replace('tag', H._tag) .getRegex()), (H.blockquote = W(H.blockquote) .replace('paragraph', H.paragraph) .getRegex()), (H.normal = Y({}, H)), (H.gfm = Y({}, H.normal, { nptable: '^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', table: '^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', })), (H.gfm.nptable = W(H.gfm.nptable) .replace('hr', H.hr) .replace('heading', ' {0,3}#{1,6} ') .replace('blockquote', ' {0,3}>') .replace('code', ' {4}[^\\n]') .replace( 'fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') .replace( 'html', ')|<(?:script|pre|style|!--)' ) .replace('tag', H._tag) .getRegex()), (H.gfm.table = W(H.gfm.table) .replace('hr', H.hr) .replace('heading', ' {0,3}#{1,6} ') .replace('blockquote', ' {0,3}>') .replace('code', ' {4}[^\\n]') .replace( 'fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') .replace( 'html', ')|<(?:script|pre|style|!--)' ) .replace('tag', H._tag) .getRegex()), (H.pedantic = Y({}, H.normal, { html: W( '^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))' ) .replace('comment', H._comment) .replace( /tag/g, '(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b' ) .getRegex(), def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, fences: B, paragraph: W(H.normal._paragraph) .replace('hr', H.hr) .replace('heading', ' *#{1,6} *[^\n]') .replace('lheading', H.lheading) .replace('blockquote', ' {0,3}>') .replace('|fences', '') .replace('|list', '') .replace('|html', '') .getRegex(), })); var j = { escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, url: B, tag: '^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^', link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, reflinkSearch: 'reflink|nolink(?!\\()', strong: { start: /^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/, middle: /^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/, endAst: /[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation\s]|$))/, endUnd: /[^\s]__(?!_)(?:(?=[punctuation\s])|$)/, }, em: { start: /^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/, middle: /^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/, endAst: /[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation\s]|$))/, endUnd: /[^\s]_(?!_)(?:(?=[punctuation\s])|$)/, }, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, br: /^( {2,}|\\)\n(?!\s*$)/, del: B, text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~', }; (j.punctuation = W(j.punctuation) .replace(/punctuation/g, j._punctuation) .getRegex()), (j._blockSkip = '\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>'), (j._overlapSkip = '__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*'), (j._comment = W(H._comment) .replace('(?:--\x3e|$)', '--\x3e') .getRegex()), (j.em.start = W(j.em.start) .replace(/punctuation/g, j._punctuation) .getRegex()), (j.em.middle = W(j.em.middle) .replace(/punctuation/g, j._punctuation) .replace(/overlapSkip/g, j._overlapSkip) .getRegex()), (j.em.endAst = W(j.em.endAst, 'g') .replace(/punctuation/g, j._punctuation) .getRegex()), (j.em.endUnd = W(j.em.endUnd, 'g') .replace(/punctuation/g, j._punctuation) .getRegex()), (j.strong.start = W(j.strong.start) .replace(/punctuation/g, j._punctuation) .getRegex()), (j.strong.middle = W(j.strong.middle) .replace(/punctuation/g, j._punctuation) .replace(/blockSkip/g, j._blockSkip) .getRegex()), (j.strong.endAst = W(j.strong.endAst, 'g') .replace(/punctuation/g, j._punctuation) .getRegex()), (j.strong.endUnd = W(j.strong.endUnd, 'g') .replace(/punctuation/g, j._punctuation) .getRegex()), (j.blockSkip = W(j._blockSkip, 'g').getRegex()), (j.overlapSkip = W(j._overlapSkip, 'g').getRegex()), (j._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g), (j._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/), (j._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/), (j.autolink = W(j.autolink) .replace('scheme', j._scheme) .replace('email', j._email) .getRegex()), (j._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/), (j.tag = W(j.tag) .replace('comment', j._comment) .replace('attribute', j._attribute) .getRegex()), (j._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/), (j._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/), (j._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/), (j.link = W(j.link) .replace('label', j._label) .replace('href', j._href) .replace('title', j._title) .getRegex()), (j.reflink = W(j.reflink).replace('label', j._label).getRegex()), (j.reflinkSearch = W(j.reflinkSearch, 'g') .replace('reflink', j.reflink) .replace('nolink', j.nolink) .getRegex()), (j.normal = Y({}, j)), (j.pedantic = Y({}, j.normal, { strong: { start: /^__|\*\*/, middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, endAst: /\*\*(?!\*)/g, endUnd: /__(?!_)/g, }, em: { start: /^_|\*/, middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, endAst: /\*(?!\*)/g, endUnd: /_(?!_)/g, }, link: W(/^!?\[(label)\]\((.*?)\)/) .replace('label', j._label) .getRegex(), reflink: W(/^!?\[(label)\]\s*\[([^\]]*)\]/) .replace('label', j._label) .getRegex(), })), (j.gfm = Y({}, j.normal, { escape: W(j.escape).replace('])', '~|])').getRegex(), _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, del: /^~+(?=\S)([\s\S]*?\S)~+/, text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ 0.5 && (i = 'x' + i.toString(16)), (n += '&#' + i + ';'); return n; } var G = (function () { function t(e) { (this.tokens = []), (this.tokens.links = Object.create(null)), (this.options = e || z), (this.options.tokenizer = this.options.tokenizer || new F()), (this.tokenizer = this.options.tokenizer), (this.tokenizer.options = this.options); var t = { block: U.normal, inline: $.normal }; this.options.pedantic ? ((t.block = U.pedantic), (t.inline = $.pedantic)) : this.options.gfm && ((t.block = U.gfm), this.options.breaks ? (t.inline = $.breaks) : (t.inline = $.gfm)), (this.tokenizer.rules = t); } t.lex = function (e, i) { return new t(i).lex(e); }; var i, n, r, s = t.prototype; return ( (s.lex = function (e) { return ( (e = e.replace(/\r\n|\r/g, '\n').replace(/\t/g, ' ')), this.blockTokens(e, this.tokens, !0), this.inline(this.tokens), this.tokens ); }), (s.blockTokens = function (e, t, i) { var n, r, s, o; for ( void 0 === t && (t = []), void 0 === i && (i = !0), e = e.replace(/^ +$/gm, ''); e; ) if ((n = this.tokenizer.space(e))) (e = e.substring(n.raw.length)), n.type && t.push(n); else if ((n = this.tokenizer.code(e, t))) (e = e.substring(n.raw.length)), n.type ? t.push(n) : (((o = t[t.length - 1]).raw += '\n' + n.raw), (o.text += '\n' + n.text)); else if ((n = this.tokenizer.fences(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.heading(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.nptable(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.hr(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.blockquote(e))) (e = e.substring(n.raw.length)), (n.tokens = this.blockTokens(n.text, [], i)), t.push(n); else if ((n = this.tokenizer.list(e))) { for ( e = e.substring(n.raw.length), s = n.items.length, r = 0; r < s; r++ ) n.items[r].tokens = this.blockTokens( n.items[r].text, [], !1 ); t.push(n); } else if ((n = this.tokenizer.html(e))) (e = e.substring(n.raw.length)), t.push(n); else if (i && (n = this.tokenizer.def(e))) (e = e.substring(n.raw.length)), this.tokens.links[n.tag] || (this.tokens.links[n.tag] = { href: n.href, title: n.title, }); else if ((n = this.tokenizer.table(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.lheading(e))) (e = e.substring(n.raw.length)), t.push(n); else if (i && (n = this.tokenizer.paragraph(e))) (e = e.substring(n.raw.length)), t.push(n); else if ((n = this.tokenizer.text(e, t))) (e = e.substring(n.raw.length)), n.type ? t.push(n) : (((o = t[t.length - 1]).raw += '\n' + n.raw), (o.text += '\n' + n.text)); else if (e) { var a = 'Infinite loop on byte: ' + e.charCodeAt(0); if (this.options.silent) { console.error(a); break; } throw new Error(a); } return t; }), (s.inline = function (e) { var t, i, n, r, s, o, a = e.length; for (t = 0; t < a; t++) switch ((o = e[t]).type) { case 'paragraph': case 'text': case 'heading': (o.tokens = []), this.inlineTokens(o.text, o.tokens); break; case 'table': for ( o.tokens = { header: [], cells: [] }, r = o.header.length, i = 0; i < r; i++ ) (o.tokens.header[i] = []), this.inlineTokens(o.header[i], o.tokens.header[i]); for (r = o.cells.length, i = 0; i < r; i++) for ( s = o.cells[i], o.tokens.cells[i] = [], n = 0; n < s.length; n++ ) (o.tokens.cells[i][n] = []), this.inlineTokens(s[n], o.tokens.cells[i][n]); break; case 'blockquote': this.inline(o.tokens); break; case 'list': for (r = o.items.length, i = 0; i < r; i++) this.inline(o.items[i].tokens); } return e; }), (s.inlineTokens = function (e, t, i, n, r) { var s; void 0 === t && (t = []), void 0 === i && (i = !1), void 0 === n && (n = !1), void 0 === r && (r = ''); var o, a = e; if (this.tokens.links) { var l = Object.keys(this.tokens.links); if (l.length > 0) for ( ; null != (o = this.tokenizer.rules.inline.reflinkSearch.exec(a)); ) l.includes(o[0].slice(o[0].lastIndexOf('[') + 1, -1)) && (a = a.slice(0, o.index) + '[' + 'a'.repeat(o[0].length - 2) + ']' + a.slice( this.tokenizer.rules.inline.reflinkSearch .lastIndex )); } for ( ; null != (o = this.tokenizer.rules.inline.blockSkip.exec(a)); ) a = a.slice(0, o.index) + '[' + 'a'.repeat(o[0].length - 2) + ']' + a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); for (; e; ) if ((s = this.tokenizer.escape(e))) (e = e.substring(s.raw.length)), t.push(s); else if ((s = this.tokenizer.tag(e, i, n))) (e = e.substring(s.raw.length)), (i = s.inLink), (n = s.inRawBlock), t.push(s); else if ((s = this.tokenizer.link(e))) (e = e.substring(s.raw.length)), 'link' === s.type && (s.tokens = this.inlineTokens(s.text, [], !0, n)), t.push(s); else if ((s = this.tokenizer.reflink(e, this.tokens.links))) (e = e.substring(s.raw.length)), 'link' === s.type && (s.tokens = this.inlineTokens(s.text, [], !0, n)), t.push(s); else if ((s = this.tokenizer.strong(e, a, r))) (e = e.substring(s.raw.length)), (s.tokens = this.inlineTokens(s.text, [], i, n)), t.push(s); else if ((s = this.tokenizer.em(e, a, r))) (e = e.substring(s.raw.length)), (s.tokens = this.inlineTokens(s.text, [], i, n)), t.push(s); else if ((s = this.tokenizer.codespan(e))) (e = e.substring(s.raw.length)), t.push(s); else if ((s = this.tokenizer.br(e))) (e = e.substring(s.raw.length)), t.push(s); else if ((s = this.tokenizer.del(e))) (e = e.substring(s.raw.length)), (s.tokens = this.inlineTokens(s.text, [], i, n)), t.push(s); else if ((s = this.tokenizer.autolink(e, q))) (e = e.substring(s.raw.length)), t.push(s); else if (i || !(s = this.tokenizer.url(e, q))) { if ((s = this.tokenizer.inlineText(e, n, K))) (e = e.substring(s.raw.length)), (r = s.raw.slice(-1)), t.push(s); else if (e) { var c = 'Infinite loop on byte: ' + e.charCodeAt(0); if (this.options.silent) { console.error(c); break; } throw new Error(c); } } else (e = e.substring(s.raw.length)), t.push(s); return t; }), (i = t), (r = [ { key: 'rules', get: function () { return { block: U, inline: $ }; }, }, ]), (n = null) && e(i.prototype, n), r && e(i, r), t ); })(), Z = n.defaults, J = k, Q = w, X = (function () { function e(e) { this.options = e || Z; } var t = e.prototype; return ( (t.code = function (e, t, i) { var n = (t || '').match(/\S*/)[0]; if (this.options.highlight) { var r = this.options.highlight(e, n); null != r && r !== e && ((i = !0), (e = r)); } return n ? '
' +
                        (i ? e : Q(e, !0)) +
                        '
\n' : '
' + (i ? e : Q(e, !0)) + '
\n'; }), (t.blockquote = function (e) { return '
\n' + e + '
\n'; }), (t.html = function (e) { return e; }), (t.heading = function (e, t, i, n) { return this.options.headerIds ? '' + e + '\n' : '' + e + '\n'; }), (t.hr = function () { return this.options.xhtml ? '
\n' : '
\n'; }), (t.list = function (e, t, i) { var n = t ? 'ol' : 'ul'; return ( '<' + n + (t && 1 !== i ? ' start="' + i + '"' : '') + '>\n' + e + '\n' ); }), (t.listitem = function (e) { return '
  • ' + e + '
  • \n'; }), (t.checkbox = function (e) { return ( ' ' ); }), (t.paragraph = function (e) { return '

    ' + e + '

    \n'; }), (t.table = function (e, t) { return ( t && (t = '' + t + ''), '\n\n' + e + '\n' + t + '
    \n' ); }), (t.tablerow = function (e) { return '\n' + e + '\n'; }), (t.tablecell = function (e, t) { var i = t.header ? 'th' : 'td'; return ( (t.align ? '<' + i + ' align="' + t.align + '">' : '<' + i + '>') + e + '\n' ); }), (t.strong = function (e) { return '' + e + ''; }), (t.em = function (e) { return '' + e + ''; }), (t.codespan = function (e) { return '' + e + ''; }), (t.br = function () { return this.options.xhtml ? '
    ' : '
    '; }), (t.del = function (e) { return '' + e + ''; }), (t.link = function (e, t, i) { if ( null === (e = J(this.options.sanitize, this.options.baseUrl, e)) ) return i; var n = '
    ' + i + ''; }), (t.image = function (e, t, i) { if ( null === (e = J(this.options.sanitize, this.options.baseUrl, e)) ) return i; var n = '' + i + '' : '>') ); }), (t.text = function (e) { return e; }), e ); })(), ee = (function () { function e() {} var t = e.prototype; return ( (t.strong = function (e) { return e; }), (t.em = function (e) { return e; }), (t.codespan = function (e) { return e; }), (t.del = function (e) { return e; }), (t.html = function (e) { return e; }), (t.text = function (e) { return e; }), (t.link = function (e, t, i) { return '' + i; }), (t.image = function (e, t, i) { return '' + i; }), (t.br = function () { return ''; }), e ); })(), te = (function () { function e() { this.seen = {}; } var t = e.prototype; return ( (t.serialize = function (e) { return e .toLowerCase() .trim() .replace(/<[!\/a-z].*?>/gi, '') .replace( /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '' ) .replace(/\s/g, '-'); }), (t.getNextSafeSlug = function (e, t) { var i = e, n = 0; if (this.seen.hasOwnProperty(i)) { n = this.seen[e]; do { i = e + '-' + ++n; } while (this.seen.hasOwnProperty(i)); } return t || ((this.seen[e] = n), (this.seen[i] = 0)), i; }), (t.slug = function (e, t) { void 0 === t && (t = {}); var i = this.serialize(e); return this.getNextSafeSlug(i, t.dryrun); }), e ); })(), ie = n.defaults, ne = C, re = (function () { function e(e) { (this.options = e || ie), (this.options.renderer = this.options.renderer || new X()), (this.renderer = this.options.renderer), (this.renderer.options = this.options), (this.textRenderer = new ee()), (this.slugger = new te()); } e.parse = function (t, i) { return new e(i).parse(t); }; var t = e.prototype; return ( (t.parse = function (e, t) { void 0 === t && (t = !0); var i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _, b, v, y = '', w = e.length; for (i = 0; i < w; i++) switch ((h = e[i]).type) { case 'space': continue; case 'hr': y += this.renderer.hr(); continue; case 'heading': y += this.renderer.heading( this.parseInline(h.tokens), h.depth, ne(this.parseInline(h.tokens, this.textRenderer)), this.slugger ); continue; case 'code': y += this.renderer.code(h.text, h.lang, h.escaped); continue; case 'table': for ( c = '', l = '', s = h.header.length, n = 0; n < s; n++ ) l += this.renderer.tablecell( this.parseInline(h.tokens.header[n]), { header: !0, align: h.align[n] } ); for ( c += this.renderer.tablerow(l), d = '', s = h.cells.length, n = 0; n < s; n++ ) { for ( l = '', o = (a = h.tokens.cells[n]).length, r = 0; r < o; r++ ) l += this.renderer.tablecell( this.parseInline(a[r]), { header: !1, align: h.align[r] } ); d += this.renderer.tablerow(l); } y += this.renderer.table(c, d); continue; case 'blockquote': (d = this.parse(h.tokens)), (y += this.renderer.blockquote(d)); continue; case 'list': for ( u = h.ordered, g = h.start, f = h.loose, s = h.items.length, d = '', n = 0; n < s; n++ ) (_ = (m = h.items[n]).checked), (b = m.task), (p = ''), m.task && ((v = this.renderer.checkbox(_)), f ? m.tokens.length > 0 && 'text' === m.tokens[0].type ? ((m.tokens[0].text = v + ' ' + m.tokens[0].text), m.tokens[0].tokens && m.tokens[0].tokens.length > 0 && 'text' === m.tokens[0].tokens[0].type && (m.tokens[0].tokens[0].text = v + ' ' + m.tokens[0].tokens[0].text)) : m.tokens.unshift({ type: 'text', text: v }) : (p += v)), (p += this.parse(m.tokens, f)), (d += this.renderer.listitem(p, b, _)); y += this.renderer.list(d, u, g); continue; case 'html': y += this.renderer.html(h.text); continue; case 'paragraph': y += this.renderer.paragraph( this.parseInline(h.tokens) ); continue; case 'text': for ( d = h.tokens ? this.parseInline(h.tokens) : h.text; i + 1 < w && 'text' === e[i + 1].type; ) d += '\n' + ((h = e[++i]).tokens ? this.parseInline(h.tokens) : h.text); y += t ? this.renderer.paragraph(d) : d; continue; default: var C = 'Token with "' + h.type + '" type was not found.'; if (this.options.silent) return void console.error(C); throw new Error(C); } return y; }), (t.parseInline = function (e, t) { t = t || this.renderer; var i, n, r = '', s = e.length; for (i = 0; i < s; i++) switch ((n = e[i]).type) { case 'escape': r += t.text(n.text); break; case 'html': r += t.html(n.text); break; case 'link': r += t.link( n.href, n.title, this.parseInline(n.tokens, t) ); break; case 'image': r += t.image(n.href, n.title, n.text); break; case 'strong': r += t.strong(this.parseInline(n.tokens, t)); break; case 'em': r += t.em(this.parseInline(n.tokens, t)); break; case 'codespan': r += t.codespan(n.text); break; case 'br': r += t.br(); break; case 'del': r += t.del(this.parseInline(n.tokens, t)); break; case 'text': r += t.text(n.text); break; default: var o = 'Token with "' + n.type + '" type was not found.'; if (this.options.silent) return void console.error(o); throw new Error(o); } return r; }), e ); })(), se = L, oe = E, ae = w, le = n.getDefaults, ce = n.changeDefaults, de = n.defaults; function he(e, t, i) { if (null == e) throw new Error('marked(): input parameter is undefined or null'); if ('string' != typeof e) throw new Error( 'marked(): input parameter is of type ' + Object.prototype.toString.call(e) + ', string expected' ); if ( ('function' == typeof t && ((i = t), (t = null)), (t = se({}, he.defaults, t || {})), oe(t), i) ) { var n, r = t.highlight; try { n = G.lex(e, t); } catch (e) { return i(e); } var s = function (e) { var s; if (!e) try { s = re.parse(n, t); } catch (t) { e = t; } return (t.highlight = r), e ? i(e) : i(null, s); }; if (!r || r.length < 3) return s(); if ((delete t.highlight, !n.length)) return s(); var o = 0; return ( he.walkTokens(n, function (e) { 'code' === e.type && (o++, setTimeout(function () { r(e.text, e.lang, function (t, i) { if (t) return s(t); null != i && i !== e.text && ((e.text = i), (e.escaped = !0)), 0 == --o && s(); }); }, 0)); }), void (0 === o && s()) ); } try { var a = G.lex(e, t); return ( t.walkTokens && he.walkTokens(a, t.walkTokens), re.parse(a, t) ); } catch (e) { if ( ((e.message += '\nPlease report this to https://github.com/markedjs/marked.'), t.silent) ) return ( '

    An error occurred:

    ' +
                      ae(e.message + '', !0) +
                      '
    ' ); throw e; } } return ( (he.options = he.setOptions = function (e) { return se(he.defaults, e), ce(he.defaults), he; }), (he.getDefaults = le), (he.defaults = de), (he.use = function (e) { var t = se({}, e); if ( (e.renderer && (function () { var i = he.defaults.renderer || new X(), n = function (t) { var n = i[t]; i[t] = function () { for ( var r = arguments.length, s = new Array(r), o = 0; o < r; o++ ) s[o] = arguments[o]; var a = e.renderer[t].apply(i, s); return !1 === a && (a = n.apply(i, s)), a; }; }; for (var r in e.renderer) n(r); t.renderer = i; })(), e.tokenizer && (function () { var i = he.defaults.tokenizer || new F(), n = function (t) { var n = i[t]; i[t] = function () { for ( var r = arguments.length, s = new Array(r), o = 0; o < r; o++ ) s[o] = arguments[o]; var a = e.tokenizer[t].apply(i, s); return !1 === a && (a = n.apply(i, s)), a; }; }; for (var r in e.tokenizer) n(r); t.tokenizer = i; })(), e.walkTokens) ) { var i = he.defaults.walkTokens; t.walkTokens = function (t) { e.walkTokens(t), i && i(t); }; } he.setOptions(t); }), (he.walkTokens = function (e, t) { for (var n, r = i(e); !(n = r()).done; ) { var s = n.value; switch ((t(s), s.type)) { case 'table': for (var o, a = i(s.tokens.header); !(o = a()).done; ) { var l = o.value; he.walkTokens(l, t); } for (var c, d = i(s.tokens.cells); !(c = d()).done; ) for (var h, u = i(c.value); !(h = u()).done; ) { var g = h.value; he.walkTokens(g, t); } break; case 'list': he.walkTokens(s.items, t); break; default: s.tokens && he.walkTokens(s.tokens, t); } } }), (he.Parser = re), (he.parser = re.parse), (he.Renderer = X), (he.TextRenderer = ee), (he.Lexer = G), (he.lexer = G.lex), (he.Tokenizer = F), (he.Slugger = te), (he.parse = he), he ); })(); }, 23897: (e, t, i) => { 'use strict'; i.d(t, { Q: () => s }); var n = i(53060), r = i(70666); function s(e) { let t = JSON.parse(e); return (t = o(t)), t; } function o(e, t = 0) { if (!e || t > 200) return e; if ('object' == typeof e) { switch (e.$mid) { case 1: return r.o.revive(e); case 2: return new RegExp(e.source, e.flags); } if (e instanceof n.KN || e instanceof Uint8Array) return e; if (Array.isArray(e)) for (let i = 0; i < e.length; ++i) e[i] = o(e[i], t + 1); else for (const i in e) Object.hasOwnProperty.call(e, i) && (e[i] = o(e[i], t + 1)); } return e; } }, 66663: (e, t, i) => { 'use strict'; i.d(t, { l: () => n, W: () => o }); var n, r = i(70666), s = i(1432); !(function (e) { (e.inMemory = 'inmemory'), (e.vscode = 'vscode'), (e.internal = 'private'), (e.walkThrough = 'walkThrough'), (e.walkThroughSnippet = 'walkThroughSnippet'), (e.http = 'http'), (e.https = 'https'), (e.file = 'file'), (e.mailto = 'mailto'), (e.untitled = 'untitled'), (e.data = 'data'), (e.command = 'command'), (e.vscodeRemote = 'vscode-remote'), (e.vscodeRemoteResource = 'vscode-remote-resource'), (e.userData = 'vscode-userdata'), (e.vscodeCustomEditor = 'vscode-custom-editor'), (e.vscodeNotebook = 'vscode-notebook'), (e.vscodeNotebookCell = 'vscode-notebook-cell'), (e.vscodeSettings = 'vscode-settings'), (e.webviewPanel = 'webview-panel'), (e.vscodeWebview = 'vscode-webview'), (e.vscodeWebviewResource = 'vscode-webview-resource'), (e.extension = 'extension'); })(n || (n = {})); const o = new (class { constructor() { (this._hosts = Object.create(null)), (this._ports = Object.create(null)), (this._connectionTokens = Object.create(null)), (this._preferredWebSchema = 'http'), (this._delegate = null); } setPreferredWebSchema(e) { this._preferredWebSchema = e; } rewrite(e) { if (this._delegate) return this._delegate(e); const t = e.authority; let i = this._hosts[t]; i && -1 !== i.indexOf(':') && (i = `[${i}]`); const o = this._ports[t], a = this._connectionTokens[t]; let l = `path=${encodeURIComponent(e.path)}`; return ( 'string' == typeof a && (l += `&tkn=${encodeURIComponent(a)}`), r.o.from({ scheme: s.$L ? this._preferredWebSchema : n.vscodeRemoteResource, authority: `${i}:${o}`, path: '/vscode-remote-resource', query: l, }) ); } })(); }, 59870: (e, t, i) => { 'use strict'; function n(e, t, i) { return Math.min(Math.max(e, t), i); } i.d(t, { u: () => n, n: () => r }); class r { constructor() { (this._n = 1), (this._val = 0); } update(e) { return ( (this._val = this._val + (e - this._val) / this._n), (this._n += 1), this ); } } }, 36248: (e, t, i) => { 'use strict'; i.d(t, { I8: () => r, _A: () => s, rs: () => a, jB: () => c, f0: () => d, fS: () => h, CJ: () => u, }); var n = i(98401); function r(e) { if (!e || 'object' != typeof e) return e; if (e instanceof RegExp) return e; const t = Array.isArray(e) ? [] : {}; return ( Object.keys(e).forEach((i) => { e[i] && 'object' == typeof e[i] ? (t[i] = r(e[i])) : (t[i] = e[i]); }), t ); } function s(e) { if (!e || 'object' != typeof e) return e; const t = [e]; for (; t.length > 0; ) { const e = t.shift(); Object.freeze(e); for (const i in e) if (o.call(e, i)) { const n = e[i]; 'object' != typeof n || Object.isFrozen(n) || t.push(n); } } return e; } const o = Object.prototype.hasOwnProperty; function a(e, t) { return l(e, t, new Set()); } function l(e, t, i) { if ((0, n.Jp)(e)) return e; const r = t(e); if (void 0 !== r) return r; if ((0, n.kJ)(e)) { const n = []; for (const r of e) n.push(l(r, t, i)); return n; } if ((0, n.Kn)(e)) { if (i.has(e)) throw new Error('Cannot clone recursive data-structure'); i.add(e); const n = {}; for (let r in e) o.call(e, r) && (n[r] = l(e[r], t, i)); return i.delete(e), n; } return e; } function c(e, t, i = !0) { return (0, n.Kn)(e) ? ((0, n.Kn)(t) && Object.keys(t).forEach((r) => { r in e ? i && ((0, n.Kn)(e[r]) && (0, n.Kn)(t[r]) ? c(e[r], t[r], i) : (e[r] = t[r])) : (e[r] = t[r]); }), e) : t; } function d(e, ...t) { return ( t.forEach((t) => Object.keys(t).forEach((i) => (e[i] = t[i]))), e ); } function h(e, t) { if (e === t) return !0; if (null == e || null == t) return !1; if (typeof e != typeof t) return !1; if ('object' != typeof e) return !1; if (Array.isArray(e) !== Array.isArray(t)) return !1; let i, n; if (Array.isArray(e)) { if (e.length !== t.length) return !1; for (i = 0; i < e.length; i++) if (!h(e[i], t[i])) return !1; } else { const r = []; for (n in e) r.push(n); r.sort(); const s = []; for (n in t) s.push(n); if ((s.sort(), !h(r, s))) return !1; for (i = 0; i < r.length; i++) if (!h(e[r[i]], t[r[i]])) return !1; } return !0; } function u(e, t, i) { const n = t(e); return void 0 === n ? i : n; } }, 88721: (e, t, i) => { 'use strict'; i.d(t, { EZ: () => x, XX: () => k, DZ: () => L, Fv: () => w, KR: () => y, Gf: () => S, DB: () => C, ir: () => M, Ku: () => v, }); var n = i(1432); const r = 'undefined' == typeof process ? { cwd: () => '/', env: Object.create(null), get platform() { return n.ED ? 'win32' : n.dz ? 'darwin' : 'linux'; }, nextTick: (e) => (0, n.xS)(e), } : process, s = r.cwd, o = r.env, a = r.platform, l = 46, c = 47, d = 92, h = 58; class u extends Error { constructor(e, t, i) { let n; 'string' == typeof t && 0 === t.indexOf('not ') ? ((n = 'must not be'), (t = t.replace(/^not /, ''))) : (n = 'must be'); const r = -1 !== e.indexOf('.') ? 'property' : 'argument'; let s = `The "${e}" ${r} ${n} of type ${t}`; (s += '. Received type ' + typeof i), super(s), (this.code = 'ERR_INVALID_ARG_TYPE'); } } function g(e, t) { if ('string' != typeof e) throw new u(t, 'string', e); } function f(e) { return e === c || e === d; } function p(e) { return e === c; } function m(e) { return (e >= 65 && e <= 90) || (e >= 97 && e <= 122); } function _(e, t, i, n) { let r = '', s = 0, o = -1, a = 0, d = 0; for (let h = 0; h <= e.length; ++h) { if (h < e.length) d = e.charCodeAt(h); else { if (n(d)) break; d = c; } if (n(d)) { if (o === h - 1 || 1 === a); else if (2 === a) { if ( r.length < 2 || 2 !== s || r.charCodeAt(r.length - 1) !== l || r.charCodeAt(r.length - 2) !== l ) { if (r.length > 2) { const e = r.lastIndexOf(i); -1 === e ? ((r = ''), (s = 0)) : ((r = r.slice(0, e)), (s = r.length - 1 - r.lastIndexOf(i))), (o = h), (a = 0); continue; } if (0 !== r.length) { (r = ''), (s = 0), (o = h), (a = 0); continue; } } t && ((r += r.length > 0 ? `${i}..` : '..'), (s = 2)); } else r.length > 0 ? (r += `${i}${e.slice(o + 1, h)}`) : (r = e.slice(o + 1, h)), (s = h - o - 1); (o = h), (a = 0); } else d === l && -1 !== a ? ++a : (a = -1); } return r; } function b(e, t) { if (null === t || 'object' != typeof t) throw new u('pathObject', 'Object', t); const i = t.dir || t.root, n = t.base || `${t.name || ''}${t.ext || ''}`; return i ? (i === t.root ? `${i}${n}` : `${i}${e}${n}`) : n; } const v = { resolve(...e) { let t = '', i = '', n = !1; for (let r = e.length - 1; r >= -1; r--) { let a; if (r >= 0) { if (((a = e[r]), g(a, 'path'), 0 === a.length)) continue; } else 0 === t.length ? (a = s()) : ((a = o[`=${t}`] || s()), (void 0 === a || (a.slice(0, 2).toLowerCase() !== t.toLowerCase() && a.charCodeAt(2) === d)) && (a = `${t}\\`)); const l = a.length; let c = 0, u = '', p = !1; const _ = a.charCodeAt(0); if (1 === l) f(_) && ((c = 1), (p = !0)); else if (f(_)) if (((p = !0), f(a.charCodeAt(1)))) { let e = 2, t = e; for (; e < l && !f(a.charCodeAt(e)); ) e++; if (e < l && e !== t) { const i = a.slice(t, e); for (t = e; e < l && f(a.charCodeAt(e)); ) e++; if (e < l && e !== t) { for (t = e; e < l && !f(a.charCodeAt(e)); ) e++; (e !== l && e === t) || ((u = `\\\\${i}\\${a.slice(t, e)}`), (c = e)); } } } else c = 1; else m(_) && a.charCodeAt(1) === h && ((u = a.slice(0, 2)), (c = 2), l > 2 && f(a.charCodeAt(2)) && ((p = !0), (c = 3))); if (u.length > 0) if (t.length > 0) { if (u.toLowerCase() !== t.toLowerCase()) continue; } else t = u; if (n) { if (t.length > 0) break; } else if ( ((i = `${a.slice(c)}\\${i}`), (n = p), p && t.length > 0) ) break; } return ( (i = _(i, !n, '\\', f)), n ? `${t}\\${i}` : `${t}${i}` || '.' ); }, normalize(e) { g(e, 'path'); const t = e.length; if (0 === t) return '.'; let i, n = 0, r = !1; const s = e.charCodeAt(0); if (1 === t) return p(s) ? '\\' : e; if (f(s)) if (((r = !0), f(e.charCodeAt(1)))) { let r = 2, s = r; for (; r < t && !f(e.charCodeAt(r)); ) r++; if (r < t && r !== s) { const o = e.slice(s, r); for (s = r; r < t && f(e.charCodeAt(r)); ) r++; if (r < t && r !== s) { for (s = r; r < t && !f(e.charCodeAt(r)); ) r++; if (r === t) return `\\\\${o}\\${e.slice(s)}\\`; r !== s && ((i = `\\\\${o}\\${e.slice(s, r)}`), (n = r)); } } } else n = 1; else m(s) && e.charCodeAt(1) === h && ((i = e.slice(0, 2)), (n = 2), t > 2 && f(e.charCodeAt(2)) && ((r = !0), (n = 3))); let o = n < t ? _(e.slice(n), !r, '\\', f) : ''; return ( 0 !== o.length || r || (o = '.'), o.length > 0 && f(e.charCodeAt(t - 1)) && (o += '\\'), void 0 === i ? r ? `\\${o}` : o : r ? `${i}\\${o}` : `${i}${o}` ); }, isAbsolute(e) { g(e, 'path'); const t = e.length; if (0 === t) return !1; const i = e.charCodeAt(0); return ( f(i) || (t > 2 && m(i) && e.charCodeAt(1) === h && f(e.charCodeAt(2))) ); }, join(...e) { if (0 === e.length) return '.'; let t, i; for (let n = 0; n < e.length; ++n) { const r = e[n]; g(r, 'path'), r.length > 0 && (void 0 === t ? (t = i = r) : (t += `\\${r}`)); } if (void 0 === t) return '.'; let n = !0, r = 0; if ('string' == typeof i && f(i.charCodeAt(0))) { ++r; const e = i.length; e > 1 && f(i.charCodeAt(1)) && (++r, e > 2 && (f(i.charCodeAt(2)) ? ++r : (n = !1))); } if (n) { for (; r < t.length && f(t.charCodeAt(r)); ) r++; r >= 2 && (t = `\\${t.slice(r)}`); } return v.normalize(t); }, relative(e, t) { if ((g(e, 'from'), g(t, 'to'), e === t)) return ''; const i = v.resolve(e), n = v.resolve(t); if (i === n) return ''; if ((e = i.toLowerCase()) === (t = n.toLowerCase())) return ''; let r = 0; for (; r < e.length && e.charCodeAt(r) === d; ) r++; let s = e.length; for (; s - 1 > r && e.charCodeAt(s - 1) === d; ) s--; const o = s - r; let a = 0; for (; a < t.length && t.charCodeAt(a) === d; ) a++; let l = t.length; for (; l - 1 > a && t.charCodeAt(l - 1) === d; ) l--; const c = l - a, h = o < c ? o : c; let u = -1, f = 0; for (; f < h; f++) { const i = e.charCodeAt(r + f); if (i !== t.charCodeAt(a + f)) break; i === d && (u = f); } if (f !== h) { if (-1 === u) return n; } else { if (c > h) { if (t.charCodeAt(a + f) === d) return n.slice(a + f + 1); if (2 === f) return n.slice(a + f); } o > h && (e.charCodeAt(r + f) === d ? (u = f) : 2 === f && (u = 3)), -1 === u && (u = 0); } let p = ''; for (f = r + u + 1; f <= s; ++f) (f !== s && e.charCodeAt(f) !== d) || (p += 0 === p.length ? '..' : '\\..'); return ( (a += u), p.length > 0 ? `${p}${n.slice(a, l)}` : (n.charCodeAt(a) === d && ++a, n.slice(a, l)) ); }, toNamespacedPath(e) { if ('string' != typeof e) return e; if (0 === e.length) return ''; const t = v.resolve(e); if (t.length <= 2) return e; if (t.charCodeAt(0) === d) { if (t.charCodeAt(1) === d) { const e = t.charCodeAt(2); if (63 !== e && e !== l) return `\\\\?\\UNC\\${t.slice(2)}`; } } else if ( m(t.charCodeAt(0)) && t.charCodeAt(1) === h && t.charCodeAt(2) === d ) return `\\\\?\\${t}`; return e; }, dirname(e) { g(e, 'path'); const t = e.length; if (0 === t) return '.'; let i = -1, n = 0; const r = e.charCodeAt(0); if (1 === t) return f(r) ? e : '.'; if (f(r)) { if (((i = n = 1), f(e.charCodeAt(1)))) { let r = 2, s = r; for (; r < t && !f(e.charCodeAt(r)); ) r++; if (r < t && r !== s) { for (s = r; r < t && f(e.charCodeAt(r)); ) r++; if (r < t && r !== s) { for (s = r; r < t && !f(e.charCodeAt(r)); ) r++; if (r === t) return e; r !== s && (i = n = r + 1); } } } } else m(r) && e.charCodeAt(1) === h && ((i = t > 2 && f(e.charCodeAt(2)) ? 3 : 2), (n = i)); let s = -1, o = !0; for (let i = t - 1; i >= n; --i) if (f(e.charCodeAt(i))) { if (!o) { s = i; break; } } else o = !1; if (-1 === s) { if (-1 === i) return '.'; s = i; } return e.slice(0, s); }, basename(e, t) { void 0 !== t && g(t, 'ext'), g(e, 'path'); let i, n = 0, r = -1, s = !0; if ( (e.length >= 2 && m(e.charCodeAt(0)) && e.charCodeAt(1) === h && (n = 2), void 0 !== t && t.length > 0 && t.length <= e.length) ) { if (t === e) return ''; let o = t.length - 1, a = -1; for (i = e.length - 1; i >= n; --i) { const l = e.charCodeAt(i); if (f(l)) { if (!s) { n = i + 1; break; } } else -1 === a && ((s = !1), (a = i + 1)), o >= 0 && (l === t.charCodeAt(o) ? -1 == --o && (r = i) : ((o = -1), (r = a))); } return ( n === r ? (r = a) : -1 === r && (r = e.length), e.slice(n, r) ); } for (i = e.length - 1; i >= n; --i) if (f(e.charCodeAt(i))) { if (!s) { n = i + 1; break; } } else -1 === r && ((s = !1), (r = i + 1)); return -1 === r ? '' : e.slice(n, r); }, extname(e) { g(e, 'path'); let t = 0, i = -1, n = 0, r = -1, s = !0, o = 0; e.length >= 2 && e.charCodeAt(1) === h && m(e.charCodeAt(0)) && (t = n = 2); for (let a = e.length - 1; a >= t; --a) { const t = e.charCodeAt(a); if (f(t)) { if (!s) { n = a + 1; break; } } else -1 === r && ((s = !1), (r = a + 1)), t === l ? -1 === i ? (i = a) : 1 !== o && (o = 1) : -1 !== i && (o = -1); } return -1 === i || -1 === r || 0 === o || (1 === o && i === r - 1 && i === n + 1) ? '' : e.slice(i, r); }, format: b.bind(null, '\\'), parse(e) { g(e, 'path'); const t = { root: '', dir: '', base: '', ext: '', name: '' }; if (0 === e.length) return t; const i = e.length; let n = 0, r = e.charCodeAt(0); if (1 === i) return f(r) ? ((t.root = t.dir = e), t) : ((t.base = t.name = e), t); if (f(r)) { if (((n = 1), f(e.charCodeAt(1)))) { let t = 2, r = t; for (; t < i && !f(e.charCodeAt(t)); ) t++; if (t < i && t !== r) { for (r = t; t < i && f(e.charCodeAt(t)); ) t++; if (t < i && t !== r) { for (r = t; t < i && !f(e.charCodeAt(t)); ) t++; t === i ? (n = t) : t !== r && (n = t + 1); } } } } else if (m(r) && e.charCodeAt(1) === h) { if (i <= 2) return (t.root = t.dir = e), t; if (((n = 2), f(e.charCodeAt(2)))) { if (3 === i) return (t.root = t.dir = e), t; n = 3; } } n > 0 && (t.root = e.slice(0, n)); let s = -1, o = n, a = -1, c = !0, d = e.length - 1, u = 0; for (; d >= n; --d) if (((r = e.charCodeAt(d)), f(r))) { if (!c) { o = d + 1; break; } } else -1 === a && ((c = !1), (a = d + 1)), r === l ? -1 === s ? (s = d) : 1 !== u && (u = 1) : -1 !== s && (u = -1); return ( -1 !== a && (-1 === s || 0 === u || (1 === u && 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 !== n ? e.slice(0, o - 1) : t.root), t ); }, sep: '\\', delimiter: ';', win32: null, posix: null, }, y = { resolve(...e) { let t = '', i = !1; for (let n = e.length - 1; n >= -1 && !i; n--) { const r = n >= 0 ? e[n] : s(); g(r, 'path'), 0 !== r.length && ((t = `${r}/${t}`), (i = r.charCodeAt(0) === c)); } return ( (t = _(t, !i, '/', p)), i ? `/${t}` : t.length > 0 ? t : '.' ); }, normalize(e) { if ((g(e, 'path'), 0 === e.length)) return '.'; const t = e.charCodeAt(0) === c, i = e.charCodeAt(e.length - 1) === c; return 0 === (e = _(e, !t, '/', p)).length ? t ? '/' : i ? './' : '.' : (i && (e += '/'), t ? `/${e}` : e); }, isAbsolute: (e) => ( g(e, 'path'), e.length > 0 && e.charCodeAt(0) === c ), join(...e) { if (0 === e.length) return '.'; let t; for (let i = 0; i < e.length; ++i) { const n = e[i]; g(n, 'path'), n.length > 0 && (void 0 === t ? (t = n) : (t += `/${n}`)); } return void 0 === t ? '.' : y.normalize(t); }, relative(e, t) { if ((g(e, 'from'), g(t, 'to'), e === t)) return ''; if ((e = y.resolve(e)) === (t = y.resolve(t))) return ''; const i = e.length, n = i - 1, r = t.length - 1, s = n < r ? n : r; let o = -1, a = 0; for (; a < s; a++) { const i = e.charCodeAt(1 + a); if (i !== t.charCodeAt(1 + a)) break; i === c && (o = a); } if (a === s) if (r > s) { if (t.charCodeAt(1 + a) === c) return t.slice(1 + a + 1); if (0 === a) return t.slice(1 + a); } else n > s && (e.charCodeAt(1 + a) === c ? (o = a) : 0 === a && (o = 0)); let l = ''; for (a = 1 + o + 1; a <= i; ++a) (a !== i && e.charCodeAt(a) !== c) || (l += 0 === l.length ? '..' : '/..'); return `${l}${t.slice(1 + o)}`; }, toNamespacedPath: (e) => e, dirname(e) { if ((g(e, 'path'), 0 === e.length)) return '.'; const t = e.charCodeAt(0) === c; let i = -1, n = !0; for (let t = e.length - 1; t >= 1; --t) if (e.charCodeAt(t) === c) { if (!n) { i = t; break; } } else n = !1; return -1 === i ? t ? '/' : '.' : t && 1 === i ? '//' : e.slice(0, i); }, basename(e, t) { void 0 !== t && g(t, 'ext'), g(e, 'path'); let i, n = 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 (i = e.length - 1; i >= 0; --i) { const l = e.charCodeAt(i); if (l === c) { if (!s) { n = i + 1; break; } } else -1 === a && ((s = !1), (a = i + 1)), o >= 0 && (l === t.charCodeAt(o) ? -1 == --o && (r = i) : ((o = -1), (r = a))); } return ( n === r ? (r = a) : -1 === r && (r = e.length), e.slice(n, r) ); } for (i = e.length - 1; i >= 0; --i) if (e.charCodeAt(i) === c) { if (!s) { n = i + 1; break; } } else -1 === r && ((s = !1), (r = i + 1)); return -1 === r ? '' : e.slice(n, r); }, extname(e) { g(e, 'path'); let t = -1, i = 0, n = -1, r = !0, s = 0; for (let o = e.length - 1; o >= 0; --o) { const a = e.charCodeAt(o); if (a !== c) -1 === n && ((r = !1), (n = o + 1)), a === l ? -1 === t ? (t = o) : 1 !== s && (s = 1) : -1 !== t && (s = -1); else if (!r) { i = o + 1; break; } } return -1 === t || -1 === n || 0 === s || (1 === s && t === n - 1 && t === i + 1) ? '' : e.slice(t, n); }, format: b.bind(null, '/'), parse(e) { g(e, 'path'); const t = { root: '', dir: '', base: '', ext: '', name: '' }; if (0 === e.length) return t; const i = e.charCodeAt(0) === c; let n; i ? ((t.root = '/'), (n = 1)) : (n = 0); let r = -1, s = 0, o = -1, a = !0, d = e.length - 1, h = 0; for (; d >= n; --d) { const t = e.charCodeAt(d); if (t !== c) -1 === o && ((a = !1), (o = d + 1)), t === l ? -1 === r ? (r = d) : 1 !== h && (h = 1) : -1 !== r && (h = -1); else if (!a) { s = d + 1; break; } } if (-1 !== o) { const n = 0 === s && i ? 1 : s; -1 === r || 0 === h || (1 === h && r === o - 1 && r === s + 1) ? (t.base = t.name = e.slice(n, o)) : ((t.name = e.slice(n, r)), (t.base = e.slice(n, o)), (t.ext = e.slice(r, o))); } return ( s > 0 ? (t.dir = e.slice(0, s - 1)) : i && (t.dir = '/'), t ); }, sep: '/', delimiter: ':', win32: null, posix: null, }; (y.win32 = v.win32 = v), (y.posix = v.posix = y); const w = 'win32' === a ? v.normalize : y.normalize, C = 'win32' === a ? v.resolve : y.resolve, S = 'win32' === a ? v.relative : y.relative, k = 'win32' === a ? v.dirname : y.dirname, x = 'win32' === a ? v.basename : y.basename, L = 'win32' === a ? v.extname : y.extname, M = 'win32' === a ? v.sep : y.sep; }, 1432: (e, t, i) => { 'use strict'; i.d(t, { ED: () => m, dz: () => _, IJ: () => b, tY: () => v, $L: () => y, gn: () => w, li: () => C, xS: () => S, OS: () => k, r: () => M, }); const n = 'en'; let r, s, o, a = !1, l = !1, c = !1, d = !1, h = !1, u = !1, g = null; const f = 'undefined' != typeof process && void 0 !== process.versions && void 0 !== process.versions.electron && 'renderer' === process.type; if ('object' != typeof navigator || f) { if ('object' == typeof process) { (a = 'win32' === process.platform), (l = 'darwin' === process.platform), (c = 'linux' === process.platform), (r = n), (g = n); const e = process.env.VSCODE_NLS_CONFIG; if (e) try { const t = JSON.parse(e), i = t.availableLanguages['*']; (r = t.locale), (g = i || n), (s = t._translationsConfigFile); } catch (e) {} d = !0; } } else (o = navigator.userAgent), (a = o.indexOf('Windows') >= 0), (l = o.indexOf('Macintosh') >= 0), (u = (o.indexOf('Macintosh') >= 0 || o.indexOf('iPad') >= 0 || o.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0), (c = o.indexOf('Linux') >= 0), (h = !0), (r = navigator.language), (g = r); let p = 0; l ? (p = 1) : a ? (p = 3) : c && (p = 2); const m = a, _ = l, b = c, v = d, y = h, w = u, C = 'object' == typeof self ? self : 'object' == typeof i.g ? i.g : {}, S = (function () { if (C.setImmediate) return C.setImmediate.bind(C); if ('function' == typeof C.postMessage && !C.importScripts) { let e = []; C.addEventListener('message', (t) => { if (t.data && t.data.vscodeSetImmediateId) for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; if (n.id === t.data.vscodeSetImmediateId) return e.splice(i, 1), void n.callback(); } }); let t = 0; return (i) => { const n = ++t; e.push({ id: n, callback: i }), C.postMessage({ vscodeSetImmediateId: n }, '*'); }; } if ( 'undefined' != typeof process && 'function' == typeof process.nextTick ) return process.nextTick.bind(process); const e = Promise.resolve(); return (t) => e.then(t); })(), k = l || u ? 2 : a ? 1 : 3; let x = !0, L = !1; function M() { if (!L) { L = !0; const e = new Uint8Array(2); (e[0] = 1), (e[1] = 2); const t = new Uint16Array(e.buffer); x = 513 === t[0]; } return x; } }, 61134: (e, t, i) => { 'use strict'; var n; i.d(t, { e: () => n }), (function (e) { function t(e, t) { if (e.start >= t.end || t.start >= e.end) return { start: 0, end: 0 }; const i = Math.max(e.start, t.start), n = Math.min(e.end, t.end); return n - i <= 0 ? { start: 0, end: 0 } : { start: i, end: n }; } function i(e) { return e.end - e.start <= 0; } (e.intersect = t), (e.isEmpty = i), (e.intersects = function (e, n) { return !i(t(e, n)); }), (e.relativeComplement = function (e, t) { const n = [], r = { start: e.start, end: Math.min(t.start, e.end) }, s = { start: Math.max(t.end, e.start), end: e.end }; return i(r) || n.push(r), i(s) || n.push(s), n; }); })(n || (n = {})); }, 95935: (e, t, i) => { 'use strict'; i.d(t, { z_: () => c, SF: () => d, Xy: () => h, Hx: () => u, EZ: () => g, XX: () => f, Vo: () => p, AH: () => m, lX: () => _, i3: () => b, Vb: () => y, }); var n = i(15527), r = i(88721), s = i(70666), o = i(97295), a = i(66663), l = i(1432); function c(e) { return (0, s.q)(e, !0); } const d = new (class { constructor(e) { this._ignorePathCasing = e; } compare(e, t, i = !1) { return e === t ? 0 : (0, o.qu)( this.getComparisonKey(e, i), this.getComparisonKey(t, i) ); } isEqual(e, t, i = !1) { return ( e === t || (!(!e || !t) && this.getComparisonKey(e, i) === this.getComparisonKey(t, i)) ); } getComparisonKey(e, t = !1) { return e .with({ path: this._ignorePathCasing(e) ? e.path.toLowerCase() : void 0, fragment: t ? null : void 0, }) .toString(); } joinPath(e, ...t) { return s.o.joinPath(e, ...t); } basenameOrAuthority(e) { return g(e) || e.authority; } basename(e) { return r.KR.basename(e.path); } dirname(e) { if (0 === e.path.length) return e; let t; return ( e.scheme === a.l.file ? (t = s.o.file(r.XX(c(e))).path) : ((t = r.KR.dirname(e.path)), e.authority && t.length && 47 !== t.charCodeAt(0) && (console.error( `dirname("${e.toString})) resulted in a relative path` ), (t = '/'))), e.with({ path: t }) ); } normalizePath(e) { if (!e.path.length) return e; let t; return ( (t = e.scheme === a.l.file ? s.o.file(r.Fv(c(e))).path : r.KR.normalize(e.path)), e.with({ path: t }) ); } relativePath(e, t) { if (e.scheme !== t.scheme || !v(e.authority, t.authority)) return; if (e.scheme === a.l.file) { const i = r.Gf(c(e), c(t)); return l.ED ? n.e(i) : i; } let i = e.path || '/', s = t.path || '/'; if (this._ignorePathCasing(e)) { let e = 0; for ( const t = Math.min(i.length, s.length); e < t && (i.charCodeAt(e) === s.charCodeAt(e) || i.charAt(e).toLowerCase() === s.charAt(e).toLowerCase()); e++ ); i = s.substr(0, e) + i.substr(e); } return r.KR.relative(i, s); } resolvePath(e, t) { if (e.scheme === a.l.file) { const i = s.o.file(r.DB(c(e), t)); return e.with({ authority: i.authority, path: i.path }); } return ( -1 === t.indexOf('/') && ((t = n.e(t)), /^[a-zA-Z]:(\/|$)/.test(t) && (t = '/' + t)), e.with({ path: r.KR.resolve(e.path, t) }) ); } isEqualAuthority(e, t) { return e === t || (0, o.qq)(e, t); } })(() => !1), h = d.isEqual.bind(d), u = d.basenameOrAuthority.bind(d), g = d.basename.bind(d), f = d.dirname.bind(d), p = d.joinPath.bind(d), m = d.normalizePath.bind(d), _ = d.relativePath.bind(d), b = d.resolvePath.bind(d), v = d.isEqualAuthority.bind(d); var y; !(function (e) { (e.META_DATA_LABEL = 'label'), (e.META_DATA_DESCRIPTION = 'description'), (e.META_DATA_SIZE = 'size'), (e.META_DATA_MIME = 'mime'), (e.parseMetaData = function (t) { const i = new Map(); t.path .substring(t.path.indexOf(';') + 1, t.path.lastIndexOf(';')) .split(';') .forEach((e) => { const [t, n] = e.split(':'); t && n && i.set(t, n); }); const n = t.path.substring(0, t.path.indexOf(';')); return n && i.set(e.META_DATA_MIME, n), i; }); })(y || (y = {})); }, 76633: (e, t, i) => { 'use strict'; i.d(t, { Rm: () => o }); var n = i(4669), r = i(5976); class s { constructor(e, t, i, n, r, s) { (e |= 0), (t |= 0), (i |= 0), (n |= 0), (r |= 0), (s |= 0), (this.rawScrollLeft = i), (this.rawScrollTop = s), e < 0 && (e = 0), i + e > t && (i = t - e), i < 0 && (i = 0), n < 0 && (n = 0), s + n > r && (s = r - n), s < 0 && (s = 0), (this.width = e), (this.scrollWidth = t), (this.scrollLeft = i), (this.height = n), (this.scrollHeight = r), (this.scrollTop = s); } equals(e) { return ( this.rawScrollLeft === e.rawScrollLeft && this.rawScrollTop === e.rawScrollTop && this.width === e.width && this.scrollWidth === e.scrollWidth && this.scrollLeft === e.scrollLeft && this.height === e.height && this.scrollHeight === e.scrollHeight && this.scrollTop === e.scrollTop ); } withScrollDimensions(e, t) { return new s( void 0 !== e.width ? e.width : this.width, void 0 !== e.scrollWidth ? e.scrollWidth : this.scrollWidth, t ? this.rawScrollLeft : this.scrollLeft, void 0 !== e.height ? e.height : this.height, void 0 !== e.scrollHeight ? e.scrollHeight : this.scrollHeight, t ? this.rawScrollTop : this.scrollTop ); } withScrollPosition(e) { return new s( this.width, this.scrollWidth, void 0 !== e.scrollLeft ? e.scrollLeft : this.rawScrollLeft, this.height, this.scrollHeight, void 0 !== e.scrollTop ? e.scrollTop : this.rawScrollTop ); } createScrollEvent(e) { const t = this.width !== e.width, i = this.scrollWidth !== e.scrollWidth, n = this.scrollLeft !== e.scrollLeft, r = this.height !== e.height, s = this.scrollHeight !== e.scrollHeight, o = this.scrollTop !== e.scrollTop; return { oldWidth: e.width, oldScrollWidth: e.scrollWidth, oldScrollLeft: e.scrollLeft, width: this.width, scrollWidth: this.scrollWidth, scrollLeft: this.scrollLeft, oldHeight: e.height, oldScrollHeight: e.scrollHeight, oldScrollTop: e.scrollTop, height: this.height, scrollHeight: this.scrollHeight, scrollTop: this.scrollTop, widthChanged: t, scrollWidthChanged: i, scrollLeftChanged: n, heightChanged: r, scrollHeightChanged: s, scrollTopChanged: o, }; } } class o extends r.JT { constructor(e, t) { super(), (this._onScroll = this._register(new n.Q5())), (this.onScroll = this._onScroll.event), (this._smoothScrollDuration = e), (this._scheduleAtNextAnimationFrame = t), (this._state = new s(0, 0, 0, 0, 0, 0)), (this._smoothScrolling = null); } dispose() { this._smoothScrolling && (this._smoothScrolling.dispose(), (this._smoothScrolling = null)), super.dispose(); } setSmoothScrollDuration(e) { this._smoothScrollDuration = e; } validateScrollPosition(e) { return this._state.withScrollPosition(e); } getScrollDimensions() { return this._state; } setScrollDimensions(e, t) { const i = this._state.withScrollDimensions(e, t); this._setState(i), this._smoothScrolling && this._smoothScrolling.acceptScrollDimensions(this._state); } getFutureScrollPosition() { return this._smoothScrolling ? this._smoothScrolling.to : this._state; } getCurrentScrollPosition() { return this._state; } setScrollPositionNow(e) { const t = this._state.withScrollPosition(e); this._smoothScrolling && (this._smoothScrolling.dispose(), (this._smoothScrolling = null)), this._setState(t); } setScrollPositionSmooth(e) { if (0 === this._smoothScrollDuration) return this.setScrollPositionNow(e); if (this._smoothScrolling) { e = { scrollLeft: void 0 === e.scrollLeft ? this._smoothScrolling.to.scrollLeft : e.scrollLeft, scrollTop: void 0 === e.scrollTop ? this._smoothScrolling.to.scrollTop : e.scrollTop, }; const t = this._state.withScrollPosition(e); if ( this._smoothScrolling.to.scrollLeft === t.scrollLeft && this._smoothScrolling.to.scrollTop === t.scrollTop ) return; const i = this._smoothScrolling.combine( this._state, t, this._smoothScrollDuration ); this._smoothScrolling.dispose(), (this._smoothScrolling = i); } else { const t = this._state.withScrollPosition(e); this._smoothScrolling = c.start( this._state, t, this._smoothScrollDuration ); } this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame( () => { this._smoothScrolling && ((this._smoothScrolling.animationFrameDisposable = null), this._performSmoothScrolling()); } ); } _performSmoothScrolling() { if (!this._smoothScrolling) return; const e = this._smoothScrolling.tick(), t = this._state.withScrollPosition(e); return ( this._setState(t), this._smoothScrolling ? e.isDone ? (this._smoothScrolling.dispose(), void (this._smoothScrolling = null)) : void (this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame( () => { this._smoothScrolling && ((this._smoothScrolling.animationFrameDisposable = null), this._performSmoothScrolling()); } )) : void 0 ); } _setState(e) { const t = this._state; t.equals(e) || ((this._state = e), this._onScroll.fire(this._state.createScrollEvent(t))); } } class a { constructor(e, t, i) { (this.scrollLeft = e), (this.scrollTop = t), (this.isDone = i); } } function l(e, t) { const i = t - e; return function (t) { return e + i * (1 - ((n = 1 - t), Math.pow(n, 3))); var n; }; } class c { constructor(e, t, i, n) { (this.from = e), (this.to = t), (this.duration = n), (this._startTime = i), (this.animationFrameDisposable = null), this._initAnimations(); } _initAnimations() { (this.scrollLeft = this._initAnimation( this.from.scrollLeft, this.to.scrollLeft, this.to.width )), (this.scrollTop = this._initAnimation( this.from.scrollTop, this.to.scrollTop, this.to.height )); } _initAnimation(e, t, i) { if (Math.abs(e - t) > 2.5 * i) { let o, a; return ( e < t ? ((o = e + 0.75 * i), (a = t - 0.75 * i)) : ((o = e - 0.75 * i), (a = t + 0.75 * i)), (n = l(e, o)), (r = l(a, t)), (s = 0.33), function (e) { return e < s ? n(e / s) : r((e - s) / (1 - s)); } ); } var n, r, s; return l(e, t); } dispose() { null !== this.animationFrameDisposable && (this.animationFrameDisposable.dispose(), (this.animationFrameDisposable = null)); } acceptScrollDimensions(e) { (this.to = e.withScrollPosition(this.to)), this._initAnimations(); } tick() { return this._tick(Date.now()); } _tick(e) { const t = (e - this._startTime) / this.duration; if (t < 1) { const e = this.scrollLeft(t), i = this.scrollTop(t); return new a(e, i, !1); } return new a(this.to.scrollLeft, this.to.scrollTop, !0); } combine(e, t, i) { return c.start(e, t, i); } static start(e, t, i) { i += 10; const n = Date.now() - 10; return new c(e, t, n, i); } } }, 14603: (e, t, i) => { 'use strict'; i.d(t, { Z: () => s }); var n, r = i(97295); !(function (e) { (e[(e.Ignore = 0)] = 'Ignore'), (e[(e.Info = 1)] = 'Info'), (e[(e.Warning = 2)] = 'Warning'), (e[(e.Error = 3)] = 'Error'); })(n || (n = {})), (function (e) { e.fromValue = function (t) { return t ? r.qq('error', t) ? e.Error : r.qq('warning', t) || r.qq('warn', t) ? e.Warning : r.qq('info', t) ? e.Info : e.Ignore : e.Ignore; }; })(n || (n = {})); const s = n; }, 84013: (e, t, i) => { 'use strict'; i.d(t, { G: () => s }); var n = i(1432); const r = n.li.performance && 'function' == typeof n.li.performance.now; class s { constructor(e) { (this._highResolution = r && e), (this._startTime = this._now()), (this._stopTime = -1); } static create(e = !0) { return new s(e); } stop() { this._stopTime = this._now(); } elapsed() { return -1 !== this._stopTime ? this._stopTime - this._startTime : this._now() - this._startTime; } _now() { return this._highResolution ? n.li.performance.now() : new Date().getTime(); } } }, 97295: (e, t, i) => { 'use strict'; function n(e) { return !e || 'string' != typeof e || 0 === e.trim().length; } function r(e, t, i = '0') { const n = '' + e, r = [n]; for (let e = n.length; e < t; e++) r.push(i); return r.reverse().join(''); } i.d(t, { m5: () => n, vk: () => r, WU: () => o, YU: () => a, ec: () => l, fy: () => c, j3: () => d, oL: () => h, un: () => u, R1: () => g, Ny: () => f, pn: () => p, GF: () => m, IO: () => _, mr: () => b, LC: () => v, V8: () => y, ow: () => w, qu: () => C, TT: () => S, zY: () => k, j_: () => x, mK: () => L, df: () => M, qq: () => N, ok: () => T, Mh: () => I, P1: () => O, ZG: () => A, YK: () => R, rL: () => P, ZH: () => F, vH: () => W, HO: () => Y, CZ: () => H, Ut: () => V, RP: () => U, $i: () => K, Qe: () => q, ab: () => G, xe: () => Z, K7: () => J, C8: () => Q, c1: () => X, uS: () => ee, Kw: () => te, PJ: () => ie, S6: () => ne, fi: () => re, }); const s = /{(\d+)}/g; function o(e, ...t) { return 0 === t.length ? e : e.replace(s, function (e, i) { const n = parseInt(i, 10); return isNaN(n) || n < 0 || n >= t.length ? e : t[n]; }); } function a(e) { return e.replace(/[<>&]/g, function (e) { switch (e) { case '<': return '<'; case '>': return '>'; case '&': return '&'; default: return e; } }); } function l(e) { return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g, '\\$&'); } function c(e, t = ' ') { return h(d(e, t), t); } function d(e, t) { if (!e || !t) return e; const i = t.length; if (0 === i || 0 === e.length) return e; let n = 0; for (; e.indexOf(t, n) === n; ) n += i; return e.substring(n); } function h(e, t) { if (!e || !t) return e; const i = t.length, n = e.length; if (0 === i || 0 === n) return e; let r = n, s = -1; for (; (s = e.lastIndexOf(t, r - 1)), -1 !== s && s + i === r; ) { if (0 === s) return ''; r = s; } return e.substring(0, r); } function u(e) { return e .replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, '\\$&') .replace(/[\*]/g, '.*'); } function g(e) { return e.replace(/\*/g, ''); } function f(e, t) { if (e.length < t.length) return !1; if (e === t) return !0; for (let i = 0; i < t.length; i++) if (e[i] !== t[i]) return !1; return !0; } function p(e, t) { const i = e.length - t.length; return i > 0 ? e.indexOf(t, i) === i : 0 === i && e === t; } function m(e, t, i = {}) { if (!e) throw new Error('Cannot create regex from empty string'); t || (e = l(e)), i.wholeWord && (/\B/.test(e.charAt(0)) || (e = '\\b' + e), /\B/.test(e.charAt(e.length - 1)) || (e += '\\b')); let n = ''; return ( i.global && (n += 'g'), i.matchCase || (n += 'i'), i.multiline && (n += 'm'), i.unicode && (n += 'u'), new RegExp(e, n) ); } function _(e) { return ( '^' !== e.source && '^$' !== e.source && '$' !== e.source && '^\\s*$' !== e.source && !(!e.exec('') || 0 !== e.lastIndex) ); } function b(e) { return ( (e.global ? 'g' : '') + (e.ignoreCase ? 'i' : '') + (e.multiline ? 'm' : '') + (e.unicode ? 'u' : '') ); } function v(e) { for (let t = 0, i = e.length; t < i; t++) { const i = e.charCodeAt(t); if (32 !== i && 9 !== i) return t; } return -1; } function y(e, t = 0, i = e.length) { for (let n = t; n < i; n++) { const i = e.charCodeAt(n); if (32 !== i && 9 !== i) return e.substring(t, n); } return e.substring(t, i); } function w(e, t = e.length - 1) { for (let i = t; i >= 0; i--) { const t = e.charCodeAt(i); if (32 !== t && 9 !== t) return i; } return -1; } function C(e, t) { return e < t ? -1 : e > t ? 1 : 0; } function S(e, t, i = 0, n = e.length, r = 0, s = t.length) { for (; i < n && r < s; i++, r++) { let n = e.charCodeAt(i), s = t.charCodeAt(r); if (n < s) return -1; if (n > s) return 1; } const o = n - i, a = s - r; return o < a ? -1 : o > a ? 1 : 0; } function k(e, t) { return x(e, t, 0, e.length, 0, t.length); } function x(e, t, i = 0, n = e.length, r = 0, s = t.length) { for (; i < n && r < s; i++, r++) { let o = e.charCodeAt(i), a = t.charCodeAt(r); if (o === a) continue; const l = o - a; if (!((32 === l && M(a)) || (-32 === l && M(o)))) return L(o) && L(a) ? l : S(e.toLowerCase(), t.toLowerCase(), i, n, r, s); } const o = n - i, a = s - r; return o < a ? -1 : o > a ? 1 : 0; } function L(e) { return e >= 97 && e <= 122; } function M(e) { return e >= 65 && e <= 90; } function D(e) { return L(e) || M(e); } function N(e, t) { return e.length === t.length && E(e, t); } function E(e, t, i = e.length) { for (let n = 0; n < i; n++) { const i = e.charCodeAt(n), r = t.charCodeAt(n); if (i !== r) if (D(i) && D(r)) { const e = Math.abs(i - r); if (0 !== e && 32 !== e) return !1; } else if ( String.fromCharCode(i).toLowerCase() !== String.fromCharCode(r).toLowerCase() ) return !1; } return !0; } function T(e, t) { const i = t.length; return !(t.length > e.length) && E(e, t, i); } function I(e, t) { let i, n = Math.min(e.length, t.length); for (i = 0; i < n; i++) if (e.charCodeAt(i) !== t.charCodeAt(i)) return i; return n; } function O(e, t) { let i, n = Math.min(e.length, t.length); const r = e.length - 1, s = t.length - 1; for (i = 0; i < n; i++) if (e.charCodeAt(r - i) !== t.charCodeAt(s - i)) return i; return n; } function A(e) { return 55296 <= e && e <= 56319; } function R(e) { return 56320 <= e && e <= 57343; } function P(e, t) { return t - 56320 + ((e - 55296) << 10) + 65536; } function F(e, t, i) { const n = e.charCodeAt(i); if (A(n) && i + 1 < t) { const t = e.charCodeAt(i + 1); if (R(t)) return P(n, t); } return n; } function B(e, t) { const i = e.charCodeAt(t - 1); if (R(i) && t > 1) { const n = e.charCodeAt(t - 2); if (A(n)) return P(n, i); } return i; } function W(e, t) { const i = se.getInstance(), n = t, r = e.length, s = F(e, r, t); t += s >= 65536 ? 2 : 1; let o = i.getGraphemeBreakType(s); for (; t < r; ) { const n = F(e, r, t), s = i.getGraphemeBreakType(n); if (re(o, s)) break; (t += n >= 65536 ? 2 : 1), (o = s); } return t - n; } function Y(e, t) { const i = se.getInstance(), n = t, r = B(e, t); t -= r >= 65536 ? 2 : 1; let s = i.getGraphemeBreakType(r); for (; t > 0; ) { const n = B(e, t), r = i.getGraphemeBreakType(n); if (re(r, s)) break; (t -= n >= 65536 ? 2 : 1), (s = r); } return n - t; } function H(e) { const t = e.byteLength, i = []; let n = 0; for (; n < t; ) { const r = e[n]; let s; if ( ((s = r >= 240 && n + 3 < t ? (((7 & e[n++]) << 18) >>> 0) | (((63 & e[n++]) << 12) >>> 0) | (((63 & e[n++]) << 6) >>> 0) | (((63 & e[n++]) << 0) >>> 0) : r >= 224 && n + 2 < t ? (((15 & e[n++]) << 12) >>> 0) | (((63 & e[n++]) << 6) >>> 0) | (((63 & e[n++]) << 0) >>> 0) : r >= 192 && n + 1 < t ? (((31 & e[n++]) << 6) >>> 0) | (((63 & e[n++]) << 0) >>> 0) : e[n++]), (s >= 0 && s <= 55295) || (s >= 57344 && s <= 65535)) ) i.push(String.fromCharCode(s)); else if (s >= 65536 && s <= 1114111) { const e = s - 65536, t = 55296 + ((1047552 & e) >>> 10), n = 56320 + ((1023 & e) >>> 0); i.push(String.fromCharCode(t)), i.push(String.fromCharCode(n)); } else i.push(String.fromCharCode(65533)); } return i.join(''); } const j = /(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/; function V(e) { return j.test(e); } const z = /(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/; function U(e) { return z.test(e); } const $ = /^[\t\n\r\x20-\x7E]*$/; function K(e) { return $.test(e); } const q = /[\u2028\u2029]/; function G(e) { return q.test(e); } function Z(e) { for (let t = 0, i = e.length; t < i; t++) if (J(e.charCodeAt(t))) return !0; return !1; } function J(e) { return ( ((e = +e) >= 11904 && e <= 55215) || (e >= 63744 && e <= 64255) || (e >= 65281 && e <= 65374) ); } function Q(e) { return ( (e >= 127462 && e <= 127487) || (e >= 9728 && e <= 10175) || (e >= 127744 && e <= 128591) || (e >= 128640 && e <= 128764) || (e >= 128992 && e <= 129003) || (e >= 129280 && e <= 129535) || (e >= 129648 && e <= 129651) || (e >= 129656 && e <= 129666) || (e >= 129680 && e <= 129685) ); } const X = String.fromCharCode(65279); function ee(e) { return !!(e && e.length > 0 && 65279 === e.charCodeAt(0)); } function te(e, t = !1) { return ( !!e && (t && (e = e.replace(/\\./g, '')), e.toLowerCase() !== e) ); } function ie(e) { return (e %= 52) < 26 ? String.fromCharCode(97 + e) : String.fromCharCode(65 + e - 26); } function ne(e) { return se.getInstance().getGraphemeBreakType(e); } function re(e, t) { return 0 === e ? 5 !== t && 7 !== t : !( (2 === e && 3 === t) || (4 !== e && 2 !== e && 3 !== e && 4 !== t && 2 !== t && 3 !== t && ((8 === e && (8 === t || 9 === t || 11 === t || 12 === t)) || !((11 !== e && 9 !== e) || (9 !== t && 10 !== t)) || ((12 === e || 10 === e) && 10 === t) || 5 === t || 13 === t || 7 === t || 1 === e || (13 === e && 14 === t) || (6 === e && 6 === t))) ); } class se { 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 se._INSTANCE || (se._INSTANCE = new se()), se._INSTANCE; } getGraphemeBreakType(e) { if (e < 32) return 10 === e ? 3 : 13 === e ? 2 : 4; if (e < 127) return 0; const t = this._data, i = t.length / 3; let n = 1; for (; n <= i; ) if (e < t[3 * n]) n *= 2; else { if (!(e > t[3 * n + 1])) return t[3 * n + 2]; n = 2 * n + 1; } return 0; } } se._INSTANCE = null; }, 98401: (e, t, i) => { 'use strict'; function n(e) { return Array.isArray(e); } function r(e) { return 'string' == typeof e; } function s(e) { return !( 'object' != typeof e || null === e || Array.isArray(e) || e instanceof RegExp || e instanceof Date ); } function o(e) { return 'number' == typeof e && !isNaN(e); } function a(e) { return !0 === e || !1 === e; } function l(e) { return void 0 === e; } function c(e) { return l(e) || null === e; } function d(e, t) { if (!e) throw new Error( t ? `Unexpected type, expected '${t}'` : 'Unexpected type' ); } function h(e) { if (c(e)) throw new Error('Assertion Failed: argument is undefined or null'); return e; } function u(e) { return 'function' == typeof e; } function g(e, t) { const i = Math.min(e.length, t.length); for (let n = 0; n < i; n++) f(e[n], t[n]); } function f(e, t) { if (r(t)) { if (typeof e !== t) throw new Error( `argument does not match constraint: typeof ${t}` ); } else if (u(t)) { try { if (e instanceof t) return; } catch (e) {} if (!c(e) && e.constructor === t) return; if (1 === t.length && !0 === t.call(void 0, e)) return; throw new Error( 'argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true' ); } } function p(e) { const t = []; for (const i of (function (e) { let t = [], i = Object.getPrototypeOf(e); for (; Object.prototype !== i; ) (t = t.concat(Object.getOwnPropertyNames(i))), (i = Object.getPrototypeOf(i)); return t; })(e)) 'function' == typeof e[i] && t.push(i); return t; } function m(e, t) { const i = (e) => function () { const i = Array.prototype.slice.call(arguments, 0); return t(e, i); }; let n = {}; for (const t of e) n[t] = i(t); return n; } function _(e) { return null === e ? void 0 : e; } i.d(t, { kJ: () => n, HD: () => r, Kn: () => s, hj: () => o, jn: () => a, o8: () => l, Jp: () => c, p_: () => d, cW: () => h, mf: () => u, D8: () => g, $E: () => p, IU: () => m, f6: () => _, }); }, 85427: (e, t, i) => { 'use strict'; function n(e) { return e < 0 ? 0 : e > 255 ? 255 : 0 | e; } function r(e) { return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e; } i.d(t, { K: () => n, A: () => r }); }, 70666: (e, t, i) => { 'use strict'; i.d(t, { o: () => h, q: () => _ }); var n = i(1432), r = i(88721); const s = /^\w[\w\d+.-]*$/, o = /^\//, a = /^\/\//, l = '', c = '/', d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; class h { constructor(e, t, i, n, r, d = !1) { 'object' == typeof e ? ((this.scheme = e.scheme || l), (this.authority = e.authority || l), (this.path = e.path || l), (this.query = e.query || l), (this.fragment = e.fragment || l)) : ((this.scheme = (function (e, t) { return e || t ? e : 'file'; })(e, d)), (this.authority = t || l), (this.path = (function (e, t) { switch (e) { case 'https': case 'http': case 'file': t ? t[0] !== c && (t = c + t) : (t = c); } return t; })(this.scheme, i || l)), (this.query = n || l), (this.fragment = r || l), (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 && !s.test(e.scheme)) throw new Error( '[UriError]: Scheme contains illegal characters.' ); if (e.path) if (e.authority) { if (!o.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 (a.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, d)); } static isUri(e) { return ( e instanceof h || (!!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 _(this, !1); } with(e) { if (!e) return this; let { scheme: t, authority: i, path: n, query: r, fragment: s } = e; return ( void 0 === t ? (t = this.scheme) : null === t && (t = l), void 0 === i ? (i = this.authority) : null === i && (i = l), void 0 === n ? (n = this.path) : null === n && (n = l), void 0 === r ? (r = this.query) : null === r && (r = l), void 0 === s ? (s = this.fragment) : null === s && (s = l), t === this.scheme && i === this.authority && n === this.path && r === this.query && s === this.fragment ? this : new g(t, i, n, r, s) ); } static parse(e, t = !1) { const i = d.exec(e); return i ? new g( i[2] || l, w(i[4] || l), w(i[5] || l), w(i[7] || l), w(i[9] || l), t ) : new g(l, l, l, l, l); } static file(e) { let t = l; if ((n.ED && (e = e.replace(/\\/g, c)), e[0] === c && e[1] === c)) { const i = e.indexOf(c, 2); -1 === i ? ((t = e.substring(2)), (e = c)) : ((t = e.substring(2, i)), (e = e.substring(i) || c)); } return new g('file', t, e, l, l); } static from(e) { return new g(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 i; return ( (i = n.ED && 'file' === e.scheme ? h.file(r.Ku.join(_(e, !0), ...t)).path : r.KR.join(e.path, ...t)), e.with({ path: i }) ); } toString(e = !1) { return b(this, e); } toJSON() { return this; } static revive(e) { if (e) { if (e instanceof h) return e; { const t = new g(e); return ( (t._formatted = e.external), (t._fsPath = e._sep === u ? e.fsPath : null), t ); } } return e; } } const u = n.ED ? 1 : void 0; class g extends h { constructor() { super(...arguments), (this._formatted = null), (this._fsPath = null); } get fsPath() { return this._fsPath || (this._fsPath = _(this, !1)), this._fsPath; } toString(e = !1) { return e ? b(this, !0) : (this._formatted || (this._formatted = b(this, !1)), this._formatted); } toJSON() { const e = { $mid: 1 }; return ( this._fsPath && ((e.fsPath = this._fsPath), (e._sep = u)), 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 f = { 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 p(e, t) { let i, n = -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 !== n && ((i += encodeURIComponent(e.substring(n, r))), (n = -1)), void 0 !== i && (i += e.charAt(r)); else { void 0 === i && (i = e.substr(0, r)); const t = f[s]; void 0 !== t ? (-1 !== n && ((i += encodeURIComponent(e.substring(n, r))), (n = -1)), (i += t)) : -1 === n && (n = r); } } return ( -1 !== n && (i += encodeURIComponent(e.substring(n))), void 0 !== i ? i : e ); } function m(e) { let t; for (let i = 0; i < e.length; i++) { const n = e.charCodeAt(i); 35 === n || 63 === n ? (void 0 === t && (t = e.substr(0, i)), (t += f[n])) : void 0 !== t && (t += e[i]); } return void 0 !== t ? t : e; } function _(e, t) { let i; return ( (i = 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), n.ED && (i = i.replace(/\//g, '\\')), i ); } function b(e, t) { const i = t ? m : p; let n = '', { scheme: r, authority: s, path: o, query: a, fragment: l } = e; if ( (r && ((n += r), (n += ':')), (s || 'file' === r) && ((n += c), (n += c)), s) ) { let e = s.indexOf('@'); if (-1 !== e) { const t = s.substr(0, e); (s = s.substr(e + 1)), (e = t.indexOf(':')), -1 === e ? (n += i(t, !1)) : ((n += i(t.substr(0, e), !1)), (n += ':'), (n += i(t.substr(e + 1), !1))), (n += '@'); } (s = s.toLowerCase()), (e = s.indexOf(':')), -1 === e ? (n += i(s, !1)) : ((n += i(s.substr(0, e), !1)), (n += 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)}`); } n += i(o, !0); } return ( a && ((n += '?'), (n += i(a, !1))), l && ((n += '#'), (n += t ? l : p(l, !1))), n ); } function v(e) { try { return decodeURIComponent(e); } catch (t) { return e.length > 3 ? e.substr(0, 3) + v(e.substr(3)) : e; } } const y = /(%[0-9A-Za-z][0-9A-Za-z])+/g; function w(e) { return e.match(y) ? e.replace(y, (e) => v(e)) : e; } }, 67746: (e, t, i) => { 'use strict'; i.d(t, { X: () => n, j: () => r }); const n = { ctrlCmd: !1, alt: !1 }; var r; !(function (e) { (e[(e.NONE = 0)] = 'NONE'), (e[(e.FIRST = 1)] = 'FIRST'), (e[(e.SECOND = 2)] = 'SECOND'), (e[(e.LAST = 3)] = 'LAST'); })(r || (r = {})); }, 89587: (e, t, i) => { 'use strict'; i.d(t, { Mj: () => n.languages }); var n = i(50158); }, 89052: (e, t, i) => { 'use strict'; i.d(t, { V: () => m, P: () => f }); var n = i(16268), r = i(4669), s = i(5976), o = i(1432); class a { constructor(e, t) { (this.chr = e), (this.type = t), (this.width = 0); } fulfill(e) { this.width = e; } } class l { constructor(e, t) { (this._bareFontInfo = e), (this._requests = t), (this._container = null), (this._testElements = null); } read() { this._createDomElements(), document.body.appendChild(this._container), this._readFromDomElements(), document.body.removeChild(this._container), (this._container = null), (this._testElements = null); } _createDomElements() { const e = document.createElement('div'); (e.style.position = 'absolute'), (e.style.top = '-50000px'), (e.style.width = '50000px'); const t = document.createElement('div'); (t.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), (t.style.fontWeight = this._bareFontInfo.fontWeight), (t.style.fontSize = this._bareFontInfo.fontSize + 'px'), (t.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), (t.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), (t.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), e.appendChild(t); const i = document.createElement('div'); (i.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), (i.style.fontWeight = 'bold'), (i.style.fontSize = this._bareFontInfo.fontSize + 'px'), (i.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), (i.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), (i.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), e.appendChild(i); const n = document.createElement('div'); (n.style.fontFamily = this._bareFontInfo.getMassagedFontFamily()), (n.style.fontWeight = this._bareFontInfo.fontWeight), (n.style.fontSize = this._bareFontInfo.fontSize + 'px'), (n.style.fontFeatureSettings = this._bareFontInfo.fontFeatureSettings), (n.style.lineHeight = this._bareFontInfo.lineHeight + 'px'), (n.style.letterSpacing = this._bareFontInfo.letterSpacing + 'px'), (n.style.fontStyle = 'italic'), e.appendChild(n); const r = []; for (const e of this._requests) { let s; 0 === e.type && (s = t), 2 === e.type && (s = i), 1 === e.type && (s = n), s.appendChild(document.createElement('br')); const o = document.createElement('span'); l._render(o, e), s.appendChild(o), r.push(o); } (this._container = e), (this._testElements = r); } static _render(e, t) { if (' ' === t.chr) { let t = ' '; for (let e = 0; e < 8; e++) t += t; e.innerText = t; } else { let i = t.chr; for (let e = 0; e < 8; e++) i += i; e.textContent = i; } } _readFromDomElements() { for (let e = 0, t = this._requests.length; e < t; e++) { const t = this._requests[e], i = this._testElements[e]; t.fulfill(i.offsetWidth / 256); } } } var c = i(54534), d = i(56345), h = i(64141), u = i(27374); class g { constructor() { (this._keys = Object.create(null)), (this._values = Object.create(null)); } has(e) { const t = e.getId(); return !!this._values[t]; } get(e) { const t = e.getId(); return this._values[t]; } put(e, t) { const i = e.getId(); (this._keys[i] = e), (this._values[i] = t); } remove(e) { const t = e.getId(); delete this._keys[t], delete this._values[t]; } getValues() { return Object.keys(this._keys).map((e) => this._values[e]); } } function f() { p.INSTANCE.clearCache(); } class p extends s.JT { constructor() { super(), (this._onDidChange = this._register(new r.Q5())), (this.onDidChange = this._onDidChange.event), (this._cache = new g()), (this._evictUntrustedReadingsTimeout = -1); } dispose() { -1 !== this._evictUntrustedReadingsTimeout && (clearTimeout(this._evictUntrustedReadingsTimeout), (this._evictUntrustedReadingsTimeout = -1)), super.dispose(); } clearCache() { (this._cache = new g()), this._onDidChange.fire(); } _writeToCache(e, t) { this._cache.put(e, t), t.isTrusted || -1 !== this._evictUntrustedReadingsTimeout || (this._evictUntrustedReadingsTimeout = setTimeout(() => { (this._evictUntrustedReadingsTimeout = -1), this._evictUntrustedReadings(); }, 5e3)); } _evictUntrustedReadings() { const e = this._cache.getValues(); let t = !1; for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; n.isTrusted || ((t = !0), this._cache.remove(n)); } t && this._onDidChange.fire(); } readConfiguration(e) { if (!this._cache.has(e)) { let t = p._actualReadConfiguration(e); (t.typicalHalfwidthCharacterWidth <= 2 || t.typicalFullwidthCharacterWidth <= 2 || t.spaceWidth <= 2 || t.maxDigitWidth <= 2) && (t = new u.p( { zoomLevel: n.px(), fontFamily: t.fontFamily, fontWeight: t.fontWeight, fontSize: t.fontSize, fontFeatureSettings: t.fontFeatureSettings, lineHeight: t.lineHeight, letterSpacing: t.letterSpacing, isMonospace: t.isMonospace, typicalHalfwidthCharacterWidth: Math.max( t.typicalHalfwidthCharacterWidth, 5 ), typicalFullwidthCharacterWidth: Math.max( t.typicalFullwidthCharacterWidth, 5 ), canUseHalfwidthRightwardsArrow: t.canUseHalfwidthRightwardsArrow, spaceWidth: Math.max(t.spaceWidth, 5), middotWidth: Math.max(t.middotWidth, 5), wsmiddotWidth: Math.max(t.wsmiddotWidth, 5), maxDigitWidth: Math.max(t.maxDigitWidth, 5), }, !1 )), this._writeToCache(e, t); } return this._cache.get(e); } static createRequest(e, t, i, n) { const r = new a(e, t); return i.push(r), n && n.push(r), r; } static _actualReadConfiguration(e) { const t = [], i = [], r = this.createRequest('n', 0, t, i), s = this.createRequest('m', 0, t, null), o = this.createRequest(' ', 0, t, i), a = this.createRequest('0', 0, t, i), c = this.createRequest('1', 0, t, i), d = this.createRequest('2', 0, t, i), g = this.createRequest('3', 0, t, i), f = this.createRequest('4', 0, t, i), p = this.createRequest('5', 0, t, i), m = this.createRequest('6', 0, t, i), _ = this.createRequest('7', 0, t, i), b = this.createRequest('8', 0, t, i), v = this.createRequest('9', 0, t, i), y = this.createRequest('→', 0, t, i), w = this.createRequest('→', 0, t, null), C = this.createRequest('·', 0, t, i), S = this.createRequest(String.fromCharCode(11825), 0, t, null); this.createRequest('|', 0, t, i), this.createRequest('/', 0, t, i), this.createRequest('-', 0, t, i), this.createRequest('_', 0, t, i), this.createRequest('i', 0, t, i), this.createRequest('l', 0, t, i), this.createRequest('m', 0, t, i), this.createRequest('|', 1, t, i), this.createRequest('_', 1, t, i), this.createRequest('i', 1, t, i), this.createRequest('l', 1, t, i), this.createRequest('m', 1, t, i), this.createRequest('n', 1, t, i), this.createRequest('|', 2, t, i), this.createRequest('_', 2, t, i), this.createRequest('i', 2, t, i), this.createRequest('l', 2, t, i), this.createRequest('m', 2, t, i), this.createRequest('n', 2, t, i), (function (e, t) { new l(e, t).read(); })(e, t); const k = Math.max( a.width, c.width, d.width, g.width, f.width, p.width, m.width, _.width, b.width, v.width ); let x = e.fontFeatureSettings === h.n0.OFF; const L = i[0].width; for (let e = 1, t = i.length; x && e < t; e++) { const t = L - i[e].width; if (t < -0.001 || t > 0.001) { x = !1; break; } } let M = !0; x && w.width !== L && (M = !1), w.width > y.width && (M = !1); const D = n.WP() > 2e3; return new u.p( { zoomLevel: n.px(), fontFamily: e.fontFamily, fontWeight: e.fontWeight, fontSize: e.fontSize, fontFeatureSettings: e.fontFeatureSettings, lineHeight: e.lineHeight, letterSpacing: e.letterSpacing, isMonospace: x, typicalHalfwidthCharacterWidth: r.width, typicalFullwidthCharacterWidth: s.width, canUseHalfwidthRightwardsArrow: M, spaceWidth: o.width, middotWidth: C.width, wsmiddotWidth: S.width, maxDigitWidth: k, }, D ); } } p.INSTANCE = new p(); class m extends d.fv { constructor(e, t, i = null, r) { super(e, t), (this.accessibilityService = r), (this._elementSizeObserver = this._register( new c.I(i, t.dimension, () => this._onReferenceDomElementSizeChanged() ) )), this._register( p.INSTANCE.onDidChange(() => this._onCSSBasedConfigurationChanged() ) ), this._validatedOptions.get(9) && this._elementSizeObserver.startObserving(), this._register(n.fX((e) => this._recomputeOptions())), this._register( this.accessibilityService.onDidChangeScreenReaderOptimized(() => this._recomputeOptions() ) ), this._recomputeOptions(); } static applyFontInfoSlow(e, t) { (e.style.fontFamily = t.getMassagedFontFamily()), (e.style.fontWeight = t.fontWeight), (e.style.fontSize = t.fontSize + 'px'), (e.style.fontFeatureSettings = t.fontFeatureSettings), (e.style.lineHeight = t.lineHeight + 'px'), (e.style.letterSpacing = t.letterSpacing + 'px'); } static applyFontInfo(e, t) { e.setFontFamily(t.getMassagedFontFamily()), e.setFontWeight(t.fontWeight), e.setFontSize(t.fontSize), e.setFontFeatureSettings(t.fontFeatureSettings), e.setLineHeight(t.lineHeight), e.setLetterSpacing(t.letterSpacing); } _onReferenceDomElementSizeChanged() { this._recomputeOptions(); } _onCSSBasedConfigurationChanged() { this._recomputeOptions(); } observeReferenceElement(e) { this._elementSizeObserver.observe(e); } dispose() { super.dispose(); } _getExtraEditorClassName() { let e = ''; return ( n.G6 || n.MG || (e += 'no-user-select '), o.dz && (e += 'mac '), e ); } _getEnvConfiguration() { return { extraEditorClassName: this._getExtraEditorClassName(), outerWidth: this._elementSizeObserver.getWidth(), outerHeight: this._elementSizeObserver.getHeight(), emptySelectionClipboard: n.Pf || n.vU, pixelRatio: n.mX(), zoomLevel: n.px(), accessibilitySupport: this.accessibilityService.isScreenReaderOptimized() ? 2 : this.accessibilityService.getAccessibilitySupport(), }; } readConfiguration(e) { return p.INSTANCE.readConfiguration(e); } } }, 54534: (e, t, i) => { 'use strict'; i.d(t, { I: () => r }); var n = i(5976); class r extends n.JT { constructor(e, t, i) { super(), (this.referenceDomElement = e), (this.changeCallback = i), (this.width = -1), (this.height = -1), (this.resizeObserver = null), (this.measureReferenceDomElementToken = -1), this.measureReferenceDomElement(!1, t); } dispose() { this.stopObserving(), super.dispose(); } getWidth() { return this.width; } getHeight() { return this.height; } startObserving() { 'undefined' != typeof ResizeObserver ? !this.resizeObserver && this.referenceDomElement && ((this.resizeObserver = new ResizeObserver((e) => { e && e[0] && e[0].contentRect ? this.observe({ width: e[0].contentRect.width, height: e[0].contentRect.height, }) : this.observe(); })), this.resizeObserver.observe(this.referenceDomElement)) : -1 === this.measureReferenceDomElementToken && (this.measureReferenceDomElementToken = setInterval( () => this.observe(), 100 )); } stopObserving() { this.resizeObserver && (this.resizeObserver.disconnect(), (this.resizeObserver = null)), -1 !== this.measureReferenceDomElementToken && (clearInterval(this.measureReferenceDomElementToken), (this.measureReferenceDomElementToken = -1)); } observe(e) { this.measureReferenceDomElement(!0, e); } measureReferenceDomElement(e, t) { let i = 0, n = 0; t ? ((i = t.width), (n = t.height)) : this.referenceDomElement && ((i = this.referenceDomElement.clientWidth), (n = this.referenceDomElement.clientHeight)), (i = Math.max(5, i)), (n = Math.max(5, n)), (this.width === i && this.height === n) || ((this.width = i), (this.height = n), e && this.changeCallback()); } } }, 18728: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CoreEditingCommands: () => x, CoreEditorCommand: () => y, CoreNavigationCommands: () => g, EditorScroll_: () => h, RevealLine_: () => u, }); var n = i(63580), r = i(98401), s = i(16830), o = i(11640), a = i(33181), l = i(50187), c = i(24314); class d { static columnSelect(e, t, i, n, r, s) { let o = Math.abs(r - i) + 1, d = i > r, h = n > s, u = n < s, g = []; for (let r = 0; r < o; r++) { let o = i + (d ? -r : r), f = a.io.columnFromVisibleColumn2(e, t, o, n), p = a.io.columnFromVisibleColumn2(e, t, o, s), m = a.io.visibleColumnFromColumn2(e, t, new l.L(o, f)), _ = a.io.visibleColumnFromColumn2(e, t, new l.L(o, p)); if (u) { if (m > s) continue; if (_ < n) continue; } if (h) { if (_ > n) continue; if (m < s) continue; } g.push(new a.rS(new c.e(o, f, o, f), 0, new l.L(o, p), 0)); } if (0 === g.length) for (let e = 0; e < o; e++) { const n = i + (d ? -e : e), r = t.getLineMaxColumn(n); g.push(new a.rS(new c.e(n, r, n, r), 0, new l.L(n, r), 0)); } return { viewStates: g, reversed: d, fromLineNumber: i, fromVisualColumn: n, toLineNumber: r, toVisualColumn: s, }; } static columnSelectLeft(e, t, i) { let n = i.toViewVisualColumn; return ( n > 1 && n--, d.columnSelect( e, t, i.fromViewLineNumber, i.fromViewVisualColumn, i.toViewLineNumber, n ) ); } static columnSelectRight(e, t, i) { let n = 0; const r = Math.min(i.fromViewLineNumber, i.toViewLineNumber), s = Math.max(i.fromViewLineNumber, i.toViewLineNumber); for (let i = r; i <= s; i++) { const r = t.getLineMaxColumn(i), s = a.io.visibleColumnFromColumn2(e, t, new l.L(i, r)); n = Math.max(n, s); } let o = i.toViewVisualColumn; return ( o < n && o++, this.columnSelect( e, t, i.fromViewLineNumber, i.fromViewVisualColumn, i.toViewLineNumber, o ) ); } static columnSelectUp(e, t, i, n) { const r = n ? e.pageSize : 1, s = Math.max(1, i.toViewLineNumber - r); return this.columnSelect( e, t, i.fromViewLineNumber, i.fromViewVisualColumn, s, i.toViewVisualColumn ); } static columnSelectDown(e, t, i, n) { const r = n ? e.pageSize : 1, s = Math.min(t.getLineCount(), i.toViewLineNumber + r); return this.columnSelect( e, t, i.fromViewLineNumber, i.fromViewVisualColumn, s, i.toViewVisualColumn ); } } var h, u, g, f = i(31380), p = i(83814), m = i(23582), _ = i(29102), b = i(38819), v = i(49989); class y extends s._l { runEditorCommand(e, t, i) { const n = t._getViewModel(); n && this.runCoreEditorCommand(n, i || {}); } } !(function (e) { (e.description = { description: 'Scroll editor in the given direction', args: [ { name: 'Editor scroll argument object', description: "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t", constraint: function (e) { if (!r.Kn(e)) return !1; const t = e; return !( !r.HD(t.to) || (!r.o8(t.by) && !r.HD(t.by)) || (!r.o8(t.value) && !r.hj(t.value)) || (!r.o8(t.revealCursor) && !r.jn(t.revealCursor)) ); }, schema: { type: 'object', required: ['to'], properties: { to: { type: 'string', enum: ['up', 'down'] }, by: { type: 'string', enum: ['line', 'wrappedLine', 'page', 'halfPage'], }, value: { type: 'number', default: 1 }, revealCursor: { type: 'boolean' }, }, }, }, ], }), (e.RawDirection = { Up: 'up', Down: 'down' }), (e.RawUnit = { Line: 'line', WrappedLine: 'wrappedLine', Page: 'page', HalfPage: 'halfPage', }), (e.parse = function (t) { let i, n; switch (t.to) { case e.RawDirection.Up: i = 1; break; case e.RawDirection.Down: i = 2; break; default: return null; } switch (t.by) { case e.RawUnit.Line: n = 1; break; case e.RawUnit.WrappedLine: n = 2; break; case e.RawUnit.Page: n = 3; break; case e.RawUnit.HalfPage: n = 4; break; default: n = 2; } return { direction: i, unit: n, value: Math.floor(t.value || 1), revealCursor: !!t.revealCursor, select: !!t.select, }; }); })(h || (h = {})), (function (e) { (e.description = { description: 'Reveal the given line at the given logical position', args: [ { name: 'Reveal line argument object', description: "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t", constraint: function (e) { if (!r.Kn(e)) return !1; const t = e; return !( !r.hj(t.lineNumber) || (!r.o8(t.at) && !r.HD(t.at)) ); }, schema: { type: 'object', required: ['lineNumber'], properties: { lineNumber: { type: 'number' }, at: { type: 'string', enum: ['top', 'center', 'bottom'] }, }, }, }, ], }), (e.RawAtArgument = { Top: 'top', Center: 'center', Bottom: 'bottom', }); })(u || (u = {})); class w { constructor(e) { e.addImplementation(1e4, (e, t) => { const i = e.get(o.$).getFocusedCodeEditor(); return !( !i || !i.hasTextFocus() || (this.runEditorCommand(e, i, t), 0) ); }), e.addImplementation(1e3, (e, t) => { const i = document.activeElement; return ( !!( i && ['input', 'textarea'].indexOf(i.tagName.toLowerCase()) >= 0 ) && (this.runDOMCommand(), !0) ); }), e.addImplementation(0, (e, t) => { const i = e.get(o.$).getActiveCodeEditor(); return !!i && (i.focus(), this.runEditorCommand(e, i, t), !0); }); } } !(function (e) { class t extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [ p.P.moveTo( e, e.getPrimaryCursorState(), this._inSelectionMode, t.position, t.viewPosition ), ]), e.revealPrimaryCursor(t.source, !0); } } (e.MoveTo = (0, s.fK)( new t({ id: '_moveTo', inSelectionMode: !1, precondition: void 0 }) )), (e.MoveToSelect = (0, s.fK)( new t({ id: '_moveToSelect', inSelectionMode: !0, precondition: void 0, }) )); class i extends y { runCoreEditorCommand(e, t) { e.model.pushStackElement(); const i = this._getColumnSelectResult( e, e.getPrimaryCursorState(), e.getCursorColumnSelectData(), t ); e.setCursorStates( t.source, 3, i.viewStates.map((e) => a.Vi.fromViewState(e)) ), e.setCursorColumnSelectData({ isReal: !0, fromViewLineNumber: i.fromLineNumber, fromViewVisualColumn: i.fromVisualColumn, toViewLineNumber: i.toLineNumber, toViewVisualColumn: i.toVisualColumn, }), i.reversed ? e.revealTopMostCursor(t.source) : e.revealBottomMostCursor(t.source); } } (e.ColumnSelect = (0, s.fK)( new (class extends i { constructor() { super({ id: 'columnSelect', precondition: void 0 }); } _getColumnSelectResult(e, t, i, n) { const r = e.model.validatePosition(n.position), s = e.coordinatesConverter.validateViewPosition( new l.L(n.viewPosition.lineNumber, n.viewPosition.column), r ); let o = n.doColumnSelect ? i.fromViewLineNumber : s.lineNumber, a = n.doColumnSelect ? i.fromViewVisualColumn : n.mouseColumn - 1; return d.columnSelect( e.cursorConfig, e, o, a, s.lineNumber, n.mouseColumn - 1 ); } })() )), (e.CursorColumnSelectLeft = (0, s.fK)( new (class extends i { constructor() { super({ id: 'cursorColumnSelectLeft', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3599, linux: { primary: 0 }, }, }); } _getColumnSelectResult(e, t, i, n) { return d.columnSelectLeft(e.cursorConfig, e, i); } })() )), (e.CursorColumnSelectRight = (0, s.fK)( new (class extends i { constructor() { super({ id: 'cursorColumnSelectRight', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3601, linux: { primary: 0 }, }, }); } _getColumnSelectResult(e, t, i, n) { return d.columnSelectRight(e.cursorConfig, e, i); } })() )); class r extends i { constructor(e) { super(e), (this._isPaged = e.isPaged); } _getColumnSelectResult(e, t, i, n) { return d.columnSelectUp(e.cursorConfig, e, i, this._isPaged); } } (e.CursorColumnSelectUp = (0, s.fK)( new r({ isPaged: !1, id: 'cursorColumnSelectUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3600, linux: { primary: 0 }, }, }) )), (e.CursorColumnSelectPageUp = (0, s.fK)( new r({ isPaged: !0, id: 'cursorColumnSelectPageUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3595, linux: { primary: 0 }, }, }) )); class o extends i { constructor(e) { super(e), (this._isPaged = e.isPaged); } _getColumnSelectResult(e, t, i, n) { return d.columnSelectDown(e.cursorConfig, e, i, this._isPaged); } } (e.CursorColumnSelectDown = (0, s.fK)( new o({ isPaged: !1, id: 'cursorColumnSelectDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3602, linux: { primary: 0 }, }, }) )), (e.CursorColumnSelectPageDown = (0, s.fK)( new o({ isPaged: !0, id: 'cursorColumnSelectPageDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3596, linux: { primary: 0 }, }, }) )); class g extends y { constructor() { super({ id: 'cursorMove', precondition: void 0, description: p.N.description, }); } runCoreEditorCommand(e, t) { const i = p.N.parse(t); i && this._runCursorMove(e, t.source, i); } _runCursorMove(e, t, i) { e.model.pushStackElement(), e.setCursorStates(t, 3, g._move(e, e.getCursorStates(), i)), e.revealPrimaryCursor(t, !0); } static _move(e, t, i) { const n = i.select, r = i.value; switch (i.direction) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: return p.P.simpleMove(e, t, i.direction, n, r, i.unit); case 9: case 11: case 10: case 12: return p.P.viewportMove(e, t, i.direction, n, r); default: return null; } } } (e.CursorMoveImpl = g), (e.CursorMove = (0, s.fK)(new g())); class f extends y { constructor(e) { super(e), (this._staticArgs = e.args); } runCoreEditorCommand(e, t) { let i = this._staticArgs; -1 === this._staticArgs.value && (i = { direction: this._staticArgs.direction, unit: this._staticArgs.unit, select: this._staticArgs.select, value: e.cursorConfig.pageSize, }), e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.simpleMove( e, e.getCursorStates(), i.direction, i.select, i.value, i.unit ) ), e.revealPrimaryCursor(t.source, !0); } } (e.CursorLeft = (0, s.fK)( new f({ args: { direction: 0, unit: 0, select: !1, value: 1 }, id: 'cursorLeft', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 15, mac: { primary: 15, secondary: [288] }, }, }) )), (e.CursorLeftSelect = (0, s.fK)( new f({ args: { direction: 0, unit: 0, select: !0, value: 1 }, id: 'cursorLeftSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1039, }, }) )), (e.CursorRight = (0, s.fK)( new f({ args: { direction: 1, unit: 0, select: !1, value: 1 }, id: 'cursorRight', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 17, mac: { primary: 17, secondary: [292] }, }, }) )), (e.CursorRightSelect = (0, s.fK)( new f({ args: { direction: 1, unit: 0, select: !0, value: 1 }, id: 'cursorRightSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1041, }, }) )), (e.CursorUp = (0, s.fK)( new f({ args: { direction: 2, unit: 2, select: !1, value: 1 }, id: 'cursorUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 16, mac: { primary: 16, secondary: [302] }, }, }) )), (e.CursorUpSelect = (0, s.fK)( new f({ args: { direction: 2, unit: 2, select: !0, value: 1 }, id: 'cursorUpSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1040, secondary: [3088], mac: { primary: 1040 }, linux: { primary: 1040 }, }, }) )), (e.CursorPageUp = (0, s.fK)( new f({ args: { direction: 2, unit: 2, select: !1, value: -1 }, id: 'cursorPageUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 11 }, }) )), (e.CursorPageUpSelect = (0, s.fK)( new f({ args: { direction: 2, unit: 2, select: !0, value: -1 }, id: 'cursorPageUpSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1035, }, }) )), (e.CursorDown = (0, s.fK)( new f({ args: { direction: 3, unit: 2, select: !1, value: 1 }, id: 'cursorDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 18, mac: { primary: 18, secondary: [300] }, }, }) )), (e.CursorDownSelect = (0, s.fK)( new f({ args: { direction: 3, unit: 2, select: !0, value: 1 }, id: 'cursorDownSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1042, secondary: [3090], mac: { primary: 1042 }, linux: { primary: 1042 }, }, }) )), (e.CursorPageDown = (0, s.fK)( new f({ args: { direction: 3, unit: 2, select: !1, value: -1 }, id: 'cursorPageDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 12 }, }) )), (e.CursorPageDownSelect = (0, s.fK)( new f({ args: { direction: 3, unit: 2, select: !0, value: -1 }, id: 'cursorPageDownSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1036, }, }) )), (e.CreateCursor = (0, s.fK)( new (class extends y { constructor() { super({ id: 'createCursor', precondition: void 0 }); } runCoreEditorCommand(e, t) { let i; i = t.wholeLine ? p.P.line( e, e.getPrimaryCursorState(), !1, t.position, t.viewPosition ) : p.P.moveTo( e, e.getPrimaryCursorState(), !1, t.position, t.viewPosition ); const n = e.getCursorStates(); if (n.length > 1) { const r = i.modelState ? i.modelState.position : null, s = i.viewState ? i.viewState.position : null; for (let i = 0, o = n.length; i < o; i++) { const o = n[i]; if ( (!r || o.modelState.selection.containsPosition(r)) && (!s || o.viewState.selection.containsPosition(s)) ) return ( n.splice(i, 1), e.model.pushStackElement(), void e.setCursorStates(t.source, 3, n) ); } } n.push(i), e.model.pushStackElement(), e.setCursorStates(t.source, 3, n); } })() )), (e.LastCursorMoveToSelect = (0, s.fK)( new (class extends y { constructor() { super({ id: '_lastCursorMoveToSelect', precondition: void 0, }); } runCoreEditorCommand(e, t) { const i = e.getLastAddedCursorIndex(), n = e.getCursorStates(), r = n.slice(0); (r[i] = p.P.moveTo(e, n[i], !0, t.position, t.viewPosition)), e.model.pushStackElement(), e.setCursorStates(t.source, 3, r); } })() )); class m extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.moveToBeginningOfLine( e, e.getCursorStates(), this._inSelectionMode ) ), e.revealPrimaryCursor(t.source, !0); } } (e.CursorHome = (0, s.fK)( new m({ inSelectionMode: !1, id: 'cursorHome', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 14, mac: { primary: 14, secondary: [2063] }, }, }) )), (e.CursorHomeSelect = (0, s.fK)( new m({ inSelectionMode: !0, id: 'cursorHomeSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1038, mac: { primary: 1038, secondary: [3087] }, }, }) )); class b extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, this._exec(e.getCursorStates())), e.revealPrimaryCursor(t.source, !0); } _exec(e) { const t = []; for (let i = 0, n = e.length; i < n; i++) { const n = e[i], r = n.modelState.position.lineNumber; t[i] = a.Vi.fromModelState( n.modelState.move(this._inSelectionMode, r, 1, 0) ); } return t; } } (e.CursorLineStart = (0, s.fK)( new b({ inSelectionMode: !1, id: 'cursorLineStart', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 0, mac: { primary: 287 }, }, }) )), (e.CursorLineStartSelect = (0, s.fK)( new b({ inSelectionMode: !0, id: 'cursorLineStartSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 0, mac: { primary: 1311 }, }, }) )); class v extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.moveToEndOfLine( e, e.getCursorStates(), this._inSelectionMode, t.sticky || !1 ) ), e.revealPrimaryCursor(t.source, !0); } } (e.CursorEnd = (0, s.fK)( new v({ inSelectionMode: !1, id: 'cursorEnd', precondition: void 0, kbOpts: { args: { sticky: !1 }, weight: 0, kbExpr: _.u.textInputFocus, primary: 13, mac: { primary: 13, secondary: [2065] }, }, description: { description: 'Go to End', args: [ { name: 'args', schema: { type: 'object', properties: { sticky: { description: n.N( 'stickydesc', 'Stick to the end even when going to longer lines' ), type: 'boolean', default: !1, }, }, }, }, ], }, }) )), (e.CursorEndSelect = (0, s.fK)( new v({ inSelectionMode: !0, id: 'cursorEndSelect', precondition: void 0, kbOpts: { args: { sticky: !1 }, weight: 0, kbExpr: _.u.textInputFocus, primary: 1037, mac: { primary: 1037, secondary: [3089] }, }, description: { description: 'Select to End', args: [ { name: 'args', schema: { type: 'object', properties: { sticky: { description: n.N( 'stickydesc', 'Stick to the end even when going to longer lines' ), type: 'boolean', default: !1, }, }, }, }, ], }, }) )); class C extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, this._exec(e, e.getCursorStates()) ), e.revealPrimaryCursor(t.source, !0); } _exec(e, t) { const i = []; for (let n = 0, r = t.length; n < r; n++) { const r = t[n], s = r.modelState.position.lineNumber, o = e.model.getLineMaxColumn(s); i[n] = a.Vi.fromModelState( r.modelState.move(this._inSelectionMode, s, o, 0) ); } return i; } } (e.CursorLineEnd = (0, s.fK)( new C({ inSelectionMode: !1, id: 'cursorLineEnd', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 0, mac: { primary: 291 }, }, }) )), (e.CursorLineEndSelect = (0, s.fK)( new C({ inSelectionMode: !0, id: 'cursorLineEndSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 0, mac: { primary: 1315 }, }, }) )); class S extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.moveToBeginningOfBuffer( e, e.getCursorStates(), this._inSelectionMode ) ), e.revealPrimaryCursor(t.source, !0); } } (e.CursorTop = (0, s.fK)( new S({ inSelectionMode: !1, id: 'cursorTop', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2062, mac: { primary: 2064 }, }, }) )), (e.CursorTopSelect = (0, s.fK)( new S({ inSelectionMode: !0, id: 'cursorTopSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3086, mac: { primary: 3088 }, }, }) )); class k extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.moveToEndOfBuffer( e, e.getCursorStates(), this._inSelectionMode ) ), e.revealPrimaryCursor(t.source, !0); } } (e.CursorBottom = (0, s.fK)( new k({ inSelectionMode: !1, id: 'cursorBottom', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2061, mac: { primary: 2066 }, }, }) )), (e.CursorBottomSelect = (0, s.fK)( new k({ inSelectionMode: !0, id: 'cursorBottomSelect', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 3085, mac: { primary: 3090 }, }, }) )); class x extends y { constructor() { super({ id: 'editorScroll', precondition: void 0, description: h.description, }); } runCoreEditorCommand(e, t) { const i = h.parse(t); i && this._runEditorScroll(e, t.source, i); } _runEditorScroll(e, t, i) { const n = this._computeDesiredScrollTop(e, i); if (i.revealCursor) { const r = e.getCompletelyVisibleViewRangeAtScrollTop(n); e.setCursorStates(t, 3, [ p.P.findPositionInViewportIfOutside( e, e.getPrimaryCursorState(), r, i.select ), ]); } e.setScrollTop(n, 0); } _computeDesiredScrollTop(e, t) { if (1 === t.unit) { const i = e.getCompletelyVisibleViewRange(), n = e.coordinatesConverter.convertViewRangeToModelRange(i); let r; r = 1 === t.direction ? Math.max(1, n.startLineNumber - t.value) : Math.min( e.model.getLineCount(), n.startLineNumber + t.value ); const s = e.coordinatesConverter.convertModelPositionToViewPosition( new l.L(r, 1) ); return e.getVerticalOffsetForLineNumber(s.lineNumber); } let i; i = 3 === t.unit ? e.cursorConfig.pageSize * t.value : 4 === t.unit ? Math.round(e.cursorConfig.pageSize / 2) * t.value : t.value; const n = (1 === t.direction ? -1 : 1) * i; return e.getScrollTop() + n * e.cursorConfig.lineHeight; } } (e.EditorScrollImpl = x), (e.EditorScroll = (0, s.fK)(new x())), (e.ScrollLineUp = (0, s.fK)( new (class extends y { constructor() { super({ id: 'scrollLineUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2064, mac: { primary: 267 }, }, }); } runCoreEditorCommand(t, i) { e.EditorScroll._runEditorScroll(t, i.source, { direction: 1, unit: 2, value: 1, revealCursor: !1, select: !1, }); } })() )), (e.ScrollPageUp = (0, s.fK)( new (class extends y { constructor() { super({ id: 'scrollPageUp', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2059, win: { primary: 523 }, linux: { primary: 523 }, }, }); } runCoreEditorCommand(t, i) { e.EditorScroll._runEditorScroll(t, i.source, { direction: 1, unit: 3, value: 1, revealCursor: !1, select: !1, }); } })() )), (e.ScrollLineDown = (0, s.fK)( new (class extends y { constructor() { super({ id: 'scrollLineDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2066, mac: { primary: 268 }, }, }); } runCoreEditorCommand(t, i) { e.EditorScroll._runEditorScroll(t, i.source, { direction: 2, unit: 2, value: 1, revealCursor: !1, select: !1, }); } })() )), (e.ScrollPageDown = (0, s.fK)( new (class extends y { constructor() { super({ id: 'scrollPageDown', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2060, win: { primary: 524 }, linux: { primary: 524 }, }, }); } runCoreEditorCommand(t, i) { e.EditorScroll._runEditorScroll(t, i.source, { direction: 2, unit: 3, value: 1, revealCursor: !1, select: !1, }); } })() )); class L extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [ p.P.word( e, e.getPrimaryCursorState(), this._inSelectionMode, t.position ), ]), e.revealPrimaryCursor(t.source, !0); } } (e.WordSelect = (0, s.fK)( new L({ inSelectionMode: !1, id: '_wordSelect', precondition: void 0, }) )), (e.WordSelectDrag = (0, s.fK)( new L({ inSelectionMode: !0, id: '_wordSelectDrag', precondition: void 0, }) )), (e.LastCursorWordSelect = (0, s.fK)( new (class extends y { constructor() { super({ id: 'lastCursorWordSelect', precondition: void 0 }); } runCoreEditorCommand(e, t) { const i = e.getLastAddedCursorIndex(), n = e.getCursorStates(), r = n.slice(0), s = n[i]; (r[i] = p.P.word( e, s, s.modelState.hasSelection(), t.position )), e.model.pushStackElement(), e.setCursorStates(t.source, 3, r); } })() )); class M extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [ p.P.line( e, e.getPrimaryCursorState(), this._inSelectionMode, t.position, t.viewPosition ), ]), e.revealPrimaryCursor(t.source, !1); } } (e.LineSelect = (0, s.fK)( new M({ inSelectionMode: !1, id: '_lineSelect', precondition: void 0, }) )), (e.LineSelectDrag = (0, s.fK)( new M({ inSelectionMode: !0, id: '_lineSelectDrag', precondition: void 0, }) )); class D extends y { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode); } runCoreEditorCommand(e, t) { const i = e.getLastAddedCursorIndex(), n = e.getCursorStates(), r = n.slice(0); (r[i] = p.P.line( e, n[i], this._inSelectionMode, t.position, t.viewPosition )), e.model.pushStackElement(), e.setCursorStates(t.source, 3, r); } } (e.LastCursorLineSelect = (0, s.fK)( new D({ inSelectionMode: !1, id: 'lastCursorLineSelect', precondition: void 0, }) )), (e.LastCursorLineSelectDrag = (0, s.fK)( new D({ inSelectionMode: !0, id: 'lastCursorLineSelectDrag', precondition: void 0, }) )), (e.ExpandLineSelection = (0, s.fK)( new (class extends y { constructor() { super({ id: 'expandLineSelection', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 2090, }, }); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates( t.source, 3, p.P.expandLineSelection(e, e.getCursorStates()) ), e.revealPrimaryCursor(t.source, !0); } })() )), (e.CancelSelection = (0, s.fK)( new (class extends y { constructor() { super({ id: 'cancelSelection', precondition: _.u.hasNonEmptySelection, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 9, secondary: [1033], }, }); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [ p.P.cancelSelection(e, e.getPrimaryCursorState()), ]), e.revealPrimaryCursor(t.source, !0); } })() )), (e.RemoveSecondaryCursors = (0, s.fK)( new (class extends y { constructor() { super({ id: 'removeSecondaryCursors', precondition: _.u.hasMultipleSelections, kbOpts: { weight: 1, kbExpr: _.u.textInputFocus, primary: 9, secondary: [1033], }, }); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [e.getPrimaryCursorState()]), e.revealPrimaryCursor(t.source, !0); } })() )), (e.RevealLine = (0, s.fK)( new (class extends y { constructor() { super({ id: 'revealLine', precondition: void 0, description: u.description, }); } runCoreEditorCommand(e, t) { const i = t; let n = (i.lineNumber || 0) + 1; n < 1 && (n = 1); const r = e.model.getLineCount(); n > r && (n = r); const s = new c.e(n, 1, n, e.model.getLineMaxColumn(n)); let o = 0; if (i.at) switch (i.at) { case u.RawAtArgument.Top: o = 3; break; case u.RawAtArgument.Center: o = 1; break; case u.RawAtArgument.Bottom: o = 4; } const a = e.coordinatesConverter.convertModelRangeToViewRange( s ); e.revealRange(t.source, !1, a, o, 0); } })() )), (e.SelectAll = new (class extends w { constructor() { super(s.Sq); } runDOMCommand() { document.execCommand('selectAll'); } runEditorCommand(e, t, i) { const n = t._getViewModel(); n && this.runCoreEditorCommand(n, i); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates('keyboard', 3, [ p.P.selectAll(e, e.getPrimaryCursorState()), ]); } })()), (e.SetSelection = (0, s.fK)( new (class extends y { constructor() { super({ id: 'setSelection', precondition: void 0 }); } runCoreEditorCommand(e, t) { e.model.pushStackElement(), e.setCursorStates(t.source, 3, [ a.Vi.fromModelSelection(t.selection), ]); } })() )); })(g || (g = {})); const C = b.Ao.and(_.u.textInputFocus, _.u.columnSelection); function S(e, t) { v.W.registerKeybindingRule({ id: e, primary: t, when: C, weight: 1 }); } function k(e) { return e.register(), e; } var x; S(g.CursorColumnSelectLeft.id, 1039), S(g.CursorColumnSelectRight.id, 1041), S(g.CursorColumnSelectUp.id, 1040), S(g.CursorColumnSelectPageUp.id, 1035), S(g.CursorColumnSelectDown.id, 1042), S(g.CursorColumnSelectPageDown.id, 1036), (function (e) { class t extends s._l { runEditorCommand(e, t, i) { const n = t._getViewModel(); n && this.runCoreEditingCommand(t, n, i || {}); } } (e.CoreEditingCommand = t), (e.LineBreakInsert = (0, s.fK)( new (class extends t { constructor() { super({ id: 'lineBreakInsert', precondition: _.u.writable, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 0, mac: { primary: 301 }, }, }); } runCoreEditingCommand(e, t, i) { e.pushUndoStop(), e.executeCommands( this.id, m.u.lineBreakInsert( t.cursorConfig, t.model, t.getCursorStates().map((e) => e.modelState.selection) ) ); } })() )), (e.Outdent = (0, s.fK)( new (class extends t { constructor() { super({ id: 'outdent', precondition: _.u.writable, kbOpts: { weight: 0, kbExpr: b.Ao.and( _.u.editorTextFocus, _.u.tabDoesNotMoveFocus ), primary: 1026, }, }); } runCoreEditingCommand(e, t, i) { e.pushUndoStop(), e.executeCommands( this.id, m.u.outdent( t.cursorConfig, t.model, t.getCursorStates().map((e) => e.modelState.selection) ) ), e.pushUndoStop(); } })() )), (e.Tab = (0, s.fK)( new (class extends t { constructor() { super({ id: 'tab', precondition: _.u.writable, kbOpts: { weight: 0, kbExpr: b.Ao.and( _.u.editorTextFocus, _.u.tabDoesNotMoveFocus ), primary: 2, }, }); } runCoreEditingCommand(e, t, i) { e.pushUndoStop(), e.executeCommands( this.id, m.u.tab( t.cursorConfig, t.model, t.getCursorStates().map((e) => e.modelState.selection) ) ), e.pushUndoStop(); } })() )), (e.DeleteLeft = (0, s.fK)( new (class extends t { constructor() { super({ id: 'deleteLeft', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 1, secondary: [1025], mac: { primary: 1, secondary: [1025, 294, 257] }, }, }); } runCoreEditingCommand(e, t, i) { const [n, r] = f.A.deleteLeft( t.getPrevEditOperationType(), t.cursorConfig, t.model, t.getCursorStates().map((e) => e.modelState.selection) ); n && e.pushUndoStop(), e.executeCommands(this.id, r), t.setPrevEditOperationType(2); } })() )), (e.DeleteRight = (0, s.fK)( new (class extends t { constructor() { super({ id: 'deleteRight', precondition: void 0, kbOpts: { weight: 0, kbExpr: _.u.textInputFocus, primary: 20, mac: { primary: 20, secondary: [290, 276] }, }, }); } runCoreEditingCommand(e, t, i) { const [n, r] = f.A.deleteRight( t.getPrevEditOperationType(), t.cursorConfig, t.model, t.getCursorStates().map((e) => e.modelState.selection) ); n && e.pushUndoStop(), e.executeCommands(this.id, r), t.setPrevEditOperationType(3); } })() )), (e.Undo = new (class extends w { constructor() { super(s.n_); } runDOMCommand() { document.execCommand('undo'); } runEditorCommand(e, t, i) { t.hasModel() && !0 !== t.getOption(72) && t.getModel().undo(); } })()), (e.Redo = new (class extends w { constructor() { super(s.kz); } runDOMCommand() { document.execCommand('redo'); } runEditorCommand(e, t, i) { t.hasModel() && !0 !== t.getOption(72) && t.getModel().redo(); } })()); })(x || (x = {})); class L extends s.mY { constructor(e, t, i) { super({ id: e, precondition: void 0, description: i }), (this._handlerId = t); } runCommand(e, t) { const i = e.get(o.$).getFocusedCodeEditor(); i && i.trigger('keyboard', this._handlerId, t); } } function M(e, t) { k(new L('default:' + e, e)), k(new L(e, e, t)); } M('type', { description: 'Type', args: [ { name: 'args', schema: { type: 'object', required: ['text'], properties: { text: { type: 'string' } }, }, }, ], }), M('replacePreviousChar'), M('compositionStart'), M('compositionEnd'), M('paste'), M('cut'); }, 35715: (e, t, i) => { 'use strict'; i.d(t, { RA: () => f, Nl: () => p, Fz: () => m }); var n = i(16268), r = i(65321), s = i(15393), o = i(4669), a = i(5976), l = i(1432), c = i(97295), d = i(15887), h = i(50187), u = i(3860), g = i(10161); const f = { forceCopyWithSyntaxHighlighting: !1 }; class p { constructor() { this._lastState = null; } set(e, t) { this._lastState = { lastCopiedValue: e, data: t }; } get(e) { return this._lastState && this._lastState.lastCopiedValue === e ? this._lastState.data : ((this._lastState = null), null); } } p.INSTANCE = new p(); class m extends a.JT { constructor(e, t) { super(), (this.textArea = t), (this._onFocus = this._register(new o.Q5())), (this.onFocus = this._onFocus.event), (this._onBlur = this._register(new o.Q5())), (this.onBlur = this._onBlur.event), (this._onKeyDown = this._register(new o.Q5())), (this.onKeyDown = this._onKeyDown.event), (this._onKeyUp = this._register(new o.Q5())), (this.onKeyUp = this._onKeyUp.event), (this._onCut = this._register(new o.Q5())), (this.onCut = this._onCut.event), (this._onPaste = this._register(new o.Q5())), (this.onPaste = this._onPaste.event), (this._onType = this._register(new o.Q5())), (this.onType = this._onType.event), (this._onCompositionStart = this._register(new o.Q5())), (this.onCompositionStart = this._onCompositionStart.event), (this._onCompositionUpdate = this._register(new o.Q5())), (this.onCompositionUpdate = this._onCompositionUpdate.event), (this._onCompositionEnd = this._register(new o.Q5())), (this.onCompositionEnd = this._onCompositionEnd.event), (this._onSelectionChangeRequest = this._register(new o.Q5())), (this.onSelectionChangeRequest = this._onSelectionChangeRequest.event), (this._host = e), (this._textArea = this._register(new b(t))), (this._asyncTriggerCut = this._register( new s.pY(() => this._onCut.fire(), 0) )), (this._textAreaState = d.u.EMPTY), (this._selectionChangeListener = null), this.writeScreenReaderContent('ctor'), (this._hasFocus = !1), (this._isDoingComposition = !1), (this._nextCommand = 0); let i = null; this._register( r.mu(t.domNode, 'keydown', (e) => { (109 === e.keyCode || (this._isDoingComposition && 1 === e.keyCode)) && e.stopPropagation(), e.equals(9) && e.preventDefault(), (i = e), this._onKeyDown.fire(e); }) ), this._register( r.mu(t.domNode, 'keyup', (e) => { this._onKeyUp.fire(e); }) ), this._register( r.nm(t.domNode, 'compositionstart', (e) => { if (this._isDoingComposition) return; this._isDoingComposition = !0; let t = !1; l.dz && i && i.equals(109) && this._textAreaState.selectionStart === this._textAreaState.selectionEnd && this._textAreaState.selectionStart > 0 && this._textAreaState.value.substr( this._textAreaState.selectionStart - 1, 1 ) === e.data && (('ArrowRight' !== i.code && 'ArrowLeft' !== i.code) || (t = !0)), t ? (this._textAreaState = new d.u( this._textAreaState.value, this._textAreaState.selectionStart - 1, this._textAreaState.selectionEnd, this._textAreaState.selectionStartPosition ? new h.L( this._textAreaState.selectionStartPosition.lineNumber, this._textAreaState.selectionStartPosition .column - 1 ) : null, this._textAreaState.selectionEndPosition )) : n.un || this._setAndWriteTextAreaState( 'compositionstart', d.u.EMPTY ), this._onCompositionStart.fire({ moveOneCharacterLeft: t }); }) ); const a = (e) => { const t = this._textAreaState, i = d.u.readFromTextArea(this._textArea); return [i, d.u.deduceInput(t, i, e)]; }, u = (e) => { const t = this._textAreaState, i = d.u.selectedText(e); return [ i, { text: i.value, replaceCharCnt: t.selectionEnd - t.selectionStart, }, ]; }, g = (e) => !(!n.un || 'ja' !== e); this._register( r.nm(t.domNode, 'compositionupdate', (e) => { if (g(e.locale)) { const [t, i] = a(!1); return ( (this._textAreaState = t), this._onType.fire(i), void this._onCompositionUpdate.fire(e) ); } const [t, i] = u(e.data || ''); (this._textAreaState = t), this._onType.fire(i), this._onCompositionUpdate.fire(e); }) ), this._register( r.nm(t.domNode, 'compositionend', (e) => { if (this._isDoingComposition) { if (g(e.locale)) { const [e, t] = a(!1); (this._textAreaState = e), this._onType.fire(t); } else { const [t, i] = u(e.data || ''); (this._textAreaState = t), this._onType.fire(i); } (n.un || n.i7) && (this._textAreaState = d.u.readFromTextArea( this._textArea )), this._isDoingComposition && ((this._isDoingComposition = !1), this._onCompositionEnd.fire()); } }) ), this._register( r.nm(t.domNode, 'input', () => { if ( (this._textArea.setIgnoreSelectionChangeTime( 'received input event' ), this._isDoingComposition) ) return; const [e, t] = a(l.dz); (0 === t.replaceCharCnt && 1 === t.text.length && c.ZG(t.text.charCodeAt(0))) || ((this._textAreaState = e), 0 === this._nextCommand ? '' !== t.text && this._onType.fire(t) : (('' === t.text && 0 === t.replaceCharCnt) || this._firePaste(t.text, null), (this._nextCommand = 0))); }) ), this._register( r.nm(t.domNode, 'cut', (e) => { this._textArea.setIgnoreSelectionChangeTime( 'received cut event' ), this._ensureClipboardGetsEditorSelection(e), this._asyncTriggerCut.schedule(); }) ), this._register( r.nm(t.domNode, 'copy', (e) => { this._ensureClipboardGetsEditorSelection(e); }) ), this._register( r.nm(t.domNode, 'paste', (e) => { if ( (this._textArea.setIgnoreSelectionChangeTime( 'received paste event' ), _.canUseTextData(e)) ) { const [t, i] = _.getTextData(e); '' !== t && this._firePaste(t, i); } else this._textArea.getSelectionStart() !== this._textArea.getSelectionEnd() && this._setAndWriteTextAreaState('paste', d.u.EMPTY), (this._nextCommand = 1); }) ), this._register( r.nm(t.domNode, 'focus', () => { this._setHasFocus(!0); }) ), this._register( r.nm(t.domNode, 'blur', () => { this._setHasFocus(!1); }) ); } _installSelectionChangeListener() { let e = 0; return r.nm(document, 'selectionchange', (t) => { if (!this._hasFocus) return; if (this._isDoingComposition) return; if (!n.i7) return; const i = Date.now(), r = i - e; if (((e = i), r < 5)) return; const s = i - this._textArea.getIgnoreSelectionChangeTime(); if ((this._textArea.resetSelectionChangeTime(), s < 100)) return; if ( !this._textAreaState.selectionStartPosition || !this._textAreaState.selectionEndPosition ) return; const o = this._textArea.getValue(); if (this._textAreaState.value !== o) return; const a = this._textArea.getSelectionStart(), l = this._textArea.getSelectionEnd(); if ( this._textAreaState.selectionStart === a && this._textAreaState.selectionEnd === l ) return; const c = this._textAreaState.deduceEditorPosition(a), d = this._host.deduceModelPosition(c[0], c[1], c[2]), h = this._textAreaState.deduceEditorPosition(l), g = this._host.deduceModelPosition(h[0], h[1], h[2]), f = new u.Y(d.lineNumber, d.column, g.lineNumber, g.column); this._onSelectionChangeRequest.fire(f); }); } dispose() { super.dispose(), this._selectionChangeListener && (this._selectionChangeListener.dispose(), (this._selectionChangeListener = null)); } focusTextArea() { this._setHasFocus(!0), this.refreshFocusState(); } isFocused() { return this._hasFocus; } refreshFocusState() { const e = r.Ay(this.textArea.domNode); e ? this._setHasFocus(e.activeElement === this.textArea.domNode) : r.Uw(this.textArea.domNode) ? this._setHasFocus( document.activeElement === this.textArea.domNode ) : this._setHasFocus(!1); } _setHasFocus(e) { this._hasFocus !== e && ((this._hasFocus = e), this._selectionChangeListener && (this._selectionChangeListener.dispose(), (this._selectionChangeListener = null)), this._hasFocus && (this._selectionChangeListener = this._installSelectionChangeListener()), this._hasFocus && (n.un ? this._setAndWriteTextAreaState('focusgain', d.u.EMPTY) : this.writeScreenReaderContent('focusgain')), this._hasFocus ? this._onFocus.fire() : this._onBlur.fire()); } _setAndWriteTextAreaState(e, t) { this._hasFocus || (t = t.collapseSelection()), t.writeToTextArea(e, this._textArea, this._hasFocus), (this._textAreaState = t); } writeScreenReaderContent(e) { this._isDoingComposition || this._setAndWriteTextAreaState( e, this._host.getScreenReaderContent(this._textAreaState) ); } _ensureClipboardGetsEditorSelection(e) { const t = this._host.getDataToCopy( _.canUseTextData(e) && g.D.clipboard.richText ), i = { version: 1, isFromEmptySelection: t.isFromEmptySelection, multicursorText: t.multicursorText, mode: t.mode, }; p.INSTANCE.set(n.vU ? t.text.replace(/\r\n/g, '\n') : t.text, i), _.canUseTextData(e) ? _.setTextData(e, t.text, t.html, i) : this._setAndWriteTextAreaState( 'copy or cut', d.u.selectedText(t.text) ); } _firePaste(e, t) { t || (t = p.INSTANCE.get(e)), this._onPaste.fire({ text: e, metadata: t }); } } class _ { static canUseTextData(e) { return !!e.clipboardData || !!window.clipboardData; } static getTextData(e) { if (e.clipboardData) { e.preventDefault(); const t = e.clipboardData.getData('text/plain'); let i = null; const n = e.clipboardData.getData('vscode-editor-data'); if ('string' == typeof n) try { (i = JSON.parse(n)), 1 !== i.version && (i = null); } catch (e) {} return [t, i]; } if (window.clipboardData) return ( e.preventDefault(), [window.clipboardData.getData('Text'), null] ); throw new Error( 'ClipboardEventUtils.getTextData: Cannot use text data!' ); } static setTextData(e, t, i, n) { if (e.clipboardData) return ( e.clipboardData.setData('text/plain', t), 'string' == typeof i && e.clipboardData.setData('text/html', i), e.clipboardData.setData( 'vscode-editor-data', JSON.stringify(n) ), void e.preventDefault() ); if (window.clipboardData) return ( window.clipboardData.setData('Text', t), void e.preventDefault() ); throw new Error( 'ClipboardEventUtils.setTextData: Cannot use text data!' ); } } class b extends a.JT { constructor(e) { super(), (this._actual = e), (this._ignoreSelectionChangeTime = 0); } setIgnoreSelectionChangeTime(e) { this._ignoreSelectionChangeTime = Date.now(); } getIgnoreSelectionChangeTime() { return this._ignoreSelectionChangeTime; } resetSelectionChangeTime() { this._ignoreSelectionChangeTime = 0; } getValue() { return this._actual.domNode.value; } setValue(e, t) { const i = this._actual.domNode; i.value !== t && (this.setIgnoreSelectionChangeTime('setValue'), (i.value = t)); } getSelectionStart() { return this._actual.domNode.selectionStart; } getSelectionEnd() { return this._actual.domNode.selectionEnd; } setSelectionRange(e, t, i) { const s = this._actual.domNode; let o = null; const a = r.Ay(s); o = a ? a.activeElement : document.activeElement; const l = o === s, c = s.selectionStart, d = s.selectionEnd; if (l && c === t && d === i) n.vU && window.parent !== window && s.focus(); else { if (l) return ( this.setIgnoreSelectionChangeTime('setSelectionRange'), s.setSelectionRange(t, i), void (n.vU && window.parent !== window && s.focus()) ); try { const e = r.vL(s); this.setIgnoreSelectionChangeTime('setSelectionRange'), s.focus(), s.setSelectionRange(t, i), r._0(s, e); } catch (e) {} } } } }, 15887: (e, t, i) => { 'use strict'; i.d(t, { u: () => o, e: () => a }); var n = i(97295), r = i(50187), s = i(24314); class o { constructor(e, t, i, n, r) { (this.value = e), (this.selectionStart = t), (this.selectionEnd = i), (this.selectionStartPosition = n), (this.selectionEndPosition = r); } toString() { return ( '[ <' + this.value + '>, selectionStart: ' + this.selectionStart + ', selectionEnd: ' + this.selectionEnd + ']' ); } static readFromTextArea(e) { return new o( e.getValue(), e.getSelectionStart(), e.getSelectionEnd(), null, null ); } collapseSelection() { return new o( this.value, this.value.length, this.value.length, null, null ); } writeToTextArea(e, t, i) { t.setValue(e, this.value), i && t.setSelectionRange(e, this.selectionStart, this.selectionEnd); } deduceEditorPosition(e) { if (e <= this.selectionStart) { const t = this.value.substring(e, this.selectionStart); return this._finishDeduceEditorPosition( this.selectionStartPosition, t, -1 ); } if (e >= this.selectionEnd) { const t = this.value.substring(this.selectionEnd, e); return this._finishDeduceEditorPosition( this.selectionEndPosition, t, 1 ); } const t = this.value.substring(this.selectionStart, e); if (-1 === t.indexOf(String.fromCharCode(8230))) return this._finishDeduceEditorPosition( this.selectionStartPosition, t, 1 ); const i = this.value.substring(e, this.selectionEnd); return this._finishDeduceEditorPosition( this.selectionEndPosition, i, -1 ); } _finishDeduceEditorPosition(e, t, i) { let n = 0, r = -1; for (; -1 !== (r = t.indexOf('\n', r + 1)); ) n++; return [e, i * t.length, n]; } static selectedText(e) { return new o(e, 0, e.length, null, null); } static deduceInput(e, t, i) { if (!e) return { text: '', replaceCharCnt: 0 }; let r = e.value, s = e.selectionStart, o = e.selectionEnd, a = t.value, l = t.selectionStart, c = t.selectionEnd; const d = r.substring(o), h = a.substring(c), u = n.P1(d, h); (a = a.substring(0, a.length - u)), (r = r.substring(0, r.length - u)); const g = r.substring(0, s), f = a.substring(0, l), p = n.Mh(g, f); if ( ((a = a.substring(p)), (r = r.substring(p)), (l -= p), (s -= p), (c -= p), (o -= p), i && l === c && r.length > 0) ) { let e = null; if ( (l === a.length ? n.Ny(a, r) && (e = a.substring(r.length)) : n.pn(a, r) && (e = a.substring(0, a.length - r.length)), null !== e && e.length > 0 && (/\uFE0F/.test(e) || n.RP(e))) ) return { text: e, replaceCharCnt: 0 }; } return l === c ? r === a && 0 === s && o === r.length && l === a.length && -1 === a.indexOf('\n') && n.xe(a) ? { text: '', replaceCharCnt: 0 } : { text: a, replaceCharCnt: g.length - p } : { text: a, replaceCharCnt: o - s }; } } o.EMPTY = new o('', 0, 0, null, null); class a { static _getPageOfLine(e, t) { return Math.floor((e - 1) / t); } static _getRangeForPage(e, t) { const i = e * t, n = i + 1, r = i + t; return new s.e(n, 1, r + 1, 1); } static fromEditorSelection(e, t, i, n, l) { const c = a._getPageOfLine(i.startLineNumber, n), d = a._getRangeForPage(c, n), h = a._getPageOfLine(i.endLineNumber, n), u = a._getRangeForPage(h, n), g = d.intersectRanges( new s.e(1, 1, i.startLineNumber, i.startColumn) ); let f = t.getValueInRange(g, 1); const p = t.getLineCount(), m = t.getLineMaxColumn(p), _ = u.intersectRanges( new s.e(i.endLineNumber, i.endColumn, p, m) ); let b, v = t.getValueInRange(_, 1); if (c === h || c + 1 === h) b = t.getValueInRange(i, 1); else { const e = d.intersectRanges(i), n = u.intersectRanges(i); b = t.getValueInRange(e, 1) + String.fromCharCode(8230) + t.getValueInRange(n, 1); } if (l) { const e = 500; f.length > e && (f = f.substring(f.length - e, f.length)), v.length > e && (v = v.substring(0, e)), b.length > 2 * e && (b = b.substring(0, e) + String.fromCharCode(8230) + b.substring(b.length - e, b.length)); } return new o( f + b + v, f.length, f.length + b.length, new r.L(i.startLineNumber, i.startColumn), new r.L(i.endLineNumber, i.endColumn) ); } } }, 39925: (e, t, i) => { 'use strict'; i.d(t, { yy: () => p, Dl: () => m, ZF: () => b, YQ: () => _ }); var n = i(97295), r = i(24314), s = i(71050), o = i(5976), a = i(16830), l = i(38819), c = i(91741), d = i(72065), h = i(65026); const u = (0, d.yh)('IEditorCancelService'), g = new l.uy('cancellableOperation', !1); (0, h.z)( u, class { constructor() { this._tokens = new WeakMap(); } add(e, t) { let i, n = this._tokens.get(e); return ( n || ((n = e.invokeWithinContext((e) => ({ key: g.bindTo(e.get(l.i6)), tokens: new c.S(), }))), this._tokens.set(e, n)), n.key.set(!0), (i = n.tokens.push(t)), () => { i && (i(), n.key.set(!n.tokens.isEmpty()), (i = void 0)); } ); } cancel(e) { const t = this._tokens.get(e); if (!t) return; const i = t.tokens.pop(); i && (i.cancel(), t.key.set(!t.tokens.isEmpty())); } }, !0 ); class f extends s.A { constructor(e, t) { super(t), (this.editor = e), (this._unregister = e.invokeWithinContext((t) => t.get(u).add(e, this) )); } dispose() { this._unregister(), super.dispose(); } } (0, a.fK)( new (class extends a._l { constructor() { super({ id: 'editor.cancelOperation', kbOpts: { weight: 100, primary: 9 }, precondition: g, }); } runEditorCommand(e, t) { e.get(u).cancel(t); } })() ); class p { constructor(e, t) { if (((this.flags = t), 0 != (1 & this.flags))) { const t = e.getModel(); this.modelVersionId = t ? n.WU('{0}#{1}', t.uri.toString(), t.getVersionId()) : null; } else this.modelVersionId = null; 0 != (4 & this.flags) ? (this.position = e.getPosition()) : (this.position = null), 0 != (2 & this.flags) ? (this.selection = e.getSelection()) : (this.selection = null), 0 != (8 & this.flags) ? ((this.scrollLeft = e.getScrollLeft()), (this.scrollTop = e.getScrollTop())) : ((this.scrollLeft = -1), (this.scrollTop = -1)); } _equals(e) { if (!(e instanceof p)) return !1; const t = e; return ( this.modelVersionId === t.modelVersionId && this.scrollLeft === t.scrollLeft && this.scrollTop === t.scrollTop && !( (!this.position && t.position) || (this.position && !t.position) || (this.position && t.position && !this.position.equals(t.position)) ) && !( (!this.selection && t.selection) || (this.selection && !t.selection) || (this.selection && t.selection && !this.selection.equalsRange(t.selection)) ) ); } validate(e) { return this._equals(new p(e, this.flags)); } } class m extends f { constructor(e, t, i, n) { super(e, n), (this.editor = e), (this._listener = new o.SL()), 4 & t && this._listener.add( e.onDidChangeCursorPosition((e) => { (i && r.e.containsPosition(i, e.position)) || this.cancel(); }) ), 2 & t && this._listener.add( e.onDidChangeCursorSelection((e) => { (i && r.e.containsRange(i, e.selection)) || this.cancel(); }) ), 8 & t && this._listener.add(e.onDidScrollChange((e) => this.cancel())), 1 & t && (this._listener.add(e.onDidChangeModel((e) => this.cancel())), this._listener.add( e.onDidChangeModelContent((e) => this.cancel()) )); } dispose() { this._listener.dispose(), super.dispose(); } } class _ extends s.A { constructor(e, t) { super(t), (this._listener = e.onDidChangeContent(() => this.cancel())); } dispose() { this._listener.dispose(), super.dispose(); } } class b { constructor(e, t, i) { (this._visiblePosition = e), (this._visiblePositionScrollDelta = t), (this._cursorPosition = i); } static capture(e) { let t = null, i = 0; if (0 !== e.getScrollTop()) { const n = e.getVisibleRanges(); if (n.length > 0) { t = n[0].getStartPosition(); const r = e.getTopForPosition(t.lineNumber, t.column); i = e.getScrollTop() - r; } } return new b(t, i, e.getPosition()); } restore(e) { if (this._visiblePosition) { const t = e.getTopForPosition( this._visiblePosition.lineNumber, this._visiblePosition.column ); e.setScrollTop(t + this._visiblePositionScrollDelta); } } restoreRelativeVerticalPositionOfCursor(e) { const t = e.getPosition(); if (!this._cursorPosition || !t) return; const i = e.getTopForLineNumber(t.lineNumber) - e.getTopForLineNumber(this._cursorPosition.lineNumber); e.setScrollTop(e.getScrollTop() + i); } } }, 65520: (e, t, i) => { 'use strict'; i.d(t, { CL: () => r, QI: () => s, Pi: () => o }); var n = i(96518); function r(e) { return ( !(!e || 'function' != typeof e.getEditorType) && e.getEditorType() === n.g.ICodeEditor ); } function s(e) { return ( !(!e || 'function' != typeof e.getEditorType) && e.getEditorType() === n.g.IDiffEditor ); } function o(e) { return r(e) ? e : s(e) ? e.getModifiedEditor() : null; } }, 16830: (e, t, i) => { 'use strict'; i.d(t, { mY: () => b, AJ: () => v, _l: () => w, R6: () => C, jY: () => S, _h: () => k, kT: () => x, sb: () => L, f: () => M, fK: () => D, Qr: () => N, rn: () => E, QG: () => T, _K: () => I, Uc: () => n, n_: () => R, kz: () => P, Sq: () => F, }); var n, r = i(63580), s = i(17301), o = i(70666), a = i(11640), l = i(50187), c = i(51200), d = i(88216), h = i(84144), u = i(94565), g = i(38819), f = i(49989), p = i(89872), m = i(10829), _ = i(98401); class b { constructor(e) { (this.id = e.id), (this.precondition = e.precondition), (this._kbOpts = e.kbOpts), (this._menuOpts = e.menuOpts), (this._description = e.description); } register() { if ( (Array.isArray(this._menuOpts) ? this._menuOpts.forEach(this._registerMenuItem, this) : this._menuOpts && this._registerMenuItem(this._menuOpts), this._kbOpts) ) { let e = this._kbOpts.kbExpr; this.precondition && (e = e ? g.Ao.and(e, this.precondition) : this.precondition), f.W.registerCommandAndKeybindingRule({ id: this.id, handler: (e, t) => this.runCommand(e, t), weight: this._kbOpts.weight, args: this._kbOpts.args, when: e, primary: this._kbOpts.primary, secondary: this._kbOpts.secondary, win: this._kbOpts.win, linux: this._kbOpts.linux, mac: this._kbOpts.mac, description: this._description, }); } else u.P.registerCommand({ id: this.id, handler: (e, t) => this.runCommand(e, t), description: this._description, }); } _registerMenuItem(e) { h.BH.appendMenuItem(e.menuId, { group: e.group, command: { id: this.id, title: e.title, icon: e.icon }, when: e.when, order: e.order, }); } } class v extends b { constructor() { super(...arguments), (this._implementations = []); } addImplementation(e, t) { return ( this._implementations.push([e, t]), this._implementations.sort((e, t) => t[0] - e[0]), { dispose: () => { for (let e = 0; e < this._implementations.length; e++) if (this._implementations[e][1] === t) return void this._implementations.splice(e, 1); }, } ); } runCommand(e, t) { for (const i of this._implementations) if (i[1](e, t)) return; } } class y extends b { constructor(e, t) { super(t), (this.command = e); } runCommand(e, t) { return this.command.runCommand(e, t); } } class w extends b { static bindToContribution(e) { return class extends w { constructor(e) { super(e), (this._callback = e.handler); } runEditorCommand(t, i, n) { e(i) && this._callback(e(i), n); } }; } runCommand(e, t) { const i = e.get(a.$), n = i.getFocusedCodeEditor() || i.getActiveCodeEditor(); if (n) return n.invokeWithinContext((e) => { if ( e.get(g.i6).contextMatchesRules((0, _.f6)(this.precondition)) ) return this.runEditorCommand(e, n, t); }); } } class C extends w { constructor(e) { super(C.convertOptions(e)), (this.label = e.label), (this.alias = e.alias); } static convertOptions(e) { let t; function i(t) { return ( t.menuId || (t.menuId = h.eH.EditorContext), t.title || (t.title = e.label), (t.when = g.Ao.and(e.precondition, t.when)), t ); } return ( (t = Array.isArray(e.menuOpts) ? e.menuOpts : e.menuOpts ? [e.menuOpts] : []), Array.isArray(e.contextMenuOpts) ? t.push(...e.contextMenuOpts.map(i)) : e.contextMenuOpts && t.push(i(e.contextMenuOpts)), (e.menuOpts = t), e ); } runEditorCommand(e, t, i) { return this.reportTelemetry(e, t), this.run(e, t, i || {}); } reportTelemetry(e, t) { e.get(m.b).publicLog2('editorActionInvoked', { name: this.label, id: this.id, }); } } class S extends C { constructor(e) { super(e), (this._implementations = []); } runEditorCommand(e, t, i) { this.reportTelemetry(e, t); for (const t of this._implementations) if (t[1](e, i)) return; return this.run(e, t, i || {}); } } function k(e, t) { u.P.registerCommand(e, (e, i) => t(e, i || {})); } function x(e, t) { k(e, function (e, i) { const { resource: n, position: r } = i; if (!(n instanceof o.o)) throw (0, s.b1)('resource'); if (!l.L.isIPosition(r)) throw (0, s.b1)('position'); const a = e.get(c.q).getModel(n); if (a) { const e = l.L.lift(r); return t(a, e, i); } return e .get(d.S) .createModelReference(n) .then((e) => new Promise((n, s) => { try { n(t(e.object.textEditorModel, l.L.lift(r), i)); } catch (e) { s(e); } }).finally(() => { e.dispose(); }) ); }); } function L(e, t) { u.P.registerCommand(e, function (e, ...i) { const [n, r] = i; (0, _.p_)(o.o.isUri(n)), (0, _.p_)(l.L.isIPosition(r)); const s = e.get(c.q).getModel(n); if (s) { const e = l.L.lift(r); return t(s, e, ...i.slice(2)); } return e .get(d.S) .createModelReference(n) .then((e) => new Promise((n, s) => { try { n(t(e.object.textEditorModel, l.L.lift(r), i.slice(2))); } catch (e) { s(e); } }).finally(() => { e.dispose(); }) ); }); } function M(e, t) { u.P.registerCommand(e, function (e, ...i) { const [n] = i; (0, _.p_)(o.o.isUri(n)); const r = e.get(c.q).getModel(n); return r ? t(r, ...i.slice(1)) : e .get(d.S) .createModelReference(n) .then((e) => new Promise((n, r) => { try { n(t(e.object.textEditorModel, i.slice(1))); } catch (e) { r(e); } }).finally(() => { e.dispose(); }) ); }); } function D(e) { return O.INSTANCE.registerEditorCommand(e), e; } function N(e) { const t = new e(); return O.INSTANCE.registerEditorAction(t), t; } function E(e) { return O.INSTANCE.registerEditorAction(e), e; } function T(e) { O.INSTANCE.registerEditorAction(e); } function I(e, t) { O.INSTANCE.registerEditorContribution(e, t); } !(function (e) { (e.getEditorCommand = function (e) { return O.INSTANCE.getEditorCommand(e); }), (e.getEditorActions = function () { return O.INSTANCE.getEditorActions(); }), (e.getEditorContributions = function () { return O.INSTANCE.getEditorContributions(); }), (e.getSomeEditorContributions = function (e) { return O.INSTANCE.getEditorContributions().filter( (t) => e.indexOf(t.id) >= 0 ); }), (e.getDiffEditorContributions = function () { return O.INSTANCE.getDiffEditorContributions(); }); })(n || (n = {})); class O { constructor() { (this.editorContributions = []), (this.diffEditorContributions = []), (this.editorActions = []), (this.editorCommands = Object.create(null)); } registerEditorContribution(e, t) { this.editorContributions.push({ id: e, ctor: t }); } getEditorContributions() { return this.editorContributions.slice(0); } getDiffEditorContributions() { return this.diffEditorContributions.slice(0); } registerEditorAction(e) { e.register(), this.editorActions.push(e); } getEditorActions() { return this.editorActions.slice(0); } registerEditorCommand(e) { e.register(), (this.editorCommands[e.id] = e); } getEditorCommand(e) { return this.editorCommands[e] || null; } } function A(e) { return e.register(), e; } (O.INSTANCE = new O()), p.B.add('editor.contributions', O.INSTANCE); const R = A( new v({ id: 'undo', precondition: void 0, kbOpts: { weight: 0, primary: 2104 }, menuOpts: [ { menuId: h.eH.MenubarEditMenu, group: '1_do', title: r.N( { key: 'miUndo', comment: ['&& denotes a mnemonic'] }, '&&Undo' ), order: 1, }, { menuId: h.eH.CommandPalette, group: '', title: r.N('undo', 'Undo'), order: 1, }, ], }) ); A(new y(R, { id: 'default:undo', precondition: void 0 })); const P = A( new v({ id: 'redo', precondition: void 0, kbOpts: { weight: 0, primary: 2103, secondary: [3128], mac: { primary: 3128 }, }, menuOpts: [ { menuId: h.eH.MenubarEditMenu, group: '1_do', title: r.N( { key: 'miRedo', comment: ['&& denotes a mnemonic'] }, '&&Redo' ), order: 2, }, { menuId: h.eH.CommandPalette, group: '', title: r.N('redo', 'Redo'), order: 1, }, ], }) ); A(new y(P, { id: 'default:redo', precondition: void 0 })); const F = A( new v({ id: 'editor.action.selectAll', precondition: void 0, kbOpts: { weight: 0, kbExpr: null, primary: 2079 }, menuOpts: [ { menuId: h.eH.MenubarSelectionMenu, group: '1_basic', title: r.N( { key: 'miSelectAll', comment: ['&& denotes a mnemonic'] }, '&&Select All' ), order: 1, }, { menuId: h.eH.CommandPalette, group: '', title: r.N('selectAll', 'Select All'), order: 1, }, ], }) ); }, 66007: (e, t, i) => { 'use strict'; i.d(t, { vu: () => o, fo: () => a, Gl: () => l }); var n = i(72065), r = i(70666), s = i(98401); const o = (0, n.yh)('IWorkspaceEditService'); class a { constructor(e) { this.metadata = e; } static convert(e) { return e.edits.map((e) => { if ( ((t = e), (0, s.Kn)(t) && r.o.isUri(t.resource) && (0, s.Kn)(t.edit)) ) return new l(e.resource, e.edit, e.modelVersionId, e.metadata); var t; if ( (function (e) { return ( (0, s.Kn)(e) && (Boolean(e.newUri) || Boolean(e.oldUri)) ); })(e) ) return new c(e.oldUri, e.newUri, e.options, e.metadata); throw new Error('Unsupported edit'); }); } } class l extends a { constructor(e, t, i, n) { super(n), (this.resource = e), (this.textEdit = t), (this.versionId = i), (this.metadata = n); } } class c extends a { constructor(e, t, i, n) { super(n), (this.oldResource = e), (this.newResource = t), (this.options = i), (this.metadata = n); } } }, 11640: (e, t, i) => { 'use strict'; i.d(t, { $: () => n }); const n = (0, i(72065).yh)('codeEditorService'); }, 95190: (e, t, i) => { 'use strict'; i.d(t, { Gm: () => Wn }); var n = i(63580), r = i(65321), s = i(17301), o = i(4669), a = i(5976), l = i(66663), c = i(89052), d = i(16830), h = i(11640), u = i(3860), g = i(38626), f = i(1432), p = i(10553), m = i(23938), _ = i(15393), b = i(16268), v = i(57974); class y { constructor(e, t) { (this.x = e), (this.y = t); } toClientCoordinates() { return new w(this.x - r.DI.scrollX, this.y - r.DI.scrollY); } } class w { constructor(e, t) { (this.clientX = e), (this.clientY = t); } toPageCoordinates() { return new y( this.clientX + r.DI.scrollX, this.clientY + r.DI.scrollY ); } } class C { constructor(e, t, i, n) { (this.x = e), (this.y = t), (this.width = i), (this.height = n); } } function S(e) { const t = r.i(e); return new C(t.left, t.top, t.width, t.height); } class k extends m.n { constructor(e, t) { super(e), (this.pos = new y(this.posx, this.posy)), (this.editorPos = S(t)); } } class x { constructor(e) { this._editorViewDomNode = e; } _create(e) { return new k(e, this._editorViewDomNode); } onContextMenu(e, t) { return r.nm(e, 'contextmenu', (e) => { t(this._create(e)); }); } onMouseUp(e, t) { return r.nm(e, 'mouseup', (e) => { t(this._create(e)); }); } onMouseDown(e, t) { return r.nm(e, 'mousedown', (e) => { t(this._create(e)); }); } onMouseLeave(e, t) { return r.j_(e, (e) => { t(this._create(e)); }); } onMouseMoveThrottled(e, t, i, n) { return r.Y_(e, 'mousemove', t, (e, t) => i(e, this._create(t)), n); } } class L { constructor(e) { this._editorViewDomNode = e; } _create(e) { return new k(e, this._editorViewDomNode); } onPointerUp(e, t) { return r.nm(e, 'pointerup', (e) => { t(this._create(e)); }); } onPointerDown(e, t) { return r.nm(e, 'pointerdown', (e) => { t(this._create(e)); }); } onPointerLeave(e, t) { return r.RE(e, (e) => { t(this._create(e)); }); } onPointerMoveThrottled(e, t, i, n) { return r.Y_( e, 'pointermove', t, (e, t) => i(e, this._create(t)), n ); } } class M extends a.JT { constructor(e) { super(), (this._editorViewDomNode = e), (this._globalMouseMoveMonitor = this._register(new v.Z())), (this._keydownListener = null); } startMonitoring(e, t, i, n, s) { (this._keydownListener = r.mu( document, 'keydown', (e) => { e.toKeybinding().isModifierKey() || this._globalMouseMoveMonitor.stopMonitoring(!0); }, !0 )), this._globalMouseMoveMonitor.startMonitoring( e, t, (e, t) => i(e, new k(t, this._editorViewDomNode)), n, () => { this._keydownListener.dispose(), s(); } ); } } class D extends a.JT { constructor() { super(), (this._shouldRender = !0); } shouldRender() { return this._shouldRender; } forceShouldRender() { this._shouldRender = !0; } setShouldRender() { this._shouldRender = !0; } onDidRender() { this._shouldRender = !1; } onConfigurationChanged(e) { return !1; } onCursorStateChanged(e) { return !1; } onDecorationsChanged(e) { return !1; } onFlushed(e) { return !1; } onFocusChanged(e) { return !1; } onLanguageConfigurationChanged(e) { return !1; } onLineMappingChanged(e) { return !1; } onLinesChanged(e) { return !1; } onLinesDeleted(e) { return !1; } onLinesInserted(e) { return !1; } onRevealRangeRequest(e) { return !1; } onScrollChanged(e) { return !1; } onThemeChanged(e) { return !1; } onTokensChanged(e) { return !1; } onTokensColorsChanged(e) { return !1; } onZonesChanged(e) { return !1; } handleEvents(e) { let t = !1; for (let i = 0, n = e.length; i < n; i++) { let n = e[i]; switch (n.type) { case 0: this.onConfigurationChanged(n) && (t = !0); break; case 1: this.onCursorStateChanged(n) && (t = !0); break; case 2: this.onDecorationsChanged(n) && (t = !0); break; case 3: this.onFlushed(n) && (t = !0); break; case 4: this.onFocusChanged(n) && (t = !0); break; case 5: this.onLanguageConfigurationChanged(n) && (t = !0); break; case 6: this.onLineMappingChanged(n) && (t = !0); break; case 7: this.onLinesChanged(n) && (t = !0); break; case 8: this.onLinesDeleted(n) && (t = !0); break; case 9: this.onLinesInserted(n) && (t = !0); break; case 10: this.onRevealRangeRequest(n) && (t = !0); break; case 11: this.onScrollChanged(n) && (t = !0); break; case 13: this.onTokensChanged(n) && (t = !0); break; case 12: this.onThemeChanged(n) && (t = !0); break; case 14: this.onTokensColorsChanged(n) && (t = !0); break; case 15: this.onZonesChanged(n) && (t = !0); break; default: console.info('View received unknown event: '), console.info(n); } } t && (this._shouldRender = !0); } } class N extends D { constructor(e) { super(), (this._context = e), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), super.dispose(); } } class E { static write(e, t) { g.Z, e.setAttribute('data-mprt', String(t)); } static read(e) { const t = e.getAttribute('data-mprt'); return null === t ? 0 : parseInt(t, 10); } static collect(e, t) { let i = [], n = 0; for (; e && e !== document.body && e !== t; ) e.nodeType === e.ELEMENT_NODE && (i[n++] = this.read(e)), (e = e.parentElement); const r = new Uint8Array(n); for (let e = 0; e < n; e++) r[e] = i[n - e - 1]; return r; } } class T extends class { constructor(e, t) { (this._viewLayout = e), (this.viewportData = t), (this.scrollWidth = this._viewLayout.getScrollWidth()), (this.scrollHeight = this._viewLayout.getScrollHeight()), (this.visibleRange = this.viewportData.visibleRange), (this.bigNumbersDelta = this.viewportData.bigNumbersDelta); const i = this._viewLayout.getCurrentViewport(); (this.scrollTop = i.top), (this.scrollLeft = i.left), (this.viewportWidth = i.width), (this.viewportHeight = i.height); } getScrolledTopFromAbsoluteTop(e) { return e - this.scrollTop; } getVerticalOffsetForLineNumber(e) { return this._viewLayout.getVerticalOffsetForLineNumber(e); } getDecorationsInViewport() { return this.viewportData.getDecorationsInViewport(); } } { constructor(e, t, i) { super(e, t), (this._viewLines = i); } linesVisibleRangesForRange(e, t) { return this._viewLines.linesVisibleRangesForRange(e, t); } visibleRangeForPosition(e) { return this._viewLines.visibleRangeForPosition(e); } } class I { constructor(e, t, i) { (this.outsideRenderedLine = e), (this.lineNumber = t), (this.ranges = i); } } class O { constructor(e, t) { (this.left = Math.round(e)), (this.width = Math.round(t)); } toString() { return `[${this.left},${this.width}]`; } } class A { constructor(e, t) { (this.outsideRenderedLine = e), (this.left = Math.round(t)); } } class R { constructor(e, t) { (this.outsideRenderedLine = e), (this.ranges = t); } } class P { constructor(e, t) { (this.left = e), (this.width = t); } toString() { return `[${this.left},${this.width}]`; } static compare(e, t) { return e.left - t.left; } } class F { static _createRange() { return ( this._handyReadyRange || (this._handyReadyRange = document.createRange()), this._handyReadyRange ); } static _detachRange(e, t) { e.selectNodeContents(t); } static _readClientRects(e, t, i, n, r) { const s = this._createRange(); try { return s.setStart(e, t), s.setEnd(i, n), s.getClientRects(); } catch (e) { return null; } finally { this._detachRange(s, r); } } static _mergeAdjacentRanges(e) { if (1 === e.length) return [new O(e[0].left, e[0].width)]; e.sort(P.compare); let t = [], i = 0, n = e[0].left, r = e[0].width; for (let s = 1, o = e.length; s < o; s++) { const o = e[s], a = o.left, l = o.width; n + r + 0.9 >= a ? (r = Math.max(r, a + l - n)) : ((t[i++] = new O(n, r)), (n = a), (r = l)); } return (t[i++] = new O(n, r)), t; } static _createHorizontalRangesFromClientRects(e, t) { if (!e || 0 === e.length) return null; const i = []; for (let n = 0, r = e.length; n < r; n++) { const r = e[n]; i[n] = new P(Math.max(0, r.left - t), r.width); } return this._mergeAdjacentRanges(i); } static readHorizontalRanges(e, t, i, n, r, s, o) { const a = e.children.length - 1; if (0 > a) return null; if ( (t = Math.min(a, Math.max(0, t))) === (n = Math.min(a, Math.max(0, n))) && i === r && 0 === i ) { const i = e.children[t].getClientRects(); return this._createHorizontalRangesFromClientRects(i, s); } t !== n && n > 0 && 0 === r && (n--, (r = 1073741824)); let l = e.children[t].firstChild, c = e.children[n].firstChild; if ( ((l && c) || (!l && 0 === i && t > 0 && ((l = e.children[t - 1].firstChild), (i = 1073741824)), !c && 0 === r && n > 0 && ((c = e.children[n - 1].firstChild), (r = 1073741824))), !l || !c) ) return null; (i = Math.min(l.textContent.length, Math.max(0, i))), (r = Math.min(c.textContent.length, Math.max(0, r))); const d = this._readClientRects(l, i, c, r, o); return this._createHorizontalRangesFromClientRects(d, s); } } var B = i(92550), W = i(77736), Y = i(97781), H = i(64141); const j = !!f.tY || !(f.IJ || b.vU || b.G6); let V = !0; const z = b.un; class U { constructor(e, t) { (this._domNode = e), (this._clientRectDeltaLeft = 0), (this._clientRectDeltaLeftRead = !1), (this.endNode = t); } get clientRectDeltaLeft() { return ( this._clientRectDeltaLeftRead || ((this._clientRectDeltaLeftRead = !0), (this._clientRectDeltaLeft = this._domNode.getBoundingClientRect().left)), this._clientRectDeltaLeft ); } } class $ { constructor(e, t) { this.themeType = t; const i = e.options, n = i.get(36); (this.renderWhitespace = i.get(80)), (this.renderControlCharacters = i.get(74)), (this.spaceWidth = n.spaceWidth), (this.middotWidth = n.middotWidth), (this.wsmiddotWidth = n.wsmiddotWidth), (this.useMonospaceOptimizations = n.isMonospace && !i.get(24)), (this.canUseHalfwidthRightwardsArrow = n.canUseHalfwidthRightwardsArrow), (this.lineHeight = i.get(51)), (this.stopRenderingLineAfter = i.get(95)), (this.fontLigatures = i.get(37)); } equals(e) { return ( this.themeType === e.themeType && this.renderWhitespace === e.renderWhitespace && this.renderControlCharacters === e.renderControlCharacters && this.spaceWidth === e.spaceWidth && this.middotWidth === e.middotWidth && this.wsmiddotWidth === e.wsmiddotWidth && this.useMonospaceOptimizations === e.useMonospaceOptimizations && this.canUseHalfwidthRightwardsArrow === e.canUseHalfwidthRightwardsArrow && this.lineHeight === e.lineHeight && this.stopRenderingLineAfter === e.stopRenderingLineAfter && this.fontLigatures === e.fontLigatures ); } } class K { constructor(e) { (this._options = e), (this._isMaybeInvalid = !0), (this._renderedViewLine = null); } getDomNode() { return this._renderedViewLine && this._renderedViewLine.domNode ? this._renderedViewLine.domNode.domNode : null; } setDomNode(e) { if (!this._renderedViewLine) throw new Error( 'I have no rendered view line to set the dom node to...' ); this._renderedViewLine.domNode = (0, g.X)(e); } onContentChanged() { this._isMaybeInvalid = !0; } onTokensChanged() { this._isMaybeInvalid = !0; } onDecorationsChanged() { this._isMaybeInvalid = !0; } onOptionsChanged(e) { (this._isMaybeInvalid = !0), (this._options = e); } onSelectionChanged() { return !( (!z && this._options.themeType !== Y.QP && 'selection' !== this._options.renderWhitespace) || ((this._isMaybeInvalid = !0), 0) ); } renderLine(e, t, i, n) { if (!1 === this._isMaybeInvalid) return !1; this._isMaybeInvalid = !1; const r = i.getViewLineRenderingData(e), s = this._options, o = B.Kp.filter(r.inlineDecorations, e, r.minColumn, r.maxColumn); let a = null; if ( z || s.themeType === Y.QP || 'selection' === this._options.renderWhitespace ) { const t = i.selections; for (const i of t) { if (i.endLineNumber < e || i.startLineNumber > e) continue; const t = i.startLineNumber === e ? i.startColumn : r.minColumn, n = i.endLineNumber === e ? i.endColumn : r.maxColumn; t < n && (s.themeType === Y.QP || 'selection' !== this._options.renderWhitespace ? o.push(new B.Kp(t, n, 'inline-selected-text', 0)) : (a || (a = []), a.push(new W.zG(t - 1, n - 1)))); } } const l = new W.IJ( s.useMonospaceOptimizations, s.canUseHalfwidthRightwardsArrow, r.content, r.continuesWithWrappedLine, r.isBasicASCII, r.containsRTL, r.minColumn - 1, r.tokens, o, r.tabSize, r.startVisibleColumn, s.spaceWidth, s.middotWidth, s.wsmiddotWidth, s.stopRenderingLineAfter, s.renderWhitespace, s.renderControlCharacters, s.fontLigatures !== H.n0.OFF, a ); if ( this._renderedViewLine && this._renderedViewLine.input.equals(l) ) return !1; n.appendASCIIString('
    '); const c = (0, W.d1)(l, n); n.appendASCIIString('
    '); let d = null; return ( V && j && r.isBasicASCII && s.useMonospaceOptimizations && 0 === c.containsForeignElements && r.content.length < 300 && l.lineTokens.getCount() < 100 && (d = new q( this._renderedViewLine ? this._renderedViewLine.domNode : null, l, c.characterMapping )), d || (d = J( this._renderedViewLine ? this._renderedViewLine.domNode : null, l, c.characterMapping, c.containsRTL, c.containsForeignElements )), (this._renderedViewLine = d), !0 ); } layoutLine(e, t) { this._renderedViewLine && this._renderedViewLine.domNode && (this._renderedViewLine.domNode.setTop(t), this._renderedViewLine.domNode.setHeight( this._options.lineHeight )); } getWidth() { return this._renderedViewLine ? this._renderedViewLine.getWidth() : 0; } getWidthIsFast() { return ( !this._renderedViewLine || this._renderedViewLine.getWidthIsFast() ); } needsMonospaceFontCheck() { return ( !!this._renderedViewLine && this._renderedViewLine instanceof q ); } monospaceAssumptionsAreValid() { return this._renderedViewLine && this._renderedViewLine instanceof q ? this._renderedViewLine.monospaceAssumptionsAreValid() : V; } onMonospaceAssumptionsInvalidated() { this._renderedViewLine && this._renderedViewLine instanceof q && (this._renderedViewLine = this._renderedViewLine.toSlowRenderedLine()); } getVisibleRangesForRange(e, t, i) { if (!this._renderedViewLine) return null; (e |= 0), (t |= 0), (e = Math.min( this._renderedViewLine.input.lineContent.length + 1, Math.max(1, e) )), (t = Math.min( this._renderedViewLine.input.lineContent.length + 1, Math.max(1, t) )); const n = 0 | this._renderedViewLine.input.stopRenderingLineAfter; let r = !1; -1 !== n && e > n + 1 && t > n + 1 && (r = !0), -1 !== n && e > n + 1 && (e = n + 1), -1 !== n && t > n + 1 && (t = n + 1); const s = this._renderedViewLine.getVisibleRangesForRange(e, t, i); return s && s.length > 0 ? new R(r, s) : null; } getColumnOfNodeOffset(e, t, i) { return this._renderedViewLine ? this._renderedViewLine.getColumnOfNodeOffset(e, t, i) : 1; } } K.CLASS_NAME = 'view-line'; class q { constructor(e, t, i) { (this.domNode = e), (this.input = t), (this._characterMapping = i), (this._charWidth = t.spaceWidth); } getWidth() { return this._getCharPosition(this._characterMapping.length); } getWidthIsFast() { return !0; } monospaceAssumptionsAreValid() { if (!this.domNode) return V; const e = this.getWidth(), t = this.domNode.domNode.firstChild.offsetWidth; return ( Math.abs(e - t) >= 2 && (console.warn( 'monospace assumptions have been violated, therefore disabling monospace optimizations!' ), (V = !1)), V ); } toSlowRenderedLine() { return J(this.domNode, this.input, this._characterMapping, !1, 0); } getVisibleRangesForRange(e, t, i) { const n = this._getCharPosition(e), r = this._getCharPosition(t); return [new O(n, r - n)]; } _getCharPosition(e) { const t = this._characterMapping.getAbsoluteOffsets(); return 0 === t.length ? 0 : Math.round(this._charWidth * t[e - 1]); } getColumnOfNodeOffset(e, t, i) { const n = t.textContent.length; let r = -1; for (; t; ) (t = t.previousSibling), r++; return this._characterMapping.partDataToCharOffset(r, n, i) + 1; } } class G { constructor(e, t, i, n, r) { if ( ((this.domNode = e), (this.input = t), (this._characterMapping = i), (this._isWhitespaceOnly = /^\s*$/.test(t.lineContent)), (this._containsForeignElements = r), (this._cachedWidth = -1), (this._pixelOffsetCache = null), !n || 0 === this._characterMapping.length) ) { this._pixelOffsetCache = new Int32Array( Math.max(2, this._characterMapping.length + 1) ); for (let e = 0, t = this._characterMapping.length; e <= t; e++) this._pixelOffsetCache[e] = -1; } } _getReadingTarget(e) { return e.domNode.firstChild; } getWidth() { return this.domNode ? (-1 === this._cachedWidth && (this._cachedWidth = this._getReadingTarget( this.domNode ).offsetWidth), this._cachedWidth) : 0; } getWidthIsFast() { return -1 !== this._cachedWidth; } getVisibleRangesForRange(e, t, i) { if (!this.domNode) return null; if (null !== this._pixelOffsetCache) { const n = this._readPixelOffset(this.domNode, e, i); if (-1 === n) return null; const r = this._readPixelOffset(this.domNode, t, i); return -1 === r ? null : [new O(n, r - n)]; } return this._readVisibleRangesForRange(this.domNode, e, t, i); } _readVisibleRangesForRange(e, t, i, n) { if (t === i) { const i = this._readPixelOffset(e, t, n); return -1 === i ? null : [new O(i, 0)]; } return this._readRawVisibleRangesForRange(e, t, i, n); } _readPixelOffset(e, t, i) { if (0 === this._characterMapping.length) { if (0 === this._containsForeignElements) return 0; if (2 === this._containsForeignElements) return 0; if (1 === this._containsForeignElements) return this.getWidth(); const t = this._getReadingTarget(e); return t.firstChild ? t.firstChild.offsetWidth : 0; } if (null !== this._pixelOffsetCache) { const n = this._pixelOffsetCache[t]; if (-1 !== n) return n; const r = this._actualReadPixelOffset(e, t, i); return (this._pixelOffsetCache[t] = r), r; } return this._actualReadPixelOffset(e, t, i); } _actualReadPixelOffset(e, t, i) { if (0 === this._characterMapping.length) { const t = F.readHorizontalRanges( this._getReadingTarget(e), 0, 0, 0, 0, i.clientRectDeltaLeft, i.endNode ); return t && 0 !== t.length ? t[0].left : -1; } if ( t === this._characterMapping.length && this._isWhitespaceOnly && 0 === this._containsForeignElements ) return this.getWidth(); const n = this._characterMapping.charOffsetToPartData(t - 1), r = W.fH.getPartIndex(n), s = W.fH.getCharIndex(n), o = F.readHorizontalRanges( this._getReadingTarget(e), r, s, r, s, i.clientRectDeltaLeft, i.endNode ); if (!o || 0 === o.length) return -1; const a = o[0].left; if (this.input.isBasicASCII) { const e = this._characterMapping.getAbsoluteOffsets(), i = Math.round(this.input.spaceWidth * e[t - 1]); if (Math.abs(i - a) <= 1) return i; } return a; } _readRawVisibleRangesForRange(e, t, i, n) { if (1 === t && i === this._characterMapping.length) return [new O(0, this.getWidth())]; const r = this._characterMapping.charOffsetToPartData(t - 1), s = W.fH.getPartIndex(r), o = W.fH.getCharIndex(r), a = this._characterMapping.charOffsetToPartData(i - 1), l = W.fH.getPartIndex(a), c = W.fH.getCharIndex(a); return F.readHorizontalRanges( this._getReadingTarget(e), s, o, l, c, n.clientRectDeltaLeft, n.endNode ); } getColumnOfNodeOffset(e, t, i) { const n = t.textContent.length; let r = -1; for (; t; ) (t = t.previousSibling), r++; return this._characterMapping.partDataToCharOffset(r, n, i) + 1; } } class Z extends G { _readVisibleRangesForRange(e, t, i, n) { const r = super._readVisibleRangesForRange(e, t, i, n); if ( !r || 0 === r.length || t === i || (1 === t && i === this._characterMapping.length) ) return r; if (!this.input.containsRTL) { const t = this._readPixelOffset(e, i, n); if (-1 !== t) { const e = r[r.length - 1]; e.left < t && (e.width = t - e.left); } } return r; } } const J = b.Pf ? function (e, t, i, n, r) { return new Z(e, t, i, n, r); } : function (e, t, i, n, r) { return new G(e, t, i, n, r); }; var Q = i(50187), X = i(24314), ee = i(33181); class te { constructor(e, t) { (this.lastViewCursorsRenderData = e), (this.lastTextareaPosition = t); } } class ie { constructor(e, t, i = 0, n = null, r = null, s = null) { (this.element = e), (this.type = t), (this.mouseColumn = i), (this.position = n), !r && n && (r = new X.e(n.lineNumber, n.column, n.lineNumber, n.column)), (this.range = r), (this.detail = s); } static _typeToString(e) { return 1 === e ? 'TEXTAREA' : 2 === e ? 'GUTTER_GLYPH_MARGIN' : 3 === e ? 'GUTTER_LINE_NUMBERS' : 4 === e ? 'GUTTER_LINE_DECORATIONS' : 5 === e ? 'GUTTER_VIEW_ZONE' : 6 === e ? 'CONTENT_TEXT' : 7 === e ? 'CONTENT_EMPTY' : 8 === e ? 'CONTENT_VIEW_ZONE' : 9 === e ? 'CONTENT_WIDGET' : 10 === e ? 'OVERVIEW_RULER' : 11 === e ? 'SCROLLBAR' : 12 === e ? 'OVERLAY_WIDGET' : 'UNKNOWN'; } static toString(e) { return ( this._typeToString(e.type) + ': ' + e.position + ' - ' + e.range + ' - ' + e.detail ); } toString() { return ie.toString(this); } } class ne { static isTextArea(e) { return 2 === e.length && 3 === e[0] && 6 === e[1]; } static isChildOfViewLines(e) { return e.length >= 4 && 3 === e[0] && 7 === e[3]; } static isStrictChildOfViewLines(e) { return e.length > 4 && 3 === e[0] && 7 === e[3]; } static isChildOfScrollableElement(e) { return e.length >= 2 && 3 === e[0] && 5 === e[1]; } static isChildOfMinimap(e) { return e.length >= 2 && 3 === e[0] && 8 === e[1]; } static isChildOfContentWidgets(e) { return e.length >= 4 && 3 === e[0] && 1 === e[3]; } static isChildOfOverflowingContentWidgets(e) { return e.length >= 1 && 2 === e[0]; } static isChildOfOverlayWidgets(e) { return e.length >= 2 && 3 === e[0] && 4 === e[1]; } } class re { constructor(e, t, i) { this.model = e.model; const n = e.configuration.options; (this.layoutInfo = n.get(117)), (this.viewDomNode = t.viewDomNode), (this.lineHeight = n.get(51)), (this.typicalHalfwidthCharacterWidth = n.get( 36 ).typicalHalfwidthCharacterWidth), (this.lastRenderData = i), (this._context = e), (this._viewHelper = t); } getZoneAtCoord(e) { return re.getZoneAtCoord(this._context, e); } static getZoneAtCoord(e, t) { const i = e.viewLayout.getWhitespaceAtVerticalOffset(t); if (i) { let n, r = i.verticalOffset + i.height / 2, s = e.model.getLineCount(), o = null, a = null; return ( i.afterLineNumber !== s && (a = new Q.L(i.afterLineNumber + 1, 1)), i.afterLineNumber > 0 && (o = new Q.L( i.afterLineNumber, e.model.getLineMaxColumn(i.afterLineNumber) )), (n = null === a ? o : null === o ? a : t < r ? o : a), { viewZoneId: i.id, afterLineNumber: i.afterLineNumber, positionBefore: o, positionAfter: a, position: n, } ); } return null; } getFullLineRangeAtCoord(e) { if (this._context.viewLayout.isAfterLines(e)) { const e = this._context.model.getLineCount(), t = this._context.model.getLineMaxColumn(e); return { range: new X.e(e, t, e, t), isAfterLines: !0 }; } const t = this._context.viewLayout.getLineNumberAtVerticalOffset(e), i = this._context.model.getLineMaxColumn(t); return { range: new X.e(t, 1, t, i), isAfterLines: !1 }; } getLineNumberAtVerticalOffset(e) { return this._context.viewLayout.getLineNumberAtVerticalOffset(e); } isAfterLines(e) { return this._context.viewLayout.isAfterLines(e); } getVerticalOffsetForLineNumber(e) { return this._context.viewLayout.getVerticalOffsetForLineNumber(e); } findAttribute(e, t) { return re._findAttribute(e, t, this._viewHelper.viewDomNode); } static _findAttribute(e, t, i) { for (; e && e !== document.body; ) { if (e.hasAttribute && e.hasAttribute(t)) return e.getAttribute(t); if (e === i) return null; e = e.parentNode; } return null; } getLineWidth(e) { return this._viewHelper.getLineWidth(e); } visibleRangeForPosition(e, t) { return this._viewHelper.visibleRangeForPosition(e, t); } getPositionFromDOMInfo(e, t) { return this._viewHelper.getPositionFromDOMInfo(e, t); } getCurrentScrollTop() { return this._context.viewLayout.getCurrentScrollTop(); } getCurrentScrollLeft() { return this._context.viewLayout.getCurrentScrollLeft(); } } class se extends class { constructor(e, t, i) { (this.editorPos = t), (this.pos = i), (this.mouseVerticalOffset = Math.max( 0, e.getCurrentScrollTop() + i.y - t.y )), (this.mouseContentHorizontalOffset = e.getCurrentScrollLeft() + i.x - t.x - e.layoutInfo.contentLeft), (this.isInMarginArea = i.x - t.x < e.layoutInfo.contentLeft && i.x - t.x >= e.layoutInfo.glyphMarginLeft), (this.isInContentArea = !this.isInMarginArea), (this.mouseColumn = Math.max( 0, le._getMouseColumn( this.mouseContentHorizontalOffset, e.typicalHalfwidthCharacterWidth ) )); } } { constructor(e, t, i, n) { super(e, t, i), (this._ctx = e), n ? ((this.target = n), (this.targetPath = E.collect(n, e.viewDomNode))) : ((this.target = null), (this.targetPath = new Uint8Array(0))); } toString() { return `pos(${this.pos.x},${this.pos.y}), editorPos(${ this.editorPos.x },${this.editorPos.y}), mouseVerticalOffset: ${ this.mouseVerticalOffset }, mouseContentHorizontalOffset: ${ this.mouseContentHorizontalOffset }\n\ttarget: ${this.target ? this.target.outerHTML : null}`; } fulfill(e, t = null, i = null, n = null) { let r = this.mouseColumn; return ( t && t.column < this._ctx.model.getLineMaxColumn(t.lineNumber) && (r = ee.io.visibleColumnFromColumn( this._ctx.model.getLineContent(t.lineNumber), t.column, this._ctx.model.getTextModelOptions().tabSize ) + 1), new ie(this.target, e, r, t, i, n) ); } withTarget(e) { return new se(this._ctx, this.editorPos, this.pos, e); } } const oe = { isAfterLines: !0 }; function ae(e) { return { isAfterLines: !1, horizontalDistanceToText: e }; } class le { constructor(e, t) { (this._context = e), (this._viewHelper = t); } mouseTargetIsWidget(e) { const t = e.target, i = E.collect(t, this._viewHelper.viewDomNode); return !( !ne.isChildOfContentWidgets(i) && !ne.isChildOfOverflowingContentWidgets(i) && !ne.isChildOfOverlayWidgets(i) ); } createMouseTarget(e, t, i, n) { const r = new re(this._context, this._viewHelper, e), s = new se(r, t, i, n); try { return le._createMouseTarget(r, s, !1); } catch (e) { return s.fulfill(0); } } static _createMouseTarget(e, t, i) { if (null === t.target) { if (i) return t.fulfill(0); const n = le._doHitTest(e, t); return n.position ? le.createMouseTargetFromHitTestPosition( e, t, n.position.lineNumber, n.position.column ) : this._createMouseTarget(e, t.withTarget(n.hitTarget), !0); } const n = t; let r = null; return ( (r = r || le._hitTestContentWidget(e, n)), (r = r || le._hitTestOverlayWidget(e, n)), (r = r || le._hitTestMinimap(e, n)), (r = r || le._hitTestScrollbarSlider(e, n)), (r = r || le._hitTestViewZone(e, n)), (r = r || le._hitTestMargin(e, n)), (r = r || le._hitTestViewCursor(e, n)), (r = r || le._hitTestTextArea(e, n)), (r = r || le._hitTestViewLines(e, n, i)), (r = r || le._hitTestScrollbar(e, n)), r || t.fulfill(0) ); } static _hitTestContentWidget(e, t) { if ( ne.isChildOfContentWidgets(t.targetPath) || ne.isChildOfOverflowingContentWidgets(t.targetPath) ) { const i = e.findAttribute(t.target, 'widgetId'); return i ? t.fulfill(9, null, null, i) : t.fulfill(0); } return null; } static _hitTestOverlayWidget(e, t) { if (ne.isChildOfOverlayWidgets(t.targetPath)) { const i = e.findAttribute(t.target, 'widgetId'); return i ? t.fulfill(12, null, null, i) : t.fulfill(0); } return null; } static _hitTestViewCursor(e, t) { if (t.target) { const i = e.lastRenderData.lastViewCursorsRenderData; for (const e of i) if (t.target === e.domNode) return t.fulfill(6, e.position); } if (t.isInContentArea) { const i = e.lastRenderData.lastViewCursorsRenderData, n = t.mouseContentHorizontalOffset, r = t.mouseVerticalOffset; for (const s of i) { if (n < s.contentLeft) continue; if (n > s.contentLeft + s.width) continue; const i = e.getVerticalOffsetForLineNumber( s.position.lineNumber ); if (i <= r && r <= i + s.height) return t.fulfill(6, s.position); } } return null; } static _hitTestViewZone(e, t) { const i = e.getZoneAtCoord(t.mouseVerticalOffset); if (i) { const e = t.isInContentArea ? 8 : 5; return t.fulfill(e, i.position, null, i); } return null; } static _hitTestTextArea(e, t) { return ne.isTextArea(t.targetPath) ? e.lastRenderData.lastTextareaPosition ? t.fulfill(6, e.lastRenderData.lastTextareaPosition) : t.fulfill(1, e.lastRenderData.lastTextareaPosition) : null; } static _hitTestMargin(e, t) { if (t.isInMarginArea) { const i = e.getFullLineRangeAtCoord(t.mouseVerticalOffset), n = i.range.getStartPosition(); let r = Math.abs(t.pos.x - t.editorPos.x); const s = { isAfterLines: i.isAfterLines, glyphMarginLeft: e.layoutInfo.glyphMarginLeft, glyphMarginWidth: e.layoutInfo.glyphMarginWidth, lineNumbersWidth: e.layoutInfo.lineNumbersWidth, offsetX: r, }; return ( (r -= e.layoutInfo.glyphMarginLeft), r <= e.layoutInfo.glyphMarginWidth ? t.fulfill(2, n, i.range, s) : ((r -= e.layoutInfo.glyphMarginWidth), r <= e.layoutInfo.lineNumbersWidth ? t.fulfill(3, n, i.range, s) : ((r -= e.layoutInfo.lineNumbersWidth), t.fulfill(4, n, i.range, s))) ); } return null; } static _hitTestViewLines(e, t, i) { if (!ne.isChildOfViewLines(t.targetPath)) return null; if (e.isAfterLines(t.mouseVerticalOffset)) { const i = e.model.getLineCount(), n = e.model.getLineMaxColumn(i); return t.fulfill(7, new Q.L(i, n), void 0, oe); } if (i) { if (ne.isStrictChildOfViewLines(t.targetPath)) { const i = e.getLineNumberAtVerticalOffset( t.mouseVerticalOffset ); if (0 === e.model.getLineLength(i)) { const n = e.getLineWidth(i), r = ae(t.mouseContentHorizontalOffset - n); return t.fulfill(7, new Q.L(i, 1), void 0, r); } const n = e.getLineWidth(i); if (t.mouseContentHorizontalOffset >= n) { const r = ae(t.mouseContentHorizontalOffset - n), s = new Q.L(i, e.model.getLineMaxColumn(i)); return t.fulfill(7, s, void 0, r); } } return t.fulfill(0); } const n = le._doHitTest(e, t); return n.position ? le.createMouseTargetFromHitTestPosition( e, t, n.position.lineNumber, n.position.column ) : this._createMouseTarget(e, t.withTarget(n.hitTarget), !0); } static _hitTestMinimap(e, t) { if (ne.isChildOfMinimap(t.targetPath)) { const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), n = e.model.getLineMaxColumn(i); return t.fulfill(11, new Q.L(i, n)); } return null; } static _hitTestScrollbarSlider(e, t) { if ( ne.isChildOfScrollableElement(t.targetPath) && t.target && 1 === t.target.nodeType ) { const i = t.target.className; if (i && /\b(slider|scrollbar)\b/.test(i)) { const i = e.getLineNumberAtVerticalOffset( t.mouseVerticalOffset ), n = e.model.getLineMaxColumn(i); return t.fulfill(11, new Q.L(i, n)); } } return null; } static _hitTestScrollbar(e, t) { if (ne.isChildOfScrollableElement(t.targetPath)) { const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), n = e.model.getLineMaxColumn(i); return t.fulfill(11, new Q.L(i, n)); } return null; } getMouseColumn(e, t) { const i = this._context.configuration.options, n = i.get(117), r = this._context.viewLayout.getCurrentScrollLeft() + t.x - e.x - n.contentLeft; return le._getMouseColumn( r, i.get(36).typicalHalfwidthCharacterWidth ); } static _getMouseColumn(e, t) { return e < 0 ? 1 : Math.round(e / t) + 1; } static createMouseTargetFromHitTestPosition(e, t, i, n) { const r = new Q.L(i, n), s = e.getLineWidth(i); if (t.mouseContentHorizontalOffset > s) { if (b.un && 1 === r.column) { const n = ae(t.mouseContentHorizontalOffset - s); return t.fulfill( 7, new Q.L(i, e.model.getLineMaxColumn(i)), void 0, n ); } const n = ae(t.mouseContentHorizontalOffset - s); return t.fulfill(7, r, void 0, n); } const o = e.visibleRangeForPosition(i, n); if (!o) return t.fulfill(0, r); const a = o.left; if (t.mouseContentHorizontalOffset === a) return t.fulfill(6, r); const l = []; if ((l.push({ offset: o.left, column: n }), n > 1)) { const t = e.visibleRangeForPosition(i, n - 1); t && l.push({ offset: t.left, column: n - 1 }); } if (n < e.model.getLineMaxColumn(i)) { const t = e.visibleRangeForPosition(i, n + 1); t && l.push({ offset: t.left, column: n + 1 }); } l.sort((e, t) => e.offset - t.offset); for (let e = 1; e < l.length; e++) { const n = l[e - 1], s = l[e]; if ( n.offset <= t.mouseContentHorizontalOffset && t.mouseContentHorizontalOffset <= s.offset ) { const e = new X.e(i, n.column, i, s.column); return t.fulfill(6, r, e); } } return t.fulfill(6, r); } static _doHitTestWithCaretRangeFromPoint(e, t) { const i = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset), n = e.getVerticalOffsetForLineNumber(i) + Math.floor(e.lineHeight / 2); let r = t.pos.y + (n - t.mouseVerticalOffset); r <= t.editorPos.y && (r = t.editorPos.y + 1), r >= t.editorPos.y + e.layoutInfo.height && (r = t.editorPos.y + e.layoutInfo.height - 1); const s = new y(t.pos.x, r), o = this._actualDoHitTestWithCaretRangeFromPoint( e, s.toClientCoordinates() ); return o.position ? o : this._actualDoHitTestWithCaretRangeFromPoint( e, t.pos.toClientCoordinates() ); } static _actualDoHitTestWithCaretRangeFromPoint(e, t) { const i = r.Ay(e.viewDomNode); let n; if ( ((n = i ? void 0 === i.caretRangeFromPoint ? (function (e, t, i) { const n = document.createRange(); let r = e.elementFromPoint(t, i); if (null !== r) { for ( ; r && r.firstChild && r.firstChild.nodeType !== r.firstChild.TEXT_NODE; ) r = r.lastChild; const e = r.getBoundingClientRect(), i = window .getComputedStyle(r, null) .getPropertyValue('font'), s = r.innerText; let o, a = e.left, l = 0; if (t > e.left + e.width) l = s.length; else { const e = ce.getInstance(); for (let n = 0; n < s.length + 1; n++) { if ( ((o = e.getCharWidth(s.charAt(n), i) / 2), (a += o), t < a) ) { l = n; break; } a += o; } } n.setStart(r.firstChild, l), n.setEnd(r.firstChild, l); } return n; })(i, t.clientX, t.clientY) : i.caretRangeFromPoint(t.clientX, t.clientY) : document.caretRangeFromPoint(t.clientX, t.clientY)), !n || !n.startContainer) ) return { position: null, hitTarget: null }; const s = n.startContainer; let o = null; if (s.nodeType === s.TEXT_NODE) { const t = s.parentNode, i = t ? t.parentNode : null, r = i ? i.parentNode : null; if ( (r && r.nodeType === r.ELEMENT_NODE ? r.className : null) === K.CLASS_NAME ) return { position: e.getPositionFromDOMInfo(t, n.startOffset), hitTarget: null, }; o = s.parentNode; } else if (s.nodeType === s.ELEMENT_NODE) { const t = s.parentNode, i = t ? t.parentNode : null; if ( (i && i.nodeType === i.ELEMENT_NODE ? i.className : null) === K.CLASS_NAME ) return { position: e.getPositionFromDOMInfo(s, s.textContent.length), hitTarget: null, }; o = s; } return { position: null, hitTarget: o }; } static _doHitTestWithCaretPositionFromPoint(e, t) { const i = document.caretPositionFromPoint(t.clientX, t.clientY); if (i.offsetNode.nodeType === i.offsetNode.TEXT_NODE) { const t = i.offsetNode.parentNode, n = t ? t.parentNode : null, r = n ? n.parentNode : null; return (r && r.nodeType === r.ELEMENT_NODE ? r.className : null) === K.CLASS_NAME ? { position: e.getPositionFromDOMInfo( i.offsetNode.parentNode, i.offset ), hitTarget: null, } : { position: null, hitTarget: i.offsetNode.parentNode }; } if (i.offsetNode.nodeType === i.offsetNode.ELEMENT_NODE) { const t = i.offsetNode.parentNode; if ( (t && t.nodeType === t.ELEMENT_NODE ? t.className : null) === K.CLASS_NAME ) { const t = i.offsetNode.childNodes[ Math.min(i.offset, i.offsetNode.childNodes.length - 1) ]; if (t) return { position: e.getPositionFromDOMInfo(t, 0), hitTarget: null, }; } } return { position: null, hitTarget: i.offsetNode }; } static _doHitTestWithMoveToPoint(e, t) { let i = null, n = null; const r = document.body.createTextRange(); try { r.moveToPoint(t.clientX, t.clientY); } catch (e) { return { position: null, hitTarget: null }; } r.collapse(!0); const s = r ? r.parentElement() : null, o = s ? s.parentNode : null, a = o ? o.parentNode : null; if ( (a && a.nodeType === a.ELEMENT_NODE ? a.className : '') === K.CLASS_NAME ) { const t = r.duplicate(); t.moveToElementText(s), t.setEndPoint('EndToStart', r), (i = e.getPositionFromDOMInfo(s, t.text.length)), t.moveToElementText(e.viewDomNode); } else n = s; return ( r.moveToElementText(e.viewDomNode), { position: i, hitTarget: n } ); } static _doHitTest(e, t) { return 'function' == typeof document.caretRangeFromPoint ? this._doHitTestWithCaretRangeFromPoint(e, t) : document.caretPositionFromPoint ? this._doHitTestWithCaretPositionFromPoint( e, t.pos.toClientCoordinates() ) : document.body.createTextRange ? this._doHitTestWithMoveToPoint(e, t.pos.toClientCoordinates()) : { position: null, hitTarget: null }; } } class ce { constructor() { (this._cache = {}), (this._canvas = document.createElement('canvas')); } static getInstance() { return ce._INSTANCE || (ce._INSTANCE = new ce()), ce._INSTANCE; } getCharWidth(e, t) { const i = e + t; if (this._cache[i]) return this._cache[i]; const n = this._canvas.getContext('2d'); n.font = t; const r = n.measureText(e).width; return (this._cache[i] = r), r; } } ce._INSTANCE = null; var de = i(82334); function he(e) { return function (t, i) { let n = !1; return ( e && (n = e.mouseTargetIsWidget(i)), n || i.preventDefault(), i ); }; } class ue extends D { constructor(e, t, i) { super(), (this._context = e), (this.viewController = t), (this.viewHelper = i), (this.mouseTargetFactory = new le(this._context, i)), (this._mouseDownOperation = this._register( new ge( this._context, this.viewController, this.viewHelper, (e, t) => this._createMouseTarget(e, t), (e) => this._getMouseColumn(e) ) )), (this.lastMouseLeaveTime = -1); const n = new x(this.viewHelper.viewDomNode); this._register( n.onContextMenu(this.viewHelper.viewDomNode, (e) => this._onContextMenu(e, !0) ) ), this._register( n.onMouseMoveThrottled( this.viewHelper.viewDomNode, (e) => this._onMouseMove(e), he(this.mouseTargetFactory), ue.MOUSE_MOVE_MINIMUM_TIME ) ), this._register( n.onMouseUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e) ) ), this._register( n.onMouseLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e) ) ), this._register( n.onMouseDown(this.viewHelper.viewDomNode, (e) => this._onMouseDown(e) ) ), this._register( r.nm( this.viewHelper.viewDomNode, r.tw.MOUSE_WHEEL, (e) => { if ( (this.viewController.emitMouseWheel(e), !this._context.configuration.options.get(59)) ) return; const t = new m.q(e); if (t.browserEvent.ctrlKey || t.browserEvent.metaKey) { const e = de.C.getZoomLevel(), i = t.deltaY > 0 ? 1 : -1; de.C.setZoomLevel(e + i), t.preventDefault(), t.stopPropagation(); } }, { capture: !0, passive: !1 } ) ), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), super.dispose(); } onCursorStateChanged(e) { return this._mouseDownOperation.onCursorStateChanged(e), !1; } onFocusChanged(e) { return !1; } onScrollChanged(e) { return this._mouseDownOperation.onScrollChanged(), !1; } getTargetAtClientPoint(e, t) { const i = new w(e, t).toPageCoordinates(), n = S(this.viewHelper.viewDomNode); return i.y < n.y || i.y > n.y + n.height || i.x < n.x || i.x > n.x + n.width ? null : this.mouseTargetFactory.createMouseTarget( this.viewHelper.getLastRenderData(), n, i, null ); } _createMouseTarget(e, t) { return this.mouseTargetFactory.createMouseTarget( this.viewHelper.getLastRenderData(), e.editorPos, e.pos, t ? e.target : null ); } _getMouseColumn(e) { return this.mouseTargetFactory.getMouseColumn(e.editorPos, e.pos); } _onContextMenu(e, t) { this.viewController.emitContextMenu({ event: e, target: this._createMouseTarget(e, t), }); } _onMouseMove(e) { this._mouseDownOperation.isActive() || e.timestamp < this.lastMouseLeaveTime || this.viewController.emitMouseMove({ event: e, target: this._createMouseTarget(e, !0), }); } _onMouseLeave(e) { (this.lastMouseLeaveTime = new Date().getTime()), this.viewController.emitMouseLeave({ event: e, target: null }); } _onMouseUp(e) { this.viewController.emitMouseUp({ event: e, target: this._createMouseTarget(e, !0), }); } _onMouseDown(e) { const t = this._createMouseTarget(e, !0), i = 6 === t.type || 7 === t.type, n = 2 === t.type || 3 === t.type || 4 === t.type, r = 3 === t.type, s = this._context.configuration.options.get(90), o = 8 === t.type || 5 === t.type, a = 9 === t.type; let l = e.leftButton || e.middleButton; f.dz && e.leftButton && e.ctrlKey && (l = !1); const c = () => { e.preventDefault(), this.viewHelper.focusTextArea(); }; if (l && (i || (r && s))) c(), this._mouseDownOperation.start(t.type, e); else if (n) e.preventDefault(); else if (o) { const i = t.detail; this.viewHelper.shouldSuppressMouseDownOnViewZone(i.viewZoneId) && (c(), this._mouseDownOperation.start(t.type, e), e.preventDefault()); } else a && this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail) && (c(), e.preventDefault()); this.viewController.emitMouseDown({ event: e, target: t }); } } ue.MOUSE_MOVE_MINIMUM_TIME = 100; class ge extends a.JT { constructor(e, t, i, n, r) { super(), (this._context = e), (this._viewController = t), (this._viewHelper = i), (this._createMouseTarget = n), (this._getMouseColumn = r), (this._mouseMoveMonitor = this._register( new M(this._viewHelper.viewDomNode) )), (this._onScrollTimeout = this._register(new _._F())), (this._mouseState = new fe()), (this._currentSelection = new u.Y(1, 1, 1, 1)), (this._isActive = !1), (this._lastMouseEvent = null); } dispose() { super.dispose(); } isActive() { return this._isActive; } _onMouseDownThenMove(e) { (this._lastMouseEvent = e), this._mouseState.setModifiers(e); const t = this._findMousePosition(e, !0); t && (this._mouseState.isDragAndDrop ? this._viewController.emitMouseDrag({ event: e, target: t }) : this._dispatchMouse(t, !0)); } start(e, t) { (this._lastMouseEvent = t), this._mouseState.setStartedOnLineNumbers(3 === e), this._mouseState.setStartButtons(t), this._mouseState.setModifiers(t); const i = this._findMousePosition(t, !0); if (!i || !i.position) return; this._mouseState.trySetCount(t.detail, i.position), (t.detail = this._mouseState.count); const n = this._context.configuration.options; if ( !n.get(72) && n.get(25) && !n.get(13) && !this._mouseState.altKey && t.detail < 2 && !this._isActive && !this._currentSelection.isEmpty() && 6 === i.type && i.position && this._currentSelection.containsPosition(i.position) ) return ( (this._mouseState.isDragAndDrop = !0), (this._isActive = !0), void this._mouseMoveMonitor.startMonitoring( t.target, t.buttons, he(null), (e) => this._onMouseDownThenMove(e), () => { const e = this._findMousePosition(this._lastMouseEvent, !0); this._viewController.emitMouseDrop({ event: this._lastMouseEvent, target: e ? this._createMouseTarget(this._lastMouseEvent, !0) : null, }), this._stop(); } ) ); (this._mouseState.isDragAndDrop = !1), this._dispatchMouse(i, t.shiftKey), this._isActive || ((this._isActive = !0), this._mouseMoveMonitor.startMonitoring( t.target, t.buttons, he(null), (e) => this._onMouseDownThenMove(e), () => this._stop() )); } _stop() { (this._isActive = !1), this._onScrollTimeout.cancel(); } onScrollChanged() { this._isActive && this._onScrollTimeout.setIfNotSet(() => { if (!this._lastMouseEvent) return; const e = this._findMousePosition(this._lastMouseEvent, !1); e && (this._mouseState.isDragAndDrop || this._dispatchMouse(e, !0)); }, 10); } onCursorStateChanged(e) { this._currentSelection = e.selections[0]; } _getPositionOutsideEditor(e) { const t = e.editorPos, i = this._context.model, n = this._context.viewLayout, r = this._getMouseColumn(e); if (e.posy < t.y) { const i = Math.max(n.getCurrentScrollTop() - (t.y - e.posy), 0), s = re.getZoneAtCoord(this._context, i); if (s) { const e = this._helpPositionJumpOverViewZone(s); if (e) return new ie(null, 13, r, e); } const o = n.getLineNumberAtVerticalOffset(i); return new ie(null, 13, r, new Q.L(o, 1)); } if (e.posy > t.y + t.height) { const s = n.getCurrentScrollTop() + (e.posy - t.y), o = re.getZoneAtCoord(this._context, s); if (o) { const e = this._helpPositionJumpOverViewZone(o); if (e) return new ie(null, 13, r, e); } const a = n.getLineNumberAtVerticalOffset(s); return new ie(null, 13, r, new Q.L(a, i.getLineMaxColumn(a))); } const s = n.getLineNumberAtVerticalOffset( n.getCurrentScrollTop() + (e.posy - t.y) ); return e.posx < t.x ? new ie(null, 13, r, new Q.L(s, 1)) : e.posx > t.x + t.width ? new ie(null, 13, r, new Q.L(s, i.getLineMaxColumn(s))) : null; } _findMousePosition(e, t) { const i = this._getPositionOutsideEditor(e); if (i) return i; const n = this._createMouseTarget(e, t); if (!n.position) return null; if (8 === n.type || 5 === n.type) { const e = this._helpPositionJumpOverViewZone(n.detail); if (e) return new ie( n.element, n.type, n.mouseColumn, e, null, n.detail ); } return n; } _helpPositionJumpOverViewZone(e) { const t = new Q.L( this._currentSelection.selectionStartLineNumber, this._currentSelection.selectionStartColumn ), i = e.positionBefore, n = e.positionAfter; return i && n ? (i.isBefore(t) ? i : n) : null; } _dispatchMouse(e, t) { e.position && this._viewController.dispatchMouse({ position: e.position, mouseColumn: e.mouseColumn, startedOnLineNumbers: this._mouseState.startedOnLineNumbers, inSelectionMode: t, mouseDownCount: this._mouseState.count, altKey: this._mouseState.altKey, ctrlKey: this._mouseState.ctrlKey, metaKey: this._mouseState.metaKey, shiftKey: this._mouseState.shiftKey, leftButton: this._mouseState.leftButton, middleButton: this._mouseState.middleButton, }); } } class fe { constructor() { (this._altKey = !1), (this._ctrlKey = !1), (this._metaKey = !1), (this._shiftKey = !1), (this._leftButton = !1), (this._middleButton = !1), (this._startedOnLineNumbers = !1), (this._lastMouseDownPosition = null), (this._lastMouseDownPositionEqualCount = 0), (this._lastMouseDownCount = 0), (this._lastSetMouseDownCountTime = 0), (this.isDragAndDrop = !1); } get altKey() { return this._altKey; } get ctrlKey() { return this._ctrlKey; } get metaKey() { return this._metaKey; } get shiftKey() { return this._shiftKey; } get leftButton() { return this._leftButton; } get middleButton() { return this._middleButton; } get startedOnLineNumbers() { return this._startedOnLineNumbers; } get count() { return this._lastMouseDownCount; } setModifiers(e) { (this._altKey = e.altKey), (this._ctrlKey = e.ctrlKey), (this._metaKey = e.metaKey), (this._shiftKey = e.shiftKey); } setStartButtons(e) { (this._leftButton = e.leftButton), (this._middleButton = e.middleButton); } setStartedOnLineNumbers(e) { this._startedOnLineNumbers = e; } trySetCount(e, t) { const i = new Date().getTime(); i - this._lastSetMouseDownCountTime > fe.CLEAR_MOUSE_DOWN_COUNT_TIME && (e = 1), (this._lastSetMouseDownCountTime = i), e > this._lastMouseDownCount + 1 && (e = this._lastMouseDownCount + 1), this._lastMouseDownPosition && this._lastMouseDownPosition.equals(t) ? this._lastMouseDownPositionEqualCount++ : (this._lastMouseDownPositionEqualCount = 1), (this._lastMouseDownPosition = t), (this._lastMouseDownCount = Math.min( e, this._lastMouseDownPositionEqualCount )); } } fe.CLEAR_MOUSE_DOWN_COUNT_TIME = 400; var pe = i(10161); function me(e, t) { const i = { translationY: t.translationY, translationX: t.translationX, }; return ( e && ((i.translationY += e.translationY), (i.translationX += e.translationX)), i ); } class _e extends ue { constructor(e, t, i) { super(e, t, i), (this.viewHelper.linesContentDomNode.style.touchAction = 'none'), (this._installGestureHandlerTimeout = window.setTimeout(() => { if ( ((this._installGestureHandlerTimeout = -1), window.MSGesture) ) { const e = new MSGesture(), t = new MSGesture(); (e.target = this.viewHelper.linesContentDomNode), (t.target = this.viewHelper.linesContentDomNode), this.viewHelper.linesContentDomNode.addEventListener( 'pointerdown', (i) => { const n = i.pointerType; 'mouse' !== n ? 'touch' === n ? ((this._lastPointerType = 'touch'), e.addPointer(i.pointerId)) : ((this._lastPointerType = 'pen'), t.addPointer(i.pointerId)) : (this._lastPointerType = 'mouse'); } ), this._register( r.Y_( this.viewHelper.linesContentDomNode, 'MSGestureChange', (e) => this._onGestureChange(e), me ) ), this._register( r.nm( this.viewHelper.linesContentDomNode, 'MSGestureTap', (e) => this._onCaptureGestureTap(e), !0 ) ); } }, 100)), (this._lastPointerType = 'mouse'); } _onMouseDown(e) { 'mouse' === this._lastPointerType && super._onMouseDown(e); } _onCaptureGestureTap(e) { const t = new k(e, this.viewHelper.viewDomNode), i = this._createMouseTarget(t, !1); i.position && this.viewController.moveTo(i.position), t.browserEvent.fromElement ? (t.preventDefault(), this.viewHelper.focusTextArea()) : setTimeout(() => { this.viewHelper.focusTextArea(); }); } _onGestureChange(e) { this._context.model.deltaScrollNow( -e.translationX, -e.translationY ); } dispose() { window.clearTimeout(this._installGestureHandlerTimeout), super.dispose(); } } class be extends ue { constructor(e, t, i) { super(e, t, i), this._register( p.o.addTarget(this.viewHelper.linesContentDomNode) ), this._register( r.nm(this.viewHelper.linesContentDomNode, p.t.Tap, (e) => this.onTap(e) ) ), this._register( r.nm(this.viewHelper.linesContentDomNode, p.t.Change, (e) => this.onChange(e) ) ), this._register( r.nm( this.viewHelper.linesContentDomNode, p.t.Contextmenu, (e) => this._onContextMenu( new k(e, this.viewHelper.viewDomNode), !1 ) ) ), (this._lastPointerType = 'mouse'), this._register( r.nm( this.viewHelper.linesContentDomNode, 'pointerdown', (e) => { const t = e.pointerType; this._lastPointerType = 'mouse' !== t ? 'touch' === t ? 'touch' : 'pen' : 'mouse'; } ) ); const n = new L(this.viewHelper.viewDomNode); this._register( n.onPointerMoveThrottled( this.viewHelper.viewDomNode, (e) => this._onMouseMove(e), he(this.mouseTargetFactory), ue.MOUSE_MOVE_MINIMUM_TIME ) ), this._register( n.onPointerUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e) ) ), this._register( n.onPointerLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e) ) ), this._register( n.onPointerDown(this.viewHelper.viewDomNode, (e) => this._onMouseDown(e) ) ); } onTap(e) { if ( !e.initialTarget || !this.viewHelper.linesContentDomNode.contains(e.initialTarget) ) return; e.preventDefault(), this.viewHelper.focusTextArea(); const t = this._createMouseTarget( new k(e, this.viewHelper.viewDomNode), !1 ); t.position && this.viewController.dispatchMouse({ position: t.position, mouseColumn: t.position.column, startedOnLineNumbers: !1, mouseDownCount: e.tapCount, inSelectionMode: !1, altKey: !1, ctrlKey: !1, metaKey: !1, shiftKey: !1, leftButton: !1, middleButton: !1, }); } onChange(e) { 'touch' === this._lastPointerType && this._context.model.deltaScrollNow( -e.translationX, -e.translationY ); } _onMouseDown(e) { (e.target && this.viewHelper.linesContentDomNode.contains(e.target) && 'touch' === this._lastPointerType) || super._onMouseDown(e); } } class ve extends ue { constructor(e, t, i) { super(e, t, i), this._register( p.o.addTarget(this.viewHelper.linesContentDomNode) ), this._register( r.nm(this.viewHelper.linesContentDomNode, p.t.Tap, (e) => this.onTap(e) ) ), this._register( r.nm(this.viewHelper.linesContentDomNode, p.t.Change, (e) => this.onChange(e) ) ), this._register( r.nm( this.viewHelper.linesContentDomNode, p.t.Contextmenu, (e) => this._onContextMenu( new k(e, this.viewHelper.viewDomNode), !1 ) ) ); } onTap(e) { e.preventDefault(), this.viewHelper.focusTextArea(); const t = this._createMouseTarget( new k(e, this.viewHelper.viewDomNode), !1 ); t.position && this.viewController.moveTo(t.position); } onChange(e) { this._context.model.deltaScrollNow( -e.translationX, -e.translationY ); } } class ye extends a.JT { constructor(e, t, i) { super(), f.gn && pe.D.pointerEvents ? (this.handler = this._register(new be(e, t, i))) : window.TouchEvent ? (this.handler = this._register(new ve(e, t, i))) : window.navigator.pointerEnabled || window.PointerEvent ? (this.handler = this._register(new _e(e, t, i))) : (this.handler = this._register(new ue(e, t, i))); } getTargetAtClientPoint(e, t) { return this.handler.getTargetAtClientPoint(e, t); } } var we = i(97295), Ce = i(35715), Se = i(15887); class ke extends D {} var xe = i(27869); class Le extends ke { constructor(e) { super(), (this._context = e), this._readConfig(), (this._lastCursorModelPosition = new Q.L(1, 1)), (this._renderResult = null), this._context.addEventHandler(this); } _readConfig() { const e = this._context.configuration.options; this._lineHeight = e.get(51); const t = e.get(52); (this._renderLineNumbers = t.renderType), (this._renderCustomLineNumbers = t.renderFn), (this._renderFinalNewline = e.get(76)); const i = e.get(117); (this._lineNumbersLeft = i.lineNumbersLeft), (this._lineNumbersWidth = i.lineNumbersWidth); } dispose() { this._context.removeEventHandler(this), (this._renderResult = null), super.dispose(); } onConfigurationChanged(e) { return this._readConfig(), !0; } onCursorStateChanged(e) { const t = e.selections[0].getPosition(); return ( (this._lastCursorModelPosition = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( t )), 2 === this._renderLineNumbers || 3 === this._renderLineNumbers ); } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged; } onZonesChanged(e) { return !0; } _getLineRenderLineNumber(e) { const t = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(e, 1) ); if (1 !== t.column) return ''; const i = t.lineNumber; if (this._renderCustomLineNumbers) return this._renderCustomLineNumbers(i); if (2 === this._renderLineNumbers) { const e = Math.abs(this._lastCursorModelPosition.lineNumber - i); return 0 === e ? '' + i + '' : String(e); } return 3 === this._renderLineNumbers ? this._lastCursorModelPosition.lineNumber === i || i % 10 == 0 ? String(i) : '' : String(i); } prepareRender(e) { if (0 === this._renderLineNumbers) return void (this._renderResult = null); const t = f.IJ ? this._lineHeight % 2 == 0 ? ' lh-even' : ' lh-odd' : '', i = e.visibleRange.startLineNumber, n = e.visibleRange.endLineNumber, r = '
    ', s = this._context.model.getLineCount(), o = []; for (let e = i; e <= n; e++) { const t = e - i; if ( !this._renderFinalNewline && e === s && 0 === this._context.model.getLineLength(e) ) { o[t] = ''; continue; } const n = this._getLineRenderLineNumber(e); o[t] = n ? r + n + '
    ' : ''; } this._renderResult = o; } render(e, t) { if (!this._renderResult) return ''; const i = t - e; return i < 0 || i >= this._renderResult.length ? '' : this._renderResult[i]; } } (Le.CLASS_NAME = 'line-numbers'), (0, Y.Ic)((e, t) => { const i = e.getColor(xe.hw); i && t.addRule(`.monaco-editor .line-numbers { color: ${i}; }`); const n = e.getColor(xe.DD); n && t.addRule( `.monaco-editor .current-line ~ .line-numbers { color: ${n}; }` ); }); class Me extends N { constructor(e) { super(e); const t = this._context.configuration.options, i = t.get(117); (this._canUseLayerHinting = !t.get(23)), (this._contentLeft = i.contentLeft), (this._glyphMarginLeft = i.glyphMarginLeft), (this._glyphMarginWidth = i.glyphMarginWidth), (this._domNode = (0, g.X)(document.createElement('div'))), this._domNode.setClassName(Me.OUTER_CLASS_NAME), this._domNode.setPosition('absolute'), this._domNode.setAttribute('role', 'presentation'), this._domNode.setAttribute('aria-hidden', 'true'), (this._glyphMarginBackgroundDomNode = (0, g.X)( document.createElement('div') )), this._glyphMarginBackgroundDomNode.setClassName(Me.CLASS_NAME), this._domNode.appendChild(this._glyphMarginBackgroundDomNode); } dispose() { super.dispose(); } getDomNode() { return this._domNode; } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(117); return ( (this._canUseLayerHinting = !t.get(23)), (this._contentLeft = i.contentLeft), (this._glyphMarginLeft = i.glyphMarginLeft), (this._glyphMarginWidth = i.glyphMarginWidth), !0 ); } onScrollChanged(e) { return super.onScrollChanged(e) || e.scrollTopChanged; } prepareRender(e) {} render(e) { this._domNode.setLayerHinting(this._canUseLayerHinting), this._domNode.setContain('strict'); const t = e.scrollTop - e.bigNumbersDelta; this._domNode.setTop(-t); const i = Math.min(e.scrollHeight, 1e6); this._domNode.setHeight(i), this._domNode.setWidth(this._contentLeft), this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft), this._glyphMarginBackgroundDomNode.setWidth( this._glyphMarginWidth ), this._glyphMarginBackgroundDomNode.setHeight(i); } } (Me.CLASS_NAME = 'glyph-margin'), (Me.OUTER_CLASS_NAME = 'margin'); var De = i(59410), Ne = i(96542); class Ee { constructor(e, t, i) { (this.top = e), (this.left = t), (this.width = i); } setWidth(e) { return new Ee(this.top, this.left, e); } } const Te = b.un || b.vU; class Ie extends N { constructor(e, t, i) { super(e), (this._primaryCursorPosition = new Q.L(1, 1)), (this._primaryCursorVisibleRange = null), (this._viewController = t), (this._viewHelper = i), (this._scrollLeft = 0), (this._scrollTop = 0); const r = this._context.configuration.options, s = r.get(117); this._setAccessibilityOptions(r), (this._contentLeft = s.contentLeft), (this._contentWidth = s.contentWidth), (this._contentHeight = s.height), (this._fontInfo = r.get(36)), (this._lineHeight = r.get(51)), (this._emptySelectionClipboard = r.get(26)), (this._copyWithSyntaxHighlighting = r.get(16)), (this._visibleTextArea = null), (this._selections = [new u.Y(1, 1, 1, 1)]), (this._modelSelections = [new u.Y(1, 1, 1, 1)]), (this._lastRenderPosition = null), (this.textArea = (0, g.X)(document.createElement('textarea'))), E.write(this.textArea, 6), this.textArea.setClassName(`inputarea ${Ne.S}`), this.textArea.setAttribute('wrap', 'off'), this.textArea.setAttribute('autocorrect', 'off'), this.textArea.setAttribute('autocapitalize', 'off'), this.textArea.setAttribute('autocomplete', 'off'), this.textArea.setAttribute('spellcheck', 'false'), this.textArea.setAttribute('aria-label', this._getAriaLabel(r)), this.textArea.setAttribute('tabindex', String(r.get(102))), this.textArea.setAttribute('role', 'textbox'), this.textArea.setAttribute( 'aria-roledescription', n.N('editor', 'editor') ), this.textArea.setAttribute('aria-multiline', 'true'), this.textArea.setAttribute('aria-haspopup', 'false'), this.textArea.setAttribute('aria-autocomplete', 'both'), f.$L && r.get(72) && this.textArea.setAttribute('readonly', 'true'), (this.textAreaCover = (0, g.X)(document.createElement('div'))), this.textAreaCover.setPosition('absolute'); const o = { getLineCount: () => this._context.model.getLineCount(), getLineMaxColumn: (e) => this._context.model.getLineMaxColumn(e), getValueInRange: (e, t) => this._context.model.getValueInRange(e, t), }, a = { getDataToCopy: (e) => { const t = this._context.model.getPlainTextToCopy( this._modelSelections, this._emptySelectionClipboard, f.ED ), i = this._context.model.getEOL(), n = this._emptySelectionClipboard && 1 === this._modelSelections.length && this._modelSelections[0].isEmpty(), r = Array.isArray(t) ? t : null, s = Array.isArray(t) ? t.join(i) : t; let o, a = null; if ( e && (Ce.RA.forceCopyWithSyntaxHighlighting || (this._copyWithSyntaxHighlighting && s.length < 65536)) ) { const e = this._context.model.getRichTextToCopy( this._modelSelections, this._emptySelectionClipboard ); e && ((o = e.html), (a = e.mode)); } return { isFromEmptySelection: n, multicursorText: r, text: s, html: o, mode: a, }; }, getScreenReaderContent: (e) => { if (1 === this._accessibilitySupport) { if (f.dz) { const e = this._selections[0]; if (e.isEmpty()) { const t = e.getStartPosition(); let i = this._getWordBeforePosition(t); if ( (0 === i.length && (i = this._getCharacterBeforePosition(t)), i.length > 0) ) return new Se.u(i, i.length, i.length, t, t); } } return Se.u.EMPTY; } return Se.e.fromEditorSelection( e, o, this._selections[0], this._accessibilityPageSize, 0 === this._accessibilitySupport ); }, deduceModelPosition: (e, t, i) => this._context.model.deduceModelPositionRelativeToViewPosition( e, t, i ), }; (this._textAreaInput = this._register(new Ce.Fz(a, this.textArea))), this._register( this._textAreaInput.onKeyDown((e) => { this._viewController.emitKeyDown(e); }) ), this._register( this._textAreaInput.onKeyUp((e) => { this._viewController.emitKeyUp(e); }) ), this._register( this._textAreaInput.onPaste((e) => { let t = !1, i = null, n = null; e.metadata && ((t = this._emptySelectionClipboard && !!e.metadata.isFromEmptySelection), (i = void 0 !== e.metadata.multicursorText ? e.metadata.multicursorText : null), (n = e.metadata.mode)), this._viewController.paste(e.text, t, i, n); }) ), this._register( this._textAreaInput.onCut(() => { this._viewController.cut(); }) ), this._register( this._textAreaInput.onType((e) => { e.replaceCharCnt ? this._viewController.replacePreviousChar( e.text, e.replaceCharCnt ) : this._viewController.type(e.text); }) ), this._register( this._textAreaInput.onSelectionChangeRequest((e) => { this._viewController.setSelection(e); }) ), this._register( this._textAreaInput.onCompositionStart((e) => { const t = this._selections[0].startLineNumber, i = this._selections[0].startColumn - (e.moveOneCharacterLeft ? 1 : 0); this._context.model.revealRange( 'keyboard', !0, new X.e(t, i, t, i), 0, 1 ); const n = this._viewHelper.visibleRangeForPositionRelativeToEditor( t, i ); n && ((this._visibleTextArea = new Ee( this._context.viewLayout.getVerticalOffsetForLineNumber( t ), n.left, Te ? 0 : 1 )), this._render()), this.textArea.setClassName(`inputarea ${Ne.S} ime-input`), this._viewController.compositionStart(); }) ), this._register( this._textAreaInput.onCompositionUpdate((e) => { b.un ? (this._visibleTextArea = this._visibleTextArea.setWidth( 0 )) : (this._visibleTextArea = this._visibleTextArea.setWidth( (function (e, t) { const i = document .createElement('canvas') .getContext('2d'); var n; i.font = ('normal', `normal normal ${(n = t).fontWeight} ${ n.fontSize }px / ${n.lineHeight}px ${n.fontFamily}`); const r = i.measureText(e); return b.vU ? r.width + 2 : r.width; })(e.data, this._fontInfo) )), this._render(); }) ), this._register( this._textAreaInput.onCompositionEnd(() => { (this._visibleTextArea = null), this._render(), this.textArea.setClassName(`inputarea ${Ne.S}`), this._viewController.compositionEnd(); }) ), this._register( this._textAreaInput.onFocus(() => { this._context.model.setHasFocus(!0); }) ), this._register( this._textAreaInput.onBlur(() => { this._context.model.setHasFocus(!1); }) ); } dispose() { super.dispose(); } _getWordBeforePosition(e) { const t = this._context.model.getLineContent(e.lineNumber), i = (0, De.u)(this._context.configuration.options.get(105)); let n = e.column, r = 0; for (; n > 1; ) { const s = t.charCodeAt(n - 2); if (0 !== i.get(s) || r > 50) return t.substring(n - 1, e.column - 1); r++, n--; } return t.substring(0, e.column - 1); } _getCharacterBeforePosition(e) { if (e.column > 1) { const t = this._context.model .getLineContent(e.lineNumber) .charAt(e.column - 2); if (!we.ZG(t.charCodeAt(0))) return t; } return ''; } _getAriaLabel(e) { return 1 === e.get(2) ? n.N( 'accessibilityOffAriaLabel', 'The editor is not accessible at this time. Press {0} for options.', f.IJ ? 'Shift+Alt+F1' : 'Alt+F1' ) : e.get(4); } _setAccessibilityOptions(e) { this._accessibilitySupport = e.get(2); const t = e.get(3); 2 === this._accessibilitySupport && t === H.BH.accessibilityPageSize.defaultValue ? (this._accessibilityPageSize = 100) : (this._accessibilityPageSize = t); } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(117); return ( this._setAccessibilityOptions(t), (this._contentLeft = i.contentLeft), (this._contentWidth = i.contentWidth), (this._contentHeight = i.height), (this._fontInfo = t.get(36)), (this._lineHeight = t.get(51)), (this._emptySelectionClipboard = t.get(26)), (this._copyWithSyntaxHighlighting = t.get(16)), this.textArea.setAttribute('aria-label', this._getAriaLabel(t)), this.textArea.setAttribute('tabindex', String(t.get(102))), f.$L && e.hasChanged(72) && (t.get(72) ? this.textArea.setAttribute('readonly', 'true') : this.textArea.removeAttribute('readonly')), e.hasChanged(2) && this._textAreaInput.writeScreenReaderContent( 'strategy changed' ), !0 ); } onCursorStateChanged(e) { return ( (this._selections = e.selections.slice(0)), (this._modelSelections = e.modelSelections.slice(0)), this._textAreaInput.writeScreenReaderContent('selection changed'), !0 ); } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return ( (this._scrollLeft = e.scrollLeft), (this._scrollTop = e.scrollTop), !0 ); } onZonesChanged(e) { return !0; } isFocused() { return this._textAreaInput.isFocused(); } focusTextArea() { this._textAreaInput.focusTextArea(); } getLastRenderData() { return this._lastRenderPosition; } setAriaOptions(e) { e.activeDescendant ? (this.textArea.setAttribute('aria-haspopup', 'true'), this.textArea.setAttribute('aria-autocomplete', 'list'), this.textArea.setAttribute( 'aria-activedescendant', e.activeDescendant )) : (this.textArea.setAttribute('aria-haspopup', 'false'), this.textArea.setAttribute('aria-autocomplete', 'both'), this.textArea.removeAttribute('aria-activedescendant')), e.role && this.textArea.setAttribute('role', e.role); } prepareRender(e) { (this._primaryCursorPosition = new Q.L( this._selections[0].positionLineNumber, this._selections[0].positionColumn )), (this._primaryCursorVisibleRange = e.visibleRangeForPosition( this._primaryCursorPosition )); } render(e) { this._textAreaInput.writeScreenReaderContent('render'), this._render(); } _render() { if (this._visibleTextArea) return void this._renderInsideEditor( null, this._visibleTextArea.top - this._scrollTop, this._contentLeft + this._visibleTextArea.left - this._scrollLeft, this._visibleTextArea.width, this._lineHeight ); if (!this._primaryCursorVisibleRange) return void this._renderAtTopLeft(); const e = this._contentLeft + this._primaryCursorVisibleRange.left - this._scrollLeft; if ( e < this._contentLeft || e > this._contentLeft + this._contentWidth ) return void this._renderAtTopLeft(); const t = this._context.viewLayout.getVerticalOffsetForLineNumber( this._selections[0].positionLineNumber ) - this._scrollTop; t < 0 || t > this._contentHeight ? this._renderAtTopLeft() : f.dz ? this._renderInsideEditor( this._primaryCursorPosition, t, e, Te ? 0 : 1, this._lineHeight ) : this._renderInsideEditor( this._primaryCursorPosition, t, e, Te ? 0 : 1, Te ? 0 : 1 ); } _renderInsideEditor(e, t, i, n, r) { this._lastRenderPosition = e; const s = this.textArea, o = this.textAreaCover; c.V.applyFontInfo(s, this._fontInfo), s.setTop(t), s.setLeft(i), s.setWidth(n), s.setHeight(r), o.setTop(0), o.setLeft(0), o.setWidth(0), o.setHeight(0); } _renderAtTopLeft() { this._lastRenderPosition = null; const e = this.textArea, t = this.textAreaCover; if ( (c.V.applyFontInfo(e, this._fontInfo), e.setTop(0), e.setLeft(0), t.setTop(0), t.setLeft(0), Te) ) return ( e.setWidth(0), e.setHeight(0), t.setWidth(0), void t.setHeight(0) ); e.setWidth(1), e.setHeight(1), t.setWidth(1), t.setHeight(1); const i = this._context.configuration.options; i.get(42) ? t.setClassName( 'monaco-editor-background textAreaCover ' + Me.OUTER_CLASS_NAME ) : 0 !== i.get(52).renderType ? t.setClassName( 'monaco-editor-background textAreaCover ' + Le.CLASS_NAME ) : t.setClassName('monaco-editor-background textAreaCover'); } } var Oe = i(18728); class Ae { constructor(e, t, i, n) { (this.configuration = e), (this.viewModel = t), (this.userInputEvents = i), (this.commandDelegate = n); } paste(e, t, i, n) { this.commandDelegate.paste(e, t, i, n); } type(e) { this.commandDelegate.type(e); } replacePreviousChar(e, t) { this.commandDelegate.replacePreviousChar(e, t); } compositionStart() { this.commandDelegate.startComposition(); } compositionEnd() { this.commandDelegate.endComposition(); } cut() { this.commandDelegate.cut(); } setSelection(e) { Oe.CoreNavigationCommands.SetSelection.runCoreEditorCommand( this.viewModel, { source: 'keyboard', selection: e } ); } _validateViewColumn(e) { const t = this.viewModel.getLineMinColumn(e.lineNumber); return e.column < t ? new Q.L(e.lineNumber, t) : e; } _hasMulticursorModifier(e) { switch (this.configuration.options.get(61)) { case 'altKey': return e.altKey; case 'ctrlKey': return e.ctrlKey; case 'metaKey': return e.metaKey; default: return !1; } } _hasNonMulticursorModifier(e) { switch (this.configuration.options.get(61)) { case 'altKey': return e.ctrlKey || e.metaKey; case 'ctrlKey': return e.altKey || e.metaKey; case 'metaKey': return e.ctrlKey || e.altKey; default: return !1; } } dispatchMouse(e) { const t = this.configuration.options, i = f.IJ && t.get(88), n = t.get(13); e.middleButton && !i ? this._columnSelect(e.position, e.mouseColumn, e.inSelectionMode) : e.startedOnLineNumbers ? this._hasMulticursorModifier(e) ? e.inSelectionMode ? this._lastCursorLineSelect(e.position) : this._createCursor(e.position, !0) : e.inSelectionMode ? this._lineSelectDrag(e.position) : this._lineSelect(e.position) : e.mouseDownCount >= 4 ? this._selectAll() : 3 === e.mouseDownCount ? this._hasMulticursorModifier(e) ? e.inSelectionMode ? this._lastCursorLineSelectDrag(e.position) : this._lastCursorLineSelect(e.position) : e.inSelectionMode ? this._lineSelectDrag(e.position) : this._lineSelect(e.position) : 2 === e.mouseDownCount ? this._hasMulticursorModifier(e) ? this._lastCursorWordSelect(e.position) : e.inSelectionMode ? this._wordSelectDrag(e.position) : this._wordSelect(e.position) : this._hasMulticursorModifier(e) ? this._hasNonMulticursorModifier(e) || (e.shiftKey ? this._columnSelect(e.position, e.mouseColumn, !0) : e.inSelectionMode ? this._lastCursorMoveToSelect(e.position) : this._createCursor(e.position, !1)) : e.inSelectionMode ? e.altKey || n ? this._columnSelect(e.position, e.mouseColumn, !0) : this._moveToSelect(e.position) : this.moveTo(e.position); } _usualArgs(e) { return ( (e = this._validateViewColumn(e)), { source: 'mouse', position: this._convertViewToModelPosition(e), viewPosition: e, } ); } moveTo(e) { Oe.CoreNavigationCommands.MoveTo.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _moveToSelect(e) { Oe.CoreNavigationCommands.MoveToSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _columnSelect(e, t, i) { (e = this._validateViewColumn(e)), Oe.CoreNavigationCommands.ColumnSelect.runCoreEditorCommand( this.viewModel, { source: 'mouse', position: this._convertViewToModelPosition(e), viewPosition: e, mouseColumn: t, doColumnSelect: i, } ); } _createCursor(e, t) { (e = this._validateViewColumn(e)), Oe.CoreNavigationCommands.CreateCursor.runCoreEditorCommand( this.viewModel, { source: 'mouse', position: this._convertViewToModelPosition(e), viewPosition: e, wholeLine: t, } ); } _lastCursorMoveToSelect(e) { Oe.CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _wordSelect(e) { Oe.CoreNavigationCommands.WordSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _wordSelectDrag(e) { Oe.CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _lastCursorWordSelect(e) { Oe.CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _lineSelect(e) { Oe.CoreNavigationCommands.LineSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _lineSelectDrag(e) { Oe.CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _lastCursorLineSelect(e) { Oe.CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _lastCursorLineSelectDrag(e) { Oe.CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand( this.viewModel, this._usualArgs(e) ); } _selectAll() { Oe.CoreNavigationCommands.SelectAll.runCoreEditorCommand( this.viewModel, { source: 'mouse' } ); } _convertViewToModelPosition(e) { return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition( e ); } emitKeyDown(e) { this.userInputEvents.emitKeyDown(e); } emitKeyUp(e) { this.userInputEvents.emitKeyUp(e); } emitContextMenu(e) { this.userInputEvents.emitContextMenu(e); } emitMouseMove(e) { this.userInputEvents.emitMouseMove(e); } emitMouseLeave(e) { this.userInputEvents.emitMouseLeave(e); } emitMouseUp(e) { this.userInputEvents.emitMouseUp(e); } emitMouseDown(e) { this.userInputEvents.emitMouseDown(e); } emitMouseDrag(e) { this.userInputEvents.emitMouseDrag(e); } emitMouseDrop(e) { this.userInputEvents.emitMouseDrop(e); } emitMouseWheel(e) { this.userInputEvents.emitMouseWheel(e); } } class Re { constructor(e) { (this.onKeyDown = null), (this.onKeyUp = null), (this.onContextMenu = null), (this.onMouseMove = null), (this.onMouseLeave = null), (this.onMouseDown = null), (this.onMouseUp = null), (this.onMouseDrag = null), (this.onMouseDrop = null), (this.onMouseWheel = null), (this._coordinatesConverter = e); } emitKeyDown(e) { this.onKeyDown && this.onKeyDown(e); } emitKeyUp(e) { this.onKeyUp && this.onKeyUp(e); } emitContextMenu(e) { this.onContextMenu && this.onContextMenu(this._convertViewToModelMouseEvent(e)); } emitMouseMove(e) { this.onMouseMove && this.onMouseMove(this._convertViewToModelMouseEvent(e)); } emitMouseLeave(e) { this.onMouseLeave && this.onMouseLeave(this._convertViewToModelMouseEvent(e)); } emitMouseDown(e) { this.onMouseDown && this.onMouseDown(this._convertViewToModelMouseEvent(e)); } emitMouseUp(e) { this.onMouseUp && this.onMouseUp(this._convertViewToModelMouseEvent(e)); } emitMouseDrag(e) { this.onMouseDrag && this.onMouseDrag(this._convertViewToModelMouseEvent(e)); } emitMouseDrop(e) { this.onMouseDrop && this.onMouseDrop(this._convertViewToModelMouseEvent(e)); } emitMouseWheel(e) { this.onMouseWheel && this.onMouseWheel(e); } _convertViewToModelMouseEvent(e) { return e.target ? { event: e.event, target: this._convertViewToModelMouseTarget(e.target), } : e; } _convertViewToModelMouseTarget(e) { return Re.convertViewToModelMouseTarget( e, this._coordinatesConverter ); } static convertViewToModelMouseTarget(e, t) { return new Pe( e.element, e.type, e.mouseColumn, e.position ? t.convertViewPositionToModelPosition(e.position) : null, e.range ? t.convertViewRangeToModelRange(e.range) : null, e.detail ); } } class Pe { constructor(e, t, i, n, r, s) { (this.element = e), (this.type = t), (this.mouseColumn = i), (this.position = n), (this.range = r), (this.detail = s); } toString() { return ie.toString(this); } } var Fe = i(50072); class Be { constructor(e) { (this._createLine = e), this._set(1, []); } flush() { this._set(1, []); } _set(e, t) { (this._lines = t), (this._rendLineNumberStart = e); } _get() { return { rendLineNumberStart: this._rendLineNumberStart, lines: this._lines, }; } getStartLineNumber() { return this._rendLineNumberStart; } getEndLineNumber() { return this._rendLineNumberStart + this._lines.length - 1; } getCount() { return this._lines.length; } getLine(e) { const t = e - this._rendLineNumberStart; if (t < 0 || t >= this._lines.length) throw new Error('Illegal value for lineNumber'); return this._lines[t]; } onLinesDeleted(e, t) { if (0 === this.getCount()) return null; const i = this.getStartLineNumber(), n = this.getEndLineNumber(); if (t < i) { const i = t - e + 1; return (this._rendLineNumberStart -= i), null; } if (e > n) return null; let r = 0, s = 0; for (let o = i; o <= n; o++) { const i = o - this._rendLineNumberStart; e <= o && o <= t && (0 === s ? ((r = i), (s = 1)) : s++); } if (e < i) { let n = 0; (n = t < i ? t - e + 1 : i - e), (this._rendLineNumberStart -= n); } return this._lines.splice(r, s); } onLinesChanged(e, t) { if (0 === this.getCount()) return !1; const i = this.getStartLineNumber(), n = this.getEndLineNumber(); let r = !1; for (let s = e; s <= t; s++) s >= i && s <= n && (this._lines[s - this._rendLineNumberStart].onContentChanged(), (r = !0)); return r; } onLinesInserted(e, t) { if (0 === this.getCount()) return null; const i = t - e + 1, n = this.getStartLineNumber(), r = this.getEndLineNumber(); if (e <= n) return (this._rendLineNumberStart += i), null; if (e > r) return null; if (i + e > r) return this._lines.splice( e - this._rendLineNumberStart, r - e + 1 ); const s = []; for (let e = 0; e < i; e++) s[e] = this._createLine(); const o = e - this._rendLineNumberStart, a = this._lines.slice(0, o), l = this._lines.slice(o, this._lines.length - i), c = this._lines.slice(this._lines.length - i, this._lines.length); return (this._lines = a.concat(s).concat(l)), c; } onTokensChanged(e) { if (0 === this.getCount()) return !1; const t = this.getStartLineNumber(), i = this.getEndLineNumber(); let n = !1; for (let r = 0, s = e.length; r < s; r++) { const s = e[r]; if (s.toLineNumber < t || s.fromLineNumber > i) continue; const o = Math.max(t, s.fromLineNumber), a = Math.min(i, s.toLineNumber); for (let e = o; e <= a; e++) { const t = e - this._rendLineNumberStart; this._lines[t].onTokensChanged(), (n = !0); } } return n; } } class We { constructor(e) { (this._host = e), (this.domNode = this._createDomNode()), (this._linesCollection = new Be(() => this._host.createVisibleLine() )); } _createDomNode() { const e = (0, g.X)(document.createElement('div')); return ( e.setClassName('view-layer'), e.setPosition('absolute'), e.domNode.setAttribute('role', 'presentation'), e.domNode.setAttribute('aria-hidden', 'true'), e ); } onConfigurationChanged(e) { return !!e.hasChanged(117); } onFlushed(e) { return this._linesCollection.flush(), !0; } onLinesChanged(e) { return this._linesCollection.onLinesChanged( e.fromLineNumber, e.toLineNumber ); } onLinesDeleted(e) { const t = this._linesCollection.onLinesDeleted( e.fromLineNumber, e.toLineNumber ); if (t) for (let e = 0, i = t.length; e < i; e++) { const i = t[e].getDomNode(); i && this.domNode.domNode.removeChild(i); } return !0; } onLinesInserted(e) { const t = this._linesCollection.onLinesInserted( e.fromLineNumber, e.toLineNumber ); if (t) for (let e = 0, i = t.length; e < i; e++) { const i = t[e].getDomNode(); i && this.domNode.domNode.removeChild(i); } return !0; } onScrollChanged(e) { return e.scrollTopChanged; } onTokensChanged(e) { return this._linesCollection.onTokensChanged(e.ranges); } onZonesChanged(e) { return !0; } getStartLineNumber() { return this._linesCollection.getStartLineNumber(); } getEndLineNumber() { return this._linesCollection.getEndLineNumber(); } getVisibleLine(e) { return this._linesCollection.getLine(e); } renderLines(e) { const t = this._linesCollection._get(), i = new Ye(this.domNode.domNode, this._host, e), n = { rendLineNumberStart: t.rendLineNumberStart, lines: t.lines, linesLength: t.lines.length, }, r = i.render( n, e.startLineNumber, e.endLineNumber, e.relativeVerticalOffset ); this._linesCollection._set(r.rendLineNumberStart, r.lines); } } class Ye { constructor(e, t, i) { (this.domNode = e), (this.host = t), (this.viewportData = i); } render(e, t, i, n) { const r = { rendLineNumberStart: e.rendLineNumberStart, lines: e.lines.slice(0), linesLength: e.linesLength, }; if ( r.rendLineNumberStart + r.linesLength - 1 < t || i < r.rendLineNumberStart ) { (r.rendLineNumberStart = t), (r.linesLength = i - t + 1), (r.lines = []); for (let e = t; e <= i; e++) r.lines[e - t] = this.host.createVisibleLine(); return this._finishRendering(r, !0, n), r; } if ( (this._renderUntouchedLines( r, Math.max(t - r.rendLineNumberStart, 0), Math.min(i - r.rendLineNumberStart, r.linesLength - 1), n, t ), r.rendLineNumberStart > t) ) { const e = t, s = Math.min(i, r.rendLineNumberStart - 1); e <= s && (this._insertLinesBefore(r, e, s, n, t), (r.linesLength += s - e + 1)); } else if (r.rendLineNumberStart < t) { const e = Math.min(r.linesLength, t - r.rendLineNumberStart); e > 0 && (this._removeLinesBefore(r, e), (r.linesLength -= e)); } if ( ((r.rendLineNumberStart = t), r.rendLineNumberStart + r.linesLength - 1 < i) ) { const e = r.rendLineNumberStart + r.linesLength, s = i; e <= s && (this._insertLinesAfter(r, e, s, n, t), (r.linesLength += s - e + 1)); } else if (r.rendLineNumberStart + r.linesLength - 1 > i) { const e = Math.max(0, i - r.rendLineNumberStart + 1), t = r.linesLength - 1 - e + 1; t > 0 && (this._removeLinesAfter(r, t), (r.linesLength -= t)); } return this._finishRendering(r, !1, n), r; } _renderUntouchedLines(e, t, i, n, r) { const s = e.rendLineNumberStart, o = e.lines; for (let e = t; e <= i; e++) { const t = s + e; o[e].layoutLine(t, n[t - r]); } } _insertLinesBefore(e, t, i, n, r) { const s = []; let o = 0; for (let e = t; e <= i; e++) s[o++] = this.host.createVisibleLine(); e.lines = s.concat(e.lines); } _removeLinesBefore(e, t) { for (let i = 0; i < t; i++) { const t = e.lines[i].getDomNode(); t && this.domNode.removeChild(t); } e.lines.splice(0, t); } _insertLinesAfter(e, t, i, n, r) { const s = []; let o = 0; for (let e = t; e <= i; e++) s[o++] = this.host.createVisibleLine(); e.lines = e.lines.concat(s); } _removeLinesAfter(e, t) { const i = e.linesLength - t; for (let n = 0; n < t; n++) { const t = e.lines[i + n].getDomNode(); t && this.domNode.removeChild(t); } e.lines.splice(i, t); } _finishRenderingNewLines(e, t, i, n) { const r = this.domNode.lastChild; t || !r ? (this.domNode.innerHTML = i) : r.insertAdjacentHTML('afterend', i); let s = this.domNode.lastChild; for (let t = e.linesLength - 1; t >= 0; t--) { const i = e.lines[t]; n[t] && (i.setDomNode(s), (s = s.previousSibling)); } } _finishRenderingInvalidLines(e, t, i) { const n = document.createElement('div'); n.innerHTML = t; for (let t = 0; t < e.linesLength; t++) { const r = e.lines[t]; if (i[t]) { const e = n.firstChild, t = r.getDomNode(); t.parentNode.replaceChild(e, t), r.setDomNode(e); } } } _finishRendering(e, t, i) { const n = Ye._sb, r = e.linesLength, s = e.lines, o = e.rendLineNumberStart, a = []; { n.reset(); let l = !1; for (let e = 0; e < r; e++) { const t = s[e]; (a[e] = !1), t.getDomNode() || (t.renderLine(e + o, i[e], this.viewportData, n) && ((a[e] = !0), (l = !0))); } l && this._finishRenderingNewLines(e, t, n.build(), a); } { n.reset(); let t = !1; const l = []; for (let e = 0; e < r; e++) { const r = s[e]; ((l[e] = !1), a[e]) || (r.renderLine(e + o, i[e], this.viewportData, n) && ((l[e] = !0), (t = !0))); } t && this._finishRenderingInvalidLines(e, n.build(), l); } } } Ye._sb = (0, Fe.l$)(1e5); class He extends N { constructor(e) { super(e), (this._visibleLines = new We(this)), (this.domNode = this._visibleLines.domNode), (this._dynamicOverlays = []), (this._isFocused = !1), this.domNode.setClassName('view-overlays'); } shouldRender() { if (super.shouldRender()) return !0; for (let e = 0, t = this._dynamicOverlays.length; e < t; e++) if (this._dynamicOverlays[e].shouldRender()) return !0; return !1; } dispose() { super.dispose(); for (let e = 0, t = this._dynamicOverlays.length; e < t; e++) this._dynamicOverlays[e].dispose(); this._dynamicOverlays = []; } getDomNode() { return this.domNode; } createVisibleLine() { return new je(this._context.configuration, this._dynamicOverlays); } addDynamicOverlay(e) { this._dynamicOverlays.push(e); } onConfigurationChanged(e) { this._visibleLines.onConfigurationChanged(e); const t = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); for (let n = t; n <= i; n++) this._visibleLines.getVisibleLine(n).onConfigurationChanged(e); return !0; } onFlushed(e) { return this._visibleLines.onFlushed(e); } onFocusChanged(e) { return (this._isFocused = e.isFocused), !0; } onLinesChanged(e) { return this._visibleLines.onLinesChanged(e); } onLinesDeleted(e) { return this._visibleLines.onLinesDeleted(e); } onLinesInserted(e) { return this._visibleLines.onLinesInserted(e); } onScrollChanged(e) { return this._visibleLines.onScrollChanged(e) || !0; } onTokensChanged(e) { return this._visibleLines.onTokensChanged(e); } onZonesChanged(e) { return this._visibleLines.onZonesChanged(e); } prepareRender(e) { const t = this._dynamicOverlays.filter((e) => e.shouldRender()); for (let i = 0, n = t.length; i < n; i++) { const n = t[i]; n.prepareRender(e), n.onDidRender(); } } render(e) { this._viewOverlaysRender(e), this.domNode.toggleClassName('focused', this._isFocused); } _viewOverlaysRender(e) { this._visibleLines.renderLines(e.viewportData); } } class je { constructor(e, t) { (this._configuration = e), (this._lineHeight = this._configuration.options.get(51)), (this._dynamicOverlays = t), (this._domNode = null), (this._renderedContent = null); } getDomNode() { return this._domNode ? this._domNode.domNode : null; } setDomNode(e) { this._domNode = (0, g.X)(e); } onContentChanged() {} onTokensChanged() {} onConfigurationChanged(e) { this._lineHeight = this._configuration.options.get(51); } renderLine(e, t, i, n) { let r = ''; for (let t = 0, n = this._dynamicOverlays.length; t < n; t++) r += this._dynamicOverlays[t].render(i.startLineNumber, e); return ( this._renderedContent !== r && ((this._renderedContent = r), n.appendASCIIString('
    '), n.appendASCIIString(r), n.appendASCIIString('
    '), !0) ); } layoutLine(e, t) { this._domNode && (this._domNode.setTop(t), this._domNode.setHeight(this._lineHeight)); } } class Ve extends He { constructor(e) { super(e); const t = this._context.configuration.options.get(117); (this._contentWidth = t.contentWidth), this.domNode.setHeight(0); } onConfigurationChanged(e) { const t = this._context.configuration.options.get(117); return ( (this._contentWidth = t.contentWidth), super.onConfigurationChanged(e) || !0 ); } onScrollChanged(e) { return super.onScrollChanged(e) || e.scrollWidthChanged; } _viewOverlaysRender(e) { super._viewOverlaysRender(e), this.domNode.setWidth( Math.max(e.scrollWidth, this._contentWidth) ); } } class ze extends He { constructor(e) { super(e); const t = this._context.configuration.options, i = t.get(117); (this._contentLeft = i.contentLeft), this.domNode.setClassName('margin-view-overlays'), this.domNode.setWidth(1), c.V.applyFontInfo(this.domNode, t.get(36)); } onConfigurationChanged(e) { const t = this._context.configuration.options; c.V.applyFontInfo(this.domNode, t.get(36)); const i = t.get(117); return ( (this._contentLeft = i.contentLeft), super.onConfigurationChanged(e) || !0 ); } onScrollChanged(e) { return super.onScrollChanged(e) || e.scrollHeightChanged; } _viewOverlaysRender(e) { super._viewOverlaysRender(e); const t = Math.min(e.scrollHeight, 1e6); this.domNode.setHeight(t), this.domNode.setWidth(this._contentLeft); } } class Ue { constructor(e, t) { (this.top = e), (this.left = t); } } class $e extends N { constructor(e, t) { super(e), (this._viewDomNode = t), (this._widgets = {}), (this.domNode = (0, g.X)(document.createElement('div'))), E.write(this.domNode, 1), this.domNode.setClassName('contentWidgets'), this.domNode.setPosition('absolute'), this.domNode.setTop(0), (this.overflowingContentWidgetsDomNode = (0, g.X)( document.createElement('div') )), E.write(this.overflowingContentWidgetsDomNode, 2), this.overflowingContentWidgetsDomNode.setClassName( 'overflowingContentWidgets' ); } dispose() { super.dispose(), (this._widgets = {}); } onConfigurationChanged(e) { const t = Object.keys(this._widgets); for (const i of t) this._widgets[i].onConfigurationChanged(e); return !0; } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLineMappingChanged(e) { const t = Object.keys(this._widgets); for (const i of t) this._widgets[i].onLineMappingChanged(e); return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return !0; } onZonesChanged(e) { return !0; } addWidget(e) { const t = new Ke(this._context, this._viewDomNode, e); (this._widgets[t.id] = t), t.allowEditorOverflow ? this.overflowingContentWidgetsDomNode.appendChild(t.domNode) : this.domNode.appendChild(t.domNode), this.setShouldRender(); } setWidgetPosition(e, t, i) { this._widgets[e.getId()].setPosition(t, i), this.setShouldRender(); } removeWidget(e) { const t = e.getId(); if (this._widgets.hasOwnProperty(t)) { const e = this._widgets[t]; delete this._widgets[t]; const i = e.domNode.domNode; i.parentNode.removeChild(i), i.removeAttribute('monaco-visible-content-widget'), this.setShouldRender(); } } shouldSuppressMouseDownOnWidget(e) { return ( !!this._widgets.hasOwnProperty(e) && this._widgets[e].suppressMouseDown ); } onBeforeRender(e) { const t = Object.keys(this._widgets); for (const i of t) this._widgets[i].onBeforeRender(e); } prepareRender(e) { const t = Object.keys(this._widgets); for (const i of t) this._widgets[i].prepareRender(e); } render(e) { const t = Object.keys(this._widgets); for (const i of t) this._widgets[i].render(e); } } class Ke { constructor(e, t, i) { (this._context = e), (this._viewDomNode = t), (this._actual = i), (this.domNode = (0, g.X)(this._actual.getDomNode())), (this.id = this._actual.getId()), (this.allowEditorOverflow = this._actual.allowEditorOverflow || !1), (this.suppressMouseDown = this._actual.suppressMouseDown || !1); const n = this._context.configuration.options, r = n.get(117); (this._fixedOverflowWidgets = n.get(30)), (this._contentWidth = r.contentWidth), (this._contentLeft = r.contentLeft), (this._lineHeight = n.get(51)), (this._range = null), (this._viewRange = null), (this._preference = []), (this._cachedDomNodeClientWidth = -1), (this._cachedDomNodeClientHeight = -1), (this._maxWidth = this._getMaxWidth()), (this._isVisible = !1), (this._renderData = null), this.domNode.setPosition( this._fixedOverflowWidgets && this.allowEditorOverflow ? 'fixed' : 'absolute' ), this.domNode.setVisibility('hidden'), this.domNode.setAttribute('widgetId', this.id), this.domNode.setMaxWidth(this._maxWidth); } onConfigurationChanged(e) { const t = this._context.configuration.options; if (((this._lineHeight = t.get(51)), e.hasChanged(117))) { const e = t.get(117); (this._contentLeft = e.contentLeft), (this._contentWidth = e.contentWidth), (this._maxWidth = this._getMaxWidth()); } } onLineMappingChanged(e) { this._setPosition(this._range); } _setPosition(e) { if (((this._range = e), (this._viewRange = null), this._range)) { const e = this._context.model.validateModelRange(this._range); (this._context.model.coordinatesConverter.modelPositionIsVisible( e.getStartPosition() ) || this._context.model.coordinatesConverter.modelPositionIsVisible( e.getEndPosition() )) && (this._viewRange = this._context.model.coordinatesConverter.convertModelRangeToViewRange( e )); } } _getMaxWidth() { return this.allowEditorOverflow ? window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth : this._contentWidth; } setPosition(e, t) { this._setPosition(e), (this._preference = t), (this._cachedDomNodeClientWidth = -1), (this._cachedDomNodeClientHeight = -1); } _layoutBoxInViewport(e, t, i, n, r) { const s = e.top, o = s, a = t.top + this._lineHeight, l = s - n, c = o >= n, d = a, h = r.viewportHeight - a >= n; let u = e.left, g = t.left; return ( u + i > r.scrollLeft + r.viewportWidth && (u = r.scrollLeft + r.viewportWidth - i), g + i > r.scrollLeft + r.viewportWidth && (g = r.scrollLeft + r.viewportWidth - i), u < r.scrollLeft && (u = r.scrollLeft), g < r.scrollLeft && (g = r.scrollLeft), { fitsAbove: c, aboveTop: l, aboveLeft: u, fitsBelow: h, belowTop: d, belowLeft: g, } ); } _layoutHorizontalSegmentInPage(e, t, i, n) { const s = Math.max(0, t.left - n), o = Math.min(t.left + t.width + n, e.width); let a = t.left + i - r.DI.scrollX; if (a + n > o) { const e = a - (o - n); (a -= e), (i -= e); } if (a < s) { const e = a - s; (a -= e), (i -= e); } return [i, a]; } _layoutBoxInPage(e, t, i, n, s) { const o = e.top - n, a = t.top + this._lineHeight, l = r.i(this._viewDomNode.domNode), c = l.top + o - r.DI.scrollY, d = l.top + a - r.DI.scrollY, h = r.D6(document.body), [u, g] = this._layoutHorizontalSegmentInPage( h, l, e.left - s.scrollLeft + this._contentLeft, i ), [f, p] = this._layoutHorizontalSegmentInPage( h, l, t.left - s.scrollLeft + this._contentLeft, i ), m = c >= 22, _ = d + n <= h.height - 22; return this._fixedOverflowWidgets ? { fitsAbove: m, aboveTop: Math.max(c, 22), aboveLeft: g, fitsBelow: _, belowTop: d, belowLeft: p, } : { fitsAbove: m, aboveTop: o, aboveLeft: u, fitsBelow: _, belowTop: a, belowLeft: f, }; } _prepareRenderWidgetAtExactPositionOverflowing(e) { return new Ue(e.top, e.left + this._contentLeft); } _getTopAndBottomLeft(e) { if (!this._viewRange) return [null, null]; const t = e.linesVisibleRangesForRange(this._viewRange, !1); if (!t || 0 === t.length) return [null, null]; let i = t[0], n = t[0]; for (const e of t) e.lineNumber < i.lineNumber && (i = e), e.lineNumber > n.lineNumber && (n = e); let r = 1073741824; for (const e of i.ranges) e.left < r && (r = e.left); let s = 1073741824; for (const e of n.ranges) e.left < s && (s = e.left); const o = e.getVerticalOffsetForLineNumber(i.lineNumber) - e.scrollTop, a = new Ue(o, r), l = e.getVerticalOffsetForLineNumber(n.lineNumber) - e.scrollTop; return [a, new Ue(l, s)]; } _prepareRenderWidget(e) { const [t, i] = this._getTopAndBottomLeft(e); if (!t || !i) return null; if ( -1 === this._cachedDomNodeClientWidth || -1 === this._cachedDomNodeClientHeight ) { const e = this.domNode.domNode; (this._cachedDomNodeClientWidth = e.clientWidth), (this._cachedDomNodeClientHeight = e.clientHeight); } let n; if ( ((n = this.allowEditorOverflow ? this._layoutBoxInPage( t, i, this._cachedDomNodeClientWidth, this._cachedDomNodeClientHeight, e ) : this._layoutBoxInViewport( t, i, this._cachedDomNodeClientWidth, this._cachedDomNodeClientHeight, e )), this._preference) ) for (let e = 1; e <= 2; e++) for (const i of this._preference) if (1 === i) { if (!n) return null; if (2 === e || n.fitsAbove) return new Ue(n.aboveTop, n.aboveLeft); } else { if (2 !== i) return this.allowEditorOverflow ? this._prepareRenderWidgetAtExactPositionOverflowing(t) : t; if (!n) return null; if (2 === e || n.fitsBelow) return new Ue(n.belowTop, n.belowLeft); } return null; } onBeforeRender(e) { this._viewRange && this._preference && (this._viewRange.endLineNumber < e.startLineNumber || this._viewRange.startLineNumber > e.endLineNumber || this.domNode.setMaxWidth(this._maxWidth)); } prepareRender(e) { this._renderData = this._prepareRenderWidget(e); } render(e) { this._renderData ? (this.allowEditorOverflow ? (this.domNode.setTop(this._renderData.top), this.domNode.setLeft(this._renderData.left)) : (this.domNode.setTop( this._renderData.top + e.scrollTop - e.bigNumbersDelta ), this.domNode.setLeft(this._renderData.left)), this._isVisible || (this.domNode.setVisibility('inherit'), this.domNode.setAttribute( 'monaco-visible-content-widget', 'true' ), (this._isVisible = !0))) : this._isVisible && (this.domNode.removeAttribute('monaco-visible-content-widget'), (this._isVisible = !1), this.domNode.setVisibility('hidden')); } } var qe = i(9488); let Ge = !0; class Ze extends ke { constructor(e) { super(), (this._context = e); const t = this._context.configuration.options, i = t.get(117); (this._lineHeight = t.get(51)), (this._renderLineHighlight = t.get(77)), (this._renderLineHightlightOnlyWhenFocus = t.get(78)), (this._contentLeft = i.contentLeft), (this._contentWidth = i.contentWidth), (this._selectionIsEmpty = !0), (this._focused = !1), (this._cursorLineNumbers = []), (this._selections = []), (this._renderData = null), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), super.dispose(); } _readFromSelections() { let e = !1; const t = Ge ? this._selections.slice(0, 1) : this._selections, i = t.map((e) => e.positionLineNumber); i.sort((e, t) => e - t), qe.fS(this._cursorLineNumbers, i) || ((this._cursorLineNumbers = i), (e = !0)); const n = t.every((e) => e.isEmpty()); return ( this._selectionIsEmpty !== n && ((this._selectionIsEmpty = n), (e = !0)), e ); } onThemeChanged(e) { return this._readFromSelections(); } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(117); return ( (this._lineHeight = t.get(51)), (this._renderLineHighlight = t.get(77)), (this._renderLineHightlightOnlyWhenFocus = t.get(78)), (this._contentLeft = i.contentLeft), (this._contentWidth = i.contentWidth), !0 ); } onCursorStateChanged(e) { return ( (this._selections = e.selections), this._readFromSelections() ); } onFlushed(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollWidthChanged || e.scrollTopChanged; } onZonesChanged(e) { return !0; } onFocusChanged(e) { return ( !!this._renderLineHightlightOnlyWhenFocus && ((this._focused = e.isFocused), !0) ); } prepareRender(e) { if (!this._shouldRenderThis()) return void (this._renderData = null); const t = this._renderOne(e), i = e.visibleRange.startLineNumber, n = e.visibleRange.endLineNumber, r = this._cursorLineNumbers.length; let s = 0; const o = []; for (let e = i; e <= n; e++) { const n = e - i; for (; s < r && this._cursorLineNumbers[s] < e; ) s++; s < r && this._cursorLineNumbers[s] === e ? (o[n] = t) : (o[n] = ''); } this._renderData = o; } render(e, t) { if (!this._renderData) return ''; const i = t - e; return i >= this._renderData.length ? '' : this._renderData[i]; } } class Je extends Ze { _renderOne(e) { return `
    `; } _shouldRenderThis() { return ( ('line' === this._renderLineHighlight || 'all' === this._renderLineHighlight) && this._selectionIsEmpty && (!this._renderLineHightlightOnlyWhenFocus || this._focused) ); } _shouldRenderOther() { return ( ('gutter' === this._renderLineHighlight || 'all' === this._renderLineHighlight) && (!this._renderLineHightlightOnlyWhenFocus || this._focused) ); } } class Qe extends Ze { _renderOne(e) { return `
    `; } _shouldRenderThis() { return ( ('gutter' === this._renderLineHighlight || 'all' === this._renderLineHighlight) && (!this._renderLineHightlightOnlyWhenFocus || this._focused) ); } _shouldRenderOther() { return ( ('line' === this._renderLineHighlight || 'all' === this._renderLineHighlight) && this._selectionIsEmpty && (!this._renderLineHightlightOnlyWhenFocus || this._focused) ); } } (0, Y.Ic)((e, t) => { Ge = !1; const i = e.getColor(xe.Kh); if ( (i && (t.addRule( `.monaco-editor .view-overlays .current-line { background-color: ${i}; }` ), t.addRule( `.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${i}; border: none; }` )), !i || i.isTransparent() || e.defines(xe.Mm)) ) { const i = e.getColor(xe.Mm); i && ((Ge = !0), t.addRule( `.monaco-editor .view-overlays .current-line { border: 2px solid ${i}; }` ), t.addRule( `.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${i}; }` ), 'hc' === e.type && (t.addRule( '.monaco-editor .view-overlays .current-line { border-width: 1px; }' ), t.addRule( '.monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }' ))); } }); class Xe extends ke { constructor(e) { super(), (this._context = e); const t = this._context.configuration.options; (this._lineHeight = t.get(51)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth), (this._renderResult = null), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), (this._renderResult = null), super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options; return ( (this._lineHeight = t.get(51)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth), !0 ); } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged || e.scrollWidthChanged; } onZonesChanged(e) { return !0; } prepareRender(e) { const t = e.getDecorationsInViewport(); let i = [], n = 0; for (let e = 0, r = t.length; e < r; e++) { const r = t[e]; r.options.className && (i[n++] = r); } i = i.sort((e, t) => { if (e.options.zIndex < t.options.zIndex) return -1; if (e.options.zIndex > t.options.zIndex) return 1; const i = e.options.className, n = t.options.className; return i < n ? -1 : i > n ? 1 : X.e.compareRangesUsingStarts(e.range, t.range); }); const r = e.visibleRange.startLineNumber, s = e.visibleRange.endLineNumber, o = []; for (let e = r; e <= s; e++) o[e - r] = ''; this._renderWholeLineDecorations(e, i, o), this._renderNormalDecorations(e, i, o), (this._renderResult = o); } _renderWholeLineDecorations(e, t, i) { const n = String(this._lineHeight), r = e.visibleRange.startLineNumber, s = e.visibleRange.endLineNumber; for (let e = 0, o = t.length; e < o; e++) { const o = t[e]; if (!o.options.isWholeLine) continue; const a = '
    ', l = Math.max(o.range.startLineNumber, r), c = Math.min(o.range.endLineNumber, s); for (let e = l; e <= c; e++) i[e - r] += a; } } _renderNormalDecorations(e, t, i) { const n = String(this._lineHeight), r = e.visibleRange.startLineNumber; let s = null, o = !1, a = null; for (let l = 0, c = t.length; l < c; l++) { const c = t[l]; if (c.options.isWholeLine) continue; const d = c.options.className, h = Boolean(c.options.showIfCollapsed); let u = c.range; h && 1 === u.endColumn && u.endLineNumber !== u.startLineNumber && (u = new X.e( u.startLineNumber, u.startColumn, u.endLineNumber - 1, this._context.model.getLineMaxColumn(u.endLineNumber - 1) )), s === d && o === h && X.e.areIntersectingOrTouching(a, u) ? (a = X.e.plusRange(a, u)) : (null !== s && this._renderNormalDecoration(e, a, s, o, n, r, i), (s = d), (o = h), (a = u)); } null !== s && this._renderNormalDecoration(e, a, s, o, n, r, i); } _renderNormalDecoration(e, t, i, n, r, s, o) { const a = e.linesVisibleRangesForRange(t, 'findMatch' === i); if (a) for (let e = 0, t = a.length; e < t; e++) { const t = a[e]; if (t.outsideRenderedLine) continue; const l = t.lineNumber - s; if (n && 1 === t.ranges.length) { const e = t.ranges[0]; 0 === e.width && (t.ranges[0] = new O( e.left, this._typicalHalfwidthCharacterWidth )); } for (let e = 0, n = t.ranges.length; e < n; e++) { const n = t.ranges[e], s = '
    '; o[l] += s; } } } render(e, t) { if (!this._renderResult) return ''; const i = t - e; return i < 0 || i >= this._renderResult.length ? '' : this._renderResult[i]; } } var et = i(9802); class tt extends N { constructor(e, t, i, n) { super(e); const s = this._context.configuration.options, o = s.get(84), a = s.get(58), l = s.get(28), c = s.get(87), d = { listenOnDomNode: i.domNode, className: 'editor-scrollable ' + (0, Y.m6)(e.theme.type), useShadows: !1, lazyRender: !0, vertical: o.vertical, horizontal: o.horizontal, verticalHasArrows: o.verticalHasArrows, horizontalHasArrows: o.horizontalHasArrows, verticalScrollbarSize: o.verticalScrollbarSize, verticalSliderSize: o.verticalSliderSize, horizontalScrollbarSize: o.horizontalScrollbarSize, horizontalSliderSize: o.horizontalSliderSize, handleMouseWheel: o.handleMouseWheel, alwaysConsumeMouseWheel: o.alwaysConsumeMouseWheel, arrowSize: o.arrowSize, mouseWheelScrollSensitivity: a, fastScrollSensitivity: l, scrollPredominantAxis: c, }; (this.scrollbar = this._register( new et.$Z(t.domNode, d, this._context.viewLayout.getScrollable()) )), E.write(this.scrollbar.getDomNode(), 5), (this.scrollbarDomNode = (0, g.X)(this.scrollbar.getDomNode())), this.scrollbarDomNode.setPosition('absolute'), this._setLayout(); const h = (e, t, i) => { const n = {}; if (t) { const t = e.scrollTop; t && ((n.scrollTop = this._context.viewLayout.getCurrentScrollTop() + t), (e.scrollTop = 0)); } if (i) { const t = e.scrollLeft; t && ((n.scrollLeft = this._context.viewLayout.getCurrentScrollLeft() + t), (e.scrollLeft = 0)); } this._context.model.setScrollPosition(n, 1); }; this._register( r.nm(i.domNode, 'scroll', (e) => h(i.domNode, !0, !0)) ), this._register( r.nm(t.domNode, 'scroll', (e) => h(t.domNode, !0, !1)) ), this._register( r.nm(n.domNode, 'scroll', (e) => h(n.domNode, !0, !1)) ), this._register( r.nm(this.scrollbarDomNode.domNode, 'scroll', (e) => h(this.scrollbarDomNode.domNode, !0, !1) ) ); } dispose() { super.dispose(); } _setLayout() { const e = this._context.configuration.options, t = e.get(117); this.scrollbarDomNode.setLeft(t.contentLeft), 'right' === e.get(56).side ? this.scrollbarDomNode.setWidth( t.contentWidth + t.minimap.minimapWidth ) : this.scrollbarDomNode.setWidth(t.contentWidth), this.scrollbarDomNode.setHeight(t.height); } getOverviewRulerLayoutInfo() { return this.scrollbar.getOverviewRulerLayoutInfo(); } getDomNode() { return this.scrollbarDomNode; } delegateVerticalScrollbarMouseDown(e) { this.scrollbar.delegateVerticalScrollbarMouseDown(e); } onConfigurationChanged(e) { if (e.hasChanged(84) || e.hasChanged(58) || e.hasChanged(28)) { const e = this._context.configuration.options, t = e.get(84), i = e.get(58), n = e.get(28), r = e.get(87), s = { handleMouseWheel: t.handleMouseWheel, mouseWheelScrollSensitivity: i, fastScrollSensitivity: n, scrollPredominantAxis: r, }; this.scrollbar.updateOptions(s); } return e.hasChanged(117) && this._setLayout(), !0; } onScrollChanged(e) { return !0; } onThemeChanged(e) { return ( this.scrollbar.updateClassName( 'editor-scrollable ' + (0, Y.m6)(this._context.theme.type) ), !0 ); } prepareRender(e) {} render(e) { this.scrollbar.renderNow(); } } class it { constructor(e, t, i) { (this.startLineNumber = +e), (this.endLineNumber = +t), (this.className = String(i)); } } class nt extends ke { _render(e, t, i) { const n = []; for (let i = e; i <= t; i++) n[i - e] = []; if (0 === i.length) return n; i.sort((e, t) => e.className === t.className ? e.startLineNumber === t.startLineNumber ? e.endLineNumber - t.endLineNumber : e.startLineNumber - t.startLineNumber : e.className < t.className ? -1 : 1 ); let r = null, s = 0; for (let o = 0, a = i.length; o < a; o++) { const a = i[o], l = a.className; let c = Math.max(a.startLineNumber, e) - e; const d = Math.min(a.endLineNumber, t) - e; r === l ? ((c = Math.max(s + 1, c)), (s = Math.max(s, d))) : ((r = l), (s = d)); for (let e = c; e <= s; e++) n[e].push(r); } return n; } } class rt extends nt { constructor(e) { super(), (this._context = e); const t = this._context.configuration.options, i = t.get(117); (this._lineHeight = t.get(51)), (this._glyphMargin = t.get(42)), (this._glyphMarginLeft = i.glyphMarginLeft), (this._glyphMarginWidth = i.glyphMarginWidth), (this._renderResult = null), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), (this._renderResult = null), super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(117); return ( (this._lineHeight = t.get(51)), (this._glyphMargin = t.get(42)), (this._glyphMarginLeft = i.glyphMarginLeft), (this._glyphMarginWidth = i.glyphMarginWidth), !0 ); } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged; } onZonesChanged(e) { return !0; } _getDecorations(e) { const t = e.getDecorationsInViewport(); let i = [], n = 0; for (let e = 0, r = t.length; e < r; e++) { const r = t[e], s = r.options.glyphMarginClassName; s && (i[n++] = new it( r.range.startLineNumber, r.range.endLineNumber, s )); } return i; } prepareRender(e) { if (!this._glyphMargin) return void (this._renderResult = null); const t = e.visibleRange.startLineNumber, i = e.visibleRange.endLineNumber, n = this._render(t, i, this._getDecorations(e)), r = this._lineHeight.toString(), s = '" style="left:' + this._glyphMarginLeft.toString() + 'px;width:' + this._glyphMarginWidth.toString() + 'px;height:' + r + 'px;">', o = []; for (let e = t; e <= i; e++) { const i = e - t, r = n[i]; 0 === r.length ? (o[i] = '') : (o[i] = '
    `), (a += r), !( a > s || (this._maxIndentLeft > 0 && a > this._maxIndentLeft) )); e++ ); } h[u] = f; } this._renderResult = h; } render(e, t) { if (!this._renderResult) return ''; const i = t - e; return i < 0 || i >= this._renderResult.length ? '' : this._renderResult[i]; } } (0, Y.Ic)((e, t) => { const i = e.getColor(xe.tR); i && t.addRule( `.monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 ${i} inset; }` ); const n = e.getColor(xe.Ym) || i; n && t.addRule( `.monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 ${n} inset; }` ); }); class ot { constructor() { this._currentVisibleRange = new X.e(1, 1, 1, 1); } getCurrentVisibleRange() { return this._currentVisibleRange; } setCurrentVisibleRange(e) { this._currentVisibleRange = e; } } class at { constructor(e, t, i, n, r, s) { (this.lineNumber = e), (this.startColumn = t), (this.endColumn = i), (this.startScrollTop = n), (this.stopScrollTop = r), (this.scrollType = s), (this.type = 'range'), (this.minLineNumber = e), (this.maxLineNumber = e); } } class lt { constructor(e, t, i, n) { (this.selections = e), (this.startScrollTop = t), (this.stopScrollTop = i), (this.scrollType = n), (this.type = 'selections'); let r = e[0].startLineNumber, s = e[0].endLineNumber; for (let t = 1, i = e.length; t < i; t++) { const i = e[t]; (r = Math.min(r, i.startLineNumber)), (s = Math.max(s, i.endLineNumber)); } (this.minLineNumber = r), (this.maxLineNumber = s); } } class ct extends N { constructor(e, t) { super(e), (this._linesContent = t), (this._textRangeRestingSpot = document.createElement('div')), (this._visibleLines = new We(this)), (this.domNode = this._visibleLines.domNode); const i = this._context.configuration, n = this._context.configuration.options, r = n.get(36), s = n.get(118); (this._lineHeight = n.get(51)), (this._typicalHalfwidthCharacterWidth = r.typicalHalfwidthCharacterWidth), (this._isViewportWrapping = s.isViewportWrapping), (this._revealHorizontalRightPadding = n.get(81)), (this._cursorSurroundingLines = n.get(20)), (this._cursorSurroundingLinesStyle = n.get(21)), (this._canUseLayerHinting = !n.get(23)), (this._viewLineOptions = new $(i, this._context.theme.type)), E.write(this.domNode, 7), this.domNode.setClassName(`view-lines ${Ne.S}`), c.V.applyFontInfo(this.domNode, r), (this._maxLineWidth = 0), (this._asyncUpdateLineWidths = new _.pY(() => { this._updateLineWidthsSlow(); }, 200)), (this._asyncCheckMonospaceFontAssumptions = new _.pY(() => { this._checkMonospaceFontAssumptions(); }, 2e3)), (this._lastRenderedData = new ot()), (this._horizontalRevealRequest = null); } dispose() { this._asyncUpdateLineWidths.dispose(), this._asyncCheckMonospaceFontAssumptions.dispose(), super.dispose(); } getDomNode() { return this.domNode; } createVisibleLine() { return new K(this._viewLineOptions); } onConfigurationChanged(e) { this._visibleLines.onConfigurationChanged(e), e.hasChanged(118) && (this._maxLineWidth = 0); const t = this._context.configuration.options, i = t.get(36), n = t.get(118); return ( (this._lineHeight = t.get(51)), (this._typicalHalfwidthCharacterWidth = i.typicalHalfwidthCharacterWidth), (this._isViewportWrapping = n.isViewportWrapping), (this._revealHorizontalRightPadding = t.get(81)), (this._cursorSurroundingLines = t.get(20)), (this._cursorSurroundingLinesStyle = t.get(21)), (this._canUseLayerHinting = !t.get(23)), c.V.applyFontInfo(this.domNode, i), this._onOptionsMaybeChanged(), e.hasChanged(117) && (this._maxLineWidth = 0), !0 ); } _onOptionsMaybeChanged() { const e = this._context.configuration, t = new $(e, this._context.theme.type); if (!this._viewLineOptions.equals(t)) { this._viewLineOptions = t; const e = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); for (let t = e; t <= i; t++) this._visibleLines .getVisibleLine(t) .onOptionsChanged(this._viewLineOptions); return !0; } return !1; } onCursorStateChanged(e) { const t = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); let n = !1; for (let e = t; e <= i; e++) n = this._visibleLines.getVisibleLine(e).onSelectionChanged() || n; return n; } onDecorationsChanged(e) { { const e = this._visibleLines.getStartLineNumber(), t = this._visibleLines.getEndLineNumber(); for (let i = e; i <= t; i++) this._visibleLines.getVisibleLine(i).onDecorationsChanged(); } return !0; } onFlushed(e) { const t = this._visibleLines.onFlushed(e); return (this._maxLineWidth = 0), t; } onLinesChanged(e) { return this._visibleLines.onLinesChanged(e); } onLinesDeleted(e) { return this._visibleLines.onLinesDeleted(e); } onLinesInserted(e) { return this._visibleLines.onLinesInserted(e); } onRevealRangeRequest(e) { const t = this._computeScrollTopToRevealRange( this._context.viewLayout.getFutureViewport(), e.source, e.range, e.selections, e.verticalType ); if (-1 === t) return !1; let i = this._context.viewLayout.validateScrollPosition({ scrollTop: t, }); e.revealHorizontal ? e.range && e.range.startLineNumber !== e.range.endLineNumber ? (i = { scrollTop: i.scrollTop, scrollLeft: 0 }) : e.range ? (this._horizontalRevealRequest = new at( e.range.startLineNumber, e.range.startColumn, e.range.endColumn, this._context.viewLayout.getCurrentScrollTop(), i.scrollTop, e.scrollType )) : e.selections && e.selections.length > 0 && (this._horizontalRevealRequest = new lt( e.selections, this._context.viewLayout.getCurrentScrollTop(), i.scrollTop, e.scrollType )) : (this._horizontalRevealRequest = null); const n = Math.abs( this._context.viewLayout.getCurrentScrollTop() - i.scrollTop ) <= this._lineHeight ? 1 : e.scrollType; return this._context.model.setScrollPosition(i, n), !0; } onScrollChanged(e) { if ( (this._horizontalRevealRequest && e.scrollLeftChanged && (this._horizontalRevealRequest = null), this._horizontalRevealRequest && e.scrollTopChanged) ) { const t = Math.min( this._horizontalRevealRequest.startScrollTop, this._horizontalRevealRequest.stopScrollTop ), i = Math.max( this._horizontalRevealRequest.startScrollTop, this._horizontalRevealRequest.stopScrollTop ); (e.scrollTop < t || e.scrollTop > i) && (this._horizontalRevealRequest = null); } return ( this.domNode.setWidth(e.scrollWidth), this._visibleLines.onScrollChanged(e) || !0 ); } onTokensChanged(e) { return this._visibleLines.onTokensChanged(e); } onZonesChanged(e) { return ( this._context.model.setMaxLineWidth(this._maxLineWidth), this._visibleLines.onZonesChanged(e) ); } onThemeChanged(e) { return this._onOptionsMaybeChanged(); } getPositionFromDOMInfo(e, t) { const i = this._getViewLineDomNode(e); if (null === i) return null; const n = this._getLineNumberFor(i); if (-1 === n) return null; if (n < 1 || n > this._context.model.getLineCount()) return null; if (1 === this._context.model.getLineMaxColumn(n)) return new Q.L(n, 1); const r = this._visibleLines.getStartLineNumber(), s = this._visibleLines.getEndLineNumber(); if (n < r || n > s) return null; let o = this._visibleLines .getVisibleLine(n) .getColumnOfNodeOffset(n, e, t); const a = this._context.model.getLineMinColumn(n); return o < a && (o = a), new Q.L(n, o); } _getViewLineDomNode(e) { for (; e && 1 === e.nodeType; ) { if (e.className === K.CLASS_NAME) return e; e = e.parentElement; } return null; } _getLineNumberFor(e) { const t = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); for (let n = t; n <= i; n++) if (e === this._visibleLines.getVisibleLine(n).getDomNode()) return n; return -1; } getLineWidth(e) { const t = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); return e < t || e > i ? -1 : this._visibleLines.getVisibleLine(e).getWidth(); } linesVisibleRangesForRange(e, t) { if (this.shouldRender()) return null; const i = e.endLineNumber, n = X.e.intersectRanges( e, this._lastRenderedData.getCurrentVisibleRange() ); if (!n) return null; let r = [], s = 0; const o = new U(this.domNode.domNode, this._textRangeRestingSpot); let a = 0; t && (a = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(n.startLineNumber, 1) ).lineNumber); const l = this._visibleLines.getStartLineNumber(), c = this._visibleLines.getEndLineNumber(); for (let e = n.startLineNumber; e <= n.endLineNumber; e++) { if (e < l || e > c) continue; const d = e === n.startLineNumber ? n.startColumn : 1, h = e === n.endLineNumber ? n.endColumn : this._context.model.getLineMaxColumn(e), u = this._visibleLines .getVisibleLine(e) .getVisibleRangesForRange(d, h, o); if (u) { if (t && e < i) { const t = a; (a = this._context.model.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(e + 1, 1) ).lineNumber), t !== a && (u.ranges[ u.ranges.length - 1 ].width += this._typicalHalfwidthCharacterWidth); } r[s++] = new I(u.outsideRenderedLine, e, u.ranges); } } return 0 === s ? null : r; } _visibleRangesForLineRange(e, t, i) { return this.shouldRender() || e < this._visibleLines.getStartLineNumber() || e > this._visibleLines.getEndLineNumber() ? null : this._visibleLines .getVisibleLine(e) .getVisibleRangesForRange( t, i, new U(this.domNode.domNode, this._textRangeRestingSpot) ); } visibleRangeForPosition(e) { const t = this._visibleRangesForLineRange( e.lineNumber, e.column, e.column ); return t ? new A(t.outsideRenderedLine, t.ranges[0].left) : null; } updateLineWidths() { this._updateLineWidths(!1); } _updateLineWidthsFast() { return this._updateLineWidths(!0); } _updateLineWidthsSlow() { this._updateLineWidths(!1); } _updateLineWidths(e) { const t = this._visibleLines.getStartLineNumber(), i = this._visibleLines.getEndLineNumber(); let n = 1, r = !0; for (let s = t; s <= i; s++) { const t = this._visibleLines.getVisibleLine(s); !e || t.getWidthIsFast() ? (n = Math.max(n, t.getWidth())) : (r = !1); } return ( r && 1 === t && i === this._context.model.getLineCount() && (this._maxLineWidth = 0), this._ensureMaxLineWidth(n), r ); } _checkMonospaceFontAssumptions() { let e = -1, t = -1; const i = this._visibleLines.getStartLineNumber(), n = this._visibleLines.getEndLineNumber(); for (let r = i; r <= n; r++) { const i = this._visibleLines.getVisibleLine(r); if (i.needsMonospaceFontCheck()) { const n = i.getWidth(); n > t && ((t = n), (e = r)); } } if ( -1 !== e && !this._visibleLines .getVisibleLine(e) .monospaceAssumptionsAreValid() ) for (let e = i; e <= n; e++) this._visibleLines .getVisibleLine(e) .onMonospaceAssumptionsInvalidated(); } prepareRender() { throw new Error('Not supported'); } render() { throw new Error('Not supported'); } renderText(e) { if ( (this._visibleLines.renderLines(e), this._lastRenderedData.setCurrentVisibleRange(e.visibleRange), this.domNode.setWidth(this._context.viewLayout.getScrollWidth()), this.domNode.setHeight( Math.min(this._context.viewLayout.getScrollHeight(), 1e6) ), this._horizontalRevealRequest) ) { const t = this._horizontalRevealRequest; if ( e.startLineNumber <= t.minLineNumber && t.maxLineNumber <= e.endLineNumber ) { (this._horizontalRevealRequest = null), this.onDidRender(); const e = this._computeScrollLeftToReveal(t); e && (this._isViewportWrapping || this._ensureMaxLineWidth(e.maxHorizontalOffset), this._context.model.setScrollPosition( { scrollLeft: e.scrollLeft }, t.scrollType )); } } if ( (this._updateLineWidthsFast() || this._asyncUpdateLineWidths.schedule(), f.IJ && !this._asyncCheckMonospaceFontAssumptions.isScheduled()) ) { const e = this._visibleLines.getStartLineNumber(), t = this._visibleLines.getEndLineNumber(); for (let i = e; i <= t; i++) if ( this._visibleLines.getVisibleLine(i).needsMonospaceFontCheck() ) { this._asyncCheckMonospaceFontAssumptions.schedule(); break; } } this._linesContent.setLayerHinting(this._canUseLayerHinting), this._linesContent.setContain('strict'); const t = this._context.viewLayout.getCurrentScrollTop() - e.bigNumbersDelta; this._linesContent.setTop(-t), this._linesContent.setLeft( -this._context.viewLayout.getCurrentScrollLeft() ); } _ensureMaxLineWidth(e) { const t = Math.ceil(e); this._maxLineWidth < t && ((this._maxLineWidth = t), this._context.model.setMaxLineWidth(this._maxLineWidth)); } _computeScrollTopToRevealRange(e, t, i, n, r) { const s = e.top, o = e.height, a = s + o; let l, c, d, h; if (n && n.length > 0) { let e = n[0].startLineNumber, t = n[0].endLineNumber; for (let i = 1, r = n.length; i < r; i++) { const r = n[i]; (e = Math.min(e, r.startLineNumber)), (t = Math.max(t, r.endLineNumber)); } (l = !1), (c = this._context.viewLayout.getVerticalOffsetForLineNumber( e )), (d = this._context.viewLayout.getVerticalOffsetForLineNumber(t) + this._lineHeight); } else { if (!i) return -1; (l = !0), (c = this._context.viewLayout.getVerticalOffsetForLineNumber( i.startLineNumber )), (d = this._context.viewLayout.getVerticalOffsetForLineNumber( i.endLineNumber ) + this._lineHeight); } if ( 'mouse' !== t || 'default' !== this._cursorSurroundingLinesStyle ) { const e = Math.min( o / this._lineHeight / 2, this._cursorSurroundingLines ); (c -= e * this._lineHeight), (d += Math.max(0, e - 1) * this._lineHeight); } if (((0 !== r && 4 !== r) || (d += this._lineHeight), d - c > o)) { if (!l) return -1; h = c; } else if (5 === r || 6 === r) if (6 === r && s <= c && d <= a) h = s; else { const e = c - Math.max(5 * this._lineHeight, 0.2 * o), t = d - o; h = Math.max(t, e); } else if (1 === r || 2 === r) if (2 === r && s <= c && d <= a) h = s; else { const e = (c + d) / 2; h = Math.max(0, e - o / 2); } else h = this._computeMinimumScrolling(s, a, c, d, 3 === r, 4 === r); return h; } _computeScrollLeftToReveal(e) { const t = this._context.viewLayout.getCurrentViewport(), i = t.left, n = i + t.width; let r = 1073741824, s = 0; if ('range' === e.type) { const t = this._visibleRangesForLineRange( e.lineNumber, e.startColumn, e.endColumn ); if (!t) return null; for (const e of t.ranges) (r = Math.min(r, e.left)), (s = Math.max(s, e.left + e.width)); } else for (const t of e.selections) { if (t.startLineNumber !== t.endLineNumber) return null; const e = this._visibleRangesForLineRange( t.startLineNumber, t.startColumn, t.endColumn ); if (!e) return null; for (const t of e.ranges) (r = Math.min(r, t.left)), (s = Math.max(s, t.left + t.width)); } return ( (r = Math.max(0, r - ct.HORIZONTAL_EXTRA_PX)), (s += this._revealHorizontalRightPadding), 'selections' === e.type && s - r > t.width ? null : { scrollLeft: this._computeMinimumScrolling(i, n, r, s), maxHorizontalOffset: s, } ); } _computeMinimumScrolling(e, t, i, n, r, s) { (r = !!r), (s = !!s); const o = (t |= 0) - (e |= 0); return (n |= 0) - (i |= 0) < o ? r ? i : s ? Math.max(0, n - o) : i < e ? i : n > t ? Math.max(0, n - o) : e : i; } } ct.HORIZONTAL_EXTRA_PX = 30; class dt extends nt { constructor(e) { super(), (this._context = e); const t = this._context.configuration.options.get(117); (this._decorationsLeft = t.decorationsLeft), (this._decorationsWidth = t.decorationsWidth), (this._renderResult = null), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), (this._renderResult = null), super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options.get(117); return ( (this._decorationsLeft = t.decorationsLeft), (this._decorationsWidth = t.decorationsWidth), !0 ); } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged; } onZonesChanged(e) { return !0; } _getDecorations(e) { const t = e.getDecorationsInViewport(); let i = [], n = 0; for (let e = 0, r = t.length; e < r; e++) { const r = t[e], s = r.options.linesDecorationsClassName; s && (i[n++] = new it( r.range.startLineNumber, r.range.endLineNumber, s )); const o = r.options.firstLineDecorationClassName; o && (i[n++] = new it( r.range.startLineNumber, r.range.startLineNumber, o )); } return i; } prepareRender(e) { const t = e.visibleRange.startLineNumber, i = e.visibleRange.endLineNumber, n = this._render(t, i, this._getDecorations(e)), r = '" style="left:' + this._decorationsLeft.toString() + 'px;width:' + this._decorationsWidth.toString() + 'px;">', s = []; for (let e = t; e <= i; e++) { const i = e - t, o = n[i]; let a = ''; for (let e = 0, t = o.length; e < t; e++) a += '
    '; r[i] = o; } this._renderResult = r; } render(e, t) { return this._renderResult ? this._renderResult[t - e] : ''; } } class ut { constructor(e, t, i, n) { (this.r = ut._clamp(e)), (this.g = ut._clamp(t)), (this.b = ut._clamp(i)), (this.a = ut._clamp(n)); } equals(e) { return ( this.r === e.r && this.g === e.g && this.b === e.b && this.a === e.a ); } static _clamp(e) { return e < 0 ? 0 : e > 255 ? 255 : 0 | e; } } ut.Empty = new ut(0, 0, 0, 0); var gt = i(43775); class ft { constructor() { (this._onDidChange = new o.Q5()), (this.onDidChange = this._onDidChange.event), this._updateColorMap(), gt.RW.onDidChange((e) => { e.changedColorMap && this._updateColorMap(); }); } static getInstance() { return ( this._INSTANCE || (this._INSTANCE = new ft()), this._INSTANCE ); } _updateColorMap() { const e = gt.RW.getColorMap(); if (!e) return ( (this._colors = [ut.Empty]), void (this._backgroundIsLight = !0) ); this._colors = [ut.Empty]; for (let t = 1; t < e.length; t++) { const i = e[t].rgba; this._colors[t] = new ut(i.r, i.g, i.b, Math.round(255 * i.a)); } let t = e[2].getRelativeLuminance(); (this._backgroundIsLight = t >= 0.5), this._onDidChange.fire(void 0); } getColor(e) { return ( (e < 1 || e >= this._colors.length) && (e = 2), this._colors[e] ); } backgroundIsLight() { return this._backgroundIsLight; } } ft._INSTANCE = null; var pt = i(13824), mt = i(73910); const _t = (() => { const e = []; for (let t = 32; t <= 126; t++) e.push(t); return e.push(65533), e; })(); var bt = i(85427); class vt { constructor(e, t) { (this.scale = t), (this.charDataNormal = vt.soften(e, 0.8)), (this.charDataLight = vt.soften(e, 50 / 60)); } static soften(e, t) { let i = new Uint8ClampedArray(e.length); for (let n = 0, r = e.length; n < r; n++) i[n] = (0, bt.K)(e[n] * t); return i; } renderChar(e, t, i, n, r, s, o, a, l) { const c = 1 * this.scale, d = 2 * this.scale, h = l ? 1 : d; if (t + c > e.width || i + h > e.height) return void console.warn('bad render request outside image data'); const u = a ? this.charDataLight : this.charDataNormal, g = ((e, t) => (e -= 32) < 0 || e > 96 ? (t <= 2 ? (e + 96) % 96 : 95) : e)( n, o ), f = 4 * e.width, p = s.r, m = s.g, _ = s.b, b = r.r - p, v = r.g - m, y = r.b - _, w = e.data; let C = g * c * d, S = i * f + 4 * t; for (let e = 0; e < h; e++) { let e = S; for (let t = 0; t < c; t++) { const t = u[C++] / 255; (w[e++] = p + b * t), (w[e++] = m + v * t), (w[e++] = _ + y * t), e++; } S += f; } } blockRenderChar(e, t, i, n, r, s, o) { const a = 1 * this.scale, l = 2 * this.scale, c = o ? 1 : l; if (t + a > e.width || i + c > e.height) return void console.warn('bad render request outside image data'); const d = 4 * e.width, h = r.r, u = r.g, g = r.b, f = h + 0.5 * (n.r - h), p = u + 0.5 * (n.g - u), m = g + 0.5 * (n.b - g), _ = e.data; let b = i * d + 4 * t; for (let e = 0; e < c; e++) { let e = b; for (let t = 0; t < a; t++) (_[e++] = f), (_[e++] = p), (_[e++] = m), e++; b += d; } } } var yt = i(88289); const wt = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, }, Ct = (e) => { const t = new Uint8ClampedArray(e.length / 2); for (let i = 0; i < e.length; i += 2) t[i >> 1] = (wt[e[i]] << 4) | (15 & wt[e[i + 1]]); return t; }, St = { 1: (0, yt.I)(() => Ct( '0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792' ) ), 2: (0, yt.I)(() => Ct( '000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126' ) ), }; class kt { static create(e, t) { if ( this.lastCreated && e === this.lastCreated.scale && t === this.lastFontFamily ) return this.lastCreated; let i; return ( (i = St[e] ? new vt(St[e](), e) : kt.createFromSampleData(kt.createSampleData(t).data, e)), (this.lastFontFamily = t), (this.lastCreated = i), i ); } static createSampleData(e) { const t = document.createElement('canvas'), i = t.getContext('2d'); (t.style.height = '16px'), (t.height = 16), (t.width = 960), (t.style.width = '960px'), (i.fillStyle = '#ffffff'), (i.font = `bold 16px ${e}`), (i.textBaseline = 'middle'); let n = 0; for (const e of _t) i.fillText(String.fromCharCode(e), n, 8), (n += 10); return i.getImageData(0, 0, 960, 16); } static createFromSampleData(e, t) { if (61440 !== e.length) throw new Error('Unexpected source in MinimapCharRenderer'); let i = kt._downsample(e, t); return new vt(i, t); } static _downsampleChar(e, t, i, n, r) { const s = 1 * r, o = 2 * r; let a = n, l = 0; for (let n = 0; n < o; n++) { const r = (n / o) * 16, c = ((n + 1) / o) * 16; for (let n = 0; n < s; n++) { const o = (n / s) * 10, d = ((n + 1) / s) * 10; let h = 0, u = 0; for (let i = r; i < c; i++) { const n = t + 3840 * Math.floor(i), r = 1 - (i - Math.floor(i)); for (let t = o; t < d; t++) { const i = 1 - (t - Math.floor(t)), s = n + 4 * Math.floor(t), o = i * r; (u += o), (h += ((e[s] * e[s + 3]) / 255) * o); } } const g = h / u; (l = Math.max(l, g)), (i[a++] = (0, bt.K)(g)); } } return l; } static _downsample(e, t) { const i = 2 * t * 1 * t, n = 96 * i, r = new Uint8ClampedArray(n); let s = 0, o = 0, a = 0; for (let n = 0; n < 96; n++) (a = Math.max(a, this._downsampleChar(e, o, r, s, t))), (s += i), (o += 40); if (a > 0) { const e = 255 / a; for (let t = 0; t < n; t++) r[t] *= e; } return r; } } var xt = i(84973); class Lt { constructor(e, t, i) { const n = e.options, r = n.get(115), s = n.get(117), o = s.minimap, a = n.get(36), l = n.get(56); (this.renderMinimap = o.renderMinimap), (this.size = l.size), (this.minimapHeightIsEditorHeight = o.minimapHeightIsEditorHeight), (this.scrollBeyondLastLine = n.get(86)), (this.showSlider = l.showSlider), (this.pixelRatio = r), (this.typicalHalfwidthCharacterWidth = a.typicalHalfwidthCharacterWidth), (this.lineHeight = n.get(51)), (this.minimapLeft = o.minimapLeft), (this.minimapWidth = o.minimapWidth), (this.minimapHeight = s.height), (this.canvasInnerWidth = o.minimapCanvasInnerWidth), (this.canvasInnerHeight = o.minimapCanvasInnerHeight), (this.canvasOuterWidth = o.minimapCanvasOuterWidth), (this.canvasOuterHeight = o.minimapCanvasOuterHeight), (this.isSampling = o.minimapIsSampling), (this.editorHeight = s.height), (this.fontScale = o.minimapScale), (this.minimapLineHeight = o.minimapLineHeight), (this.minimapCharWidth = 1 * this.fontScale), (this.charRenderer = (0, yt.I)(() => kt.create(this.fontScale, a.fontFamily) )), (this.backgroundColor = Lt._getMinimapBackground(t, i)); } static _getMinimapBackground(e, t) { const i = e.getColor(mt.kV); return i ? new ut(i.rgba.r, i.rgba.g, i.rgba.b, i.rgba.a) : t.getColor(2); } equals(e) { return ( this.renderMinimap === e.renderMinimap && this.size === e.size && this.minimapHeightIsEditorHeight === e.minimapHeightIsEditorHeight && this.scrollBeyondLastLine === e.scrollBeyondLastLine && this.showSlider === e.showSlider && this.pixelRatio === e.pixelRatio && this.typicalHalfwidthCharacterWidth === e.typicalHalfwidthCharacterWidth && this.lineHeight === e.lineHeight && this.minimapLeft === e.minimapLeft && this.minimapWidth === e.minimapWidth && this.minimapHeight === e.minimapHeight && this.canvasInnerWidth === e.canvasInnerWidth && this.canvasInnerHeight === e.canvasInnerHeight && this.canvasOuterWidth === e.canvasOuterWidth && this.canvasOuterHeight === e.canvasOuterHeight && this.isSampling === e.isSampling && this.editorHeight === e.editorHeight && this.fontScale === e.fontScale && this.minimapLineHeight === e.minimapLineHeight && this.minimapCharWidth === e.minimapCharWidth && this.backgroundColor && this.backgroundColor.equals(e.backgroundColor) ); } } class Mt { constructor(e, t, i, n, r, s, o, a) { (this.scrollTop = e), (this.scrollHeight = t), (this.sliderNeeded = i), (this._computedSliderRatio = n), (this.sliderTop = r), (this.sliderHeight = s), (this.startLineNumber = o), (this.endLineNumber = a); } getDesiredScrollTopFromDelta(e) { const t = this.sliderTop + e; return Math.round(t / this._computedSliderRatio); } getDesiredScrollTopFromTouchLocation(e) { return Math.round( (e - this.sliderHeight / 2) / this._computedSliderRatio ); } static create(e, t, i, n, r, s, o, a, l, c) { const d = e.pixelRatio, h = e.minimapLineHeight, u = Math.floor(e.canvasInnerHeight / h), g = e.lineHeight; if (e.minimapHeightIsEditorHeight) { const t = o * e.lineHeight + (e.scrollBeyondLastLine ? n - e.lineHeight : 0), i = Math.max(1, Math.floor((n * n) / t)), r = Math.max(0, e.minimapHeight - i), c = r / (l - n), d = a * c, h = r > 0, u = Math.floor(e.canvasInnerHeight / e.minimapLineHeight); return new Mt(a, l, h, c, d, i, 1, Math.min(s, u)); } let f, p; if (r && i !== s) { const e = i - t + 1; f = Math.floor((e * h) / d); } else { const e = n / g; f = Math.floor((e * h) / d); } (p = e.scrollBeyondLastLine ? ((s - 1) * h) / d : Math.max(0, (s * h) / d - f)), (p = Math.min(e.minimapHeight - f, p)); const m = p / (l - n), _ = a * m; let b = 0; if ((e.scrollBeyondLastLine && (b = n / g - 1), u >= s + b)) return new Mt(a, l, p > 0, m, _, f, 1, s); { let e = Math.max(1, Math.floor(t - (_ * d) / h)); c && c.scrollHeight === l && (c.scrollTop > a && (e = Math.min(e, c.startLineNumber)), c.scrollTop < a && (e = Math.max(e, c.startLineNumber))); const i = Math.min(s, e + u - 1); return new Mt(a, l, !0, m, _, f, e, i); } } } class Dt { constructor(e) { this.dy = e; } onContentChanged() { this.dy = -1; } onTokensChanged() { this.dy = -1; } } Dt.INVALID = new Dt(-1); class Nt { constructor(e, t, i) { (this.renderedLayout = e), (this._imageData = t), (this._renderedLines = new Be(() => Dt.INVALID)), this._renderedLines._set(e.startLineNumber, i); } linesEquals(e) { if (!this.scrollEquals(e)) return !1; const t = this._renderedLines._get().lines; for (let e = 0, i = t.length; e < i; e++) if (-1 === t[e].dy) return !1; return !0; } scrollEquals(e) { return ( this.renderedLayout.startLineNumber === e.startLineNumber && this.renderedLayout.endLineNumber === e.endLineNumber ); } _get() { const e = this._renderedLines._get(); return { imageData: this._imageData, rendLineNumberStart: e.rendLineNumberStart, lines: e.lines, }; } onLinesChanged(e, t) { return this._renderedLines.onLinesChanged(e, t); } onLinesDeleted(e, t) { this._renderedLines.onLinesDeleted(e, t); } onLinesInserted(e, t) { this._renderedLines.onLinesInserted(e, t); } onTokensChanged(e) { return this._renderedLines.onTokensChanged(e); } } class Et { constructor(e, t, i, n) { (this._backgroundFillData = Et._createBackgroundFillData(t, i, n)), (this._buffers = [ e.createImageData(t, i), e.createImageData(t, i), ]), (this._lastUsedBuffer = 0); } getBuffer() { this._lastUsedBuffer = 1 - this._lastUsedBuffer; const e = this._buffers[this._lastUsedBuffer]; return e.data.set(this._backgroundFillData), e; } static _createBackgroundFillData(e, t, i) { const n = i.r, r = i.g, s = i.b, o = new Uint8ClampedArray(e * t * 4); let a = 0; for (let i = 0; i < t; i++) for (let t = 0; t < e; t++) (o[a] = n), (o[a + 1] = r), (o[a + 2] = s), (o[a + 3] = 255), (a += 4); return o; } } class Tt { constructor(e, t) { (this.samplingRatio = e), (this.minimapLines = t); } static compute(e, t, i) { if (0 === e.renderMinimap || !e.isSampling) return [null, []]; const n = e.pixelRatio, r = e.lineHeight, s = e.scrollBeyondLastLine, { minimapLineCount: o } = H.gk.computeContainedMinimapLineCount({ viewLineCount: t, scrollBeyondLastLine: s, height: e.editorHeight, lineHeight: r, pixelRatio: n, }), a = t / o, l = a / 2; if (!i || 0 === i.minimapLines.length) { let e = []; if (((e[0] = 1), o > 1)) { for (let t = 0, i = o - 1; t < i; t++) e[t] = Math.round(t * a + l); e[o - 1] = t; } return [new Tt(a, e), []]; } const c = i.minimapLines, d = c.length; let h = [], u = 0, g = 0, f = 1, p = [], m = null; for (let e = 0; e < o; e++) { const i = Math.max(f, Math.round(e * a)), n = Math.max(i, Math.round((e + 1) * a)); for (; u < d && c[u] < i; ) { if (p.length < 10) { const e = u + 1 + g; m && 'deleted' === m.type && m._oldIndex === u - 1 ? m.deleteToLineNumber++ : ((m = { type: 'deleted', _oldIndex: u, deleteFromLineNumber: e, deleteToLineNumber: e, }), p.push(m)), g--; } u++; } let r; if (u < d && c[u] <= n) (r = c[u]), u++; else if ( ((r = 0 === e ? 1 : e + 1 === o ? t : Math.round(e * a + l)), p.length < 10) ) { const t = u + 1 + g; m && 'inserted' === m.type && m._i === e - 1 ? m.insertToLineNumber++ : ((m = { type: 'inserted', _i: e, insertFromLineNumber: t, insertToLineNumber: t, }), p.push(m)), g++; } (h[e] = r), (f = r); } if (p.length < 10) for (; u < d; ) { const e = u + 1 + g; m && 'deleted' === m.type && m._oldIndex === u - 1 ? m.deleteToLineNumber++ : ((m = { type: 'deleted', _oldIndex: u, deleteFromLineNumber: e, deleteToLineNumber: e, }), p.push(m)), g--, u++; } else p = [{ type: 'flush' }]; return [new Tt(a, h), p]; } modelLineToMinimapLine(e) { return Math.min( this.minimapLines.length, Math.max(1, Math.round(e / this.samplingRatio)) ); } modelLineRangeToMinimapLineRange(e, t) { let i = this.modelLineToMinimapLine(e) - 1; for (; i > 0 && this.minimapLines[i - 1] >= e; ) i--; let n = this.modelLineToMinimapLine(t) - 1; for ( ; n + 1 < this.minimapLines.length && this.minimapLines[n + 1] <= t; ) n++; if (i === n) { const n = this.minimapLines[i]; if (n < e || n > t) return null; } return [i + 1, n + 1]; } decorationLineRangeToMinimapLineRange(e, t) { let i = this.modelLineToMinimapLine(e), n = this.modelLineToMinimapLine(t); return ( e !== t && n === i && (n === this.minimapLines.length ? i > 1 && i-- : n++), [i, n] ); } onLinesDeleted(e) { const t = e.toLineNumber - e.fromLineNumber + 1; let i = this.minimapLines.length, n = 0; for ( let r = this.minimapLines.length - 1; r >= 0 && !(this.minimapLines[r] < e.fromLineNumber); r-- ) this.minimapLines[r] <= e.toLineNumber ? ((this.minimapLines[r] = Math.max(1, e.fromLineNumber - 1)), (i = Math.min(i, r)), (n = Math.max(n, r))) : (this.minimapLines[r] -= t); return [i, n]; } onLinesInserted(e) { const t = e.toLineNumber - e.fromLineNumber + 1; for ( let i = this.minimapLines.length - 1; i >= 0 && !(this.minimapLines[i] < e.fromLineNumber); i-- ) this.minimapLines[i] += t; } } class It extends N { constructor(e) { super(e), (this.tokensColorTracker = ft.getInstance()), (this._selections = []), (this._minimapSelections = null), (this.options = new Lt( this._context.configuration, this._context.theme, this.tokensColorTracker )); const [t] = Tt.compute( this.options, this._context.model.getLineCount(), null ); (this._samplingState = t), (this._shouldCheckSampling = !1), (this._actual = new Ot(e.theme, this)); } dispose() { this._actual.dispose(), super.dispose(); } getDomNode() { return this._actual.getDomNode(); } _onOptionsMaybeChanged() { const e = new Lt( this._context.configuration, this._context.theme, this.tokensColorTracker ); return ( !this.options.equals(e) && ((this.options = e), this._recreateLineSampling(), this._actual.onDidChangeOptions(), !0) ); } onConfigurationChanged(e) { return this._onOptionsMaybeChanged(); } onCursorStateChanged(e) { return ( (this._selections = e.selections), (this._minimapSelections = null), this._actual.onSelectionChanged() ); } onDecorationsChanged(e) { return !!e.affectsMinimap && this._actual.onDecorationsChanged(); } onFlushed(e) { return ( this._samplingState && (this._shouldCheckSampling = !0), this._actual.onFlushed() ); } onLinesChanged(e) { if (this._samplingState) { const t = this._samplingState.modelLineRangeToMinimapLineRange( e.fromLineNumber, e.toLineNumber ); return !!t && this._actual.onLinesChanged(t[0], t[1]); } return this._actual.onLinesChanged( e.fromLineNumber, e.toLineNumber ); } onLinesDeleted(e) { if (this._samplingState) { const [t, i] = this._samplingState.onLinesDeleted(e); return ( t <= i && this._actual.onLinesChanged(t + 1, i + 1), (this._shouldCheckSampling = !0), !0 ); } return this._actual.onLinesDeleted( e.fromLineNumber, e.toLineNumber ); } onLinesInserted(e) { return this._samplingState ? (this._samplingState.onLinesInserted(e), (this._shouldCheckSampling = !0), !0) : this._actual.onLinesInserted(e.fromLineNumber, e.toLineNumber); } onScrollChanged(e) { return this._actual.onScrollChanged(); } onThemeChanged(e) { return ( this._context.model.invalidateMinimapColorCache(), this._actual.onThemeChanged(), this._onOptionsMaybeChanged(), !0 ); } onTokensChanged(e) { if (this._samplingState) { let t = []; for (const i of e.ranges) { const e = this._samplingState.modelLineRangeToMinimapLineRange( i.fromLineNumber, i.toLineNumber ); e && t.push({ fromLineNumber: e[0], toLineNumber: e[1] }); } return !!t.length && this._actual.onTokensChanged(t); } return this._actual.onTokensChanged(e.ranges); } onTokensColorsChanged(e) { return this._actual.onTokensColorsChanged(); } onZonesChanged(e) { return this._actual.onZonesChanged(); } prepareRender(e) { this._shouldCheckSampling && ((this._shouldCheckSampling = !1), this._recreateLineSampling()); } render(e) { let t = e.visibleRange.startLineNumber, i = e.visibleRange.endLineNumber; this._samplingState && ((t = this._samplingState.modelLineToMinimapLine(t)), (i = this._samplingState.modelLineToMinimapLine(i))); const n = { viewportContainsWhitespaceGaps: e.viewportData.whitespaceViewportData.length > 0, scrollWidth: e.scrollWidth, scrollHeight: e.scrollHeight, viewportStartLineNumber: t, viewportEndLineNumber: i, scrollTop: e.scrollTop, scrollLeft: e.scrollLeft, viewportWidth: e.viewportWidth, viewportHeight: e.viewportHeight, }; this._actual.render(n); } _recreateLineSampling() { this._minimapSelections = null; const e = Boolean(this._samplingState), [t, i] = Tt.compute( this.options, this._context.model.getLineCount(), this._samplingState ); if (((this._samplingState = t), e && this._samplingState)) for (const e of i) switch (e.type) { case 'deleted': this._actual.onLinesDeleted( e.deleteFromLineNumber, e.deleteToLineNumber ); break; case 'inserted': this._actual.onLinesInserted( e.insertFromLineNumber, e.insertToLineNumber ); break; case 'flush': this._actual.onFlushed(); } } getLineCount() { return this._samplingState ? this._samplingState.minimapLines.length : this._context.model.getLineCount(); } getRealLineCount() { return this._context.model.getLineCount(); } getLineContent(e) { return this._samplingState ? this._context.model.getLineContent( this._samplingState.minimapLines[e - 1] ) : this._context.model.getLineContent(e); } getMinimapLinesRenderingData(e, t, i) { if (this._samplingState) { let n = []; for (let r = 0, s = t - e + 1; r < s; r++) i[r] ? (n[r] = this._context.model.getViewLineData( this._samplingState.minimapLines[e + r - 1] )) : (n[r] = null); return n; } return this._context.model.getMinimapLinesRenderingData(e, t, i) .data; } getSelections() { if (null === this._minimapSelections) if (this._samplingState) { this._minimapSelections = []; for (const e of this._selections) { const [ t, i, ] = this._samplingState.decorationLineRangeToMinimapLineRange( e.startLineNumber, e.endLineNumber ); this._minimapSelections.push( new u.Y(t, e.startColumn, i, e.endColumn) ); } } else this._minimapSelections = this._selections; return this._minimapSelections; } getMinimapDecorationsInViewport(e, t) { let i; if (this._samplingState) { const n = this._samplingState.minimapLines[e - 1], r = this._samplingState.minimapLines[t - 1]; i = new X.e(n, 1, r, this._context.model.getLineMaxColumn(r)); } else i = new X.e(e, 1, t, this._context.model.getLineMaxColumn(t)); const n = this._context.model.getDecorationsInViewport(i); if (this._samplingState) { let e = []; for (const t of n) { if (!t.options.minimap) continue; const i = t.range, n = this._samplingState.modelLineToMinimapLine( i.startLineNumber ), r = this._samplingState.modelLineToMinimapLine( i.endLineNumber ); e.push( new pt.$l( new X.e(n, i.startColumn, r, i.endColumn), t.options ) ); } return e; } return n; } getOptions() { return this._context.model.getTextModelOptions(); } revealLineNumber(e) { this._samplingState && (e = this._samplingState.minimapLines[e - 1]), this._context.model.revealRange( 'mouse', !1, new X.e(e, 1, e, 1), 1, 0 ); } setScrollTop(e) { this._context.model.setScrollPosition({ scrollTop: e }, 1); } } class Ot extends a.JT { constructor(e, t) { super(), (this._renderDecorations = !1), (this._gestureInProgress = !1), (this._theme = e), (this._model = t), (this._lastRenderData = null), (this._buffers = null), (this._selectionColor = this._theme.getColor(mt.ov)), (this._domNode = (0, g.X)(document.createElement('div'))), E.write(this._domNode, 8), this._domNode.setClassName(this._getMinimapDomNodeClassName()), this._domNode.setPosition('absolute'), this._domNode.setAttribute('role', 'presentation'), this._domNode.setAttribute('aria-hidden', 'true'), (this._shadow = (0, g.X)(document.createElement('div'))), this._shadow.setClassName('minimap-shadow-hidden'), this._domNode.appendChild(this._shadow), (this._canvas = (0, g.X)(document.createElement('canvas'))), this._canvas.setPosition('absolute'), this._canvas.setLeft(0), this._domNode.appendChild(this._canvas), (this._decorationsCanvas = (0, g.X)( document.createElement('canvas') )), this._decorationsCanvas.setPosition('absolute'), this._decorationsCanvas.setClassName('minimap-decorations-layer'), this._decorationsCanvas.setLeft(0), this._domNode.appendChild(this._decorationsCanvas), (this._slider = (0, g.X)(document.createElement('div'))), this._slider.setPosition('absolute'), this._slider.setClassName('minimap-slider'), this._slider.setLayerHinting(!0), this._slider.setContain('strict'), this._domNode.appendChild(this._slider), (this._sliderHorizontal = (0, g.X)( document.createElement('div') )), this._sliderHorizontal.setPosition('absolute'), this._sliderHorizontal.setClassName('minimap-slider-horizontal'), this._slider.appendChild(this._sliderHorizontal), this._applyLayout(), (this._mouseDownListener = r.mu( this._domNode.domNode, 'mousedown', (e) => { if ( (e.preventDefault(), 0 === this._model.options.renderMinimap) ) return; if (!this._lastRenderData) return; if ('proportional' !== this._model.options.size) { if (e.leftButton && this._lastRenderData) { const t = r.i(this._slider.domNode), i = t.top + t.height / 2; this._startSliderDragging( e.buttons, e.posx, i, e.posy, this._lastRenderData.renderedLayout ); } return; } const t = this._model.options.minimapLineHeight, i = (this._model.options.canvasInnerHeight / this._model.options.canvasOuterHeight) * e.browserEvent.offsetY; let n = Math.floor(i / t) + this._lastRenderData.renderedLayout.startLineNumber; (n = Math.min(n, this._model.getLineCount())), this._model.revealLineNumber(n); } )), (this._sliderMouseMoveMonitor = new v.Z()), (this._sliderMouseDownListener = r.mu( this._slider.domNode, 'mousedown', (e) => { e.preventDefault(), e.stopPropagation(), e.leftButton && this._lastRenderData && this._startSliderDragging( e.buttons, e.posx, e.posy, e.posy, this._lastRenderData.renderedLayout ); } )), (this._gestureDisposable = p.o.addTarget(this._domNode.domNode)), (this._sliderTouchStartListener = r.nm( this._domNode.domNode, p.t.Start, (e) => { e.preventDefault(), e.stopPropagation(), this._lastRenderData && (this._slider.toggleClassName('active', !0), (this._gestureInProgress = !0), this.scrollDueToTouchEvent(e)); }, { passive: !1 } )), (this._sliderTouchMoveListener = r.nm( this._domNode.domNode, p.t.Change, (e) => { e.preventDefault(), e.stopPropagation(), this._lastRenderData && this._gestureInProgress && this.scrollDueToTouchEvent(e); }, { passive: !1 } )), (this._sliderTouchEndListener = r.mu( this._domNode.domNode, p.t.End, (e) => { e.preventDefault(), e.stopPropagation(), (this._gestureInProgress = !1), this._slider.toggleClassName('active', !1); } )); } _startSliderDragging(e, t, i, n, r) { this._slider.toggleClassName('active', !0); const s = (e, n) => { const s = Math.abs(n - t); if (f.ED && s > 140) return void this._model.setScrollTop(r.scrollTop); const o = e - i; this._model.setScrollTop(r.getDesiredScrollTopFromDelta(o)); }; n !== i && s(n, t), this._sliderMouseMoveMonitor.startMonitoring( this._slider.domNode, e, v.e, (e) => s(e.posy, e.posx), () => { this._slider.toggleClassName('active', !1); } ); } scrollDueToTouchEvent(e) { const t = this._domNode.domNode.getBoundingClientRect().top, i = this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation( e.pageY - t ); this._model.setScrollTop(i); } dispose() { this._mouseDownListener.dispose(), this._sliderMouseMoveMonitor.dispose(), this._sliderMouseDownListener.dispose(), this._gestureDisposable.dispose(), this._sliderTouchStartListener.dispose(), this._sliderTouchMoveListener.dispose(), this._sliderTouchEndListener.dispose(), super.dispose(); } _getMinimapDomNodeClassName() { return 'always' === this._model.options.showSlider ? 'minimap slider-always' : 'minimap slider-mouseover'; } getDomNode() { return this._domNode; } _applyLayout() { this._domNode.setLeft(this._model.options.minimapLeft), this._domNode.setWidth(this._model.options.minimapWidth), this._domNode.setHeight(this._model.options.minimapHeight), this._shadow.setHeight(this._model.options.minimapHeight), this._canvas.setWidth(this._model.options.canvasOuterWidth), this._canvas.setHeight(this._model.options.canvasOuterHeight), (this._canvas.domNode.width = this._model.options.canvasInnerWidth), (this._canvas.domNode.height = this._model.options.canvasInnerHeight), this._decorationsCanvas.setWidth( this._model.options.canvasOuterWidth ), this._decorationsCanvas.setHeight( this._model.options.canvasOuterHeight ), (this._decorationsCanvas.domNode.width = this._model.options.canvasInnerWidth), (this._decorationsCanvas.domNode.height = this._model.options.canvasInnerHeight), this._slider.setWidth(this._model.options.minimapWidth); } _getBuffer() { return ( this._buffers || (this._model.options.canvasInnerWidth > 0 && this._model.options.canvasInnerHeight > 0 && (this._buffers = new Et( this._canvas.domNode.getContext('2d'), this._model.options.canvasInnerWidth, this._model.options.canvasInnerHeight, this._model.options.backgroundColor ))), this._buffers ? this._buffers.getBuffer() : null ); } onDidChangeOptions() { (this._lastRenderData = null), (this._buffers = null), this._applyLayout(), this._domNode.setClassName(this._getMinimapDomNodeClassName()); } onSelectionChanged() { return (this._renderDecorations = !0), !0; } onDecorationsChanged() { return (this._renderDecorations = !0), !0; } onFlushed() { return (this._lastRenderData = null), !0; } onLinesChanged(e, t) { return ( !!this._lastRenderData && this._lastRenderData.onLinesChanged(e, t) ); } onLinesDeleted(e, t) { return ( this._lastRenderData && this._lastRenderData.onLinesDeleted(e, t), !0 ); } onLinesInserted(e, t) { return ( this._lastRenderData && this._lastRenderData.onLinesInserted(e, t), !0 ); } onScrollChanged() { return (this._renderDecorations = !0), !0; } onThemeChanged() { return ( (this._selectionColor = this._theme.getColor(mt.ov)), (this._renderDecorations = !0), !0 ); } onTokensChanged(e) { return ( !!this._lastRenderData && this._lastRenderData.onTokensChanged(e) ); } onTokensColorsChanged() { return (this._lastRenderData = null), (this._buffers = null), !0; } onZonesChanged() { return (this._lastRenderData = null), !0; } render(e) { if (0 === this._model.options.renderMinimap) return ( this._shadow.setClassName('minimap-shadow-hidden'), this._sliderHorizontal.setWidth(0), void this._sliderHorizontal.setHeight(0) ); e.scrollLeft + e.viewportWidth >= e.scrollWidth ? this._shadow.setClassName('minimap-shadow-hidden') : this._shadow.setClassName('minimap-shadow-visible'); const t = Mt.create( this._model.options, e.viewportStartLineNumber, e.viewportEndLineNumber, e.viewportHeight, e.viewportContainsWhitespaceGaps, this._model.getLineCount(), this._model.getRealLineCount(), e.scrollTop, e.scrollHeight, this._lastRenderData ? this._lastRenderData.renderedLayout : null ); this._slider.setDisplay(t.sliderNeeded ? 'block' : 'none'), this._slider.setTop(t.sliderTop), this._slider.setHeight(t.sliderHeight); const i = e.scrollLeft / this._model.options.typicalHalfwidthCharacterWidth, n = Math.min( this._model.options.minimapWidth, Math.round( (i * this._model.options.minimapCharWidth) / this._model.options.pixelRatio ) ); this._sliderHorizontal.setLeft(n), this._sliderHorizontal.setWidth( this._model.options.minimapWidth - n ), this._sliderHorizontal.setTop(0), this._sliderHorizontal.setHeight(t.sliderHeight), this.renderDecorations(t), (this._lastRenderData = this.renderLines(t)); } renderDecorations(e) { if (this._renderDecorations) { this._renderDecorations = !1; const t = this._model.getSelections(), i = this._model.getMinimapDecorationsInViewport( e.startLineNumber, e.endLineNumber ), { canvasInnerWidth: n, canvasInnerHeight: r, } = this._model.options, s = this._model.options.minimapLineHeight, o = this._model.options.minimapCharWidth, a = this._model.getOptions().tabSize, l = this._decorationsCanvas.domNode.getContext('2d'); l.clearRect(0, 0, n, r); const c = new Map(); for (let i = 0; i < t.length; i++) { const n = t[i]; for (let t = n.startLineNumber; t <= n.endLineNumber; t++) this.renderDecorationOnLine( l, c, n, this._selectionColor, e, t, s, s, a, o ); } for (let t = 0; t < i.length; t++) { const n = i[t]; if (!n.options.minimap) continue; const r = n.options.minimap.getColor(this._theme); for ( let t = n.range.startLineNumber; t <= n.range.endLineNumber; t++ ) switch (n.options.minimap.position) { case xt.F5.Inline: this.renderDecorationOnLine( l, c, n.range, r, e, t, s, s, a, o ); continue; case xt.F5.Gutter: const i = (t - e.startLineNumber) * s, d = 2; this.renderDecoration(l, r, d, i, 2, s); continue; } } } } renderDecorationOnLine(e, t, i, n, r, s, o, a, l, c) { const d = (s - r.startLineNumber) * a; if (d + o < 0 || d > this._model.options.canvasInnerHeight) return; let h = t.get(s); const u = !h; if (!h) { const e = this._model.getLineContent(s); h = [H.y0]; for (let t = 1; t < e.length + 1; t++) { const i = e.charCodeAt(t - 1), n = 9 === i ? l * c : we.K7(i) ? 2 * c : c; h[t] = h[t - 1] + n; } t.set(s, h); } const { startColumn: g, endColumn: f, startLineNumber: p, endLineNumber: m, } = i, _ = p === s ? h[g - 1] : H.y0, b = m > s ? h.length - 1 : f - 1; if (b > 0) { const t = h[b] - _ || 2; this.renderDecoration(e, n, _, d, t, o); } u && this.renderLineHighlight(e, n, d, o); } renderLineHighlight(e, t, i, n) { (e.fillStyle = (t && t.transparent(0.5).toString()) || ''), e.fillRect(H.y0, i, e.canvas.width, n); } renderDecoration(e, t, i, n, r, s) { (e.fillStyle = (t && t.toString()) || ''), e.fillRect(i, n, r, s); } renderLines(e) { const t = e.startLineNumber, i = e.endLineNumber, n = this._model.options.minimapLineHeight; if (this._lastRenderData && this._lastRenderData.linesEquals(e)) { const t = this._lastRenderData._get(); return new Nt(e, t.imageData, t.lines); } const r = this._getBuffer(); if (!r) return null; let [s, o, a] = Ot._renderUntouchedLines( r, t, i, n, this._lastRenderData ); const l = this._model.getMinimapLinesRenderingData(t, i, a), c = this._model.getOptions().tabSize, d = this._model.options.backgroundColor, h = this._model.tokensColorTracker, u = h.backgroundIsLight(), g = this._model.options.renderMinimap, f = this._model.options.charRenderer(), p = this._model.options.fontScale, m = this._model.options.minimapCharWidth, _ = (1 === g ? 2 : 3) * p, b = n > _ ? Math.floor((n - _) / 2) : 0; let v = 0; const y = []; for (let e = 0, s = i - t + 1; e < s; e++) a[e] && Ot._renderLine(r, d, u, g, m, h, f, v, b, c, l[e], p, n), (y[e] = new Dt(v)), (v += n); const w = -1 === s ? 0 : s, C = (-1 === o ? r.height : o) - w; return ( this._canvas.domNode .getContext('2d') .putImageData(r, 0, 0, 0, w, r.width, C), new Nt(e, r, y) ); } static _renderUntouchedLines(e, t, i, n, r) { const s = []; if (!r) { for (let e = 0, n = i - t + 1; e < n; e++) s[e] = !0; return [-1, -1, s]; } const o = r._get(), a = o.imageData.data, l = o.rendLineNumberStart, c = o.lines, d = c.length, h = e.width, u = e.data, g = (i - t + 1) * n * h * 4; let f = -1, p = -1, m = -1, _ = -1, b = -1, v = -1, y = 0; for (let e = t; e <= i; e++) { const i = e - t, r = e - l, o = r >= 0 && r < d ? c[r].dy : -1; if (-1 === o) { (s[i] = !0), (y += n); continue; } const w = o * h * 4, C = (o + n) * h * 4, S = y * h * 4, k = (y + n) * h * 4; _ === w && v === S ? ((_ = C), (v = k)) : (-1 !== m && (u.set(a.subarray(m, _), b), -1 === f && 0 === m && m === b && (f = _), -1 === p && _ === g && m === b && (p = m)), (m = w), (_ = C), (b = S), (v = k)), (s[i] = !1), (y += n); } return ( -1 !== m && (u.set(a.subarray(m, _), b), -1 === f && 0 === m && m === b && (f = _), -1 === p && _ === g && m === b && (p = m)), [-1 === f ? -1 : f / (4 * h), -1 === p ? -1 : p / (4 * h), s] ); } static _renderLine(e, t, i, n, r, s, o, a, l, c, d, h, u) { const g = d.content, f = d.tokens, p = e.width - r, m = 1 === u; let _ = H.y0, b = 0, v = 0; for (let d = 0, u = f.getCount(); d < u; d++) { const u = f.getEndOffset(d), y = f.getForeground(d), w = s.getColor(y); for (; b < u; b++) { if (_ > p) return; const s = g.charCodeAt(b); if (9 === s) { const e = c - ((b + v) % c); (v += e - 1), (_ += e * r); } else if (32 === s) _ += r; else { const c = we.K7(s) ? 2 : 1; for (let d = 0; d < c; d++) if ( (2 === n ? o.blockRenderChar(e, _, a + l, w, t, i, m) : o.renderChar(e, _, a + l, s, w, t, h, i, m), (_ += r), _ > p) ) return; } } } } } (0, Y.Ic)((e, t) => { const i = e.getColor(mt.kV); i && t.addRule( `.monaco-editor .minimap > canvas { opacity: ${i.rgba.a}; will-change: opacity; }` ); const n = e.getColor(mt.CA); n && t.addRule( `.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${n}; }` ); const r = e.getColor(mt.Xy); r && t.addRule( `.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${r}; }` ); const s = e.getColor(mt.br); s && t.addRule( `.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${s}; }` ); const o = e.getColor(mt._w); o && t.addRule( `.monaco-editor .minimap-shadow-visible { box-shadow: ${o} -6px 0 6px -6px inset; }` ); }); class At extends N { constructor(e) { super(e); const t = this._context.configuration.options.get(117); (this._widgets = {}), (this._verticalScrollbarWidth = t.verticalScrollbarWidth), (this._minimapWidth = t.minimap.minimapWidth), (this._horizontalScrollbarHeight = t.horizontalScrollbarHeight), (this._editorHeight = t.height), (this._editorWidth = t.width), (this._domNode = (0, g.X)(document.createElement('div'))), E.write(this._domNode, 4), this._domNode.setClassName('overlayWidgets'); } dispose() { super.dispose(), (this._widgets = {}); } getDomNode() { return this._domNode; } onConfigurationChanged(e) { const t = this._context.configuration.options.get(117); return ( (this._verticalScrollbarWidth = t.verticalScrollbarWidth), (this._minimapWidth = t.minimap.minimapWidth), (this._horizontalScrollbarHeight = t.horizontalScrollbarHeight), (this._editorHeight = t.height), (this._editorWidth = t.width), !0 ); } addWidget(e) { const t = (0, g.X)(e.getDomNode()); (this._widgets[e.getId()] = { widget: e, preference: null, domNode: t, }), t.setPosition('absolute'), t.setAttribute('widgetId', e.getId()), this._domNode.appendChild(t), this.setShouldRender(); } setWidgetPosition(e, t) { const i = this._widgets[e.getId()]; return ( i.preference !== t && ((i.preference = t), this.setShouldRender(), !0) ); } removeWidget(e) { const t = e.getId(); if (this._widgets.hasOwnProperty(t)) { const e = this._widgets[t].domNode.domNode; delete this._widgets[t], e.parentNode.removeChild(e), this.setShouldRender(); } } _renderWidget(e) { const t = e.domNode; if (null !== e.preference) if (0 === e.preference) t.setTop(0), t.setRight( 2 * this._verticalScrollbarWidth + this._minimapWidth ); else if (1 === e.preference) { const e = t.domNode.clientHeight; t.setTop( this._editorHeight - e - 2 * this._horizontalScrollbarHeight ), t.setRight( 2 * this._verticalScrollbarWidth + this._minimapWidth ); } else 2 === e.preference && (t.setTop(0), (t.domNode.style.right = '50%')); else t.unsetTop(); } prepareRender(e) {} render(e) { this._domNode.setWidth(this._editorWidth); const t = Object.keys(this._widgets); for (let e = 0, i = t.length; e < i; e++) { const i = t[e]; this._renderWidget(this._widgets[i]); } } } var Rt = i(41264); class Pt { constructor(e, t) { const i = e.options; (this.lineHeight = i.get(51)), (this.pixelRatio = i.get(115)), (this.overviewRulerLanes = i.get(65)), (this.renderBorder = i.get(64)); const n = t.getColor(xe.zw); (this.borderColor = n ? n.toString() : null), (this.hideCursor = i.get(44)); const r = t.getColor(xe.n0); (this.cursorColor = r ? r.transparent(0.7).toString() : null), (this.themeType = t.type); const s = i.get(56), o = s.enabled, a = s.side, l = o ? t.getColor(xe.e_) || gt.RW.getDefaultBackground() : null; this.backgroundColor = null === l || 'left' === a ? null : Rt.Il.Format.CSS.formatHex(l); const c = i.get(117).overviewRuler; (this.top = c.top), (this.right = c.right), (this.domWidth = c.width), (this.domHeight = c.height), 0 === this.overviewRulerLanes ? ((this.canvasWidth = 0), (this.canvasHeight = 0)) : ((this.canvasWidth = (this.domWidth * this.pixelRatio) | 0), (this.canvasHeight = (this.domHeight * this.pixelRatio) | 0)); const [d, h] = this._initLanes( 1, this.canvasWidth, this.overviewRulerLanes ); (this.x = d), (this.w = h); } _initLanes(e, t, i) { const n = t - e; if (i >= 3) { const t = Math.floor(n / 3), i = Math.floor(n / 3), r = n - t - i, s = e + t; return [ [0, e, s, e, e + t + r, e, s, e], [0, t, r, t + r, i, t + r + i, r + i, t + r + i], ]; } if (2 === i) { const t = Math.floor(n / 2), i = n - t; return [ [0, e, e, e, e + t, e, e, e], [0, t, t, t, i, t + i, t + i, t + i], ]; } return [ [0, e, e, e, e, e, e, e], [0, n, n, n, n, n, n, n], ]; } equals(e) { return ( this.lineHeight === e.lineHeight && this.pixelRatio === e.pixelRatio && this.overviewRulerLanes === e.overviewRulerLanes && this.renderBorder === e.renderBorder && this.borderColor === e.borderColor && this.hideCursor === e.hideCursor && this.cursorColor === e.cursorColor && this.themeType === e.themeType && this.backgroundColor === e.backgroundColor && this.top === e.top && this.right === e.right && this.domWidth === e.domWidth && this.domHeight === e.domHeight && this.canvasWidth === e.canvasWidth && this.canvasHeight === e.canvasHeight ); } } class Ft extends N { constructor(e) { super(e), (this._domNode = (0, g.X)(document.createElement('canvas'))), this._domNode.setClassName('decorationsOverviewRuler'), this._domNode.setPosition('absolute'), this._domNode.setLayerHinting(!0), this._domNode.setContain('strict'), this._domNode.setAttribute('aria-hidden', 'true'), this._updateSettings(!1), (this._tokensColorTrackerListener = gt.RW.onDidChange((e) => { e.changedColorMap && this._updateSettings(!0); })), (this._cursorPositions = []); } dispose() { super.dispose(), this._tokensColorTrackerListener.dispose(); } _updateSettings(e) { const t = new Pt(this._context.configuration, this._context.theme); return !( (this._settings && this._settings.equals(t)) || ((this._settings = t), this._domNode.setTop(this._settings.top), this._domNode.setRight(this._settings.right), this._domNode.setWidth(this._settings.domWidth), this._domNode.setHeight(this._settings.domHeight), (this._domNode.domNode.width = this._settings.canvasWidth), (this._domNode.domNode.height = this._settings.canvasHeight), e && this._render(), 0) ); } onConfigurationChanged(e) { return this._updateSettings(!1); } onCursorStateChanged(e) { this._cursorPositions = []; for (let t = 0, i = e.selections.length; t < i; t++) this._cursorPositions[t] = e.selections[t].getPosition(); return this._cursorPositions.sort(Q.L.compare), !0; } onDecorationsChanged(e) { return !!e.affectsOverviewRuler; } onFlushed(e) { return !0; } onScrollChanged(e) { return e.scrollHeightChanged; } onZonesChanged(e) { return !0; } onThemeChanged(e) { return ( this._context.model.invalidateOverviewRulerColorCache(), this._updateSettings(!1) ); } getDomNode() { return this._domNode.domNode; } prepareRender(e) {} render(e) { this._render(); } _render() { if (0 === this._settings.overviewRulerLanes) return void this._domNode.setBackgroundColor( this._settings.backgroundColor ? this._settings.backgroundColor : '' ); const e = this._settings.canvasWidth, t = this._settings.canvasHeight, i = this._settings.lineHeight, n = this._context.viewLayout, r = t / this._context.viewLayout.getScrollHeight(), s = this._context.model.getAllOverviewRulerDecorations( this._context.theme ), o = (6 * this._settings.pixelRatio) | 0, a = (o / 2) | 0, l = this._domNode.domNode.getContext('2d'); null === this._settings.backgroundColor ? l.clearRect(0, 0, e, t) : ((l.fillStyle = this._settings.backgroundColor), l.fillRect(0, 0, e, t)); const c = this._settings.x, d = this._settings.w, h = Object.keys(s); h.sort(); for (let e = 0, u = h.length; e < u; e++) { const u = h[e], g = s[u]; l.fillStyle = u; let f = 0, p = 0, m = 0; for (let e = 0, s = g.length; e < s; e++) { const s = g[3 * e], h = g[3 * e + 1], u = g[3 * e + 2]; let _ = (n.getVerticalOffsetForLineNumber(h) * r) | 0, b = ((n.getVerticalOffsetForLineNumber(u) + i) * r) | 0; if (b - _ < o) { let e = ((_ + b) / 2) | 0; e < a ? (e = a) : e + a > t && (e = t - a), (_ = e - a), (b = e + a); } _ > m + 1 || s !== f ? (0 !== e && l.fillRect(c[f], p, d[f], m - p), (f = s), (p = _), (m = b)) : b > m && (m = b); } l.fillRect(c[f], p, d[f], m - p); } if (!this._settings.hideCursor && this._settings.cursorColor) { const e = (2 * this._settings.pixelRatio) | 0, i = (e / 2) | 0, s = this._settings.x[7], o = this._settings.w[7]; l.fillStyle = this._settings.cursorColor; let a = -100, c = -100; for (let d = 0, h = this._cursorPositions.length; d < h; d++) { const h = this._cursorPositions[d]; let u = (n.getVerticalOffsetForLineNumber(h.lineNumber) * r) | 0; u < i ? (u = i) : u + i > t && (u = t - i); const g = u - i, f = g + e; g > c + 1 ? (0 !== d && l.fillRect(s, a, o, c - a), (a = g), (c = f)) : f > c && (c = f); } l.fillRect(s, a, o, c - a); } this._settings.renderBorder && this._settings.borderColor && this._settings.overviewRulerLanes > 0 && (l.beginPath(), (l.lineWidth = 1), (l.strokeStyle = this._settings.borderColor), l.moveTo(0, 0), l.lineTo(0, t), l.stroke(), l.moveTo(0, 0), l.lineTo(e, 0), l.stroke()); } } var Bt = i(92003); class Wt extends D { constructor(e, t) { super(), (this._context = e); const i = this._context.configuration.options; (this._domNode = (0, g.X)(document.createElement('canvas'))), this._domNode.setClassName(t), this._domNode.setPosition('absolute'), this._domNode.setLayerHinting(!0), this._domNode.setContain('strict'), (this._zoneManager = new Bt.Tj((e) => this._context.viewLayout.getVerticalOffsetForLineNumber(e) )), this._zoneManager.setDOMWidth(0), this._zoneManager.setDOMHeight(0), this._zoneManager.setOuterHeight( this._context.viewLayout.getScrollHeight() ), this._zoneManager.setLineHeight(i.get(51)), this._zoneManager.setPixelRatio(i.get(115)), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options; return ( e.hasChanged(51) && (this._zoneManager.setLineHeight(t.get(51)), this._render()), e.hasChanged(115) && (this._zoneManager.setPixelRatio(t.get(115)), this._domNode.setWidth(this._zoneManager.getDOMWidth()), this._domNode.setHeight(this._zoneManager.getDOMHeight()), (this._domNode.domNode.width = this._zoneManager.getCanvasWidth()), (this._domNode.domNode.height = this._zoneManager.getCanvasHeight()), this._render()), !0 ); } onFlushed(e) { return this._render(), !0; } onScrollChanged(e) { return ( e.scrollHeightChanged && (this._zoneManager.setOuterHeight(e.scrollHeight), this._render()), !0 ); } onZonesChanged(e) { return this._render(), !0; } getDomNode() { return this._domNode.domNode; } setLayout(e) { this._domNode.setTop(e.top), this._domNode.setRight(e.right); let t = !1; (t = this._zoneManager.setDOMWidth(e.width) || t), (t = this._zoneManager.setDOMHeight(e.height) || t), t && (this._domNode.setWidth(this._zoneManager.getDOMWidth()), this._domNode.setHeight(this._zoneManager.getDOMHeight()), (this._domNode.domNode.width = this._zoneManager.getCanvasWidth()), (this._domNode.domNode.height = this._zoneManager.getCanvasHeight()), this._render()); } setZones(e) { this._zoneManager.setZones(e), this._render(); } _render() { if (0 === this._zoneManager.getOuterHeight()) return !1; const e = this._zoneManager.getCanvasWidth(), t = this._zoneManager.getCanvasHeight(), i = this._zoneManager.resolveColorZones(), n = this._zoneManager.getId2Color(), r = this._domNode.domNode.getContext('2d'); return ( r.clearRect(0, 0, e, t), i.length > 0 && this._renderOneLane(r, i, n, e), !0 ); } _renderOneLane(e, t, i, n) { let r = 0, s = 0, o = 0; for (const a of t) { const t = a.colorId, l = a.from, c = a.to; t !== r ? (e.fillRect(0, s, n, o - s), (r = t), (e.fillStyle = i[r]), (s = l), (o = c)) : o >= l ? (o = Math.max(o, c)) : (e.fillRect(0, s, n, o - s), (s = l), (o = c)); } e.fillRect(0, s, n, o - s); } } class Yt extends N { constructor(e) { super(e), (this.domNode = (0, g.X)(document.createElement('div'))), this.domNode.setAttribute('role', 'presentation'), this.domNode.setAttribute('aria-hidden', 'true'), this.domNode.setClassName('view-rulers'), (this._renderedRulers = []); const t = this._context.configuration.options; (this._rulers = t.get(83)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth); } dispose() { super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options; return ( (this._rulers = t.get(83)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth), !0 ); } onScrollChanged(e) { return e.scrollHeightChanged; } prepareRender(e) {} _ensureRulersCount() { const e = this._renderedRulers.length, t = this._rulers.length; if (e === t) return; if (e < t) { const { tabSize: i } = this._context.model.getTextModelOptions(), n = i; let r = t - e; for (; r > 0; ) { const e = (0, g.X)(document.createElement('div')); e.setClassName('view-ruler'), e.setWidth(n), this.domNode.appendChild(e), this._renderedRulers.push(e), r--; } return; } let i = e - t; for (; i > 0; ) { const e = this._renderedRulers.pop(); this.domNode.removeChild(e), i--; } } render(e) { this._ensureRulersCount(); for (let t = 0, i = this._rulers.length; t < i; t++) { const i = this._renderedRulers[t], n = this._rulers[t]; i.setBoxShadow(n.color ? `1px 0 0 0 ${n.color} inset` : ''), i.setHeight(Math.min(e.scrollHeight, 1e6)), i.setLeft(n.column * this._typicalHalfwidthCharacterWidth); } } } (0, Y.Ic)((e, t) => { const i = e.getColor(xe.zk); i && t.addRule( `.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${i} inset; }` ); }); class Ht extends N { constructor(e) { super(e), (this._scrollTop = 0), (this._width = 0), this._updateWidth(), (this._shouldShow = !1); const t = this._context.configuration.options.get(84); (this._useShadows = t.useShadows), (this._domNode = (0, g.X)(document.createElement('div'))), this._domNode.setAttribute('role', 'presentation'), this._domNode.setAttribute('aria-hidden', 'true'); } dispose() { super.dispose(); } _updateShouldShow() { const e = this._useShadows && this._scrollTop > 0; return this._shouldShow !== e && ((this._shouldShow = e), !0); } getDomNode() { return this._domNode; } _updateWidth() { const e = this._context.configuration.options.get(117); 0 === e.minimap.renderMinimap || (e.minimap.minimapWidth > 0 && 0 === e.minimap.minimapLeft) ? (this._width = e.width) : (this._width = e.width - e.minimap.minimapWidth - e.verticalScrollbarWidth); } onConfigurationChanged(e) { const t = this._context.configuration.options.get(84); return ( (this._useShadows = t.useShadows), this._updateWidth(), this._updateShouldShow(), !0 ); } onScrollChanged(e) { return (this._scrollTop = e.scrollTop), this._updateShouldShow(); } prepareRender(e) {} render(e) { this._domNode.setWidth(this._width), this._domNode.setClassName( this._shouldShow ? 'scroll-decoration' : '' ); } } (0, Y.Ic)((e, t) => { const i = e.getColor(mt._w); i && t.addRule( `.monaco-editor .scroll-decoration { box-shadow: ${i} 0 6px 6px -6px inset; }` ); }); class jt { constructor(e) { (this.left = e.left), (this.width = e.width), (this.startStyle = null), (this.endStyle = null); } } class Vt { constructor(e, t) { (this.lineNumber = e), (this.ranges = t); } } function zt(e) { return new jt(e); } function Ut(e) { return new Vt(e.lineNumber, e.ranges.map(zt)); } const $t = b.un; class Kt extends ke { constructor(e) { super(), (this._previousFrameVisibleRangesWithStyle = []), (this._context = e); const t = this._context.configuration.options; (this._lineHeight = t.get(51)), (this._roundedSelection = t.get(82)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth), (this._selections = []), (this._renderResult = null), this._context.addEventHandler(this); } dispose() { this._context.removeEventHandler(this), (this._renderResult = null), super.dispose(); } onConfigurationChanged(e) { const t = this._context.configuration.options; return ( (this._lineHeight = t.get(51)), (this._roundedSelection = t.get(82)), (this._typicalHalfwidthCharacterWidth = t.get( 36 ).typicalHalfwidthCharacterWidth), !0 ); } onCursorStateChanged(e) { return (this._selections = e.selections.slice(0)), !0; } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged; } onZonesChanged(e) { return !0; } _visibleRangesHaveGaps(e) { for (let t = 0, i = e.length; t < i; t++) if (e[t].ranges.length > 1) return !0; return !1; } _enrichVisibleRangesWithStyle(e, t, i) { const n = this._typicalHalfwidthCharacterWidth / 4; let r = null, s = null; if (i && i.length > 0 && t.length > 0) { const n = t[0].lineNumber; if (n === e.startLineNumber) for (let e = 0; !r && e < i.length; e++) i[e].lineNumber === n && (r = i[e].ranges[0]); const o = t[t.length - 1].lineNumber; if (o === e.endLineNumber) for (let e = i.length - 1; !s && e >= 0; e--) i[e].lineNumber === o && (s = i[e].ranges[0]); r && !r.startStyle && (r = null), s && !s.startStyle && (s = null); } for (let e = 0, i = t.length; e < i; e++) { const o = t[e].ranges[0], a = o.left, l = o.left + o.width, c = { top: 0, bottom: 0 }, d = { top: 0, bottom: 0 }; if (e > 0) { const i = t[e - 1].ranges[0].left, r = t[e - 1].ranges[0].left + t[e - 1].ranges[0].width; qt(a - i) < n ? (c.top = 2) : a > i && (c.top = 1), qt(l - r) < n ? (d.top = 2) : i < l && l < r && (d.top = 1); } else r && ((c.top = r.startStyle.top), (d.top = r.endStyle.top)); if (e + 1 < i) { const i = t[e + 1].ranges[0].left, r = t[e + 1].ranges[0].left + t[e + 1].ranges[0].width; qt(a - i) < n ? (c.bottom = 2) : i < a && a < r && (c.bottom = 1), qt(l - r) < n ? (d.bottom = 2) : l < r && (d.bottom = 1); } else s && ((c.bottom = s.startStyle.bottom), (d.bottom = s.endStyle.bottom)); (o.startStyle = c), (o.endStyle = d); } } _getVisibleRangesWithStyle(e, t, i) { const n = (t.linesVisibleRangesForRange(e, !0) || []).map(Ut), r = this._visibleRangesHaveGaps(n); return ( $t || r || !this._roundedSelection || this._enrichVisibleRangesWithStyle(t.visibleRange, n, i), n ); } _createSelectionPiece(e, t, i, n, r) { return ( '
    ' ); } _actualRenderOneSelection(e, t, i, n) { if (0 === n.length) return; const r = !!n[0].ranges[0].startStyle, s = this._lineHeight.toString(), o = (this._lineHeight - 1).toString(), a = n[0].lineNumber, l = n[n.length - 1].lineNumber; for (let c = 0, d = n.length; c < d; c++) { const d = n[c], h = d.lineNumber, u = h - t, g = !i || (h !== l && h !== a) ? s : o, f = i && h === a ? 1 : 0; let p = '', m = ''; for (let e = 0, t = d.ranges.length; e < t; e++) { const t = d.ranges[e]; if (r) { const e = t.startStyle, i = t.endStyle; if (1 === e.top || 1 === e.bottom) { p += this._createSelectionPiece( f, g, Kt.SELECTION_CLASS_NAME, t.left - Kt.ROUNDED_PIECE_WIDTH, Kt.ROUNDED_PIECE_WIDTH ); let i = Kt.EDITOR_BACKGROUND_CLASS_NAME; 1 === e.top && (i += ' ' + Kt.SELECTION_TOP_RIGHT), 1 === e.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_RIGHT), (p += this._createSelectionPiece( f, g, i, t.left - Kt.ROUNDED_PIECE_WIDTH, Kt.ROUNDED_PIECE_WIDTH )); } if (1 === i.top || 1 === i.bottom) { p += this._createSelectionPiece( f, g, Kt.SELECTION_CLASS_NAME, t.left + t.width, Kt.ROUNDED_PIECE_WIDTH ); let e = Kt.EDITOR_BACKGROUND_CLASS_NAME; 1 === i.top && (e += ' ' + Kt.SELECTION_TOP_LEFT), 1 === i.bottom && (e += ' ' + Kt.SELECTION_BOTTOM_LEFT), (p += this._createSelectionPiece( f, g, e, t.left + t.width, Kt.ROUNDED_PIECE_WIDTH )); } } let i = Kt.SELECTION_CLASS_NAME; if (r) { const e = t.startStyle, n = t.endStyle; 0 === e.top && (i += ' ' + Kt.SELECTION_TOP_LEFT), 0 === e.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_LEFT), 0 === n.top && (i += ' ' + Kt.SELECTION_TOP_RIGHT), 0 === n.bottom && (i += ' ' + Kt.SELECTION_BOTTOM_RIGHT); } m += this._createSelectionPiece(f, g, i, t.left, t.width); } (e[u][0] += p), (e[u][1] += m); } } prepareRender(e) { const t = [], i = e.visibleRange.startLineNumber, n = e.visibleRange.endLineNumber; for (let e = i; e <= n; e++) t[e - i] = ['', '']; const r = []; for (let n = 0, s = this._selections.length; n < s; n++) { const s = this._selections[n]; if (s.isEmpty()) { r[n] = null; continue; } const o = this._getVisibleRangesWithStyle( s, e, this._previousFrameVisibleRangesWithStyle[n] ); (r[n] = o), this._actualRenderOneSelection( t, i, this._selections.length > 1, o ); } (this._previousFrameVisibleRangesWithStyle = r), (this._renderResult = t.map(([e, t]) => e + t)); } render(e, t) { if (!this._renderResult) return ''; const i = t - e; return i < 0 || i >= this._renderResult.length ? '' : this._renderResult[i]; } } function qt(e) { return e < 0 ? -e : e; } (Kt.SELECTION_CLASS_NAME = 'selected-text'), (Kt.SELECTION_TOP_LEFT = 'top-left-radius'), (Kt.SELECTION_BOTTOM_LEFT = 'bottom-left-radius'), (Kt.SELECTION_TOP_RIGHT = 'top-right-radius'), (Kt.SELECTION_BOTTOM_RIGHT = 'bottom-right-radius'), (Kt.EDITOR_BACKGROUND_CLASS_NAME = 'monaco-editor-background'), (Kt.ROUNDED_PIECE_WIDTH = 10), (0, Y.Ic)((e, t) => { const i = e.getColor(mt.hE); i && t.addRule( `.monaco-editor .focused .selected-text { background-color: ${i}; }` ); const n = e.getColor(mt.ES); n && t.addRule( `.monaco-editor .selected-text { background-color: ${n}; }` ); const r = e.getColor(mt.yb); r && !r.isTransparent() && t.addRule( `.monaco-editor .view-line span.inline-selected-text { color: ${r}; }` ); }); class Gt { constructor(e, t, i, n, r, s) { (this.top = e), (this.left = t), (this.width = i), (this.height = n), (this.textContent = r), (this.textContentClassName = s); } } class Zt { constructor(e) { this._context = e; const t = this._context.configuration.options, i = t.get(36); (this._cursorStyle = t.get(19)), (this._lineHeight = t.get(51)), (this._typicalHalfwidthCharacterWidth = i.typicalHalfwidthCharacterWidth), (this._lineCursorWidth = Math.min( t.get(22), this._typicalHalfwidthCharacterWidth )), (this._isVisible = !0), (this._domNode = (0, g.X)(document.createElement('div'))), this._domNode.setClassName(`cursor ${Ne.S}`), this._domNode.setHeight(this._lineHeight), this._domNode.setTop(0), this._domNode.setLeft(0), c.V.applyFontInfo(this._domNode, i), this._domNode.setDisplay('none'), (this._position = new Q.L(1, 1)), (this._lastRenderedContent = ''), (this._renderData = null); } getDomNode() { return this._domNode; } getPosition() { return this._position; } show() { this._isVisible || (this._domNode.setVisibility('inherit'), (this._isVisible = !0)); } hide() { this._isVisible && (this._domNode.setVisibility('hidden'), (this._isVisible = !1)); } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(36); return ( (this._cursorStyle = t.get(19)), (this._lineHeight = t.get(51)), (this._typicalHalfwidthCharacterWidth = i.typicalHalfwidthCharacterWidth), (this._lineCursorWidth = Math.min( t.get(22), this._typicalHalfwidthCharacterWidth )), c.V.applyFontInfo(this._domNode, i), !0 ); } onCursorPositionChanged(e) { return (this._position = e), !0; } _prepareRender(e) { let t = ''; if ( this._cursorStyle === H.d2.Line || this._cursorStyle === H.d2.LineThin ) { const i = e.visibleRangeForPosition(this._position); if (!i || i.outsideRenderedLine) return null; let n; if (this._cursorStyle === H.d2.Line) { if ( ((n = r.Uh( this._lineCursorWidth > 0 ? this._lineCursorWidth : 2 )), n > 2) ) { const e = this._context.model.getLineContent( this._position.lineNumber ), i = we.vH(e, this._position.column - 1); t = e.substr(this._position.column - 1, i); } } else n = r.Uh(1); let s = i.left; n >= 2 && s >= 1 && (s -= 1); const o = e.getVerticalOffsetForLineNumber(this._position.lineNumber) - e.bigNumbersDelta; return new Gt(o, s, n, this._lineHeight, t, ''); } const i = this._context.model.getLineContent( this._position.lineNumber ), n = we.vH(i, this._position.column - 1), s = e.linesVisibleRangesForRange( new X.e( this._position.lineNumber, this._position.column, this._position.lineNumber, this._position.column + n ), !1 ); if (!s || 0 === s.length) return null; const o = s[0]; if (o.outsideRenderedLine || 0 === o.ranges.length) return null; const a = o.ranges[0], l = a.width < 1 ? this._typicalHalfwidthCharacterWidth : a.width; let c = ''; if (this._cursorStyle === H.d2.Block) { const e = this._context.model.getViewLineData( this._position.lineNumber ); t = i.substr(this._position.column - 1, n); const r = e.tokens.findTokenIndexAtOffset( this._position.column - 1 ); c = e.tokens.getClassName(r); } let d = e.getVerticalOffsetForLineNumber(this._position.lineNumber) - e.bigNumbersDelta, h = this._lineHeight; return ( (this._cursorStyle !== H.d2.Underline && this._cursorStyle !== H.d2.UnderlineThin) || ((d += this._lineHeight - 2), (h = 2)), new Gt(d, a.left, l, h, t, c) ); } prepareRender(e) { this._renderData = this._prepareRender(e); } render(e) { return this._renderData ? (this._lastRenderedContent !== this._renderData.textContent && ((this._lastRenderedContent = this._renderData.textContent), (this._domNode.domNode.textContent = this._lastRenderedContent)), this._domNode.setClassName( `cursor ${Ne.S} ${this._renderData.textContentClassName}` ), this._domNode.setDisplay('block'), this._domNode.setTop(this._renderData.top), this._domNode.setLeft(this._renderData.left), this._domNode.setWidth(this._renderData.width), this._domNode.setLineHeight(this._renderData.height), this._domNode.setHeight(this._renderData.height), { domNode: this._domNode.domNode, position: this._position, contentLeft: this._renderData.left, height: this._renderData.height, width: 2, }) : (this._domNode.setDisplay('none'), null); } } class Jt extends N { constructor(e) { super(e); const t = this._context.configuration.options; (this._readOnly = t.get(72)), (this._cursorBlinking = t.get(17)), (this._cursorStyle = t.get(19)), (this._cursorSmoothCaretAnimation = t.get(18)), (this._selectionIsEmpty = !0), (this._isVisible = !1), (this._primaryCursor = new Zt(this._context)), (this._secondaryCursors = []), (this._renderData = []), (this._domNode = (0, g.X)(document.createElement('div'))), this._domNode.setAttribute('role', 'presentation'), this._domNode.setAttribute('aria-hidden', 'true'), this._updateDomClassName(), this._domNode.appendChild(this._primaryCursor.getDomNode()), (this._startCursorBlinkAnimation = new _._F()), (this._cursorFlatBlinkInterval = new _.zh()), (this._blinkingEnabled = !1), (this._editorHasFocus = !1), this._updateBlinking(); } dispose() { super.dispose(), this._startCursorBlinkAnimation.dispose(), this._cursorFlatBlinkInterval.dispose(); } getDomNode() { return this._domNode; } onConfigurationChanged(e) { const t = this._context.configuration.options; (this._readOnly = t.get(72)), (this._cursorBlinking = t.get(17)), (this._cursorStyle = t.get(19)), (this._cursorSmoothCaretAnimation = t.get(18)), this._updateBlinking(), this._updateDomClassName(), this._primaryCursor.onConfigurationChanged(e); for (let t = 0, i = this._secondaryCursors.length; t < i; t++) this._secondaryCursors[t].onConfigurationChanged(e); return !0; } _onCursorPositionChanged(e, t) { if ( (this._primaryCursor.onCursorPositionChanged(e), this._updateBlinking(), this._secondaryCursors.length < t.length) ) { const e = t.length - this._secondaryCursors.length; for (let t = 0; t < e; t++) { const e = new Zt(this._context); this._domNode.domNode.insertBefore( e.getDomNode().domNode, this._primaryCursor.getDomNode().domNode.nextSibling ), this._secondaryCursors.push(e); } } else if (this._secondaryCursors.length > t.length) { const e = this._secondaryCursors.length - t.length; for (let t = 0; t < e; t++) this._domNode.removeChild( this._secondaryCursors[0].getDomNode() ), this._secondaryCursors.splice(0, 1); } for (let e = 0; e < t.length; e++) this._secondaryCursors[e].onCursorPositionChanged(t[e]); } onCursorStateChanged(e) { const t = []; for (let i = 0, n = e.selections.length; i < n; i++) t[i] = e.selections[i].getPosition(); this._onCursorPositionChanged(t[0], t.slice(1)); const i = e.selections[0].isEmpty(); return ( this._selectionIsEmpty !== i && ((this._selectionIsEmpty = i), this._updateDomClassName()), !0 ); } onDecorationsChanged(e) { return !0; } onFlushed(e) { return !0; } onFocusChanged(e) { return ( (this._editorHasFocus = e.isFocused), this._updateBlinking(), !1 ); } onLinesChanged(e) { return !0; } onLinesDeleted(e) { return !0; } onLinesInserted(e) { return !0; } onScrollChanged(e) { return !0; } onTokensChanged(e) { const t = (t) => { for (let i = 0, n = e.ranges.length; i < n; i++) if ( e.ranges[i].fromLineNumber <= t.lineNumber && t.lineNumber <= e.ranges[i].toLineNumber ) return !0; return !1; }; if (t(this._primaryCursor.getPosition())) return !0; for (const e of this._secondaryCursors) if (t(e.getPosition())) return !0; return !1; } onZonesChanged(e) { return !0; } _getCursorBlinking() { return this._editorHasFocus ? this._readOnly ? 5 : this._cursorBlinking : 0; } _updateBlinking() { this._startCursorBlinkAnimation.cancel(), this._cursorFlatBlinkInterval.cancel(); const e = this._getCursorBlinking(), t = 0 === e, i = 5 === e; t ? this._hide() : this._show(), (this._blinkingEnabled = !1), this._updateDomClassName(), t || i || (1 === e ? this._cursorFlatBlinkInterval.cancelAndSet(() => { this._isVisible ? this._hide() : this._show(); }, Jt.BLINK_INTERVAL) : this._startCursorBlinkAnimation.setIfNotSet(() => { (this._blinkingEnabled = !0), this._updateDomClassName(); }, Jt.BLINK_INTERVAL)); } _updateDomClassName() { this._domNode.setClassName(this._getClassName()); } _getClassName() { let e = 'cursors-layer'; switch ( (this._selectionIsEmpty || (e += ' has-selection'), this._cursorStyle) ) { case H.d2.Line: e += ' cursor-line-style'; break; case H.d2.Block: e += ' cursor-block-style'; break; case H.d2.Underline: e += ' cursor-underline-style'; break; case H.d2.LineThin: e += ' cursor-line-thin-style'; break; case H.d2.BlockOutline: e += ' cursor-block-outline-style'; break; case H.d2.UnderlineThin: e += ' cursor-underline-thin-style'; break; default: e += ' cursor-line-style'; } if (this._blinkingEnabled) switch (this._getCursorBlinking()) { case 1: e += ' cursor-blink'; break; case 2: e += ' cursor-smooth'; break; case 3: e += ' cursor-phase'; break; case 4: e += ' cursor-expand'; break; case 5: e += ' cursor-solid'; break; default: e += ' cursor-solid'; } else e += ' cursor-solid'; return ( this._cursorSmoothCaretAnimation && (e += ' cursor-smooth-caret-animation'), e ); } _show() { this._primaryCursor.show(); for (let e = 0, t = this._secondaryCursors.length; e < t; e++) this._secondaryCursors[e].show(); this._isVisible = !0; } _hide() { this._primaryCursor.hide(); for (let e = 0, t = this._secondaryCursors.length; e < t; e++) this._secondaryCursors[e].hide(); this._isVisible = !1; } prepareRender(e) { this._primaryCursor.prepareRender(e); for (let t = 0, i = this._secondaryCursors.length; t < i; t++) this._secondaryCursors[t].prepareRender(e); } render(e) { let t = [], i = 0; const n = this._primaryCursor.render(e); n && (t[i++] = n); for (let n = 0, r = this._secondaryCursors.length; n < r; n++) { const r = this._secondaryCursors[n].render(e); r && (t[i++] = r); } this._renderData = t; } getLastRenderData() { return this._renderData; } } (Jt.BLINK_INTERVAL = 500), (0, Y.Ic)((e, t) => { const i = e.getColor(xe.n0); if (i) { let n = e.getColor(xe.fY); n || (n = i.opposite()), t.addRule( `.monaco-editor .cursors-layer .cursor { background-color: ${i}; border-color: ${i}; color: ${n}; }` ), 'hc' === e.type && t.addRule( `.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${n}; border-right: 1px solid ${n}; }` ); } }); const Qt = () => { throw new Error('Invalid change accessor'); }; class Xt extends N { constructor(e) { super(e); const t = this._context.configuration.options, i = t.get(117); (this._lineHeight = t.get(51)), (this._contentWidth = i.contentWidth), (this._contentLeft = i.contentLeft), (this.domNode = (0, g.X)(document.createElement('div'))), this.domNode.setClassName('view-zones'), this.domNode.setPosition('absolute'), this.domNode.setAttribute('role', 'presentation'), this.domNode.setAttribute('aria-hidden', 'true'), (this.marginDomNode = (0, g.X)(document.createElement('div'))), this.marginDomNode.setClassName('margin-view-zones'), this.marginDomNode.setPosition('absolute'), this.marginDomNode.setAttribute('role', 'presentation'), this.marginDomNode.setAttribute('aria-hidden', 'true'), (this._zones = {}); } dispose() { super.dispose(), (this._zones = {}); } _recomputeWhitespacesProps() { const e = this._context.viewLayout.getWhitespaces(), t = new Map(); for (const i of e) t.set(i.id, i); let i = !1; return ( this._context.model.changeWhitespace((e) => { const n = Object.keys(this._zones); for (let r = 0, s = n.length; r < s; r++) { const s = n[r], o = this._zones[s], a = this._computeWhitespaceProps(o.delegate), l = t.get(s); !l || (l.afterLineNumber === a.afterViewLineNumber && l.height === a.heightInPx) || (e.changeOneWhitespace( s, a.afterViewLineNumber, a.heightInPx ), this._safeCallOnComputedHeight(o.delegate, a.heightInPx), (i = !0)); } }), i ); } onConfigurationChanged(e) { const t = this._context.configuration.options, i = t.get(117); return ( (this._lineHeight = t.get(51)), (this._contentWidth = i.contentWidth), (this._contentLeft = i.contentLeft), e.hasChanged(51) && this._recomputeWhitespacesProps(), !0 ); } onLineMappingChanged(e) { return this._recomputeWhitespacesProps(); } onLinesDeleted(e) { return !0; } onScrollChanged(e) { return e.scrollTopChanged || e.scrollWidthChanged; } onZonesChanged(e) { return !0; } onLinesInserted(e) { return !0; } _getZoneOrdinal(e) { return void 0 !== e.afterColumn ? e.afterColumn : 1e4; } _computeWhitespaceProps(e) { if (0 === e.afterLineNumber) return { afterViewLineNumber: 0, heightInPx: this._heightInPixels(e), minWidthInPx: this._minWidthInPixels(e), }; let t, i; if (void 0 !== e.afterColumn) t = this._context.model.validateModelPosition({ lineNumber: e.afterLineNumber, column: e.afterColumn, }); else { const i = this._context.model.validateModelPosition({ lineNumber: e.afterLineNumber, column: 1, }).lineNumber; t = new Q.L(i, this._context.model.getModelLineMaxColumn(i)); } i = t.column === this._context.model.getModelLineMaxColumn(t.lineNumber) ? this._context.model.validateModelPosition({ lineNumber: t.lineNumber + 1, column: 1, }) : this._context.model.validateModelPosition({ lineNumber: t.lineNumber, column: t.column + 1, }); const n = this._context.model.coordinatesConverter.convertModelPositionToViewPosition( t ), r = this._context.model.coordinatesConverter.modelPositionIsVisible( i ); return { afterViewLineNumber: n.lineNumber, heightInPx: r ? this._heightInPixels(e) : 0, minWidthInPx: this._minWidthInPixels(e), }; } changeViewZones(e) { let t = !1; return ( this._context.model.changeWhitespace((i) => { const n = { addZone: (e) => ((t = !0), this._addZone(i, e)), removeZone: (e) => { e && (t = this._removeZone(i, e) || t); }, layoutZone: (e) => { e && (t = this._layoutZone(i, e) || t); }, }; !(function (e, t) { try { e(t); } catch (e) { (0, s.dL)(e); } })(e, n), (n.addZone = Qt), (n.removeZone = Qt), (n.layoutZone = Qt); }), t ); } _addZone(e, t) { const i = this._computeWhitespaceProps(t), n = { whitespaceId: e.insertWhitespace( i.afterViewLineNumber, this._getZoneOrdinal(t), i.heightInPx, i.minWidthInPx ), delegate: t, isVisible: !1, domNode: (0, g.X)(t.domNode), marginDomNode: t.marginDomNode ? (0, g.X)(t.marginDomNode) : null, }; return ( this._safeCallOnComputedHeight(n.delegate, i.heightInPx), n.domNode.setPosition('absolute'), (n.domNode.domNode.style.width = '100%'), n.domNode.setDisplay('none'), n.domNode.setAttribute('monaco-view-zone', n.whitespaceId), this.domNode.appendChild(n.domNode), n.marginDomNode && (n.marginDomNode.setPosition('absolute'), (n.marginDomNode.domNode.style.width = '100%'), n.marginDomNode.setDisplay('none'), n.marginDomNode.setAttribute( 'monaco-view-zone', n.whitespaceId ), this.marginDomNode.appendChild(n.marginDomNode)), (this._zones[n.whitespaceId] = n), this.setShouldRender(), n.whitespaceId ); } _removeZone(e, t) { if (this._zones.hasOwnProperty(t)) { const i = this._zones[t]; return ( delete this._zones[t], e.removeWhitespace(i.whitespaceId), i.domNode.removeAttribute('monaco-visible-view-zone'), i.domNode.removeAttribute('monaco-view-zone'), i.domNode.domNode.parentNode.removeChild(i.domNode.domNode), i.marginDomNode && (i.marginDomNode.removeAttribute('monaco-visible-view-zone'), i.marginDomNode.removeAttribute('monaco-view-zone'), i.marginDomNode.domNode.parentNode.removeChild( i.marginDomNode.domNode )), this.setShouldRender(), !0 ); } return !1; } _layoutZone(e, t) { if (this._zones.hasOwnProperty(t)) { const i = this._zones[t], n = this._computeWhitespaceProps(i.delegate); return ( e.changeOneWhitespace( i.whitespaceId, n.afterViewLineNumber, n.heightInPx ), this._safeCallOnComputedHeight(i.delegate, n.heightInPx), this.setShouldRender(), !0 ); } return !1; } shouldSuppressMouseDownOnViewZone(e) { if (this._zones.hasOwnProperty(e)) { const t = this._zones[e]; return Boolean(t.delegate.suppressMouseDown); } return !1; } _heightInPixels(e) { return 'number' == typeof e.heightInPx ? e.heightInPx : 'number' == typeof e.heightInLines ? this._lineHeight * e.heightInLines : this._lineHeight; } _minWidthInPixels(e) { return 'number' == typeof e.minWidthInPx ? e.minWidthInPx : 0; } _safeCallOnComputedHeight(e, t) { if ('function' == typeof e.onComputedHeight) try { e.onComputedHeight(t); } catch (e) { (0, s.dL)(e); } } _safeCallOnDomNodeTop(e, t) { if ('function' == typeof e.onDomNodeTop) try { e.onDomNodeTop(t); } catch (e) { (0, s.dL)(e); } } prepareRender(e) {} render(e) { const t = e.viewportData.whitespaceViewportData, i = {}; let n = !1; for (let e = 0, r = t.length; e < r; e++) (i[t[e].id] = t[e]), (n = !0); const r = Object.keys(this._zones); for (let t = 0, n = r.length; t < n; t++) { const n = r[t], s = this._zones[n]; let o = 0, a = 0, l = 'none'; i.hasOwnProperty(n) ? ((o = i[n].verticalOffset - e.bigNumbersDelta), (a = i[n].height), (l = 'block'), s.isVisible || (s.domNode.setAttribute('monaco-visible-view-zone', 'true'), (s.isVisible = !0)), this._safeCallOnDomNodeTop( s.delegate, e.getScrolledTopFromAbsoluteTop(i[n].verticalOffset) )) : (s.isVisible && (s.domNode.removeAttribute('monaco-visible-view-zone'), (s.isVisible = !1)), this._safeCallOnDomNodeTop( s.delegate, e.getScrolledTopFromAbsoluteTop(-1e6) )), s.domNode.setTop(o), s.domNode.setHeight(a), s.domNode.setDisplay(l), s.marginDomNode && (s.marginDomNode.setTop(o), s.marginDomNode.setHeight(a), s.marginDomNode.setDisplay(l)); } n && (this.domNode.setWidth( Math.max(e.scrollWidth, this._contentWidth) ), this.marginDomNode.setWidth(this._contentLeft)); } } class ei { constructor(e) { this._theme = e; } get type() { return this._theme.type; } update(e) { this._theme = e; } getColor(e) { return this._theme.getColor(e); } } class ti { constructor(e, t, i) { (this.configuration = e), (this.theme = new ei(t)), (this.model = i), (this.viewLayout = i.viewLayout); } addEventHandler(e) { this.model.addViewEventHandler(e); } removeEventHandler(e) { this.model.removeViewEventHandler(e); } } class ii { constructor(e, t, i, n) { (this.selections = e), (this.startLineNumber = 0 | t.startLineNumber), (this.endLineNumber = 0 | t.endLineNumber), (this.relativeVerticalOffset = t.relativeVerticalOffset), (this.bigNumbersDelta = 0 | t.bigNumbersDelta), (this.whitespaceViewportData = i), (this._model = n), (this.visibleRange = new X.e( t.startLineNumber, this._model.getLineMinColumn(t.startLineNumber), t.endLineNumber, this._model.getLineMaxColumn(t.endLineNumber) )); } getViewLineRenderingData(e) { return this._model.getViewLineRenderingData(this.visibleRange, e); } getDecorationsInViewport() { return this._model.getDecorationsInViewport(this.visibleRange); } } class ni extends D { constructor(e, t, i, n, r, s) { super(), (this._selections = [new u.Y(1, 1, 1, 1)]), (this._renderAnimationFrame = null); const o = new Ae(t, n, r, e); (this._context = new ti(t, i.getColorTheme(), n)), this._context.addEventHandler(this), this._register( i.onDidColorThemeChange((e) => { this._context.theme.update(e), this._context.model.onDidColorThemeChange(), this.render(!0, !1); }) ), (this._viewParts = []), (this._textAreaHandler = new Ie( this._context, o, this._createTextAreaHandlerHelper() )), this._viewParts.push(this._textAreaHandler), (this._linesContent = (0, g.X)(document.createElement('div'))), this._linesContent.setClassName( 'lines-content monaco-editor-background' ), this._linesContent.setPosition('absolute'), (this.domNode = (0, g.X)(document.createElement('div'))), this.domNode.setClassName(this._getEditorClassName()), this.domNode.setAttribute('role', 'code'), (this._overflowGuardContainer = (0, g.X)( document.createElement('div') )), E.write(this._overflowGuardContainer, 3), this._overflowGuardContainer.setClassName('overflow-guard'), (this._scrollbar = new tt( this._context, this._linesContent, this.domNode, this._overflowGuardContainer )), this._viewParts.push(this._scrollbar), (this._viewLines = new ct(this._context, this._linesContent)), (this._viewZones = new Xt(this._context)), this._viewParts.push(this._viewZones); const a = new Ft(this._context); this._viewParts.push(a); const l = new Ht(this._context); this._viewParts.push(l); const c = new Ve(this._context); this._viewParts.push(c), c.addDynamicOverlay(new Je(this._context)), c.addDynamicOverlay(new Kt(this._context)), c.addDynamicOverlay(new st(this._context)), c.addDynamicOverlay(new Xe(this._context)); const d = new ze(this._context); this._viewParts.push(d), d.addDynamicOverlay(new Qe(this._context)), d.addDynamicOverlay(new rt(this._context)), d.addDynamicOverlay(new ht(this._context)), d.addDynamicOverlay(new dt(this._context)), d.addDynamicOverlay(new Le(this._context)); const h = new Me(this._context); h.getDomNode().appendChild(this._viewZones.marginDomNode), h.getDomNode().appendChild(d.getDomNode()), this._viewParts.push(h), (this._contentWidgets = new $e(this._context, this.domNode)), this._viewParts.push(this._contentWidgets), (this._viewCursors = new Jt(this._context)), this._viewParts.push(this._viewCursors), (this._overlayWidgets = new At(this._context)), this._viewParts.push(this._overlayWidgets); const f = new Yt(this._context); this._viewParts.push(f); const p = new It(this._context); if ((this._viewParts.push(p), a)) { const e = this._scrollbar.getOverviewRulerLayoutInfo(); e.parent.insertBefore(a.getDomNode(), e.insertBefore); } this._linesContent.appendChild(c.getDomNode()), this._linesContent.appendChild(f.domNode), this._linesContent.appendChild(this._viewZones.domNode), this._linesContent.appendChild(this._viewLines.getDomNode()), this._linesContent.appendChild(this._contentWidgets.domNode), this._linesContent.appendChild(this._viewCursors.getDomNode()), this._overflowGuardContainer.appendChild(h.getDomNode()), this._overflowGuardContainer.appendChild( this._scrollbar.getDomNode() ), this._overflowGuardContainer.appendChild(l.getDomNode()), this._overflowGuardContainer.appendChild( this._textAreaHandler.textArea ), this._overflowGuardContainer.appendChild( this._textAreaHandler.textAreaCover ), this._overflowGuardContainer.appendChild( this._overlayWidgets.getDomNode() ), this._overflowGuardContainer.appendChild(p.getDomNode()), this.domNode.appendChild(this._overflowGuardContainer), s ? s.appendChild( this._contentWidgets.overflowingContentWidgetsDomNode .domNode ) : this.domNode.appendChild( this._contentWidgets.overflowingContentWidgetsDomNode ), this._applyLayout(), (this._pointerHandler = this._register( new ye(this._context, o, this._createPointerHandlerHelper()) )); } _flushAccumulatedAndRenderNow() { this._renderNow(); } _createPointerHandlerHelper() { return { viewDomNode: this.domNode.domNode, linesContentDomNode: this._linesContent.domNode, focusTextArea: () => { this.focus(); }, getLastRenderData: () => { const e = this._viewCursors.getLastRenderData() || [], t = this._textAreaHandler.getLastRenderData(); return new te(e, t); }, shouldSuppressMouseDownOnViewZone: (e) => this._viewZones.shouldSuppressMouseDownOnViewZone(e), shouldSuppressMouseDownOnWidget: (e) => this._contentWidgets.shouldSuppressMouseDownOnWidget(e), getPositionFromDOMInfo: (e, t) => ( this._flushAccumulatedAndRenderNow(), this._viewLines.getPositionFromDOMInfo(e, t) ), visibleRangeForPosition: (e, t) => ( this._flushAccumulatedAndRenderNow(), this._viewLines.visibleRangeForPosition(new Q.L(e, t)) ), getLineWidth: (e) => ( this._flushAccumulatedAndRenderNow(), this._viewLines.getLineWidth(e) ), }; } _createTextAreaHandlerHelper() { return { visibleRangeForPositionRelativeToEditor: (e, t) => ( this._flushAccumulatedAndRenderNow(), this._viewLines.visibleRangeForPosition(new Q.L(e, t)) ), }; } _applyLayout() { const e = this._context.configuration.options.get(117); this.domNode.setWidth(e.width), this.domNode.setHeight(e.height), this._overflowGuardContainer.setWidth(e.width), this._overflowGuardContainer.setHeight(e.height), this._linesContent.setWidth(1e6), this._linesContent.setHeight(1e6); } _getEditorClassName() { const e = this._textAreaHandler.isFocused() ? ' focused' : ''; return ( this._context.configuration.options.get(114) + ' ' + (0, Y.m6)(this._context.theme.type) + e ); } handleEvents(e) { super.handleEvents(e), this._scheduleRender(); } onConfigurationChanged(e) { return ( this.domNode.setClassName(this._getEditorClassName()), this._applyLayout(), !1 ); } onCursorStateChanged(e) { return (this._selections = e.selections), !1; } onFocusChanged(e) { return this.domNode.setClassName(this._getEditorClassName()), !1; } onThemeChanged(e) { return this.domNode.setClassName(this._getEditorClassName()), !1; } dispose() { null !== this._renderAnimationFrame && (this._renderAnimationFrame.dispose(), (this._renderAnimationFrame = null)), this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(), this._context.removeEventHandler(this), this._viewLines.dispose(); for (let e = 0, t = this._viewParts.length; e < t; e++) this._viewParts[e].dispose(); super.dispose(); } _scheduleRender() { null === this._renderAnimationFrame && (this._renderAnimationFrame = r.lI( this._onRenderScheduled.bind(this), 100 )); } _onRenderScheduled() { (this._renderAnimationFrame = null), this._flushAccumulatedAndRenderNow(); } _renderNow() { !(function (e) { try { e(); } catch (e) { (0, s.dL)(e); } })(() => this._actualRender()); } _getViewPartsToRender() { let e = [], t = 0; for (let i = 0, n = this._viewParts.length; i < n; i++) { const n = this._viewParts[i]; n.shouldRender() && (e[t++] = n); } return e; } _actualRender() { if (!r.Uw(this.domNode.domNode)) return; let e = this._getViewPartsToRender(); if (!this._viewLines.shouldRender() && 0 === e.length) return; const t = this._context.viewLayout.getLinesViewportData(); this._context.model.setViewport( t.startLineNumber, t.endLineNumber, t.centeredLineNumber ); const i = new ii( this._selections, t, this._context.viewLayout.getWhitespaceViewportData(), this._context.model ); this._contentWidgets.shouldRender() && this._contentWidgets.onBeforeRender(i), this._viewLines.shouldRender() && (this._viewLines.renderText(i), this._viewLines.onDidRender(), (e = this._getViewPartsToRender())); const n = new T(this._context.viewLayout, i, this._viewLines); for (let t = 0, i = e.length; t < i; t++) e[t].prepareRender(n); for (let t = 0, i = e.length; t < i; t++) { const i = e[t]; i.render(n), i.onDidRender(); } } delegateVerticalScrollbarMouseDown(e) { this._scrollbar.delegateVerticalScrollbarMouseDown(e); } restoreState(e) { this._context.model.setScrollPosition( { scrollTop: e.scrollTop }, 1 ), this._context.model.tokenizeViewport(), this._renderNow(), this._viewLines.updateLineWidths(), this._context.model.setScrollPosition( { scrollLeft: e.scrollLeft }, 1 ); } getOffsetForColumn(e, t) { const i = this._context.model.validateModelPosition({ lineNumber: e, column: t, }), n = this._context.model.coordinatesConverter.convertModelPositionToViewPosition( i ); this._flushAccumulatedAndRenderNow(); const r = this._viewLines.visibleRangeForPosition( new Q.L(n.lineNumber, n.column) ); return r ? r.left : -1; } getTargetAtClientPoint(e, t) { const i = this._pointerHandler.getTargetAtClientPoint(e, t); return i ? Re.convertViewToModelMouseTarget( i, this._context.model.coordinatesConverter ) : null; } createOverviewRuler(e) { return new Wt(this._context, e); } change(e) { this._viewZones.changeViewZones(e), this._scheduleRender(); } render(e, t) { if (t) { this._viewLines.forceShouldRender(); for (let e = 0, t = this._viewParts.length; e < t; e++) this._viewParts[e].forceShouldRender(); } e ? this._flushAccumulatedAndRenderNow() : this._scheduleRender(); } focus() { this._textAreaHandler.focusTextArea(); } isFocused() { return this._textAreaHandler.isFocused(); } setAriaOptions(e) { this._textAreaHandler.setAriaOptions(e); } addContentWidget(e) { this._contentWidgets.addWidget(e.widget), this.layoutContentWidget(e), this._scheduleRender(); } layoutContentWidget(e) { let t = (e.position && e.position.range) || null; if (null === t) { const i = e.position ? e.position.position : null; null !== i && (t = new X.e(i.lineNumber, i.column, i.lineNumber, i.column)); } const i = e.position ? e.position.preference : null; this._contentWidgets.setWidgetPosition(e.widget, t, i), this._scheduleRender(); } removeContentWidget(e) { this._contentWidgets.removeWidget(e.widget), this._scheduleRender(); } addOverlayWidget(e) { this._overlayWidgets.addWidget(e.widget), this.layoutOverlayWidget(e), this._scheduleRender(); } layoutOverlayWidget(e) { const t = e.position ? e.position.preference : null; this._overlayWidgets.setWidgetPosition(e.widget, t) && this._scheduleRender(); } removeOverlayWidget(e) { this._overlayWidgets.removeWidget(e.widget), this._scheduleRender(); } } class ri { constructor(e) { (this._selTrackedRange = null), (this._trackSelection = !0), this._setState( e, new ee.rS(new X.e(1, 1, 1, 1), 0, new Q.L(1, 1), 0), new ee.rS(new X.e(1, 1, 1, 1), 0, new Q.L(1, 1), 0) ); } dispose(e) { this._removeTrackedRange(e); } startTrackingSelection(e) { (this._trackSelection = !0), this._updateTrackedRange(e); } stopTrackingSelection(e) { (this._trackSelection = !1), this._removeTrackedRange(e); } _updateTrackedRange(e) { this._trackSelection && (this._selTrackedRange = e.model._setTrackedRange( this._selTrackedRange, this.modelState.selection, 0 )); } _removeTrackedRange(e) { this._selTrackedRange = e.model._setTrackedRange( this._selTrackedRange, null, 0 ); } asCursorState() { return new ee.Vi(this.modelState, this.viewState); } readSelectionFromMarkers(e) { const t = e.model._getTrackedRange(this._selTrackedRange); return 0 === this.modelState.selection.getDirection() ? new u.Y( t.startLineNumber, t.startColumn, t.endLineNumber, t.endColumn ) : new u.Y( t.endLineNumber, t.endColumn, t.startLineNumber, t.startColumn ); } ensureValidState(e) { this._setState(e, this.modelState, this.viewState); } setState(e, t, i) { this._setState(e, t, i); } _setState(e, t, i) { if (t) { const i = e.model.validateRange(t.selectionStart), n = t.selectionStart.equalsRange(i) ? t.selectionStartLeftoverVisibleColumns : 0, r = e.model.validatePosition(t.position), s = t.position.equals(r) ? t.leftoverVisibleColumns : 0; t = new ee.rS(i, n, r, s); } else { if (!i) return; const n = e.model.validateRange( e.coordinatesConverter.convertViewRangeToModelRange( i.selectionStart ) ), r = e.model.validatePosition( e.coordinatesConverter.convertViewPositionToModelPosition( i.position ) ); t = new ee.rS( n, i.selectionStartLeftoverVisibleColumns, r, i.leftoverVisibleColumns ); } if (i) { const n = e.coordinatesConverter.validateViewRange( i.selectionStart, t.selectionStart ), r = e.coordinatesConverter.validateViewPosition( i.position, t.position ); i = new ee.rS( n, t.selectionStartLeftoverVisibleColumns, r, t.leftoverVisibleColumns ); } else { const n = e.coordinatesConverter.convertModelPositionToViewPosition( new Q.L( t.selectionStart.startLineNumber, t.selectionStart.startColumn ) ), r = e.coordinatesConverter.convertModelPositionToViewPosition( new Q.L( t.selectionStart.endLineNumber, t.selectionStart.endColumn ) ), s = new X.e(n.lineNumber, n.column, r.lineNumber, r.column), o = e.coordinatesConverter.convertModelPositionToViewPosition( t.position ); i = new ee.rS( s, t.selectionStartLeftoverVisibleColumns, o, t.leftoverVisibleColumns ); } (this.modelState = t), (this.viewState = i), this._updateTrackedRange(e); } } class si { constructor(e) { (this.context = e), (this.primaryCursor = new ri(e)), (this.secondaryCursors = []), (this.lastAddedCursorIndex = 0); } dispose() { this.primaryCursor.dispose(this.context), this.killSecondaryCursors(); } startTrackingSelections() { this.primaryCursor.startTrackingSelection(this.context); for (let e = 0, t = this.secondaryCursors.length; e < t; e++) this.secondaryCursors[e].startTrackingSelection(this.context); } stopTrackingSelections() { this.primaryCursor.stopTrackingSelection(this.context); for (let e = 0, t = this.secondaryCursors.length; e < t; e++) this.secondaryCursors[e].stopTrackingSelection(this.context); } updateContext(e) { this.context = e; } ensureValidState() { this.primaryCursor.ensureValidState(this.context); for (let e = 0, t = this.secondaryCursors.length; e < t; e++) this.secondaryCursors[e].ensureValidState(this.context); } readSelectionFromMarkers() { let e = []; e[0] = this.primaryCursor.readSelectionFromMarkers(this.context); for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t].readSelectionFromMarkers( this.context ); return e; } getAll() { let e = []; e[0] = this.primaryCursor.asCursorState(); for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t].asCursorState(); return e; } getViewPositions() { let e = []; e[0] = this.primaryCursor.viewState.position; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t].viewState.position; return e; } getTopMostViewPosition() { let e = this.primaryCursor.viewState.position; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) { const i = this.secondaryCursors[t].viewState.position; i.isBefore(e) && (e = i); } return e; } getBottomMostViewPosition() { let e = this.primaryCursor.viewState.position; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) { const i = this.secondaryCursors[t].viewState.position; e.isBeforeOrEqual(i) && (e = i); } return e; } getSelections() { let e = []; e[0] = this.primaryCursor.modelState.selection; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t].modelState.selection; return e; } getViewSelections() { let e = []; e[0] = this.primaryCursor.viewState.selection; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t].viewState.selection; return e; } setSelections(e) { this.setStates(ee.Vi.fromModelSelections(e)); } getPrimaryCursor() { return this.primaryCursor.asCursorState(); } setStates(e) { null !== e && (this.primaryCursor.setState( this.context, e[0].modelState, e[0].viewState ), this._setSecondaryStates(e.slice(1))); } _setSecondaryStates(e) { const t = this.secondaryCursors.length, i = e.length; if (t < i) { let e = i - t; for (let t = 0; t < e; t++) this._addSecondaryCursor(); } else if (t > i) { let e = t - i; for (let t = 0; t < e; t++) this._removeSecondaryCursor(this.secondaryCursors.length - 1); } for (let t = 0; t < i; t++) this.secondaryCursors[t].setState( this.context, e[t].modelState, e[t].viewState ); } killSecondaryCursors() { this._setSecondaryStates([]); } _addSecondaryCursor() { this.secondaryCursors.push(new ri(this.context)), (this.lastAddedCursorIndex = this.secondaryCursors.length); } getLastAddedCursorIndex() { return 0 === this.secondaryCursors.length || 0 === this.lastAddedCursorIndex ? 0 : this.lastAddedCursorIndex; } _removeSecondaryCursor(e) { this.lastAddedCursorIndex >= e + 1 && this.lastAddedCursorIndex--, this.secondaryCursors[e].dispose(this.context), this.secondaryCursors.splice(e, 1); } _getAll() { let e = []; e[0] = this.primaryCursor; for (let t = 0, i = this.secondaryCursors.length; t < i; t++) e[t + 1] = this.secondaryCursors[t]; return e; } normalize() { if (0 === this.secondaryCursors.length) return; let e = this._getAll(), t = []; for (let i = 0, n = e.length; i < n; i++) t.push({ index: i, selection: e[i].modelState.selection }); t.sort((e, t) => e.selection.startLineNumber === t.selection.startLineNumber ? e.selection.startColumn - t.selection.startColumn : e.selection.startLineNumber - t.selection.startLineNumber ); for (let i = 0; i < t.length - 1; i++) { const n = t[i], r = t[i + 1], s = n.selection, o = r.selection; if (!this.context.cursorConfig.multiCursorMergeOverlapping) continue; let a; if ( ((a = o.isEmpty() || s.isEmpty() ? o.getStartPosition().isBeforeOrEqual(s.getEndPosition()) : o.getStartPosition().isBefore(s.getEndPosition())), a) ) { const s = n.index < r.index ? i : i + 1, o = n.index < r.index ? i + 1 : i, a = t[o].index, l = t[s].index, c = t[o].selection, d = t[s].selection; if (!c.equalsSelection(d)) { const i = c.plusRange(d), n = c.selectionStartLineNumber === c.startLineNumber && c.selectionStartColumn === c.startColumn, r = d.selectionStartLineNumber === d.startLineNumber && d.selectionStartColumn === d.startColumn; let o, h; a === this.lastAddedCursorIndex ? ((o = n), (this.lastAddedCursorIndex = l)) : (o = r), (h = o ? new u.Y( i.startLineNumber, i.startColumn, i.endLineNumber, i.endColumn ) : new u.Y( i.endLineNumber, i.endColumn, i.startLineNumber, i.startColumn )), (t[s].selection = h); const g = ee.Vi.fromModelSelection(h); e[l].setState(this.context, g.modelState, g.viewState); } for (const e of t) e.index > a && e.index--; e.splice(a, 1), t.splice(o, 1), this._removeSecondaryCursor(a - 1), i--; } } } } var oi = i(31380), ai = i(23582); class li { constructor(e) { (this.type = 0), (this._source = e); } hasChanged(e) { return this._source.hasChanged(e); } } class ci { constructor(e, t) { (this.type = 1), (this.selections = e), (this.modelSelections = t); } } class di { constructor(e) { (this.type = 2), e ? ((this.affectsMinimap = e.affectsMinimap), (this.affectsOverviewRuler = e.affectsOverviewRuler)) : ((this.affectsMinimap = !0), (this.affectsOverviewRuler = !0)); } } class hi { constructor() { this.type = 3; } } class ui { constructor(e) { (this.type = 4), (this.isFocused = e); } } class gi { constructor() { this.type = 5; } } class fi { constructor() { this.type = 6; } } class pi { constructor(e, t) { (this.type = 7), (this.fromLineNumber = e), (this.toLineNumber = t); } } class mi { constructor(e, t) { (this.type = 8), (this.fromLineNumber = e), (this.toLineNumber = t); } } class _i { constructor(e, t) { (this.type = 9), (this.fromLineNumber = e), (this.toLineNumber = t); } } class bi { constructor(e, t, i, n, r, s) { (this.type = 10), (this.source = e), (this.range = t), (this.selections = i), (this.verticalType = n), (this.revealHorizontal = r), (this.scrollType = s); } } class vi { constructor(e) { (this.type = 11), (this.scrollWidth = e.scrollWidth), (this.scrollLeft = e.scrollLeft), (this.scrollHeight = e.scrollHeight), (this.scrollTop = e.scrollTop), (this.scrollWidthChanged = e.scrollWidthChanged), (this.scrollLeftChanged = e.scrollLeftChanged), (this.scrollHeightChanged = e.scrollHeightChanged), (this.scrollTopChanged = e.scrollTopChanged); } } class yi { constructor() { this.type = 12; } } class wi { constructor(e) { (this.type = 13), (this.ranges = e); } } class Ci { constructor() { this.type = 14; } } class Si { constructor() { this.type = 15; } } class ki extends a.JT { constructor() { super(), (this._onEvent = this._register(new o.Q5())), (this.onEvent = this._onEvent.event), (this._eventHandlers = []), (this._viewEventQueue = null), (this._isConsumingViewEventQueue = !1), (this._collector = null), (this._collectorCnt = 0), (this._outgoingEvents = []); } emitOutgoingEvent(e) { this._addOutgoingEvent(e), this._emitOugoingEvents(); } _addOutgoingEvent(e) { for (let t = 0, i = this._outgoingEvents.length; t < i; t++) if (this._outgoingEvents[t].kind === e.kind) return void (this._outgoingEvents[t] = this._outgoingEvents[ t ].merge(e)); this._outgoingEvents.push(e); } _emitOugoingEvents() { for (; this._outgoingEvents.length > 0; ) { if (this._collector || this._isConsumingViewEventQueue) return; const e = this._outgoingEvents.shift(); e.isNoOp() || this._onEvent.fire(e); } } addViewEventHandler(e) { for (let t = 0, i = this._eventHandlers.length; t < i; t++) this._eventHandlers[t] === e && console.warn( 'Detected duplicate listener in ViewEventDispatcher', e ); this._eventHandlers.push(e); } removeViewEventHandler(e) { for (let t = 0; t < this._eventHandlers.length; t++) if (this._eventHandlers[t] === e) { this._eventHandlers.splice(t, 1); break; } } beginEmitViewEvents() { return ( this._collectorCnt++, 1 === this._collectorCnt && (this._collector = new xi()), this._collector ); } endEmitViewEvents() { if ((this._collectorCnt--, 0 === this._collectorCnt)) { const e = this._collector.outgoingEvents, t = this._collector.viewEvents; this._collector = null; for (const t of e) this._addOutgoingEvent(t); t.length > 0 && this._emitMany(t); } this._emitOugoingEvents(); } emitSingleViewEvent(e) { try { this.beginEmitViewEvents().emitViewEvent(e); } finally { this.endEmitViewEvents(); } } _emitMany(e) { this._viewEventQueue ? (this._viewEventQueue = this._viewEventQueue.concat(e)) : (this._viewEventQueue = e), this._isConsumingViewEventQueue || this._consumeViewEventQueue(); } _consumeViewEventQueue() { try { (this._isConsumingViewEventQueue = !0), this._doConsumeQueue(); } finally { this._isConsumingViewEventQueue = !1; } } _doConsumeQueue() { for (; this._viewEventQueue; ) { const e = this._viewEventQueue; this._viewEventQueue = null; const t = this._eventHandlers.slice(0); for (const i of t) i.handleEvents(e); } } } class xi { constructor() { (this.viewEvents = []), (this.outgoingEvents = []); } emitViewEvent(e) { this.viewEvents.push(e); } emitOutgoingEvent(e) { this.outgoingEvents.push(e); } } class Li { constructor(e, t, i, n) { (this.kind = 0), (this._oldContentWidth = e), (this._oldContentHeight = t), (this.contentWidth = i), (this.contentHeight = n), (this.contentWidthChanged = this._oldContentWidth !== this.contentWidth), (this.contentHeightChanged = this._oldContentHeight !== this.contentHeight); } isNoOp() { return !this.contentWidthChanged && !this.contentHeightChanged; } merge(e) { return 0 !== e.kind ? this : new Li( this._oldContentWidth, this._oldContentHeight, e.contentWidth, e.contentHeight ); } } class Mi { constructor(e, t) { (this.kind = 1), (this.oldHasFocus = e), (this.hasFocus = t); } isNoOp() { return this.oldHasFocus === this.hasFocus; } merge(e) { return 1 !== e.kind ? this : new Mi(this.oldHasFocus, e.hasFocus); } } class Di { constructor(e, t, i, n, r, s, o, a) { (this.kind = 2), (this._oldScrollWidth = e), (this._oldScrollLeft = t), (this._oldScrollHeight = i), (this._oldScrollTop = n), (this.scrollWidth = r), (this.scrollLeft = s), (this.scrollHeight = o), (this.scrollTop = a), (this.scrollWidthChanged = this._oldScrollWidth !== this.scrollWidth), (this.scrollLeftChanged = this._oldScrollLeft !== this.scrollLeft), (this.scrollHeightChanged = this._oldScrollHeight !== this.scrollHeight), (this.scrollTopChanged = this._oldScrollTop !== this.scrollTop); } isNoOp() { return !( this.scrollWidthChanged || this.scrollLeftChanged || this.scrollHeightChanged || this.scrollTopChanged ); } merge(e) { return 2 !== e.kind ? this : new Di( this._oldScrollWidth, this._oldScrollLeft, this._oldScrollHeight, this._oldScrollTop, e.scrollWidth, e.scrollLeft, e.scrollHeight, e.scrollTop ); } } class Ni { constructor() { this.kind = 3; } isNoOp() { return !1; } merge(e) { return this; } } class Ei { constructor(e, t, i, n, r, s, o) { (this.kind = 5), (this.oldSelections = e), (this.selections = t), (this.oldModelVersionId = i), (this.modelVersionId = n), (this.source = r), (this.reason = s), (this.reachedMaxCursorCount = o); } static _selectionsAreEqual(e, t) { if (!e && !t) return !0; if (!e || !t) return !1; const i = e.length; if (i !== t.length) return !1; for (let n = 0; n < i; n++) if (!e[n].equalsSelection(t[n])) return !1; return !0; } isNoOp() { return ( Ei._selectionsAreEqual(this.oldSelections, this.selections) && this.oldModelVersionId === this.modelVersionId ); } merge(e) { return 5 !== e.kind ? this : new Ei( this.oldSelections, e.selections, this.oldModelVersionId, e.modelVersionId, e.source, e.reason, this.reachedMaxCursorCount || e.reachedMaxCursorCount ); } } class Ti { constructor() { this.kind = 4; } isNoOp() { return !1; } merge(e) { return this; } } class Ii { constructor(e, t) { (this.modelVersionId = e.getVersionId()), (this.cursorState = t.getCursorStates()); } equals(e) { if (!e) return !1; if (this.modelVersionId !== e.modelVersionId) return !1; if (this.cursorState.length !== e.cursorState.length) return !1; for (let t = 0, i = this.cursorState.length; t < i; t++) if (!this.cursorState[t].equals(e.cursorState[t])) return !1; return !0; } } class Oi { constructor(e, t, i) { (this._model = e), (this._autoClosedCharactersDecorations = t), (this._autoClosedEnclosingDecorations = i); } static getAllAutoClosedCharacters(e) { let t = []; for (const i of e) t = t.concat(i.getAutoClosedCharactersRanges()); return t; } dispose() { (this._autoClosedCharactersDecorations = this._model.deltaDecorations( this._autoClosedCharactersDecorations, [] )), (this._autoClosedEnclosingDecorations = this._model.deltaDecorations( this._autoClosedEnclosingDecorations, [] )); } getAutoClosedCharactersRanges() { let e = []; for ( let t = 0; t < this._autoClosedCharactersDecorations.length; t++ ) { const i = this._model.getDecorationRange( this._autoClosedCharactersDecorations[t] ); i && e.push(i); } return e; } isValid(e) { let t = []; for ( let e = 0; e < this._autoClosedEnclosingDecorations.length; e++ ) { const i = this._model.getDecorationRange( this._autoClosedEnclosingDecorations[e] ); if (i && (t.push(i), i.startLineNumber !== i.endLineNumber)) return !1; } t.sort(X.e.compareRangesUsingStarts), e.sort(X.e.compareRangesUsingStarts); for (let i = 0; i < e.length; i++) { if (i >= t.length) return !1; if (!t[i].strictContainsRange(e[i])) return !1; } return !0; } } class Ai extends a.JT { constructor(e, t, i, n) { super(), (this._model = e), (this._knownModelVersionId = this._model.getVersionId()), (this._viewModel = t), (this._coordinatesConverter = i), (this.context = new ee.zp( this._model, this._coordinatesConverter, n )), (this._cursors = new si(this.context)), (this._hasFocus = !1), (this._isHandling = !1), (this._isDoingComposition = !1), (this._selectionsWhenCompositionStarted = null), (this._columnSelectData = null), (this._autoClosedActions = []), (this._prevEditOperationType = 0); } dispose() { this._cursors.dispose(), (this._autoClosedActions = (0, a.B9)(this._autoClosedActions)), super.dispose(); } updateConfiguration(e) { (this.context = new ee.zp( this._model, this._coordinatesConverter, e )), this._cursors.updateContext(this.context); } onLineMappingChanged(e) { this._knownModelVersionId === this._model.getVersionId() && this.setStates(e, 'viewModel', 0, this.getCursorStates()); } setHasFocus(e) { this._hasFocus = e; } _validateAutoClosedActions() { if (this._autoClosedActions.length > 0) { let e = this._cursors.getSelections(); for (let t = 0; t < this._autoClosedActions.length; t++) { const i = this._autoClosedActions[t]; i.isValid(e) || (i.dispose(), this._autoClosedActions.splice(t, 1), t--); } } } getPrimaryCursorState() { return this._cursors.getPrimaryCursor(); } getLastAddedCursorIndex() { return this._cursors.getLastAddedCursorIndex(); } getCursorStates() { return this._cursors.getAll(); } setStates(e, t, i, n) { let r = !1; null !== n && n.length > Ai.MAX_CURSOR_COUNT && ((n = n.slice(0, Ai.MAX_CURSOR_COUNT)), (r = !0)); const s = new Ii(this._model, this); return ( this._cursors.setStates(n), this._cursors.normalize(), (this._columnSelectData = null), this._validateAutoClosedActions(), this._emitStateChangedIfNecessary(e, t, i, s, r) ); } setCursorColumnSelectData(e) { this._columnSelectData = e; } revealPrimary(e, t, i, n) { const r = this._cursors.getViewPositions(); if (r.length > 1) this._emitCursorRevealRange( e, t, null, this._cursors.getViewSelections(), 0, i, n ); else { const s = r[0], o = new X.e(s.lineNumber, s.column, s.lineNumber, s.column); this._emitCursorRevealRange(e, t, o, null, 0, i, n); } } _revealPrimaryCursor(e, t, i, n, r) { const s = this._cursors.getViewPositions(); if (s.length > 1) this._emitCursorRevealRange( e, t, null, this._cursors.getViewSelections(), i, n, r ); else { const o = s[0], a = new X.e(o.lineNumber, o.column, o.lineNumber, o.column); this._emitCursorRevealRange(e, t, a, null, i, n, r); } } _emitCursorRevealRange(e, t, i, n, r, s, o) { e.emitViewEvent(new bi(t, i, n, r, s, o)); } saveState() { let e = []; const t = this._cursors.getSelections(); for (let i = 0, n = t.length; i < n; i++) { const n = t[i]; e.push({ inSelectionMode: !n.isEmpty(), selectionStart: { lineNumber: n.selectionStartLineNumber, column: n.selectionStartColumn, }, position: { lineNumber: n.positionLineNumber, column: n.positionColumn, }, }); } return e; } restoreState(e, t) { let i = []; for (let e = 0, n = t.length; e < n; e++) { const n = t[e]; let r = 1, s = 1; n.position && n.position.lineNumber && (r = n.position.lineNumber), n.position && n.position.column && (s = n.position.column); let o = r, a = s; n.selectionStart && n.selectionStart.lineNumber && (o = n.selectionStart.lineNumber), n.selectionStart && n.selectionStart.column && (a = n.selectionStart.column), i.push({ selectionStartLineNumber: o, selectionStartColumn: a, positionLineNumber: r, positionColumn: s, }); } this.setStates(e, 'restoreState', 0, ee.Vi.fromModelSelections(i)), this.revealPrimary(e, 'restoreState', !0, 1); } onModelContentChanged(e, t) { if (((this._knownModelVersionId = t.versionId), this._isHandling)) return; const i = t.containsEvent(1); if (((this._prevEditOperationType = 0), i)) this._cursors.dispose(), (this._cursors = new si(this.context)), this._validateAutoClosedActions(), this._emitStateChangedIfNecessary(e, 'model', 1, null, !1); else if ( this._hasFocus && t.resultingSelection && t.resultingSelection.length > 0 ) { const i = ee.Vi.fromModelSelections(t.resultingSelection); this.setStates( e, 'modelChange', t.isUndoing ? 5 : t.isRedoing ? 6 : 2, i ) && this._revealPrimaryCursor(e, 'modelChange', 0, !0, 0); } else { const t = this._cursors.readSelectionFromMarkers(); this.setStates(e, 'modelChange', 2, ee.Vi.fromModelSelections(t)); } } getSelection() { return this._cursors.getPrimaryCursor().modelState.selection; } getTopMostViewPosition() { return this._cursors.getTopMostViewPosition(); } getBottomMostViewPosition() { return this._cursors.getBottomMostViewPosition(); } getCursorColumnSelectData() { if (this._columnSelectData) return this._columnSelectData; const e = this._cursors.getPrimaryCursor(), t = e.viewState.selectionStart.getStartPosition(), i = e.viewState.position; return { isReal: !1, fromViewLineNumber: t.lineNumber, fromViewVisualColumn: ee.io.visibleColumnFromColumn2( this.context.cursorConfig, this._viewModel, t ), toViewLineNumber: i.lineNumber, toViewVisualColumn: ee.io.visibleColumnFromColumn2( this.context.cursorConfig, this._viewModel, i ), }; } getSelections() { return this._cursors.getSelections(); } setSelections(e, t, i) { this.setStates(e, t, 0, ee.Vi.fromModelSelections(i)); } getPrevEditOperationType() { return this._prevEditOperationType; } setPrevEditOperationType(e) { this._prevEditOperationType = e; } _pushAutoClosedAction(e, t) { let i = [], n = []; for (let r = 0, s = e.length; r < s; r++) i.push({ range: e[r], options: { inlineClassName: 'auto-closed-character', stickiness: 1, }, }), n.push({ range: t[r], options: { stickiness: 1 } }); const r = this._model.deltaDecorations([], i), s = this._model.deltaDecorations([], n); this._autoClosedActions.push(new Oi(this._model, r, s)); } _executeEditOperation(e) { if (!e) return; e.shouldPushStackElementBefore && this._model.pushStackElement(); const t = class { static executeCommands(e, t, i) { const n = { model: e, selectionsBefore: t, trackedRanges: [], trackedRangesDirection: [], }, r = this._innerExecuteCommands(n, i); for (let e = 0, t = n.trackedRanges.length; e < t; e++) n.model._setTrackedRange(n.trackedRanges[e], null, 0); return r; } static _innerExecuteCommands(e, t) { if (this._arrayIsEmpty(t)) return null; const i = this._getEditOperations(e, t); if (0 === i.operations.length) return null; const n = i.operations, r = this._getLoserCursorMap(n); if (r.hasOwnProperty('0')) return console.warn('Ignoring commands'), null; let s = []; for (let e = 0, t = n.length; e < t; e++) r.hasOwnProperty(n[e].identifier.major.toString()) || s.push(n[e]); i.hadTrackedEditOperation && s.length > 0 && (s[0]._isTracked = !0); let o = e.model.pushEditOperations( e.selectionsBefore, s, (i) => { let n = []; for (let t = 0; t < e.selectionsBefore.length; t++) n[t] = []; for (const e of i) e.identifier && n[e.identifier.major].push(e); const r = (e, t) => e.identifier.minor - t.identifier.minor; let s = []; for (let i = 0; i < e.selectionsBefore.length; i++) n[i].length > 0 ? (n[i].sort(r), (s[i] = t[i].computeCursorState(e.model, { getInverseEditOperations: () => n[i], getTrackedSelection: (t) => { const i = parseInt(t, 10), n = e.model._getTrackedRange( e.trackedRanges[i] ); return 0 === e.trackedRangesDirection[i] ? new u.Y( n.startLineNumber, n.startColumn, n.endLineNumber, n.endColumn ) : new u.Y( n.endLineNumber, n.endColumn, n.startLineNumber, n.startColumn ); }, }))) : (s[i] = e.selectionsBefore[i]); return s; } ); o || (o = e.selectionsBefore); let a = []; for (let e in r) r.hasOwnProperty(e) && a.push(parseInt(e, 10)); a.sort((e, t) => t - e); for (const e of a) o.splice(e, 1); return o; } static _arrayIsEmpty(e) { for (let t = 0, i = e.length; t < i; t++) if (e[t]) return !1; return !0; } static _getEditOperations(e, t) { let i = [], n = !1; for (let r = 0, s = t.length; r < s; r++) { const s = t[r]; if (s) { const t = this._getEditOperationsFromCommand(e, r, s); (i = i.concat(t.operations)), (n = n || t.hadTrackedEditOperation); } } return { operations: i, hadTrackedEditOperation: n }; } static _getEditOperationsFromCommand(e, t, i) { let n = [], r = 0; const o = (e, s, o = !1) => { (X.e.isEmpty(e) && '' === s) || n.push({ identifier: { major: t, minor: r++ }, range: e, text: s, forceMoveMarkers: o, isAutoWhitespaceEdit: i.insertsAutoWhitespace, }); }; let a = !1; const l = { addEditOperation: o, addTrackedEditOperation: (e, t, i) => { (a = !0), o(e, t, i); }, trackSelection: (t, i) => { const n = u.Y.liftSelection(t); let r; if (n.isEmpty()) if ('boolean' == typeof i) r = i ? 2 : 3; else { const t = e.model.getLineMaxColumn(n.startLineNumber); r = n.startColumn === t ? 2 : 3; } else r = 1; const s = e.trackedRanges.length, o = e.model._setTrackedRange(null, n, r); return ( (e.trackedRanges[s] = o), (e.trackedRangesDirection[s] = n.getDirection()), s.toString() ); }, }; try { i.getEditOperations(e.model, l); } catch (e) { return ( (0, s.dL)(e), { operations: [], hadTrackedEditOperation: !1 } ); } return { operations: n, hadTrackedEditOperation: a }; } static _getLoserCursorMap(e) { (e = e.slice(0)).sort( (e, t) => -X.e.compareRangesUsingEnds(e.range, t.range) ); let t = {}; for (let i = 1; i < e.length; i++) { const n = e[i - 1], r = e[i]; if ( X.e .getStartPosition(n.range) .isBefore(X.e.getEndPosition(r.range)) ) { let s; (s = n.identifier.major > r.identifier.major ? n.identifier.major : r.identifier.major), (t[s.toString()] = !0); for (let t = 0; t < e.length; t++) e[t].identifier.major === s && (e.splice(t, 1), t < i && i--, t--); i > 0 && i--; } } return t; } }.executeCommands( this._model, this._cursors.getSelections(), e.commands ); if (t) { this._interpretCommandResult(t); let i = [], n = []; for (let t = 0; t < e.commands.length; t++) { const r = e.commands[t]; r instanceof ai.g && r.enclosingRange && r.closeCharacterRange && (i.push(r.closeCharacterRange), n.push(r.enclosingRange)); } i.length > 0 && this._pushAutoClosedAction(i, n), (this._prevEditOperationType = e.type); } e.shouldPushStackElementAfter && this._model.pushStackElement(); } _interpretCommandResult(e) { (e && 0 !== e.length) || (e = this._cursors.readSelectionFromMarkers()), (this._columnSelectData = null), this._cursors.setSelections(e), this._cursors.normalize(); } _emitStateChangedIfNecessary(e, t, i, n, r) { const s = new Ii(this._model, this); if (s.equals(n)) return !1; const o = this._cursors.getSelections(), a = this._cursors.getViewSelections(); if ( (e.emitViewEvent(new ci(a, o)), !n || n.cursorState.length !== s.cursorState.length || s.cursorState.some( (e, t) => !e.modelState.equals(n.cursorState[t].modelState) )) ) { const a = n ? n.cursorState.map((e) => e.modelState.selection) : null, l = n ? n.modelVersionId : 0; e.emitOutgoingEvent( new Ei(a, o, l, s.modelVersionId, t || 'keyboard', i, r) ); } return !0; } _findAutoClosingPairs(e) { if (!e.length) return null; let t = []; for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; if (!n.text || n.text.indexOf('\n') >= 0) return null; const r = n.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/); if (!r) return null; const s = r[1], o = this.context.cursorConfig.autoClosingPairsClose2.get(s); if (!o || 1 !== o.length) return null; const a = o[0].open, l = n.text.length - r[2].length - 1, c = n.text.lastIndexOf(a, l - 1); if (-1 === c) return null; t.push([c, l]); } return t; } executeEdits(e, t, i, n) { let r = null; 'snippet' === t && (r = this._findAutoClosingPairs(i)), r && (i[0]._isTracked = !0); let s = [], o = []; const a = this._model.pushEditOperations( this.getSelections(), i, (e) => { if (r) for (let t = 0, i = r.length; t < i; t++) { const [i, n] = r[t], a = e[t], l = a.range.startLineNumber, c = a.range.startColumn - 1 + i, d = a.range.startColumn - 1 + n; s.push(new X.e(l, d + 1, l, d + 2)), o.push(new X.e(l, c + 1, l, d + 2)); } const t = n(e); return t && (this._isHandling = !0), t; } ); a && ((this._isHandling = !1), this.setSelections(e, t, a)), s.length > 0 && this._pushAutoClosedAction(s, o); } _executeEdit(e, t, i, n = 0) { if (this.context.cursorConfig.readOnly) return; const r = new Ii(this._model, this); this._cursors.stopTrackingSelections(), (this._isHandling = !0); try { this._cursors.ensureValidState(), e(); } catch (e) { (0, s.dL)(e); } (this._isHandling = !1), this._cursors.startTrackingSelections(), this._validateAutoClosedActions(), this._emitStateChangedIfNecessary(t, i, n, r, !1) && this._revealPrimaryCursor(t, i, 0, !0, 0); } setIsDoingComposition(e) { this._isDoingComposition = e; } startComposition(e) { this._selectionsWhenCompositionStarted = this.getSelections().slice( 0 ); } endComposition(e, t) { this._executeEdit( () => { if ('keyboard' === t) { const e = Oi.getAllAutoClosedCharacters( this._autoClosedActions ); this._executeEditOperation( ai.u.compositionEndWithInterceptors( this._prevEditOperationType, this.context.cursorConfig, this._model, this._selectionsWhenCompositionStarted, this.getSelections(), e ) ), (this._selectionsWhenCompositionStarted = null); } }, e, t ); } type(e, t, i) { this._executeEdit( () => { if ('keyboard' === i) { const e = t.length; let i = 0; for (; i < e; ) { const e = we.vH(t, i), n = t.substr(i, e), r = Oi.getAllAutoClosedCharacters( this._autoClosedActions ); this._executeEditOperation( ai.u.typeWithInterceptors( this._isDoingComposition, this._prevEditOperationType, this.context.cursorConfig, this._model, this.getSelections(), r, n ) ), (i += e); } } else this._executeEditOperation( ai.u.typeWithoutInterceptors( this._prevEditOperationType, this.context.cursorConfig, this._model, this.getSelections(), t ) ); }, e, i ); } replacePreviousChar(e, t, i, n) { this._executeEdit( () => { this._executeEditOperation( ai.u.replacePreviousChar( this._prevEditOperationType, this.context.cursorConfig, this._model, this.getSelections(), t, i ) ); }, e, n ); } paste(e, t, i, n, r) { this._executeEdit( () => { this._executeEditOperation( ai.u.paste( this.context.cursorConfig, this._model, this.getSelections(), t, i, n || [] ) ); }, e, r, 4 ); } cut(e, t) { this._executeEdit( () => { this._executeEditOperation( oi.A.cut( this.context.cursorConfig, this._model, this.getSelections() ) ); }, e, t ); } executeCommand(e, t, i) { this._executeEdit( () => { this._cursors.killSecondaryCursors(), this._executeEditOperation( new ee.Tp(0, [t], { shouldPushStackElementBefore: !1, shouldPushStackElementAfter: !1, }) ); }, e, i ); } executeCommands(e, t, i) { this._executeEdit( () => { this._executeEditOperation( new ee.Tp(0, t, { shouldPushStackElementBefore: !1, shouldPushStackElementAfter: !1, }) ); }, e, i ); } } Ai.MAX_CURSOR_COUNT = 1e4; var Ri = i(30653), Pi = i(96518), Fi = i(29102), Bi = i(55713), Wi = i(76633); class Yi { constructor() { (this._hasPending = !1), (this._inserts = []), (this._changes = []), (this._removes = []); } insert(e) { (this._hasPending = !0), this._inserts.push(e); } change(e) { (this._hasPending = !0), this._changes.push(e); } remove(e) { (this._hasPending = !0), this._removes.push(e); } mustCommit() { return this._hasPending; } commit(e) { if (!this._hasPending) return; const t = this._inserts, i = this._changes, n = this._removes; (this._hasPending = !1), (this._inserts = []), (this._changes = []), (this._removes = []), e._commitPendingChanges(t, i, n); } } class Hi { constructor(e, t, i, n, r) { (this.id = e), (this.afterLineNumber = t), (this.ordinal = i), (this.height = n), (this.minWidth = r), (this.prefixSum = 0); } } class ji { constructor(e, t, i, n) { (this._instanceId = we.PJ(++ji.INSTANCE_COUNT)), (this._pendingChanges = new Yi()), (this._lastWhitespaceId = 0), (this._arr = []), (this._prefixSumValidIndex = -1), (this._minWidth = -1), (this._lineCount = e), (this._lineHeight = t), (this._paddingTop = i), (this._paddingBottom = n); } static findInsertionIndex(e, t, i) { let n = 0, r = e.length; for (; n < r; ) { const s = (n + r) >>> 1; t === e[s].afterLineNumber ? i < e[s].ordinal ? (r = s) : (n = s + 1) : t < e[s].afterLineNumber ? (r = s) : (n = s + 1); } return n; } setLineHeight(e) { this._checkPendingChanges(), (this._lineHeight = e); } setPadding(e, t) { (this._paddingTop = e), (this._paddingBottom = t); } onFlushed(e) { this._checkPendingChanges(), (this._lineCount = e); } changeWhitespace(e) { let t = !1; try { e({ insertWhitespace: (e, i, n, r) => { (t = !0), (e |= 0), (i |= 0), (n |= 0), (r |= 0); const s = this._instanceId + ++this._lastWhitespaceId; return this._pendingChanges.insert(new Hi(s, e, i, n, r)), s; }, changeOneWhitespace: (e, i, n) => { (t = !0), (i |= 0), (n |= 0), this._pendingChanges.change({ id: e, newAfterLineNumber: i, newHeight: n, }); }, removeWhitespace: (e) => { (t = !0), this._pendingChanges.remove({ id: e }); }, }); } finally { this._pendingChanges.commit(this); } return t; } _commitPendingChanges(e, t, i) { if ( ((e.length > 0 || i.length > 0) && (this._minWidth = -1), e.length + t.length + i.length <= 1) ) { for (const t of e) this._insertWhitespace(t); for (const e of t) this._changeOneWhitespace( e.id, e.newAfterLineNumber, e.newHeight ); for (const e of i) { const t = this._findWhitespaceIndex(e.id); -1 !== t && this._removeWhitespace(t); } return; } const n = new Set(); for (const e of i) n.add(e.id); const r = new Map(); for (const e of t) r.set(e.id, e); const s = (e) => { let t = []; for (const i of e) if (!n.has(i.id)) { if (r.has(i.id)) { const e = r.get(i.id); (i.afterLineNumber = e.newAfterLineNumber), (i.height = e.newHeight); } t.push(i); } return t; }, o = s(this._arr).concat(s(e)); o.sort((e, t) => e.afterLineNumber === t.afterLineNumber ? e.ordinal - t.ordinal : e.afterLineNumber - t.afterLineNumber ), (this._arr = o), (this._prefixSumValidIndex = -1); } _checkPendingChanges() { this._pendingChanges.mustCommit() && this._pendingChanges.commit(this); } _insertWhitespace(e) { const t = ji.findInsertionIndex( this._arr, e.afterLineNumber, e.ordinal ); this._arr.splice(t, 0, e), (this._prefixSumValidIndex = Math.min( this._prefixSumValidIndex, t - 1 )); } _findWhitespaceIndex(e) { const t = this._arr; for (let i = 0, n = t.length; i < n; i++) if (t[i].id === e) return i; return -1; } _changeOneWhitespace(e, t, i) { const n = this._findWhitespaceIndex(e); if ( -1 !== n && (this._arr[n].height !== i && ((this._arr[n].height = i), (this._prefixSumValidIndex = Math.min( this._prefixSumValidIndex, n - 1 ))), this._arr[n].afterLineNumber !== t) ) { const e = this._arr[n]; this._removeWhitespace(n), (e.afterLineNumber = t), this._insertWhitespace(e); } } _removeWhitespace(e) { this._arr.splice(e, 1), (this._prefixSumValidIndex = Math.min( this._prefixSumValidIndex, e - 1 )); } onLinesDeleted(e, t) { this._checkPendingChanges(), (e |= 0), (t |= 0), (this._lineCount -= t - e + 1); for (let i = 0, n = this._arr.length; i < n; i++) { const n = this._arr[i].afterLineNumber; e <= n && n <= t ? (this._arr[i].afterLineNumber = e - 1) : n > t && (this._arr[i].afterLineNumber -= t - e + 1); } } onLinesInserted(e, t) { this._checkPendingChanges(), (e |= 0), (t |= 0), (this._lineCount += t - e + 1); for (let i = 0, n = this._arr.length; i < n; i++) e <= this._arr[i].afterLineNumber && (this._arr[i].afterLineNumber += t - e + 1); } getWhitespacesTotalHeight() { return ( this._checkPendingChanges(), 0 === this._arr.length ? 0 : this.getWhitespacesAccumulatedHeight(this._arr.length - 1) ); } getWhitespacesAccumulatedHeight(e) { this._checkPendingChanges(), (e |= 0); let t = Math.max(0, this._prefixSumValidIndex + 1); 0 === t && ((this._arr[0].prefixSum = this._arr[0].height), t++); for (let i = t; i <= e; i++) this._arr[i].prefixSum = this._arr[i - 1].prefixSum + this._arr[i].height; return ( (this._prefixSumValidIndex = Math.max( this._prefixSumValidIndex, e )), this._arr[e].prefixSum ); } getLinesTotalHeight() { return ( this._checkPendingChanges(), this._lineHeight * this._lineCount + this.getWhitespacesTotalHeight() + this._paddingTop + this._paddingBottom ); } getWhitespaceAccumulatedHeightBeforeLineNumber(e) { this._checkPendingChanges(), (e |= 0); const t = this._findLastWhitespaceBeforeLineNumber(e); return -1 === t ? 0 : this.getWhitespacesAccumulatedHeight(t); } _findLastWhitespaceBeforeLineNumber(e) { e |= 0; const t = this._arr; let i = 0, n = t.length - 1; for (; i <= n; ) { const r = (i + ((((n - i) | 0) / 2) | 0)) | 0; if (t[r].afterLineNumber < e) { if (r + 1 >= t.length || t[r + 1].afterLineNumber >= e) return r; i = (r + 1) | 0; } else n = (r - 1) | 0; } return -1; } _findFirstWhitespaceAfterLineNumber(e) { e |= 0; const t = this._findLastWhitespaceBeforeLineNumber(e) + 1; return t < this._arr.length ? t : -1; } getFirstWhitespaceIndexAfterLineNumber(e) { return ( this._checkPendingChanges(), (e |= 0), this._findFirstWhitespaceAfterLineNumber(e) ); } getVerticalOffsetForLineNumber(e) { let t; return ( this._checkPendingChanges(), (t = (e |= 0) > 1 ? this._lineHeight * (e - 1) : 0), t + this.getWhitespaceAccumulatedHeightBeforeLineNumber(e) + this._paddingTop ); } getWhitespaceMinWidth() { if ((this._checkPendingChanges(), -1 === this._minWidth)) { let e = 0; for (let t = 0, i = this._arr.length; t < i; t++) e = Math.max(e, this._arr[t].minWidth); this._minWidth = e; } return this._minWidth; } isAfterLines(e) { return this._checkPendingChanges(), e > this.getLinesTotalHeight(); } getLineNumberAtOrAfterVerticalOffset(e) { if ((this._checkPendingChanges(), (e |= 0) < 0)) return 1; const t = 0 | this._lineCount, i = this._lineHeight; let n = 1, r = t; for (; n < r; ) { const t = ((n + r) / 2) | 0, s = 0 | this.getVerticalOffsetForLineNumber(t); if (e >= s + i) n = t + 1; else { if (e >= s) return t; r = t; } } return n > t ? t : n; } getLinesViewportData(e, t) { this._checkPendingChanges(), (e |= 0), (t |= 0); const i = this._lineHeight, n = 0 | this.getLineNumberAtOrAfterVerticalOffset(e), r = 0 | this.getVerticalOffsetForLineNumber(n); let s = 0 | this._lineCount, o = 0 | this.getFirstWhitespaceIndexAfterLineNumber(n); const a = 0 | this.getWhitespacesCount(); let l, c; -1 === o ? ((o = a), (c = s + 1), (l = 0)) : ((c = 0 | this.getAfterLineNumberForWhitespaceIndex(o)), (l = 0 | this.getHeightForWhitespaceIndex(o))); let d = r, h = d; const u = 5e5; let g = 0; r >= u && ((g = Math.floor(r / u) * u), (g = Math.floor(g / i) * i), (h -= g)); const f = [], p = e + (t - e) / 2; let m = -1; for (let e = n; e <= s; e++) { if (-1 === m) { const t = d, n = d + i; ((t <= p && p < n) || t > p) && (m = e); } for (d += i, f[e - n] = h, h += i; c === e; ) (h += l), (d += l), o++, o >= a ? (c = s + 1) : ((c = 0 | this.getAfterLineNumberForWhitespaceIndex(o)), (l = 0 | this.getHeightForWhitespaceIndex(o))); if (d >= t) { s = e; break; } } -1 === m && (m = s); const _ = 0 | this.getVerticalOffsetForLineNumber(s); let b = n, v = s; return ( b < v && r < e && b++, b < v && _ + i > t && v--, { bigNumbersDelta: g, startLineNumber: n, endLineNumber: s, relativeVerticalOffset: f, centeredLineNumber: m, completelyVisibleStartLineNumber: b, completelyVisibleEndLineNumber: v, } ); } getVerticalOffsetForWhitespaceIndex(e) { this._checkPendingChanges(), (e |= 0); const t = this.getAfterLineNumberForWhitespaceIndex(e); let i, n; return ( (i = t >= 1 ? this._lineHeight * t : 0), (n = e > 0 ? this.getWhitespacesAccumulatedHeight(e - 1) : 0), i + n + this._paddingTop ); } getWhitespaceIndexAtOrAfterVerticallOffset(e) { this._checkPendingChanges(), (e |= 0); let t = 0, i = this.getWhitespacesCount() - 1; if (i < 0) return -1; if ( e >= this.getVerticalOffsetForWhitespaceIndex(i) + this.getHeightForWhitespaceIndex(i) ) return -1; for (; t < i; ) { const n = Math.floor((t + i) / 2), r = this.getVerticalOffsetForWhitespaceIndex(n); if (e >= r + this.getHeightForWhitespaceIndex(n)) t = n + 1; else { if (e >= r) return n; i = n; } } return t; } getWhitespaceAtVerticalOffset(e) { this._checkPendingChanges(), (e |= 0); const t = this.getWhitespaceIndexAtOrAfterVerticallOffset(e); if (t < 0) return null; if (t >= this.getWhitespacesCount()) return null; const i = this.getVerticalOffsetForWhitespaceIndex(t); if (i > e) return null; const n = this.getHeightForWhitespaceIndex(t); return { id: this.getIdForWhitespaceIndex(t), afterLineNumber: this.getAfterLineNumberForWhitespaceIndex(t), verticalOffset: i, height: n, }; } getWhitespaceViewportData(e, t) { this._checkPendingChanges(), (e |= 0), (t |= 0); const i = this.getWhitespaceIndexAtOrAfterVerticallOffset(e), n = this.getWhitespacesCount() - 1; if (i < 0) return []; let r = []; for (let e = i; e <= n; e++) { const i = this.getVerticalOffsetForWhitespaceIndex(e), n = this.getHeightForWhitespaceIndex(e); if (i >= t) break; r.push({ id: this.getIdForWhitespaceIndex(e), afterLineNumber: this.getAfterLineNumberForWhitespaceIndex(e), verticalOffset: i, height: n, }); } return r; } getWhitespaces() { return this._checkPendingChanges(), this._arr.slice(0); } getWhitespacesCount() { return this._checkPendingChanges(), this._arr.length; } getIdForWhitespaceIndex(e) { return this._checkPendingChanges(), (e |= 0), this._arr[e].id; } getAfterLineNumberForWhitespaceIndex(e) { return ( this._checkPendingChanges(), (e |= 0), this._arr[e].afterLineNumber ); } getHeightForWhitespaceIndex(e) { return this._checkPendingChanges(), (e |= 0), this._arr[e].height; } } ji.INSTANCE_COUNT = 0; class Vi { constructor(e, t, i, n) { (e |= 0) < 0 && (e = 0), (t |= 0) < 0 && (t = 0), (i |= 0) < 0 && (i = 0), (n |= 0) < 0 && (n = 0), (this.width = e), (this.contentWidth = t), (this.scrollWidth = Math.max(e, t)), (this.height = i), (this.contentHeight = n), (this.scrollHeight = Math.max(i, n)); } equals(e) { return ( this.width === e.width && this.contentWidth === e.contentWidth && this.height === e.height && this.contentHeight === e.contentHeight ); } } class zi extends a.JT { constructor(e, t) { super(), (this._onDidContentSizeChange = this._register(new o.Q5())), (this.onDidContentSizeChange = this._onDidContentSizeChange.event), (this._dimensions = new Vi(0, 0, 0, 0)), (this._scrollable = this._register(new Wi.Rm(e, t))), (this.onDidScroll = this._scrollable.onScroll); } getScrollable() { return this._scrollable; } setSmoothScrollDuration(e) { this._scrollable.setSmoothScrollDuration(e); } validateScrollPosition(e) { return this._scrollable.validateScrollPosition(e); } getScrollDimensions() { return this._dimensions; } setScrollDimensions(e) { if (this._dimensions.equals(e)) return; const t = this._dimensions; (this._dimensions = e), this._scrollable.setScrollDimensions( { width: e.width, scrollWidth: e.scrollWidth, height: e.height, scrollHeight: e.scrollHeight, }, !0 ); const i = t.contentWidth !== e.contentWidth, n = t.contentHeight !== e.contentHeight; (i || n) && this._onDidContentSizeChange.fire( new Li( t.contentWidth, t.contentHeight, e.contentWidth, e.contentHeight ) ); } getFutureScrollPosition() { return this._scrollable.getFutureScrollPosition(); } getCurrentScrollPosition() { return this._scrollable.getCurrentScrollPosition(); } setScrollPositionNow(e) { this._scrollable.setScrollPositionNow(e); } setScrollPositionSmooth(e) { this._scrollable.setScrollPositionSmooth(e); } } class Ui extends a.JT { constructor(e, t, i) { super(), (this._configuration = e); const n = this._configuration.options, r = n.get(117), s = n.get(66); (this._linesLayout = new ji(t, n.get(51), s.top, s.bottom)), (this._scrollable = this._register(new zi(0, i))), this._configureSmoothScrollDuration(), this._scrollable.setScrollDimensions( new Vi(r.contentWidth, 0, r.height, 0) ), (this.onDidScroll = this._scrollable.onDidScroll), (this.onDidContentSizeChange = this._scrollable.onDidContentSizeChange), this._updateHeight(); } dispose() { super.dispose(); } getScrollable() { return this._scrollable.getScrollable(); } onHeightMaybeChanged() { this._updateHeight(); } _configureSmoothScrollDuration() { this._scrollable.setSmoothScrollDuration( this._configuration.options.get(94) ? 125 : 0 ); } onConfigurationChanged(e) { const t = this._configuration.options; if ( (e.hasChanged(51) && this._linesLayout.setLineHeight(t.get(51)), e.hasChanged(66)) ) { const e = t.get(66); this._linesLayout.setPadding(e.top, e.bottom); } if (e.hasChanged(117)) { const e = t.get(117), i = e.contentWidth, n = e.height, r = this._scrollable.getScrollDimensions(), s = r.contentWidth; this._scrollable.setScrollDimensions( new Vi(i, r.contentWidth, n, this._getContentHeight(i, n, s)) ); } else this._updateHeight(); e.hasChanged(94) && this._configureSmoothScrollDuration(); } onFlushed(e) { this._linesLayout.onFlushed(e); } onLinesDeleted(e, t) { this._linesLayout.onLinesDeleted(e, t); } onLinesInserted(e, t) { this._linesLayout.onLinesInserted(e, t); } _getHorizontalScrollbarHeight(e, t) { const i = this._configuration.options.get(84); return 2 === i.horizontal || e >= t ? 0 : i.horizontalScrollbarSize; } _getContentHeight(e, t, i) { const n = this._configuration.options; let r = this._linesLayout.getLinesTotalHeight(); return ( n.get(86) ? (r += t - n.get(51)) : (r += this._getHorizontalScrollbarHeight(e, i)), r ); } _updateHeight() { const e = this._scrollable.getScrollDimensions(), t = e.width, i = e.height, n = e.contentWidth; this._scrollable.setScrollDimensions( new Vi(t, e.contentWidth, i, this._getContentHeight(t, i, n)) ); } getCurrentViewport() { const e = this._scrollable.getScrollDimensions(), t = this._scrollable.getCurrentScrollPosition(); return new pt.l_(t.scrollTop, t.scrollLeft, e.width, e.height); } getFutureViewport() { const e = this._scrollable.getScrollDimensions(), t = this._scrollable.getFutureScrollPosition(); return new pt.l_(t.scrollTop, t.scrollLeft, e.width, e.height); } _computeContentWidth(e) { const t = this._configuration.options, i = t.get(118), n = t.get(36); if (i.isViewportWrapping) { const i = t.get(117), r = t.get(56); return e > i.contentWidth + n.typicalHalfwidthCharacterWidth && r.enabled && 'right' === r.side ? e + i.verticalScrollbarWidth : e; } { const i = t.get(85) * n.typicalHalfwidthCharacterWidth, r = this._linesLayout.getWhitespaceMinWidth(); return Math.max(e + i, r); } } setMaxLineWidth(e) { const t = this._scrollable.getScrollDimensions(); this._scrollable.setScrollDimensions( new Vi( t.width, this._computeContentWidth(e), t.height, t.contentHeight ) ), this._updateHeight(); } saveState() { const e = this._scrollable.getFutureScrollPosition(); let t = e.scrollTop, i = this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t); return { scrollTop: t, scrollTopWithoutViewZones: t - this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber( i ), scrollLeft: e.scrollLeft, }; } changeWhitespace(e) { const t = this._linesLayout.changeWhitespace(e); return t && this.onHeightMaybeChanged(), t; } getVerticalOffsetForLineNumber(e) { return this._linesLayout.getVerticalOffsetForLineNumber(e); } isAfterLines(e) { return this._linesLayout.isAfterLines(e); } getLineNumberAtVerticalOffset(e) { return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e); } getWhitespaceAtVerticalOffset(e) { return this._linesLayout.getWhitespaceAtVerticalOffset(e); } getLinesViewportData() { const e = this.getCurrentViewport(); return this._linesLayout.getLinesViewportData( e.top, e.top + e.height ); } getLinesViewportDataAtScrollTop(e) { const t = this._scrollable.getScrollDimensions(); return ( e + t.height > t.scrollHeight && (e = t.scrollHeight - t.height), e < 0 && (e = 0), this._linesLayout.getLinesViewportData(e, e + t.height) ); } getWhitespaceViewportData() { const e = this.getCurrentViewport(); return this._linesLayout.getWhitespaceViewportData( e.top, e.top + e.height ); } getWhitespaces() { return this._linesLayout.getWhitespaces(); } getContentWidth() { return this._scrollable.getScrollDimensions().contentWidth; } getScrollWidth() { return this._scrollable.getScrollDimensions().scrollWidth; } getContentHeight() { return this._scrollable.getScrollDimensions().contentHeight; } getScrollHeight() { return this._scrollable.getScrollDimensions().scrollHeight; } getCurrentScrollLeft() { return this._scrollable.getCurrentScrollPosition().scrollLeft; } getCurrentScrollTop() { return this._scrollable.getCurrentScrollPosition().scrollTop; } validateScrollPosition(e) { return this._scrollable.validateScrollPosition(e); } setScrollPosition(e, t) { 1 === t ? this._scrollable.setScrollPositionNow(e) : this._scrollable.setScrollPositionSmooth(e); } deltaScrollNow(e, t) { const i = this._scrollable.getCurrentScrollPosition(); this._scrollable.setScrollPositionNow({ scrollLeft: i.scrollLeft + e, scrollTop: i.scrollTop + t, }); } } var $i = i(3411), Ki = i(3544); class qi { constructor(e, t) { (this.outputLineIndex = e), (this.outputOffset = t); } } class Gi { constructor(e, t, i) { (this.breakOffsets = e), (this.breakOffsetsVisibleColumn = t), (this.wrappedTextIndentLength = i); } static getInputOffsetOfOutputPosition(e, t, i) { return 0 === t ? i : e[t - 1] + i; } static getOutputPositionOfInputOffset(e, t) { let i = 0, n = e.length - 1, r = 0, s = 0; for (; i <= n; ) { r = (i + (n - i) / 2) | 0; const o = e[r]; if (((s = r > 0 ? e[r - 1] : 0), t < s)) n = r - 1; else { if (!(t >= o)) break; i = r + 1; } } return new qi(r, t - s); } } class Zi { constructor(e) { this._lines = e; } convertViewPositionToModelPosition(e) { return this._lines.convertViewPositionToModelPosition( e.lineNumber, e.column ); } convertViewRangeToModelRange(e) { return this._lines.convertViewRangeToModelRange(e); } validateViewPosition(e, t) { return this._lines.validateViewPosition(e.lineNumber, e.column, t); } validateViewRange(e, t) { return this._lines.validateViewRange(e, t); } convertModelPositionToViewPosition(e) { return this._lines.convertModelPositionToViewPosition( e.lineNumber, e.column ); } convertModelRangeToViewRange(e) { return this._lines.convertModelRangeToViewRange(e); } modelPositionIsVisible(e) { return this._lines.modelPositionIsVisible(e.lineNumber, e.column); } } class Ji { constructor(e) { (this._counts = e), (this._isValid = !1), (this._validEndIndex = -1), (this._modelToView = []), (this._viewToModel = []); } _invalidate(e) { (this._isValid = !1), (this._validEndIndex = Math.min(this._validEndIndex, e - 1)); } _ensureValid() { if (!this._isValid) { for ( let e = this._validEndIndex + 1, t = this._counts.length; e < t; e++ ) { const t = this._counts[e], i = e > 0 ? this._modelToView[e - 1] : 0; this._modelToView[e] = i + t; for (let n = 0; n < t; n++) this._viewToModel[i + n] = e; } (this._modelToView.length = this._counts.length), (this._viewToModel.length = this._modelToView[ this._modelToView.length - 1 ]), (this._isValid = !0), (this._validEndIndex = this._counts.length - 1); } } changeValue(e, t) { this._counts[e] !== t && ((this._counts[e] = t), this._invalidate(e)); } removeValues(e, t) { this._counts.splice(e, t), this._invalidate(e); } insertValues(e, t) { (this._counts = qe.Zv(this._counts, e, t)), this._invalidate(e); } getTotalValue() { return this._ensureValid(), this._viewToModel.length; } getAccumulatedValue(e) { return this._ensureValid(), this._modelToView[e]; } getIndexOf(e) { this._ensureValid(); const t = this._viewToModel[e], i = t > 0 ? this._modelToView[t - 1] : 0; return new Ki.T(t, e - i); } } class Qi { constructor(e, t, i, n, r, s, o, a) { (this.model = e), (this._validModelVersionId = -1), (this._domLineBreaksComputerFactory = t), (this._monospaceLineBreaksComputerFactory = i), (this.fontInfo = n), (this.tabSize = r), (this.wrappingStrategy = s), (this.wrappingColumn = o), (this.wrappingIndent = a), this._constructLines(!0, null); } dispose() { this.hiddenAreasIds = this.model.deltaDecorations( this.hiddenAreasIds, [] ); } createCoordinatesConverter() { return new Zi(this); } _constructLines(e, t) { (this.lines = []), e && (this.hiddenAreasIds = []); let i = this.model.getLinesContent(); const n = i.length, r = this.createLineBreaksComputer(); for (let e = 0; e < n; e++) r.addRequest(i[e], t ? t[e] : null); const s = r.finalize(); let o = [], a = this.hiddenAreasIds .map((e) => this.model.getDecorationRange(e)) .sort(X.e.compareRangesUsingStarts), l = 1, c = 0, d = -1, h = d + 1 < a.length ? c + 1 : n + 2; for (let e = 0; e < n; e++) { let t = e + 1; t === h && (d++, (l = a[d].startLineNumber), (c = a[d].endLineNumber), (h = d + 1 < a.length ? c + 1 : n + 2)); let i = t >= l && t <= c, r = on(s[e], !i); (o[e] = r.getViewLineCount()), (this.lines[e] = r); } (this._validModelVersionId = this.model.getVersionId()), (this.prefixSumComputer = new Ji(o)); } getHiddenAreas() { return this.hiddenAreasIds.map((e) => this.model.getDecorationRange(e) ); } _reduceRanges(e) { if (0 === e.length) return []; let t = e .map((e) => this.model.validateRange(e)) .sort(X.e.compareRangesUsingStarts), i = [], n = t[0].startLineNumber, r = t[0].endLineNumber; for (let e = 1, s = t.length; e < s; e++) { let s = t[e]; s.startLineNumber > r + 1 ? (i.push(new X.e(n, 1, r, 1)), (n = s.startLineNumber), (r = s.endLineNumber)) : s.endLineNumber > r && (r = s.endLineNumber); } return i.push(new X.e(n, 1, r, 1)), i; } setHiddenAreas(e) { let t = this._reduceRanges(e), i = this.hiddenAreasIds .map((e) => this.model.getDecorationRange(e)) .sort(X.e.compareRangesUsingStarts); if (t.length === i.length) { let e = !1; for (let n = 0; n < t.length; n++) if (!t[n].equalsRange(i[n])) { e = !0; break; } if (!e) return !1; } let n = []; for (const e of t) n.push({ range: e, options: $i.qx.EMPTY }); this.hiddenAreasIds = this.model.deltaDecorations( this.hiddenAreasIds, n ); let r = t, s = 1, o = 0, a = -1, l = a + 1 < r.length ? o + 1 : this.lines.length + 2, c = !1; for (let e = 0; e < this.lines.length; e++) { let t = e + 1; t === l && (a++, (s = r[a].startLineNumber), (o = r[a].endLineNumber), (l = a + 1 < r.length ? o + 1 : this.lines.length + 2)); let i = !1; if ( (t >= s && t <= o ? this.lines[e].isVisible() && ((this.lines[e] = this.lines[e].setVisible(!1)), (i = !0)) : ((c = !0), this.lines[e].isVisible() || ((this.lines[e] = this.lines[e].setVisible(!0)), (i = !0))), i) ) { let t = this.lines[e].getViewLineCount(); this.prefixSumComputer.changeValue(e, t); } } return c || this.setHiddenAreas([]), !0; } modelPositionIsVisible(e, t) { return ( !(e < 1 || e > this.lines.length) && this.lines[e - 1].isVisible() ); } setTabSize(e) { return ( this.tabSize !== e && ((this.tabSize = e), this._constructLines(!1, null), !0) ); } setWrappingSettings(e, t, i, n) { const r = this.fontInfo.equals(e), s = this.wrappingStrategy === t, o = this.wrappingColumn === i, a = this.wrappingIndent === n; if (r && s && o && a) return !1; const l = r && s && !o && a; (this.fontInfo = e), (this.wrappingStrategy = t), (this.wrappingColumn = i), (this.wrappingIndent = n); let c = null; if (l) { c = []; for (let e = 0, t = this.lines.length; e < t; e++) c[e] = this.lines[e].getLineBreakData(); } return this._constructLines(!1, c), !0; } createLineBreaksComputer() { return ('advanced' === this.wrappingStrategy ? this._domLineBreaksComputerFactory : this._monospaceLineBreaksComputerFactory ).createLineBreaksComputer( this.fontInfo, this.tabSize, this.wrappingColumn, this.wrappingIndent ); } onModelFlushed() { this._constructLines(!0, null); } onModelLinesDeleted(e, t, i) { if (e <= this._validModelVersionId) return null; let n = 1 === t ? 1 : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1, r = this.prefixSumComputer.getAccumulatedValue(i - 1); return ( this.lines.splice(t - 1, i - t + 1), this.prefixSumComputer.removeValues(t - 1, i - t + 1), new mi(n, r) ); } onModelLinesInserted(e, t, i, n) { if (e <= this._validModelVersionId) return null; let r = this.getHiddenAreas(), s = !1, o = new Q.L(t, 1); for (const e of r) if (e.containsPosition(o)) { s = !0; break; } let a = 1 === t ? 1 : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1, l = 0, c = [], d = []; for (let e = 0, t = n.length; e < t; e++) { let t = on(n[e], !s); c.push(t); let i = t.getViewLineCount(); (l += i), (d[e] = i); } return ( (this.lines = this.lines .slice(0, t - 1) .concat(c) .concat(this.lines.slice(t - 1))), this.prefixSumComputer.insertValues(t - 1, d), new _i(a, a + l - 1) ); } onModelLineChanged(e, t, i) { if (e <= this._validModelVersionId) return [!1, null, null, null]; let n = t - 1, r = this.lines[n].getViewLineCount(), s = on(i, this.lines[n].isVisible()); this.lines[n] = s; let o = this.lines[n].getViewLineCount(), a = !1, l = 0, c = -1, d = 0, h = -1, u = 0, g = -1; return ( r > o ? ((l = 1 === t ? 1 : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), (c = l + o - 1), (u = c + 1), (g = u + (r - o) - 1), (a = !0)) : r < o ? ((l = 1 === t ? 1 : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), (c = l + r - 1), (d = c + 1), (h = d + (o - r) - 1), (a = !0)) : ((l = 1 === t ? 1 : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1), (c = l + o - 1)), this.prefixSumComputer.changeValue(n, o), [ a, l <= c ? new pi(l, c) : null, d <= h ? new _i(d, h) : null, u <= g ? new mi(u, g) : null, ] ); } acceptVersionId(e) { (this._validModelVersionId = e), 1 !== this.lines.length || this.lines[0].isVisible() || this.setHiddenAreas([]); } getViewLineCount() { return this.prefixSumComputer.getTotalValue(); } _toValidViewLineNumber(e) { if (e < 1) return 1; const t = this.getViewLineCount(); return e > t ? t : 0 | e; } getActiveIndentGuide(e, t, i) { (e = this._toValidViewLineNumber(e)), (t = this._toValidViewLineNumber(t)), (i = this._toValidViewLineNumber(i)); const n = this.convertViewPositionToModelPosition( e, this.getViewLineMinColumn(e) ), r = this.convertViewPositionToModelPosition( t, this.getViewLineMinColumn(t) ), s = this.convertViewPositionToModelPosition( i, this.getViewLineMinColumn(i) ), o = this.model.getActiveIndentGuide( n.lineNumber, r.lineNumber, s.lineNumber ), a = this.convertModelPositionToViewPosition(o.startLineNumber, 1), l = this.convertModelPositionToViewPosition( o.endLineNumber, this.model.getLineMaxColumn(o.endLineNumber) ); return { startLineNumber: a.lineNumber, endLineNumber: l.lineNumber, indent: o.indent, }; } getViewLinesIndentGuides(e, t) { (e = this._toValidViewLineNumber(e)), (t = this._toValidViewLineNumber(t)); const i = this.convertViewPositionToModelPosition( e, this.getViewLineMinColumn(e) ), n = this.convertViewPositionToModelPosition( t, this.getViewLineMaxColumn(t) ); let r = [], s = [], o = []; const a = i.lineNumber - 1, l = n.lineNumber - 1; let c = null; for (let e = a; e <= l; e++) { const t = this.lines[e]; if (t.isVisible()) { let n = t.getViewLineNumberOfModelPosition( 0, e === a ? i.column : 1 ), r = t.getViewLineNumberOfModelPosition( 0, this.model.getLineMaxColumn(e + 1) ), l = r - n + 1, d = 0; l > 1 && 1 === t.getViewLineMinColumn(this.model, e + 1, r) && (d = 0 === n ? 1 : 2), s.push(l), o.push(d), null === c && (c = new Q.L(e + 1, 0)); } else null !== c && ((r = r.concat( this.model.getLinesIndentGuides(c.lineNumber, e) )), (c = null)); } null !== c && ((r = r.concat( this.model.getLinesIndentGuides(c.lineNumber, n.lineNumber) )), (c = null)); const d = t - e + 1; let h = new Array(d), u = 0; for (let e = 0, t = r.length; e < t; e++) { let t, i = r[e], n = Math.min(d - u, s[e]), a = o[e]; t = 2 === a ? 0 : 1 === a ? 1 : n; for (let e = 0; e < n; e++) e === t && (i = 0), (h[u++] = i); } return h; } getViewLineContent(e) { e = this._toValidViewLineNumber(e); let t = this.prefixSumComputer.getIndexOf(e - 1), i = t.index, n = t.remainder; return this.lines[i].getViewLineContent(this.model, i + 1, n); } getViewLineLength(e) { e = this._toValidViewLineNumber(e); let t = this.prefixSumComputer.getIndexOf(e - 1), i = t.index, n = t.remainder; return this.lines[i].getViewLineLength(this.model, i + 1, n); } getViewLineMinColumn(e) { e = this._toValidViewLineNumber(e); let t = this.prefixSumComputer.getIndexOf(e - 1), i = t.index, n = t.remainder; return this.lines[i].getViewLineMinColumn(this.model, i + 1, n); } getViewLineMaxColumn(e) { e = this._toValidViewLineNumber(e); let t = this.prefixSumComputer.getIndexOf(e - 1), i = t.index, n = t.remainder; return this.lines[i].getViewLineMaxColumn(this.model, i + 1, n); } getViewLineData(e) { e = this._toValidViewLineNumber(e); let t = this.prefixSumComputer.getIndexOf(e - 1), i = t.index, n = t.remainder; return this.lines[i].getViewLineData(this.model, i + 1, n); } getViewLinesData(e, t, i) { (e = this._toValidViewLineNumber(e)), (t = this._toValidViewLineNumber(t)); let n = this.prefixSumComputer.getIndexOf(e - 1), r = e, s = n.index, o = n.remainder, a = []; for (let n = s, l = this.model.getLineCount(); n < l; n++) { let l = this.lines[n]; if (!l.isVisible()) continue; let c = n === s ? o : 0, d = l.getViewLineCount() - c, h = !1; r + d > t && ((h = !0), (d = t - r + 1)); let u = c + d; if ( (l.getViewLinesData(this.model, n + 1, c, u, r - e, i, a), (r += d), h) ) break; } return a; } validateViewPosition(e, t, i) { e = this._toValidViewLineNumber(e); let n = this.prefixSumComputer.getIndexOf(e - 1), r = n.index, s = n.remainder, o = this.lines[r], a = o.getViewLineMinColumn(this.model, r + 1, s), l = o.getViewLineMaxColumn(this.model, r + 1, s); t < a && (t = a), t > l && (t = l); let c = o.getModelColumnOfViewPosition(s, t); return this.model.validatePosition(new Q.L(r + 1, c)).equals(i) ? new Q.L(e, t) : this.convertModelPositionToViewPosition(i.lineNumber, i.column); } validateViewRange(e, t) { const i = this.validateViewPosition( e.startLineNumber, e.startColumn, t.getStartPosition() ), n = this.validateViewPosition( e.endLineNumber, e.endColumn, t.getEndPosition() ); return new X.e(i.lineNumber, i.column, n.lineNumber, n.column); } convertViewPositionToModelPosition(e, t) { e = this._toValidViewLineNumber(e); let i = this.prefixSumComputer.getIndexOf(e - 1), n = i.index, r = i.remainder, s = this.lines[n].getModelColumnOfViewPosition(r, t); return this.model.validatePosition(new Q.L(n + 1, s)); } convertViewRangeToModelRange(e) { const t = this.convertViewPositionToModelPosition( e.startLineNumber, e.startColumn ), i = this.convertViewPositionToModelPosition( e.endLineNumber, e.endColumn ); return new X.e(t.lineNumber, t.column, i.lineNumber, i.column); } convertModelPositionToViewPosition(e, t) { const i = this.model.validatePosition(new Q.L(e, t)), n = i.lineNumber, r = i.column; let s = n - 1, o = !1; for (; s > 0 && !this.lines[s].isVisible(); ) s--, (o = !0); if (0 === s && !this.lines[s].isVisible()) return new Q.L(1, 1); const a = 1 + (0 === s ? 0 : this.prefixSumComputer.getAccumulatedValue(s - 1)); let l; return ( (l = o ? this.lines[s].getViewPositionOfModelPosition( a, this.model.getLineMaxColumn(s + 1) ) : this.lines[n - 1].getViewPositionOfModelPosition(a, r)), l ); } convertModelRangeToViewRange(e) { let t = this.convertModelPositionToViewPosition( e.startLineNumber, e.startColumn ), i = this.convertModelPositionToViewPosition( e.endLineNumber, e.endColumn ); return e.startLineNumber === e.endLineNumber && t.lineNumber !== i.lineNumber && i.column === this.getViewLineMinColumn(i.lineNumber) ? new X.e( t.lineNumber, t.column, i.lineNumber - 1, this.getViewLineMaxColumn(i.lineNumber - 1) ) : new X.e(t.lineNumber, t.column, i.lineNumber, i.column); } _getViewLineNumberForModelPosition(e, t) { let i = e - 1; if (this.lines[i].isVisible()) { const e = 1 + (0 === i ? 0 : this.prefixSumComputer.getAccumulatedValue(i - 1)); return this.lines[i].getViewLineNumberOfModelPosition(e, t); } for (; i > 0 && !this.lines[i].isVisible(); ) i--; if (0 === i && !this.lines[i].isVisible()) return 1; const n = 1 + (0 === i ? 0 : this.prefixSumComputer.getAccumulatedValue(i - 1)); return this.lines[i].getViewLineNumberOfModelPosition( n, this.model.getLineMaxColumn(i + 1) ); } getAllOverviewRulerDecorations(e, t, i) { const n = this.model.getOverviewRulerDecorations(e, t), r = new cn(); for (const e of n) { const t = e.options.overviewRuler, n = t ? t.position : 0; if (0 === n) continue; const s = t.getColor(i), o = this._getViewLineNumberForModelPosition( e.range.startLineNumber, e.range.startColumn ), a = this._getViewLineNumberForModelPosition( e.range.endLineNumber, e.range.endColumn ); r.accept(s, o, a, n); } return r.result; } getDecorationsInRange(e, t, i) { const n = this.convertViewPositionToModelPosition( e.startLineNumber, e.startColumn ), r = this.convertViewPositionToModelPosition( e.endLineNumber, e.endColumn ); if ( r.lineNumber - n.lineNumber <= e.endLineNumber - e.startLineNumber ) return this.model.getDecorationsInRange( new X.e(n.lineNumber, 1, r.lineNumber, r.column), t, i ); let s = []; const o = n.lineNumber - 1, a = r.lineNumber - 1; let l = null; for (let e = o; e <= a; e++) if (this.lines[e].isVisible()) null === l && (l = new Q.L(e + 1, e === o ? n.column : 1)); else if (null !== l) { const n = this.model.getLineMaxColumn(e); (s = s.concat( this.model.getDecorationsInRange( new X.e(l.lineNumber, l.column, e, n), t, i ) )), (l = null); } null !== l && ((s = s.concat( this.model.getDecorationsInRange( new X.e(l.lineNumber, l.column, r.lineNumber, r.column), t, i ) )), (l = null)), s.sort((e, t) => { const i = X.e.compareRangesUsingStarts(e.range, t.range); return 0 === i ? (e.id < t.id ? -1 : e.id > t.id ? 1 : 0) : i; }); let c = [], d = 0, h = null; for (const e of s) { const t = e.id; h !== t && ((h = t), (c[d++] = e)); } return c; } } class Xi { constructor() {} isVisible() { return !0; } setVisible(e) { return e ? this : en.INSTANCE; } getLineBreakData() { return null; } getViewLineCount() { return 1; } getViewLineContent(e, t, i) { return e.getLineContent(t); } getViewLineLength(e, t, i) { return e.getLineLength(t); } getViewLineMinColumn(e, t, i) { return e.getLineMinColumn(t); } getViewLineMaxColumn(e, t, i) { return e.getLineMaxColumn(t); } getViewLineData(e, t, i) { let n = e.getLineTokens(t), r = n.getLineContent(); return new pt.IP(r, !1, 1, r.length + 1, 0, n.inflate()); } getViewLinesData(e, t, i, n, r, s, o) { s[r] ? (o[r] = this.getViewLineData(e, t, 0)) : (o[r] = null); } getModelColumnOfViewPosition(e, t) { return t; } getViewPositionOfModelPosition(e, t) { return new Q.L(e, t); } getViewLineNumberOfModelPosition(e, t) { return e; } } Xi.INSTANCE = new Xi(); class en { constructor() {} isVisible() { return !1; } setVisible(e) { return e ? Xi.INSTANCE : this; } getLineBreakData() { return null; } getViewLineCount() { return 0; } getViewLineContent(e, t, i) { throw new Error('Not supported'); } getViewLineLength(e, t, i) { throw new Error('Not supported'); } getViewLineMinColumn(e, t, i) { throw new Error('Not supported'); } getViewLineMaxColumn(e, t, i) { throw new Error('Not supported'); } getViewLineData(e, t, i) { throw new Error('Not supported'); } getViewLinesData(e, t, i, n, r, s, o) { throw new Error('Not supported'); } getModelColumnOfViewPosition(e, t) { throw new Error('Not supported'); } getViewPositionOfModelPosition(e, t) { throw new Error('Not supported'); } getViewLineNumberOfModelPosition(e, t) { throw new Error('Not supported'); } } en.INSTANCE = new en(); class tn { constructor(e, t) { (this._lineBreakData = e), (this._isVisible = t); } isVisible() { return this._isVisible; } setVisible(e) { return (this._isVisible = e), this; } getLineBreakData() { return this._lineBreakData; } getViewLineCount() { return this._isVisible ? this._lineBreakData.breakOffsets.length : 0; } getInputStartOffsetOfOutputLineIndex(e) { return Gi.getInputOffsetOfOutputPosition( this._lineBreakData.breakOffsets, e, 0 ); } getInputEndOffsetOfOutputLineIndex(e, t, i) { return i + 1 === this._lineBreakData.breakOffsets.length ? e.getLineMaxColumn(t) - 1 : Gi.getInputOffsetOfOutputPosition( this._lineBreakData.breakOffsets, i + 1, 0 ); } getViewLineContent(e, t, i) { if (!this._isVisible) throw new Error('Not supported'); let n = this.getInputStartOffsetOfOutputLineIndex(i), r = this.getInputEndOffsetOfOutputLineIndex(e, t, i), s = e.getValueInRange({ startLineNumber: t, startColumn: n + 1, endLineNumber: t, endColumn: r + 1, }); return ( i > 0 && (s = rn(this._lineBreakData.wrappedTextIndentLength) + s), s ); } getViewLineLength(e, t, i) { if (!this._isVisible) throw new Error('Not supported'); let n = this.getInputStartOffsetOfOutputLineIndex(i), r = this.getInputEndOffsetOfOutputLineIndex(e, t, i) - n; return ( i > 0 && (r = this._lineBreakData.wrappedTextIndentLength + r), r ); } getViewLineMinColumn(e, t, i) { if (!this._isVisible) throw new Error('Not supported'); return i > 0 ? this._lineBreakData.wrappedTextIndentLength + 1 : 1; } getViewLineMaxColumn(e, t, i) { if (!this._isVisible) throw new Error('Not supported'); return this.getViewLineContent(e, t, i).length + 1; } getViewLineData(e, t, i) { if (!this._isVisible) throw new Error('Not supported'); let n = this.getInputStartOffsetOfOutputLineIndex(i), r = this.getInputEndOffsetOfOutputLineIndex(e, t, i), s = e.getValueInRange({ startLineNumber: t, startColumn: n + 1, endLineNumber: t, endColumn: r + 1, }); i > 0 && (s = rn(this._lineBreakData.wrappedTextIndentLength) + s); let o = i > 0 ? this._lineBreakData.wrappedTextIndentLength + 1 : 1, a = s.length + 1, l = i + 1 < this.getViewLineCount(), c = 0; i > 0 && (c = this._lineBreakData.wrappedTextIndentLength); let d = e.getLineTokens(t); const h = 0 === i ? 0 : this._lineBreakData.breakOffsetsVisibleColumn[i - 1]; return new pt.IP(s, l, o, a, h, d.sliceAndInflate(n, r, c)); } getViewLinesData(e, t, i, n, r, s, o) { if (!this._isVisible) throw new Error('Not supported'); for (let a = i; a < n; a++) { let n = r + a - i; s[n] ? (o[n] = this.getViewLineData(e, t, a)) : (o[n] = null); } } getModelColumnOfViewPosition(e, t) { if (!this._isVisible) throw new Error('Not supported'); let i = t - 1; return ( e > 0 && (i < this._lineBreakData.wrappedTextIndentLength ? (i = 0) : (i -= this._lineBreakData.wrappedTextIndentLength)), Gi.getInputOffsetOfOutputPosition( this._lineBreakData.breakOffsets, e, i ) + 1 ); } getViewPositionOfModelPosition(e, t) { if (!this._isVisible) throw new Error('Not supported'); let i = Gi.getOutputPositionOfInputOffset( this._lineBreakData.breakOffsets, t - 1 ), n = i.outputLineIndex, r = i.outputOffset + 1; return ( n > 0 && (r += this._lineBreakData.wrappedTextIndentLength), new Q.L(e + n, r) ); } getViewLineNumberOfModelPosition(e, t) { if (!this._isVisible) throw new Error('Not supported'); return ( e + Gi.getOutputPositionOfInputOffset( this._lineBreakData.breakOffsets, t - 1 ).outputLineIndex ); } } let nn = ['']; function rn(e) { if (e >= nn.length) for (let t = 1; t <= e; t++) nn[t] = sn(t); return nn[e]; } function sn(e) { return new Array(e + 1).join(' '); } function on(e, t) { return null === e ? (t ? Xi.INSTANCE : en.INSTANCE) : new tn(e, t); } class an { constructor(e) { this._lines = e; } _validPosition(e) { return this._lines.model.validatePosition(e); } _validRange(e) { return this._lines.model.validateRange(e); } convertViewPositionToModelPosition(e) { return this._validPosition(e); } convertViewRangeToModelRange(e) { return this._validRange(e); } validateViewPosition(e, t) { return this._validPosition(t); } validateViewRange(e, t) { return this._validRange(t); } convertModelPositionToViewPosition(e) { return this._validPosition(e); } convertModelRangeToViewRange(e) { return this._validRange(e); } modelPositionIsVisible(e) { const t = this._lines.model.getLineCount(); return !(e.lineNumber < 1 || e.lineNumber > t); } } class ln { constructor(e) { this.model = e; } dispose() {} createCoordinatesConverter() { return new an(this); } getHiddenAreas() { return []; } setHiddenAreas(e) { return !1; } setTabSize(e) { return !1; } setWrappingSettings(e, t, i, n) { return !1; } createLineBreaksComputer() { let e = []; return { addRequest: (t, i) => { e.push(null); }, finalize: () => e, }; } onModelFlushed() {} onModelLinesDeleted(e, t, i) { return new mi(t, i); } onModelLinesInserted(e, t, i, n) { return new _i(t, i); } onModelLineChanged(e, t, i) { return [!1, new pi(t, t), null, null]; } acceptVersionId(e) {} getViewLineCount() { return this.model.getLineCount(); } getActiveIndentGuide(e, t, i) { return { startLineNumber: e, endLineNumber: e, indent: 0 }; } getViewLinesIndentGuides(e, t) { const i = t - e + 1; let n = new Array(i); for (let e = 0; e < i; e++) n[e] = 0; return n; } getViewLineContent(e) { return this.model.getLineContent(e); } getViewLineLength(e) { return this.model.getLineLength(e); } getViewLineMinColumn(e) { return this.model.getLineMinColumn(e); } getViewLineMaxColumn(e) { return this.model.getLineMaxColumn(e); } getViewLineData(e) { let t = this.model.getLineTokens(e), i = t.getLineContent(); return new pt.IP(i, !1, 1, i.length + 1, 0, t.inflate()); } getViewLinesData(e, t, i) { const n = this.model.getLineCount(); (e = Math.min(Math.max(1, e), n)), (t = Math.min(Math.max(1, t), n)); let r = []; for (let n = e; n <= t; n++) { let t = n - e; i[t] || (r[t] = null), (r[t] = this.getViewLineData(n)); } return r; } getAllOverviewRulerDecorations(e, t, i) { const n = this.model.getOverviewRulerDecorations(e, t), r = new cn(); for (const e of n) { const t = e.options.overviewRuler, n = t ? t.position : 0; if (0 === n) continue; const s = t.getColor(i), o = e.range.startLineNumber, a = e.range.endLineNumber; r.accept(s, o, a, n); } return r.result; } getDecorationsInRange(e, t, i) { return this.model.getDecorationsInRange(e, t, i); } } class cn { constructor() { this.result = Object.create(null); } accept(e, t, i, n) { let r = this.result[e]; if (r) { const e = r[r.length - 3], s = r[r.length - 1]; if (e === n && s + 1 >= t) return void (i > s && (r[r.length - 1] = i)); r.push(n, t, i); } else this.result[e] = [n, t, i]; } } class dn { constructor(e, t, i, n, r) { (this.editorId = e), (this.model = t), (this.configuration = i), (this._linesCollection = n), (this._coordinatesConverter = r), (this._decorationsCache = Object.create(null)), (this._cachedModelDecorationsResolver = null), (this._cachedModelDecorationsResolverViewRange = null); } _clearCachedModelDecorationsResolver() { (this._cachedModelDecorationsResolver = null), (this._cachedModelDecorationsResolverViewRange = null); } dispose() { (this._decorationsCache = Object.create(null)), this._clearCachedModelDecorationsResolver(); } reset() { (this._decorationsCache = Object.create(null)), this._clearCachedModelDecorationsResolver(); } onModelDecorationsChanged() { (this._decorationsCache = Object.create(null)), this._clearCachedModelDecorationsResolver(); } onLineMappingChanged() { (this._decorationsCache = Object.create(null)), this._clearCachedModelDecorationsResolver(); } _getOrCreateViewModelDecoration(e) { const t = e.id; let i = this._decorationsCache[t]; if (!i) { const n = e.range, r = e.options; let s; if (r.isWholeLine) { const e = this._coordinatesConverter.convertModelPositionToViewPosition( new Q.L(n.startLineNumber, 1) ), t = this._coordinatesConverter.convertModelPositionToViewPosition( new Q.L( n.endLineNumber, this.model.getLineMaxColumn(n.endLineNumber) ) ); s = new X.e(e.lineNumber, e.column, t.lineNumber, t.column); } else s = this._coordinatesConverter.convertModelRangeToViewRange(n); (i = new pt.$l(s, r)), (this._decorationsCache[t] = i); } return i; } getDecorationsViewportData(e) { let t = null !== this._cachedModelDecorationsResolver; return ( (t = t && e.equalsRange(this._cachedModelDecorationsResolverViewRange)), t || ((this._cachedModelDecorationsResolver = this._getDecorationsViewportData( e )), (this._cachedModelDecorationsResolverViewRange = e)), this._cachedModelDecorationsResolver ); } _getDecorationsViewportData(e) { const t = this._linesCollection.getDecorationsInRange( e, this.editorId, (0, H.$J)(this.configuration.options) ), i = e.startLineNumber, n = e.endLineNumber; let r = [], s = 0, o = []; for (let e = i; e <= n; e++) o[e - i] = []; for (let e = 0, a = t.length; e < a; e++) { let a = t[e], l = a.options, c = this._getOrCreateViewModelDecoration(a), d = c.range; if (((r[s++] = c), l.inlineClassName)) { let e = new pt.$t( d, l.inlineClassName, l.inlineClassNameAffectsLetterSpacing ? 3 : 0 ), t = Math.max(i, d.startLineNumber), r = Math.min(n, d.endLineNumber); for (let n = t; n <= r; n++) o[n - i].push(e); } if ( l.beforeContentClassName && i <= d.startLineNumber && d.startLineNumber <= n ) { let e = new pt.$t( new X.e( d.startLineNumber, d.startColumn, d.startLineNumber, d.startColumn ), l.beforeContentClassName, 1 ); o[d.startLineNumber - i].push(e); } if ( l.afterContentClassName && i <= d.endLineNumber && d.endLineNumber <= n ) { let e = new pt.$t( new X.e( d.endLineNumber, d.endColumn, d.endLineNumber, d.endColumn ), l.afterContentClassName, 2 ); o[d.endLineNumber - i].push(e); } } return { decorations: r, inlineDecorations: o }; } } class hn extends a.JT { constructor(e, t, i, n, r, s) { if ( (super(), (this._editorId = e), (this._configuration = t), (this.model = i), (this._eventDispatcher = new ki()), (this.onEvent = this._eventDispatcher.onEvent), (this.cursorConfig = new ee.LM( this.model.getLanguageIdentifier(), this.model.getOptions(), this._configuration )), (this._tokenizeViewportSoon = this._register( new _.pY(() => this.tokenizeViewport(), 50) )), (this._updateConfigurationViewLineCount = this._register( new _.pY(() => this._updateConfigurationViewLineCountNow(), 0) )), (this._hasFocus = !1), (this._viewportStartLine = -1), (this._viewportStartLineTrackedRange = null), (this._viewportStartLineDelta = 0), this.model.isTooLargeForTokenization()) ) this._lines = new ln(this.model); else { const e = this._configuration.options, t = e.get(36), i = e.get(112), s = e.get(118), o = e.get(111); this._lines = new Qi( this.model, n, r, t, this.model.getOptions().tabSize, i, s.wrappingColumn, o ); } (this.coordinatesConverter = this._lines.createCoordinatesConverter()), (this._cursor = this._register( new Ai(i, this, this.coordinatesConverter, this.cursorConfig) )), (this.viewLayout = this._register( new Ui(this._configuration, this.getLineCount(), s) )), this._register( this.viewLayout.onDidScroll((e) => { e.scrollTopChanged && this._tokenizeViewportSoon.schedule(), this._eventDispatcher.emitSingleViewEvent(new vi(e)), this._eventDispatcher.emitOutgoingEvent( new Di( e.oldScrollWidth, e.oldScrollLeft, e.oldScrollHeight, e.oldScrollTop, e.scrollWidth, e.scrollLeft, e.scrollHeight, e.scrollTop ) ); }) ), this._register( this.viewLayout.onDidContentSizeChange((e) => { this._eventDispatcher.emitOutgoingEvent(e); }) ), (this._decorations = new dn( this._editorId, this.model, this._configuration, this._lines, this.coordinatesConverter )), this._registerModelEvents(), this._register( this._configuration.onDidChangeFast((e) => { try { const t = this._eventDispatcher.beginEmitViewEvents(); this._onConfigurationChanged(t, e); } finally { this._eventDispatcher.endEmitViewEvents(); } }) ), this._register( ft.getInstance().onDidChange(() => { this._eventDispatcher.emitSingleViewEvent(new Ci()); }) ), this._updateConfigurationViewLineCountNow(); } dispose() { super.dispose(), this._decorations.dispose(), this._lines.dispose(), this.invalidateMinimapColorCache(), (this._viewportStartLineTrackedRange = this.model._setTrackedRange( this._viewportStartLineTrackedRange, null, 1 )), this._eventDispatcher.dispose(); } addViewEventHandler(e) { this._eventDispatcher.addViewEventHandler(e); } removeViewEventHandler(e) { this._eventDispatcher.removeViewEventHandler(e); } _updateConfigurationViewLineCountNow() { this._configuration.setViewLineCount( this._lines.getViewLineCount() ); } tokenizeViewport() { const e = this.viewLayout.getLinesViewportData(), t = this.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(e.startLineNumber, 1) ), i = this.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(e.endLineNumber, 1) ); this.model.tokenizeViewport(t.lineNumber, i.lineNumber); } setHasFocus(e) { (this._hasFocus = e), this._cursor.setHasFocus(e), this._eventDispatcher.emitSingleViewEvent(new ui(e)), this._eventDispatcher.emitOutgoingEvent(new Mi(!e, e)); } onDidColorThemeChange() { this._eventDispatcher.emitSingleViewEvent(new yi()); } _onConfigurationChanged(e, t) { let i = null; if (-1 !== this._viewportStartLine) { let e = new Q.L( this._viewportStartLine, this.getLineMinColumn(this._viewportStartLine) ); i = this.coordinatesConverter.convertViewPositionToModelPosition( e ); } let n = !1; const r = this._configuration.options, s = r.get(36), o = r.get(112), a = r.get(118), l = r.get(111); if ( (this._lines.setWrappingSettings(s, o, a.wrappingColumn, l) && (e.emitViewEvent(new hi()), e.emitViewEvent(new fi()), e.emitViewEvent(new di(null)), this._cursor.onLineMappingChanged(e), this._decorations.onLineMappingChanged(), this.viewLayout.onFlushed(this.getLineCount()), 0 !== this.viewLayout.getCurrentScrollTop() && (n = !0), this._updateConfigurationViewLineCount.schedule()), t.hasChanged(72) && (this._decorations.reset(), e.emitViewEvent(new di(null))), e.emitViewEvent(new li(t)), this.viewLayout.onConfigurationChanged(t), n && i) ) { const e = this.coordinatesConverter.convertModelPositionToViewPosition( i ), t = this.viewLayout.getVerticalOffsetForLineNumber( e.lineNumber ); this.viewLayout.setScrollPosition( { scrollTop: t + this._viewportStartLineDelta }, 1 ); } ee.LM.shouldRecreate(t) && ((this.cursorConfig = new ee.LM( this.model.getLanguageIdentifier(), this.model.getOptions(), this._configuration )), this._cursor.updateConfiguration(this.cursorConfig)); } _registerModelEvents() { this._register( this.model.onDidChangeRawContentFast((e) => { try { const t = this._eventDispatcher.beginEmitViewEvents(); let i = !1, n = !1; const r = e.changes, s = e.versionId, o = this._lines.createLineBreaksComputer(); for (const e of r) switch (e.changeType) { case 4: for (const t of e.detail) o.addRequest(t, null); break; case 2: o.addRequest(e.detail, null); } const a = o.finalize(); let l = 0; for (const e of r) switch (e.changeType) { case 1: this._lines.onModelFlushed(), t.emitViewEvent(new hi()), this._decorations.reset(), this.viewLayout.onFlushed(this.getLineCount()), (i = !0); break; case 3: { const n = this._lines.onModelLinesDeleted( s, e.fromLineNumber, e.toLineNumber ); null !== n && (t.emitViewEvent(n), this.viewLayout.onLinesDeleted( n.fromLineNumber, n.toLineNumber )), (i = !0); break; } case 4: { const n = a.slice(l, l + e.detail.length); l += e.detail.length; const r = this._lines.onModelLinesInserted( s, e.fromLineNumber, e.toLineNumber, n ); null !== r && (t.emitViewEvent(r), this.viewLayout.onLinesInserted( r.fromLineNumber, r.toLineNumber )), (i = !0); break; } case 2: { const i = a[l]; l++; const [r, o, c, d] = this._lines.onModelLineChanged( s, e.lineNumber, i ); (n = r), o && t.emitViewEvent(o), c && (t.emitViewEvent(c), this.viewLayout.onLinesInserted( c.fromLineNumber, c.toLineNumber )), d && (t.emitViewEvent(d), this.viewLayout.onLinesDeleted( d.fromLineNumber, d.toLineNumber )); break; } } this._lines.acceptVersionId(s), this.viewLayout.onHeightMaybeChanged(), !i && n && (t.emitViewEvent(new fi()), t.emitViewEvent(new di(null)), this._cursor.onLineMappingChanged(t), this._decorations.onLineMappingChanged()); } finally { this._eventDispatcher.endEmitViewEvents(); } if ( ((this._viewportStartLine = -1), this._configuration.setMaxLineNumber( this.model.getLineCount() ), this._updateConfigurationViewLineCountNow(), !this._hasFocus && this.model.getAttachedEditorCount() >= 2 && this._viewportStartLineTrackedRange) ) { const e = this.model._getTrackedRange( this._viewportStartLineTrackedRange ); if (e) { const t = this.coordinatesConverter.convertModelPositionToViewPosition( e.getStartPosition() ), i = this.viewLayout.getVerticalOffsetForLineNumber( t.lineNumber ); this.viewLayout.setScrollPosition( { scrollTop: i + this._viewportStartLineDelta }, 1 ); } } try { const t = this._eventDispatcher.beginEmitViewEvents(); this._cursor.onModelContentChanged(t, e); } finally { this._eventDispatcher.endEmitViewEvents(); } }) ), this._register( this.model.onDidChangeTokens((e) => { let t = []; for (let i = 0, n = e.ranges.length; i < n; i++) { const n = e.ranges[i], r = this.coordinatesConverter.convertModelPositionToViewPosition( new Q.L(n.fromLineNumber, 1) ).lineNumber, s = this.coordinatesConverter.convertModelPositionToViewPosition( new Q.L( n.toLineNumber, this.model.getLineMaxColumn(n.toLineNumber) ) ).lineNumber; t[i] = { fromLineNumber: r, toLineNumber: s }; } this._eventDispatcher.emitSingleViewEvent(new wi(t)), e.tokenizationSupportChanged && this._tokenizeViewportSoon.schedule(); }) ), this._register( this.model.onDidChangeLanguageConfiguration((e) => { this._eventDispatcher.emitSingleViewEvent(new gi()), (this.cursorConfig = new ee.LM( this.model.getLanguageIdentifier(), this.model.getOptions(), this._configuration )), this._cursor.updateConfiguration(this.cursorConfig); }) ), this._register( this.model.onDidChangeLanguage((e) => { (this.cursorConfig = new ee.LM( this.model.getLanguageIdentifier(), this.model.getOptions(), this._configuration )), this._cursor.updateConfiguration(this.cursorConfig); }) ), this._register( this.model.onDidChangeOptions((e) => { if (this._lines.setTabSize(this.model.getOptions().tabSize)) { try { const e = this._eventDispatcher.beginEmitViewEvents(); e.emitViewEvent(new hi()), e.emitViewEvent(new fi()), e.emitViewEvent(new di(null)), this._cursor.onLineMappingChanged(e), this._decorations.onLineMappingChanged(), this.viewLayout.onFlushed(this.getLineCount()); } finally { this._eventDispatcher.endEmitViewEvents(); } this._updateConfigurationViewLineCount.schedule(); } (this.cursorConfig = new ee.LM( this.model.getLanguageIdentifier(), this.model.getOptions(), this._configuration )), this._cursor.updateConfiguration(this.cursorConfig); }) ), this._register( this.model.onDidChangeDecorations((e) => { this._decorations.onModelDecorationsChanged(), this._eventDispatcher.emitSingleViewEvent(new di(e)); }) ); } setHiddenAreas(e) { try { const t = this._eventDispatcher.beginEmitViewEvents(); this._lines.setHiddenAreas(e) && (t.emitViewEvent(new hi()), t.emitViewEvent(new fi()), t.emitViewEvent(new di(null)), this._cursor.onLineMappingChanged(t), this._decorations.onLineMappingChanged(), this.viewLayout.onFlushed(this.getLineCount()), this.viewLayout.onHeightMaybeChanged()); } finally { this._eventDispatcher.endEmitViewEvents(); } this._updateConfigurationViewLineCount.schedule(); } getVisibleRangesPlusViewportAboveBelow() { const e = this._configuration.options.get(117), t = this._configuration.options.get(51), i = Math.max(20, Math.round(e.height / t)), n = this.viewLayout.getLinesViewportData(), r = Math.max(1, n.completelyVisibleStartLineNumber - i), s = Math.min( this.getLineCount(), n.completelyVisibleEndLineNumber + i ); return this._toModelVisibleRanges( new X.e(r, this.getLineMinColumn(r), s, this.getLineMaxColumn(s)) ); } getVisibleRanges() { const e = this.getCompletelyVisibleViewRange(); return this._toModelVisibleRanges(e); } _toModelVisibleRanges(e) { const t = this.coordinatesConverter.convertViewRangeToModelRange(e), i = this._lines.getHiddenAreas(); if (0 === i.length) return [t]; let n = [], r = 0, s = t.startLineNumber, o = t.startColumn, a = t.endLineNumber, l = t.endColumn; for (let e = 0, t = i.length; e < t; e++) { const t = i[e].startLineNumber, l = i[e].endLineNumber; l < s || t > a || (s < t && (n[r++] = new X.e( s, o, t - 1, this.model.getLineMaxColumn(t - 1) )), (s = l + 1), (o = 1)); } return ( (s < a || (s === a && o < l)) && (n[r++] = new X.e(s, o, a, l)), n ); } getCompletelyVisibleViewRange() { const e = this.viewLayout.getLinesViewportData(), t = e.completelyVisibleStartLineNumber, i = e.completelyVisibleEndLineNumber; return new X.e( t, this.getLineMinColumn(t), i, this.getLineMaxColumn(i) ); } getCompletelyVisibleViewRangeAtScrollTop(e) { const t = this.viewLayout.getLinesViewportDataAtScrollTop(e), i = t.completelyVisibleStartLineNumber, n = t.completelyVisibleEndLineNumber; return new X.e( i, this.getLineMinColumn(i), n, this.getLineMaxColumn(n) ); } saveState() { const e = this.viewLayout.saveState(), t = e.scrollTop, i = this.viewLayout.getLineNumberAtVerticalOffset(t), n = this.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(i, this.getLineMinColumn(i)) ), r = this.viewLayout.getVerticalOffsetForLineNumber(i) - t; return { scrollLeft: e.scrollLeft, firstPosition: n, firstPositionDeltaTop: r, }; } reduceRestoreState(e) { if (void 0 === e.firstPosition) return this._reduceRestoreStateCompatibility(e); const t = this.model.validatePosition(e.firstPosition), i = this.coordinatesConverter.convertModelPositionToViewPosition( t ), n = this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber) - e.firstPositionDeltaTop; return { scrollLeft: e.scrollLeft, scrollTop: n }; } _reduceRestoreStateCompatibility(e) { return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTopWithoutViewZones, }; } getTabSize() { return this.model.getOptions().tabSize; } getTextModelOptions() { return this.model.getOptions(); } getLineCount() { return this._lines.getViewLineCount(); } setViewport(e, t, i) { this._viewportStartLine = e; let n = this.coordinatesConverter.convertViewPositionToModelPosition( new Q.L(e, this.getLineMinColumn(e)) ); this._viewportStartLineTrackedRange = this.model._setTrackedRange( this._viewportStartLineTrackedRange, new X.e(n.lineNumber, n.column, n.lineNumber, n.column), 1 ); const r = this.viewLayout.getVerticalOffsetForLineNumber(e), s = this.viewLayout.getCurrentScrollTop(); this._viewportStartLineDelta = s - r; } getActiveIndentGuide(e, t, i) { return this._lines.getActiveIndentGuide(e, t, i); } getLinesIndentGuides(e, t) { return this._lines.getViewLinesIndentGuides(e, t); } getLineContent(e) { return this._lines.getViewLineContent(e); } getLineLength(e) { return this._lines.getViewLineLength(e); } getLineMinColumn(e) { return this._lines.getViewLineMinColumn(e); } getLineMaxColumn(e) { return this._lines.getViewLineMaxColumn(e); } getLineFirstNonWhitespaceColumn(e) { const t = we.LC(this.getLineContent(e)); return -1 === t ? 0 : t + 1; } getLineLastNonWhitespaceColumn(e) { const t = we.ow(this.getLineContent(e)); return -1 === t ? 0 : t + 2; } getDecorationsInViewport(e) { return this._decorations.getDecorationsViewportData(e).decorations; } getViewLineRenderingData(e, t) { let i = this.model.mightContainRTL(), n = this.model.mightContainNonBasicASCII(), r = this.getTabSize(), s = this._lines.getViewLineData(t), o = this._decorations.getDecorationsViewportData(e) .inlineDecorations[t - e.startLineNumber]; return new pt.wA( s.minColumn, s.maxColumn, s.content, s.continuesWithWrappedLine, i, n, s.tokens, o, r, s.startVisibleColumn ); } getViewLineData(e) { return this._lines.getViewLineData(e); } getMinimapLinesRenderingData(e, t, i) { let n = this._lines.getViewLinesData(e, t, i); return new pt.ud(this.getTabSize(), n); } getAllOverviewRulerDecorations(e) { return this._lines.getAllOverviewRulerDecorations( this._editorId, (0, H.$J)(this._configuration.options), e ); } invalidateOverviewRulerColorCache() { const e = this.model.getOverviewRulerDecorations(); for (const t of e) { const e = t.options.overviewRuler; e && e.invalidateCachedColor(); } } invalidateMinimapColorCache() { const e = this.model.getAllDecorations(); for (const t of e) { const e = t.options.minimap; e && e.invalidateCachedColor(); } } getValueInRange(e, t) { const i = this.coordinatesConverter.convertViewRangeToModelRange(e); return this.model.getValueInRange(i, t); } getModelLineMaxColumn(e) { return this.model.getLineMaxColumn(e); } validateModelPosition(e) { return this.model.validatePosition(e); } validateModelRange(e) { return this.model.validateRange(e); } deduceModelPositionRelativeToViewPosition(e, t, i) { const n = this.coordinatesConverter.convertViewPositionToModelPosition( e ); 2 === this.model.getEOL().length && (t < 0 ? (t -= i) : (t += i)); const r = this.model.getOffsetAt(n) + t; return this.model.getPositionAt(r); } getEOL() { return this.model.getEOL(); } getPlainTextToCopy(e, t, i) { const n = i ? '\r\n' : this.model.getEOL(); (e = e.slice(0)).sort(X.e.compareRangesUsingStarts); let r = !1, s = !1; for (const t of e) t.isEmpty() ? (r = !0) : (s = !0); if (!s) { if (!t) return ''; const i = e.map((e) => e.startLineNumber); let r = ''; for (let e = 0; e < i.length; e++) (e > 0 && i[e - 1] === i[e]) || (r += this.model.getLineContent(i[e]) + n); return r; } if (r && t) { let t = [], n = 0; for (const r of e) { const e = r.startLineNumber; r.isEmpty() ? e !== n && t.push(this.model.getLineContent(e)) : t.push(this.model.getValueInRange(r, i ? 2 : 0)), (n = e); } return 1 === t.length ? t[0] : t; } let o = []; for (const t of e) t.isEmpty() || o.push(this.model.getValueInRange(t, i ? 2 : 0)); return 1 === o.length ? o[0] : o; } getRichTextToCopy(e, t) { const i = this.model.getLanguageIdentifier(); if (1 === i.id) return null; if (1 !== e.length) return null; let n = e[0]; if (n.isEmpty()) { if (!t) return null; const e = n.startLineNumber; n = new X.e( e, this.model.getLineMinColumn(e), e, this.model.getLineMaxColumn(e) ); } const r = this._configuration.options.get(36), s = this._getColorMap(), o = r.fontFamily === H.hL.fontFamily ? r.fontFamily : `'${r.fontFamily}', ${H.hL.fontFamily}`; return { mode: i.language, html: `
    ` + this._getHTMLToCopy(n, s) + '
    ', }; } _getHTMLToCopy(e, t) { const i = e.startLineNumber, n = e.startColumn, r = e.endLineNumber, s = e.endColumn, o = this.getTabSize(); let a = ''; for (let e = i; e <= r; e++) { const l = this.model.getLineTokens(e), c = l.getLineContent(), d = e === i ? n - 1 : 0, h = e === r ? s - 1 : c.length; a += '' === c ? '
    ' : (0, Bi.F)(c, l.inflate(), t, d, h, o, f.ED); } return a; } _getColorMap() { let e = gt.RW.getColorMap(), t = ['#000000']; if (e) for (let i = 1, n = e.length; i < n; i++) t[i] = Rt.Il.Format.CSS.formatHex(e[i]); return t; } pushStackElement() { this.model.pushStackElement(); } getPrimaryCursorState() { return this._cursor.getPrimaryCursorState(); } getLastAddedCursorIndex() { return this._cursor.getLastAddedCursorIndex(); } getCursorStates() { return this._cursor.getCursorStates(); } setCursorStates(e, t, i) { this._withViewEventsCollector((n) => this._cursor.setStates(n, e, t, i) ); } getCursorColumnSelectData() { return this._cursor.getCursorColumnSelectData(); } setCursorColumnSelectData(e) { this._cursor.setCursorColumnSelectData(e); } getPrevEditOperationType() { return this._cursor.getPrevEditOperationType(); } setPrevEditOperationType(e) { this._cursor.setPrevEditOperationType(e); } getSelection() { return this._cursor.getSelection(); } getSelections() { return this._cursor.getSelections(); } getPosition() { return this._cursor.getPrimaryCursorState().modelState.position; } setSelections(e, t) { this._withViewEventsCollector((i) => this._cursor.setSelections(i, e, t) ); } saveCursorState() { return this._cursor.saveState(); } restoreCursorState(e) { this._withViewEventsCollector((t) => this._cursor.restoreState(t, e) ); } _executeCursorEdit(e) { this._cursor.context.cursorConfig.readOnly ? this._eventDispatcher.emitOutgoingEvent(new Ti()) : this._withViewEventsCollector(e); } executeEdits(e, t, i) { this._executeCursorEdit((n) => this._cursor.executeEdits(n, e, t, i) ); } startComposition() { this._cursor.setIsDoingComposition(!0), this._executeCursorEdit((e) => this._cursor.startComposition(e)); } endComposition(e) { this._cursor.setIsDoingComposition(!1), this._executeCursorEdit((t) => this._cursor.endComposition(t, e)); } type(e, t) { this._executeCursorEdit((i) => this._cursor.type(i, e, t)); } replacePreviousChar(e, t, i) { this._executeCursorEdit((n) => this._cursor.replacePreviousChar(n, e, t, i) ); } paste(e, t, i, n) { this._executeCursorEdit((r) => this._cursor.paste(r, e, t, i, n)); } cut(e) { this._executeCursorEdit((t) => this._cursor.cut(t, e)); } executeCommand(e, t) { this._executeCursorEdit((i) => this._cursor.executeCommand(i, e, t) ); } executeCommands(e, t) { this._executeCursorEdit((i) => this._cursor.executeCommands(i, e, t) ); } revealPrimaryCursor(e, t) { this._withViewEventsCollector((i) => this._cursor.revealPrimary(i, e, t, 0) ); } revealTopMostCursor(e) { const t = this._cursor.getTopMostViewPosition(), i = new X.e(t.lineNumber, t.column, t.lineNumber, t.column); this._withViewEventsCollector((t) => t.emitViewEvent(new bi(e, i, null, 0, !0, 0)) ); } revealBottomMostCursor(e) { const t = this._cursor.getBottomMostViewPosition(), i = new X.e(t.lineNumber, t.column, t.lineNumber, t.column); this._withViewEventsCollector((t) => t.emitViewEvent(new bi(e, i, null, 0, !0, 0)) ); } revealRange(e, t, i, n, r) { this._withViewEventsCollector((s) => s.emitViewEvent(new bi(e, i, null, n, t, r)) ); } getVerticalOffsetForLineNumber(e) { return this.viewLayout.getVerticalOffsetForLineNumber(e); } getScrollTop() { return this.viewLayout.getCurrentScrollTop(); } setScrollTop(e, t) { this.viewLayout.setScrollPosition({ scrollTop: e }, t); } setScrollPosition(e, t) { this.viewLayout.setScrollPosition(e, t); } deltaScrollNow(e, t) { this.viewLayout.deltaScrollNow(e, t); } changeWhitespace(e) { this.viewLayout.changeWhitespace(e) && (this._eventDispatcher.emitSingleViewEvent(new Si()), this._eventDispatcher.emitOutgoingEvent(new Ni())); } setMaxLineWidth(e) { this.viewLayout.setMaxLineWidth(e); } _withViewEventsCollector(e) { try { e(this._eventDispatcher.beginEmitViewEvents()); } finally { this._eventDispatcher.endEmitViewEvents(); } } } var un = i(94565), gn = i(38819), fn = i(72065), pn = i(60972), mn = i(59422), _n = i(31106), bn = i(98401), vn = i(44906); class yn extends vn.N { constructor(e, t) { super(0); for (let t = 0; t < e.length; t++) this.set(e.charCodeAt(t), 1); for (let e = 0; e < t.length; e++) this.set(t.charCodeAt(e), 2); } get(e) { return e >= 0 && e < 256 ? this._asciiMap[e] : (e >= 12352 && e <= 12543) || (e >= 13312 && e <= 19903) || (e >= 19968 && e <= 40959) ? 3 : this._map.get(e) || this._defaultValue; } } let wn = [], Cn = []; class Sn { constructor(e, t) { this.classifier = new yn(e, t); } static create(e) { return new Sn(e.get(108), e.get(107)); } createLineBreaksComputer(e, t, i, n) { (t |= 0), (i = +i); let r = [], s = []; return { addRequest: (e, t) => { r.push(e), s.push(t); }, finalize: () => { const o = e.typicalFullwidthCharacterWidth / e.typicalHalfwidthCharacterWidth; let a = []; for (let e = 0, l = r.length; e < l; e++) { const l = s[e]; a[e] = l ? kn(this.classifier, l, r[e], t, i, o, n) : xn(this.classifier, r[e], t, i, o, n); } return (wn.length = 0), (Cn.length = 0), a; }, }; } } function kn(e, t, i, n, r, s, o) { if (-1 === r) return null; const a = i.length; if (a <= 1) return null; const l = t.breakOffsets, c = t.breakOffsetsVisibleColumn, d = Nn(i, n, r, s, o), h = r - d; let u = wn, g = Cn, f = 0, p = 0, m = 0, _ = r; const b = l.length; let v = 0; if (v >= 0) { let e = Math.abs(c[v] - _); for (; v + 1 < b; ) { const t = Math.abs(c[v + 1] - _); if (t >= e) break; (e = t), v++; } } for (; v < b; ) { let t = v < 0 ? 0 : l[v], r = v < 0 ? 0 : c[v]; p > t && ((t = p), (r = m)); let o = 0, d = 0, y = 0, w = 0; if (r <= _) { let m = r, b = 0 === t ? 0 : i.charCodeAt(t - 1), v = 0 === t ? 0 : e.get(b), C = !0; for (let r = t; r < a; r++) { const t = r, a = i.charCodeAt(r); let l, c; if ( (we.ZG(a) ? (r++, (l = 0), (c = 2)) : ((l = e.get(a)), (c = Ln(a, m, n, s))), t > p && Dn(0, v, a, l) && ((o = t), (d = m)), (m += c), m > _) ) { t > p ? ((y = t), (w = m - c)) : ((y = r + 1), (w = m)), m - d > h && (o = 0), (C = !1); break; } (b = a), (v = l); } if (C) { f > 0 && ((u[f] = l[l.length - 1]), (g[f] = c[l.length - 1]), f++); break; } } if (0 === o) { let a = r, l = i.charCodeAt(t), c = e.get(l), u = !1; for (let n = t - 1; n >= p; n--) { const t = n + 1, r = i.charCodeAt(n); if (9 === r) { u = !0; break; } let g, f; if ( (we.YK(r) ? (n--, (g = 0), (f = 2)) : ((g = e.get(r)), (f = we.K7(r) ? s : 1)), a <= _) ) { if ((0 === y && ((y = t), (w = a)), a <= _ - h)) break; if (Dn(0, g, l, c)) { (o = t), (d = a); break; } } (a -= f), (l = r), (c = g); } if (0 !== o) { const e = h - (w - d); if (e <= n) { const t = i.charCodeAt(y); let r; (r = we.ZG(t) ? 2 : Ln(t, w, n, s)), e - r < 0 && (o = 0); } } if (u) { v--; continue; } } for ( 0 === o && ((o = y), (d = w)), p = o, u[f] = o, m = d, g[f] = d, f++, _ = d + h; v < 0 || (v < b && c[v] < d); ) v++; let C = Math.abs(c[v] - _); for (; v + 1 < b; ) { const e = Math.abs(c[v + 1] - _); if (e >= C) break; (C = e), v++; } } return 0 === f ? null : ((u.length = f), (g.length = f), (wn = t.breakOffsets), (Cn = t.breakOffsetsVisibleColumn), (t.breakOffsets = u), (t.breakOffsetsVisibleColumn = g), (t.wrappedTextIndentLength = d), t); } function xn(e, t, i, n, r, s) { if (-1 === n) return null; const o = t.length; if (o <= 1) return null; const a = Nn(t, i, n, r, s), l = n - a; let c = [], d = [], h = 0, u = 0, g = 0, f = n, p = t.charCodeAt(0), m = e.get(p), _ = Ln(p, 0, i, r), b = 1; we.ZG(p) && ((_ += 1), (p = t.charCodeAt(1)), (m = e.get(p)), b++); for (let n = b; n < o; n++) { const s = n, o = t.charCodeAt(n); let a, b; we.ZG(o) ? (n++, (a = 0), (b = 2)) : ((a = e.get(o)), (b = Ln(o, _, i, r))), Dn(0, m, o, a) && ((u = s), (g = _)), (_ += b), _ > f && ((0 === u || _ - g > l) && ((u = s), (g = _ - b)), (c[h] = u), (d[h] = g), h++, (f = g + l), (u = 0)), (p = o), (m = a); } return 0 === h ? null : ((c[h] = o), (d[h] = _), new Gi(c, d, a)); } function Ln(e, t, i, n) { return 9 === e ? i - (t % i) : we.K7(e) ? n : 1; } function Mn(e, t) { return t - (e % t); } function Dn(e, t, i, n) { return ( 32 !== i && (2 === t || (3 === t && 2 !== n) || 1 === n || (3 === n && 1 !== t)) ); } function Nn(e, t, i, n, r) { let s = 0; if (0 !== r) { const o = we.LC(e); if (-1 !== o) { for (let i = 0; i < o; i++) s += 9 === e.charCodeAt(i) ? Mn(s, t) : 1; const a = 3 === r ? 2 : 2 === r ? 1 : 0; for (let e = 0; e < a; e++) s += Mn(s, t); s + n > i && (s = 0); } } return s; } class En { static create() { return new En(); } constructor() {} createLineBreaksComputer(e, t, i, n) { (t |= 0), (i = +i); let r = []; return { addRequest: (e, t) => { r.push(e); }, finalize: () => (function (e, t, i, n, r) { if (-1 === n) { const t = []; for (let i = 0, n = e.length; i < n; i++) t[i] = null; return t; } const s = Math.round(n * t.typicalHalfwidthCharacterWidth); (2 !== r && 3 !== r) || (r = 1); const o = document.createElement('div'); c.V.applyFontInfoSlow(o, t); const a = (0, Fe.l$)(1e4), l = [], d = [], h = [], u = [], g = []; for (let n = 0; n < e.length; n++) { const o = e[n]; let c = 0, f = 0, p = s; if (0 !== r) if (((c = we.LC(o)), -1 === c)) c = 0; else { for (let e = 0; e < c; e++) f += 9 === o.charCodeAt(e) ? i - (f % i) : 1; const e = Math.ceil(t.spaceWidth * f); e + t.typicalFullwidthCharacterWidth > s ? ((c = 0), (f = 0)) : (p = s - e); } const m = o.substr(c), _ = Tn(m, f, i, p, a); (l[n] = c), (d[n] = f), (h[n] = m), (u[n] = _[0]), (g[n] = _[1]); } (o.innerHTML = a.build()), (o.style.position = 'absolute'), (o.style.top = '10000'), (o.style.wordWrap = 'break-word'), document.body.appendChild(o); let f = document.createRange(); const p = Array.prototype.slice.call(o.children, 0); let m = []; for (let t = 0; t < e.length; t++) { const e = In(f, p[t], h[t], u[t]); if (null === e) { m[t] = null; continue; } const i = l[t], n = d[t], r = g[t], s = []; for (let t = 0, i = e.length; t < i; t++) s[t] = r[e[t]]; if (0 !== i) for (let t = 0, n = e.length; t < n; t++) e[t] += i; m[t] = new Gi(e, s, n); } return document.body.removeChild(o), m; })(r, e, t, i, n), }; } } function Tn(e, t, i, n, r) { r.appendASCIIString('
    '); const s = e.length; let o = t, a = 0, l = [], c = [], d = 0 < s ? e.charCodeAt(0) : 0; r.appendASCIIString(''); for (let t = 0; t < s; t++) { 0 !== t && t % 16384 == 0 && r.appendASCIIString(''), (l[t] = a), (c[t] = o); const n = d; d = t + 1 < s ? e.charCodeAt(t + 1) : 0; let h = 1, u = 1; switch (n) { case 9: (h = i - (o % i)), (u = h); for (let e = 1; e <= h; e++) e < h ? r.write1(160) : r.appendASCII(32); break; case 32: 32 === d ? r.write1(160) : r.appendASCII(32); break; case 60: r.appendASCIIString('<'); break; case 62: r.appendASCIIString('>'); break; case 38: r.appendASCIIString('&'); break; case 0: r.appendASCIIString('�'); break; case 65279: case 8232: case 8233: case 133: r.write1(65533); break; default: we.K7(n) && u++, r.write1(n); } (a += h), (o += u); } return ( r.appendASCIIString(''), (l[e.length] = a), (c[e.length] = o), r.appendASCIIString('
    '), [l, c] ); } function In(e, t, i, n) { if (i.length <= 1) return null; const r = Array.prototype.slice.call(t.children, 0), s = []; try { On(e, r, n, 0, null, i.length - 1, null, s); } catch (e) { return console.log(e), null; } return 0 === s.length ? null : (s.push(i.length), s); } function On(e, t, i, n, r, s, o, a) { if (n === s) return; if ( ((r = r || An(e, t, i[n], i[n + 1])), (o = o || An(e, t, i[s], i[s + 1])), Math.abs(r[0].top - o[0].top) <= 0.1) ) return; if (n + 1 === s) return void a.push(s); const l = (n + (s - n) / 2) | 0, c = An(e, t, i[l], i[l + 1]); On(e, t, i, n, r, l, c, a), On(e, t, i, l, c, s, o, a); } function An(e, t, i, n) { return ( e.setStart(t[(i / 16384) | 0].firstChild, i % 16384), e.setEnd(t[(n / 16384) | 0].firstChild, n % 16384), e.getClientRects() ); } var Rn = i(5795), Pn = function (e, t) { return function (i, n) { t(i, n, e); }; }; let Fn = 0; class Bn { constructor(e, t, i, n, r) { (this.model = e), (this.viewModel = t), (this.view = i), (this.hasRealView = n), (this.listenersToRemove = r); } dispose() { (0, a.B9)(this.listenersToRemove), this.model.onBeforeDetached(), this.hasRealView && this.view.dispose(), this.viewModel.dispose(); } } let Wn = class e extends a.JT { constructor(e, t, i, n, r, a, l, c, h, u) { let g; super(), (this._onDidDispose = this._register(new o.Q5())), (this.onDidDispose = this._onDidDispose.event), (this._onDidChangeModelContent = this._register(new o.Q5())), (this.onDidChangeModelContent = this._onDidChangeModelContent.event), (this._onDidChangeModelLanguage = this._register(new o.Q5())), (this.onDidChangeModelLanguage = this._onDidChangeModelLanguage.event), (this._onDidChangeModelLanguageConfiguration = this._register( new o.Q5() )), (this.onDidChangeModelLanguageConfiguration = this._onDidChangeModelLanguageConfiguration.event), (this._onDidChangeModelOptions = this._register(new o.Q5())), (this.onDidChangeModelOptions = this._onDidChangeModelOptions.event), (this._onDidChangeModelDecorations = this._register(new o.Q5())), (this.onDidChangeModelDecorations = this._onDidChangeModelDecorations.event), (this._onDidChangeConfiguration = this._register(new o.Q5())), (this.onDidChangeConfiguration = this._onDidChangeConfiguration.event), (this._onDidChangeModel = this._register(new o.Q5())), (this.onDidChangeModel = this._onDidChangeModel.event), (this._onDidChangeCursorPosition = this._register(new o.Q5())), (this.onDidChangeCursorPosition = this._onDidChangeCursorPosition.event), (this._onDidChangeCursorSelection = this._register(new o.Q5())), (this.onDidChangeCursorSelection = this._onDidChangeCursorSelection.event), (this._onDidAttemptReadOnlyEdit = this._register(new o.Q5())), (this.onDidAttemptReadOnlyEdit = this._onDidAttemptReadOnlyEdit.event), (this._onDidLayoutChange = this._register(new o.Q5())), (this.onDidLayoutChange = this._onDidLayoutChange.event), (this._editorTextFocus = this._register(new Yn())), (this.onDidFocusEditorText = this._editorTextFocus.onDidChangeToTrue), (this.onDidBlurEditorText = this._editorTextFocus.onDidChangeToFalse), (this._editorWidgetFocus = this._register(new Yn())), (this.onDidFocusEditorWidget = this._editorWidgetFocus.onDidChangeToTrue), (this.onDidBlurEditorWidget = this._editorWidgetFocus.onDidChangeToFalse), (this._onWillType = this._register(new o.Q5())), (this.onWillType = this._onWillType.event), (this._onDidType = this._register(new o.Q5())), (this.onDidType = this._onDidType.event), (this._onDidCompositionStart = this._register(new o.Q5())), (this.onDidCompositionStart = this._onDidCompositionStart.event), (this._onDidCompositionEnd = this._register(new o.Q5())), (this.onDidCompositionEnd = this._onDidCompositionEnd.event), (this._onDidPaste = this._register(new o.Q5())), (this.onDidPaste = this._onDidPaste.event), (this._onMouseUp = this._register(new o.Q5())), (this.onMouseUp = this._onMouseUp.event), (this._onMouseDown = this._register(new o.Q5())), (this.onMouseDown = this._onMouseDown.event), (this._onMouseDrag = this._register(new o.Q5())), (this.onMouseDrag = this._onMouseDrag.event), (this._onMouseDrop = this._register(new o.Q5())), (this.onMouseDrop = this._onMouseDrop.event), (this._onContextMenu = this._register(new o.Q5())), (this.onContextMenu = this._onContextMenu.event), (this._onMouseMove = this._register(new o.Q5())), (this.onMouseMove = this._onMouseMove.event), (this._onMouseLeave = this._register(new o.Q5())), (this.onMouseLeave = this._onMouseLeave.event), (this._onMouseWheel = this._register(new o.Q5())), (this.onMouseWheel = this._onMouseWheel.event), (this._onKeyUp = this._register(new o.Q5())), (this.onKeyUp = this._onKeyUp.event), (this._onKeyDown = this._register(new o.Q5())), (this.onKeyDown = this._onKeyDown.event), (this._onDidContentSizeChange = this._register(new o.Q5())), (this.onDidContentSizeChange = this._onDidContentSizeChange.event), (this._onDidScrollChange = this._register(new o.Q5())), (this.onDidScrollChange = this._onDidScrollChange.event), (this._onDidChangeViewZones = this._register(new o.Q5())), (this.onDidChangeViewZones = this._onDidChangeViewZones.event), (t = t || {}), (this._domElement = e), (this._overflowWidgetsDomNode = t.overflowWidgetsDomNode), (this._id = ++Fn), (this._decorationTypeKeysToIds = {}), (this._decorationTypeSubtypes = {}), (this.isSimpleWidget = i.isSimpleWidget || !1), (this._telemetryData = i.telemetryData), (this._configuration = this._register( this._createConfiguration(t, u) )), this._register( this._configuration.onDidChange((e) => { this._onDidChangeConfiguration.fire(e); const t = this._configuration.options; if (e.hasChanged(117)) { const e = t.get(117); this._onDidLayoutChange.fire(e); } }) ), (this._contextKeyService = this._register( l.createScoped(this._domElement) )), (this._notificationService = h), (this._codeEditorService = r), (this._commandService = a), (this._themeService = c), this._register(new Hn(this, this._contextKeyService)), this._register(new jn(this, this._contextKeyService)), (this._instantiationService = n.createChild( new pn.y([gn.i6, this._contextKeyService]) )), (this._modelData = null), (this._contributions = {}), (this._actions = {}), (this._focusTracker = new Vn(e)), this._focusTracker.onChange(() => { this._editorWidgetFocus.setValue(this._focusTracker.hasFocus()); }), (this._contentWidgets = {}), (this._overlayWidgets = {}), (g = Array.isArray(i.contributions) ? i.contributions : d.Uc.getEditorContributions()); for (const e of g) try { const t = this._instantiationService.createInstance( e.ctor, this ); this._contributions[e.id] = t; } catch (e) { (0, s.dL)(e); } d.Uc.getEditorActions().forEach((e) => { const t = new Ri.p( e.id, e.label, e.alias, (0, bn.f6)(e.precondition), () => this._instantiationService.invokeFunction((t) => Promise.resolve(e.runEditorCommand(t, this, null)) ), this._contextKeyService ); this._actions[t.id] = t; }), this._codeEditorService.addCodeEditor(this); } _createConfiguration(e, t) { return new c.V(this.isSimpleWidget, e, this._domElement, t); } getId() { return this.getEditorType() + ':' + this._id; } getEditorType() { return Pi.g.ICodeEditor; } dispose() { this._codeEditorService.removeCodeEditor(this), this._focusTracker.dispose(); const e = Object.keys(this._contributions); for (let t = 0, i = e.length; t < i; t++) { const i = e[t]; this._contributions[i].dispose(); } this._removeDecorationTypes(), this._postDetachModelCleanup(this._detachModel()), this._onDidDispose.fire(), super.dispose(); } invokeWithinContext(e) { return this._instantiationService.invokeFunction(e); } updateOptions(e) { this._configuration.updateOptions(e); } getOptions() { return this._configuration.options; } getOption(e) { return this._configuration.options.get(e); } getRawOptions() { return this._configuration.getRawOptions(); } getOverflowWidgetsDomNode() { return this._overflowWidgetsDomNode; } getConfiguredWordAtPosition(e) { return this._modelData ? Rn.w.getWordAtPosition( this._modelData.model, this._configuration.options.get(105), e ) : null; } getValue(e = null) { if (!this._modelData) return ''; const t = !(!e || !e.preserveBOM); let i = 0; return ( e && e.lineEnding && '\n' === e.lineEnding ? (i = 1) : e && e.lineEnding && '\r\n' === e.lineEnding && (i = 2), this._modelData.model.getValue(i, t) ); } setValue(e) { this._modelData && this._modelData.model.setValue(e); } getModel() { return this._modelData ? this._modelData.model : null; } setModel(e = null) { const t = e; if (null === this._modelData && null === t) return; if (this._modelData && this._modelData.model === t) return; const i = this.hasTextFocus(), n = this._detachModel(); this._attachModel(t), i && this.hasModel() && this.focus(); const r = { oldModelUrl: n ? n.uri : null, newModelUrl: t ? t.uri : null, }; this._removeDecorationTypes(), this._onDidChangeModel.fire(r), this._postDetachModelCleanup(n); } _removeDecorationTypes() { if ( ((this._decorationTypeKeysToIds = {}), this._decorationTypeSubtypes) ) { for (let e in this._decorationTypeSubtypes) { const t = this._decorationTypeSubtypes[e]; for (let i in t) this._removeDecorationType(e + '-' + i); } this._decorationTypeSubtypes = {}; } } getVisibleRanges() { return this._modelData ? this._modelData.viewModel.getVisibleRanges() : []; } getVisibleRangesPlusViewportAboveBelow() { return this._modelData ? this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow() : []; } getWhitespaces() { return this._modelData ? this._modelData.viewModel.viewLayout.getWhitespaces() : []; } static _getVerticalOffsetForPosition(e, t, i) { const n = e.model.validatePosition({ lineNumber: t, column: i }), r = e.viewModel.coordinatesConverter.convertModelPositionToViewPosition( n ); return e.viewModel.viewLayout.getVerticalOffsetForLineNumber( r.lineNumber ); } getTopForLineNumber(t) { return this._modelData ? e._getVerticalOffsetForPosition(this._modelData, t, 1) : -1; } getTopForPosition(t, i) { return this._modelData ? e._getVerticalOffsetForPosition(this._modelData, t, i) : -1; } setHiddenAreas(e) { this._modelData && this._modelData.viewModel.setHiddenAreas( e.map((e) => X.e.lift(e)) ); } getVisibleColumnFromPosition(e) { if (!this._modelData) return e.column; const t = this._modelData.model.validatePosition(e), i = this._modelData.model.getOptions().tabSize; return ( ee.io.visibleColumnFromColumn( this._modelData.model.getLineContent(t.lineNumber), t.column, i ) + 1 ); } getPosition() { return this._modelData ? this._modelData.viewModel.getPosition() : null; } setPosition(e) { if (this._modelData) { if (!Q.L.isIPosition(e)) throw new Error('Invalid arguments'); this._modelData.viewModel.setSelections('api', [ { selectionStartLineNumber: e.lineNumber, selectionStartColumn: e.column, positionLineNumber: e.lineNumber, positionColumn: e.column, }, ]); } } _sendRevealRange(e, t, i, n) { if (!this._modelData) return; if (!X.e.isIRange(e)) throw new Error('Invalid arguments'); const r = this._modelData.model.validateRange(e), s = this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange( r ); this._modelData.viewModel.revealRange('api', i, s, t, n); } revealLine(e, t = 0) { this._revealLine(e, 0, t); } revealLineInCenter(e, t = 0) { this._revealLine(e, 1, t); } revealLineInCenterIfOutsideViewport(e, t = 0) { this._revealLine(e, 2, t); } revealLineNearTop(e, t = 0) { this._revealLine(e, 5, t); } _revealLine(e, t, i) { if ('number' != typeof e) throw new Error('Invalid arguments'); this._sendRevealRange(new X.e(e, 1, e, 1), t, !1, i); } revealPosition(e, t = 0) { this._revealPosition(e, 0, !0, t); } revealPositionInCenter(e, t = 0) { this._revealPosition(e, 1, !0, t); } revealPositionInCenterIfOutsideViewport(e, t = 0) { this._revealPosition(e, 2, !0, t); } revealPositionNearTop(e, t = 0) { this._revealPosition(e, 5, !0, t); } _revealPosition(e, t, i, n) { if (!Q.L.isIPosition(e)) throw new Error('Invalid arguments'); this._sendRevealRange( new X.e(e.lineNumber, e.column, e.lineNumber, e.column), t, i, n ); } getSelection() { return this._modelData ? this._modelData.viewModel.getSelection() : null; } getSelections() { return this._modelData ? this._modelData.viewModel.getSelections() : null; } setSelection(e) { const t = u.Y.isISelection(e), i = X.e.isIRange(e); if (!t && !i) throw new Error('Invalid arguments'); if (t) this._setSelectionImpl(e); else if (i) { const t = { selectionStartLineNumber: e.startLineNumber, selectionStartColumn: e.startColumn, positionLineNumber: e.endLineNumber, positionColumn: e.endColumn, }; this._setSelectionImpl(t); } } _setSelectionImpl(e) { if (!this._modelData) return; const t = new u.Y( e.selectionStartLineNumber, e.selectionStartColumn, e.positionLineNumber, e.positionColumn ); this._modelData.viewModel.setSelections('api', [t]); } revealLines(e, t, i = 0) { this._revealLines(e, t, 0, i); } revealLinesInCenter(e, t, i = 0) { this._revealLines(e, t, 1, i); } revealLinesInCenterIfOutsideViewport(e, t, i = 0) { this._revealLines(e, t, 2, i); } revealLinesNearTop(e, t, i = 0) { this._revealLines(e, t, 5, i); } _revealLines(e, t, i, n) { if ('number' != typeof e || 'number' != typeof t) throw new Error('Invalid arguments'); this._sendRevealRange(new X.e(e, 1, t, 1), i, !1, n); } revealRange(e, t = 0, i = !1, n = !0) { this._revealRange(e, i ? 1 : 0, n, t); } revealRangeInCenter(e, t = 0) { this._revealRange(e, 1, !0, t); } revealRangeInCenterIfOutsideViewport(e, t = 0) { this._revealRange(e, 2, !0, t); } revealRangeNearTop(e, t = 0) { this._revealRange(e, 5, !0, t); } revealRangeNearTopIfOutsideViewport(e, t = 0) { this._revealRange(e, 6, !0, t); } revealRangeAtTop(e, t = 0) { this._revealRange(e, 3, !0, t); } _revealRange(e, t, i, n) { if (!X.e.isIRange(e)) throw new Error('Invalid arguments'); this._sendRevealRange(X.e.lift(e), t, i, n); } setSelections(e, t = 'api') { if (this._modelData) { if (!e || 0 === e.length) throw new Error('Invalid arguments'); for (let t = 0, i = e.length; t < i; t++) if (!u.Y.isISelection(e[t])) throw new Error('Invalid arguments'); this._modelData.viewModel.setSelections(t, e); } } getContentWidth() { return this._modelData ? this._modelData.viewModel.viewLayout.getContentWidth() : -1; } getScrollWidth() { return this._modelData ? this._modelData.viewModel.viewLayout.getScrollWidth() : -1; } getScrollLeft() { return this._modelData ? this._modelData.viewModel.viewLayout.getCurrentScrollLeft() : -1; } getContentHeight() { return this._modelData ? this._modelData.viewModel.viewLayout.getContentHeight() : -1; } getScrollHeight() { return this._modelData ? this._modelData.viewModel.viewLayout.getScrollHeight() : -1; } getScrollTop() { return this._modelData ? this._modelData.viewModel.viewLayout.getCurrentScrollTop() : -1; } setScrollLeft(e, t = 1) { if (this._modelData) { if ('number' != typeof e) throw new Error('Invalid arguments'); this._modelData.viewModel.setScrollPosition({ scrollLeft: e }, t); } } setScrollTop(e, t = 1) { if (this._modelData) { if ('number' != typeof e) throw new Error('Invalid arguments'); this._modelData.viewModel.setScrollPosition({ scrollTop: e }, t); } } setScrollPosition(e, t = 1) { this._modelData && this._modelData.viewModel.setScrollPosition(e, t); } saveViewState() { if (!this._modelData) return null; const e = {}, t = Object.keys(this._contributions); for (const i of t) { const t = this._contributions[i]; 'function' == typeof t.saveViewState && (e[i] = t.saveViewState()); } return { cursorState: this._modelData.viewModel.saveCursorState(), viewState: this._modelData.viewModel.saveState(), contributionsState: e, }; } restoreViewState(e) { if (!this._modelData || !this._modelData.hasRealView) return; const t = e; if (t && t.cursorState && t.viewState) { const e = t.cursorState; Array.isArray(e) ? this._modelData.viewModel.restoreCursorState(e) : this._modelData.viewModel.restoreCursorState([e]); const i = t.contributionsState || {}, n = Object.keys(this._contributions); for (let e = 0, t = n.length; e < t; e++) { const t = n[e], r = this._contributions[t]; 'function' == typeof r.restoreViewState && r.restoreViewState(i[t]); } const r = this._modelData.viewModel.reduceRestoreState( t.viewState ); this._modelData.view.restoreState(r); } } getContribution(e) { return this._contributions[e] || null; } getActions() { const e = [], t = Object.keys(this._actions); for (let i = 0, n = t.length; i < n; i++) { const n = t[i]; e.push(this._actions[n]); } return e; } getSupportedActions() { let e = this.getActions(); return (e = e.filter((e) => e.isSupported())), e; } getAction(e) { return this._actions[e] || null; } trigger(e, t, i) { switch (((i = i || {}), t)) { case 'compositionStart': return void this._startComposition(); case 'compositionEnd': return void this._endComposition(e); case 'type': { const t = i; return void this._type(e, t.text || ''); } case 'replacePreviousChar': { const t = i; return void this._replacePreviousChar( e, t.text || '', t.replaceCharCnt || 0 ); } case 'paste': { const t = i; return void this._paste( e, t.text || '', t.pasteOnNewLine || !1, t.multicursorText || null, t.mode || null ); } case 'cut': return void this._cut(e); } const n = this.getAction(t); n ? Promise.resolve(n.run()).then(void 0, s.dL) : this._modelData && this._triggerEditorCommand(e, t, i); } _startComposition() { this._modelData && (this._modelData.viewModel.startComposition(), this._onDidCompositionStart.fire()); } _endComposition(e) { this._modelData && (this._modelData.viewModel.endComposition(e), this._onDidCompositionEnd.fire()); } _type(e, t) { this._modelData && 0 !== t.length && ('keyboard' === e && this._onWillType.fire(t), this._modelData.viewModel.type(t, e), 'keyboard' === e && this._onDidType.fire(t)); } _replacePreviousChar(e, t, i) { this._modelData && this._modelData.viewModel.replacePreviousChar(t, i, e); } _paste(e, t, i, n, r) { if (!this._modelData || 0 === t.length) return; const s = this._modelData.viewModel .getSelection() .getStartPosition(); this._modelData.viewModel.paste(t, i, n, e); const o = this._modelData.viewModel .getSelection() .getStartPosition(); 'keyboard' === e && this._onDidPaste.fire({ range: new X.e(s.lineNumber, s.column, o.lineNumber, o.column), mode: r, }); } _cut(e) { this._modelData && this._modelData.viewModel.cut(e); } _triggerEditorCommand(e, t, i) { const n = d.Uc.getEditorCommand(t); return ( !!n && (((i = i || {}).source = e), this._instantiationService.invokeFunction((e) => { Promise.resolve(n.runEditorCommand(e, this, i)).then( void 0, s.dL ); }), !0) ); } _getViewModel() { return this._modelData ? this._modelData.viewModel : null; } pushUndoStop() { return ( !!this._modelData && !this._configuration.options.get(72) && (this._modelData.model.pushStackElement(), !0) ); } executeEdits(e, t, i) { if (!this._modelData) return !1; if (this._configuration.options.get(72)) return !1; let n; return ( (n = i ? (Array.isArray(i) ? () => i : i) : () => null), this._modelData.viewModel.executeEdits(e, t, n), !0 ); } executeCommand(e, t) { this._modelData && this._modelData.viewModel.executeCommand(t, e); } executeCommands(e, t) { this._modelData && this._modelData.viewModel.executeCommands(t, e); } changeDecorations(e) { return this._modelData ? this._modelData.model.changeDecorations(e, this._id) : null; } getLineDecorations(e) { return this._modelData ? this._modelData.model.getLineDecorations( e, this._id, (0, H.$J)(this._configuration.options) ) : null; } deltaDecorations(e, t) { return this._modelData ? 0 === e.length && 0 === t.length ? e : this._modelData.model.deltaDecorations(e, t, this._id) : []; } removeDecorations(e) { const t = this._decorationTypeKeysToIds[e]; t && this.deltaDecorations(t, []), this._decorationTypeKeysToIds.hasOwnProperty(e) && delete this._decorationTypeKeysToIds[e], this._decorationTypeSubtypes.hasOwnProperty(e) && delete this._decorationTypeSubtypes[e]; } getLayoutInfo() { return this._configuration.options.get(117); } createOverviewRuler(e) { return this._modelData && this._modelData.hasRealView ? this._modelData.view.createOverviewRuler(e) : null; } getContainerDomNode() { return this._domElement; } getDomNode() { return this._modelData && this._modelData.hasRealView ? this._modelData.view.domNode.domNode : null; } delegateVerticalScrollbarMouseDown(e) { this._modelData && this._modelData.hasRealView && this._modelData.view.delegateVerticalScrollbarMouseDown(e); } layout(e) { this._configuration.observeReferenceElement(e), this.render(); } focus() { this._modelData && this._modelData.hasRealView && this._modelData.view.focus(); } hasTextFocus() { return ( !(!this._modelData || !this._modelData.hasRealView) && this._modelData.view.isFocused() ); } hasWidgetFocus() { return this._focusTracker && this._focusTracker.hasFocus(); } addContentWidget(e) { const t = { widget: e, position: e.getPosition() }; this._contentWidgets.hasOwnProperty(e.getId()) && console.warn('Overwriting a content widget with the same id.'), (this._contentWidgets[e.getId()] = t), this._modelData && this._modelData.hasRealView && this._modelData.view.addContentWidget(t); } layoutContentWidget(e) { const t = e.getId(); if (this._contentWidgets.hasOwnProperty(t)) { const i = this._contentWidgets[t]; (i.position = e.getPosition()), this._modelData && this._modelData.hasRealView && this._modelData.view.layoutContentWidget(i); } } removeContentWidget(e) { const t = e.getId(); if (this._contentWidgets.hasOwnProperty(t)) { const e = this._contentWidgets[t]; delete this._contentWidgets[t], this._modelData && this._modelData.hasRealView && this._modelData.view.removeContentWidget(e); } } addOverlayWidget(e) { const t = { widget: e, position: e.getPosition() }; this._overlayWidgets.hasOwnProperty(e.getId()) && console.warn('Overwriting an overlay widget with the same id.'), (this._overlayWidgets[e.getId()] = t), this._modelData && this._modelData.hasRealView && this._modelData.view.addOverlayWidget(t); } layoutOverlayWidget(e) { const t = e.getId(); if (this._overlayWidgets.hasOwnProperty(t)) { const i = this._overlayWidgets[t]; (i.position = e.getPosition()), this._modelData && this._modelData.hasRealView && this._modelData.view.layoutOverlayWidget(i); } } removeOverlayWidget(e) { const t = e.getId(); if (this._overlayWidgets.hasOwnProperty(t)) { const e = this._overlayWidgets[t]; delete this._overlayWidgets[t], this._modelData && this._modelData.hasRealView && this._modelData.view.removeOverlayWidget(e); } } changeViewZones(e) { this._modelData && this._modelData.hasRealView && this._modelData.view.change(e); } getTargetAtClientPoint(e, t) { return this._modelData && this._modelData.hasRealView ? this._modelData.view.getTargetAtClientPoint(e, t) : null; } getScrolledVisiblePosition(t) { if (!this._modelData || !this._modelData.hasRealView) return null; const i = this._modelData.model.validatePosition(t), n = this._configuration.options, r = n.get(117); return { top: e._getVerticalOffsetForPosition( this._modelData, i.lineNumber, i.column ) - this.getScrollTop(), left: this._modelData.view.getOffsetForColumn( i.lineNumber, i.column ) + r.glyphMarginWidth + r.lineNumbersWidth + r.decorationsWidth - this.getScrollLeft(), height: n.get(51), }; } getOffsetForColumn(e, t) { return this._modelData && this._modelData.hasRealView ? this._modelData.view.getOffsetForColumn(e, t) : -1; } render(e = !1) { this._modelData && this._modelData.hasRealView && this._modelData.view.render(!0, e); } setAriaOptions(e) { this._modelData && this._modelData.hasRealView && this._modelData.view.setAriaOptions(e); } applyFontInfo(e) { c.V.applyFontInfoSlow(e, this._configuration.options.get(36)); } _attachModel(e) { if (!e) return void (this._modelData = null); const t = []; this._domElement.setAttribute( 'data-mode-id', e.getLanguageIdentifier().language ), this._configuration.setIsDominatedByLongLines( e.isDominatedByLongLines() ), this._configuration.setMaxLineNumber(e.getLineCount()), e.onBeforeAttached(); const i = new hn( this._id, this._configuration, e, En.create(), Sn.create(this._configuration.options), (e) => r.jL(e) ); t.push( e.onDidChangeDecorations((e) => this._onDidChangeModelDecorations.fire(e) ) ), t.push( e.onDidChangeLanguage((t) => { this._domElement.setAttribute( 'data-mode-id', e.getLanguageIdentifier().language ), this._onDidChangeModelLanguage.fire(t); }) ), t.push( e.onDidChangeLanguageConfiguration((e) => this._onDidChangeModelLanguageConfiguration.fire(e) ) ), t.push( e.onDidChangeContent((e) => this._onDidChangeModelContent.fire(e) ) ), t.push( e.onDidChangeOptions((e) => this._onDidChangeModelOptions.fire(e) ) ), t.push(e.onWillDispose(() => this.setModel(null))), t.push( i.onEvent((e) => { switch (e.kind) { case 0: this._onDidContentSizeChange.fire(e); break; case 1: this._editorTextFocus.setValue(e.hasFocus); break; case 2: this._onDidScrollChange.fire(e); break; case 3: this._onDidChangeViewZones.fire(); break; case 4: this._onDidAttemptReadOnlyEdit.fire(); break; case 5: { e.reachedMaxCursorCount && this._notificationService.warn( n.N( 'cursors.maximum', 'The number of cursors has been limited to {0}.', Ai.MAX_CURSOR_COUNT ) ); const t = []; for (let i = 0, n = e.selections.length; i < n; i++) t[i] = e.selections[i].getPosition(); const i = { position: t[0], secondaryPositions: t.slice(1), reason: e.reason, source: e.source, }; this._onDidChangeCursorPosition.fire(i); const r = { selection: e.selections[0], secondarySelections: e.selections.slice(1), modelVersionId: e.modelVersionId, oldSelections: e.oldSelections, oldModelVersionId: e.oldModelVersionId, source: e.source, reason: e.reason, }; this._onDidChangeCursorSelection.fire(r); break; } } }) ); const [s, o] = this._createView(i); if (o) { this._domElement.appendChild(s.domNode.domNode); let t = Object.keys(this._contentWidgets); for (let e = 0, i = t.length; e < i; e++) { const i = t[e]; s.addContentWidget(this._contentWidgets[i]); } t = Object.keys(this._overlayWidgets); for (let e = 0, i = t.length; e < i; e++) { const i = t[e]; s.addOverlayWidget(this._overlayWidgets[i]); } s.render(!1, !0), s.domNode.domNode.setAttribute('data-uri', e.uri.toString()); } this._modelData = new Bn(e, i, s, o, t); } _createView(e) { let t; t = this.isSimpleWidget ? { paste: (e, t, i, n) => { this._paste('keyboard', e, t, i, n); }, type: (e) => { this._type('keyboard', e); }, replacePreviousChar: (e, t) => { this._replacePreviousChar('keyboard', e, t); }, startComposition: () => { this._startComposition(); }, endComposition: () => { this._endComposition('keyboard'); }, cut: () => { this._cut('keyboard'); }, } : { paste: (e, t, i, n) => { const r = { text: e, pasteOnNewLine: t, multicursorText: i, mode: n, }; this._commandService.executeCommand('paste', r); }, type: (e) => { const t = { text: e }; this._commandService.executeCommand('type', t); }, replacePreviousChar: (e, t) => { const i = { text: e, replaceCharCnt: t }; this._commandService.executeCommand( 'replacePreviousChar', i ); }, startComposition: () => { this._commandService.executeCommand('compositionStart', {}); }, endComposition: () => { this._commandService.executeCommand('compositionEnd', {}); }, cut: () => { this._commandService.executeCommand('cut', {}); }, }; const i = new Re(e.coordinatesConverter); return ( (i.onKeyDown = (e) => this._onKeyDown.fire(e)), (i.onKeyUp = (e) => this._onKeyUp.fire(e)), (i.onContextMenu = (e) => this._onContextMenu.fire(e)), (i.onMouseMove = (e) => this._onMouseMove.fire(e)), (i.onMouseLeave = (e) => this._onMouseLeave.fire(e)), (i.onMouseDown = (e) => this._onMouseDown.fire(e)), (i.onMouseUp = (e) => this._onMouseUp.fire(e)), (i.onMouseDrag = (e) => this._onMouseDrag.fire(e)), (i.onMouseDrop = (e) => this._onMouseDrop.fire(e)), (i.onMouseWheel = (e) => this._onMouseWheel.fire(e)), [ new ni( t, this._configuration, this._themeService, e, i, this._overflowWidgetsDomNode ), !0, ] ); } _postDetachModelCleanup(e) { e && e.removeAllDecorationsWithOwnerId(this._id); } _detachModel() { if (!this._modelData) return null; const e = this._modelData.model, t = this._modelData.hasRealView ? this._modelData.view.domNode.domNode : null; return ( this._modelData.dispose(), (this._modelData = null), this._domElement.removeAttribute('data-mode-id'), t && this._domElement.contains(t) && this._domElement.removeChild(t), e ); } _removeDecorationType(e) { this._codeEditorService.removeDecorationType(e); } hasModel() { return null !== this._modelData; } }; Wn = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ Pn(3, fn.TG), Pn(4, h.$), Pn(5, un.H), Pn(6, gn.i6), Pn(7, Y.XE), Pn(8, mn.lT), Pn(9, _n.F), ], Wn ); class Yn extends a.JT { constructor() { super(), (this._onDidChangeToTrue = this._register(new o.Q5())), (this.onDidChangeToTrue = this._onDidChangeToTrue.event), (this._onDidChangeToFalse = this._register(new o.Q5())), (this.onDidChangeToFalse = this._onDidChangeToFalse.event), (this._value = 0); } setValue(e) { const t = e ? 2 : 1; this._value !== t && ((this._value = t), 2 === this._value ? this._onDidChangeToTrue.fire() : 1 === this._value && this._onDidChangeToFalse.fire()); } } class Hn extends a.JT { constructor(e, t) { super(), (this._editor = e), t.createKey('editorId', e.getId()), (this._editorSimpleInput = Fi.u.editorSimpleInput.bindTo(t)), (this._editorFocus = Fi.u.focus.bindTo(t)), (this._textInputFocus = Fi.u.textInputFocus.bindTo(t)), (this._editorTextFocus = Fi.u.editorTextFocus.bindTo(t)), (this._editorTabMovesFocus = Fi.u.tabMovesFocus.bindTo(t)), (this._editorReadonly = Fi.u.readOnly.bindTo(t)), (this._editorColumnSelection = Fi.u.columnSelection.bindTo(t)), (this._hasMultipleSelections = Fi.u.hasMultipleSelections.bindTo( t )), (this._hasNonEmptySelection = Fi.u.hasNonEmptySelection.bindTo( t )), (this._canUndo = Fi.u.canUndo.bindTo(t)), (this._canRedo = Fi.u.canRedo.bindTo(t)), this._register( this._editor.onDidChangeConfiguration(() => this._updateFromConfig() ) ), this._register( this._editor.onDidChangeCursorSelection(() => this._updateFromSelection() ) ), this._register( this._editor.onDidFocusEditorWidget(() => this._updateFromFocus() ) ), this._register( this._editor.onDidBlurEditorWidget(() => this._updateFromFocus() ) ), this._register( this._editor.onDidFocusEditorText(() => this._updateFromFocus()) ), this._register( this._editor.onDidBlurEditorText(() => this._updateFromFocus()) ), this._register( this._editor.onDidChangeModel(() => this._updateFromModel()) ), this._register( this._editor.onDidChangeConfiguration(() => this._updateFromModel() ) ), this._updateFromConfig(), this._updateFromSelection(), this._updateFromFocus(), this._updateFromModel(), this._editorSimpleInput.set(this._editor.isSimpleWidget); } _updateFromConfig() { const e = this._editor.getOptions(); this._editorTabMovesFocus.set(e.get(116)), this._editorReadonly.set(e.get(72)), this._editorColumnSelection.set(e.get(13)); } _updateFromSelection() { const e = this._editor.getSelections(); e ? (this._hasMultipleSelections.set(e.length > 1), this._hasNonEmptySelection.set(e.some((e) => !e.isEmpty()))) : (this._hasMultipleSelections.reset(), this._hasNonEmptySelection.reset()); } _updateFromFocus() { this._editorFocus.set( this._editor.hasWidgetFocus() && !this._editor.isSimpleWidget ), this._editorTextFocus.set( this._editor.hasTextFocus() && !this._editor.isSimpleWidget ), this._textInputFocus.set(this._editor.hasTextFocus()); } _updateFromModel() { const e = this._editor.getModel(); this._canUndo.set(Boolean(e && e.canUndo())), this._canRedo.set(Boolean(e && e.canRedo())); } } class jn extends a.JT { constructor(e, t) { super(), (this._editor = e), (this._contextKeyService = t), (this._langId = Fi.u.languageId.bindTo(t)), (this._hasCompletionItemProvider = Fi.u.hasCompletionItemProvider.bindTo( t )), (this._hasCodeActionsProvider = Fi.u.hasCodeActionsProvider.bindTo( t )), (this._hasCodeLensProvider = Fi.u.hasCodeLensProvider.bindTo(t)), (this._hasDefinitionProvider = Fi.u.hasDefinitionProvider.bindTo( t )), (this._hasDeclarationProvider = Fi.u.hasDeclarationProvider.bindTo( t )), (this._hasImplementationProvider = Fi.u.hasImplementationProvider.bindTo( t )), (this._hasTypeDefinitionProvider = Fi.u.hasTypeDefinitionProvider.bindTo( t )), (this._hasHoverProvider = Fi.u.hasHoverProvider.bindTo(t)), (this._hasDocumentHighlightProvider = Fi.u.hasDocumentHighlightProvider.bindTo( t )), (this._hasDocumentSymbolProvider = Fi.u.hasDocumentSymbolProvider.bindTo( t )), (this._hasReferenceProvider = Fi.u.hasReferenceProvider.bindTo( t )), (this._hasRenameProvider = Fi.u.hasRenameProvider.bindTo(t)), (this._hasSignatureHelpProvider = Fi.u.hasSignatureHelpProvider.bindTo( t )), (this._hasDocumentFormattingProvider = Fi.u.hasDocumentFormattingProvider.bindTo( t )), (this._hasDocumentSelectionFormattingProvider = Fi.u.hasDocumentSelectionFormattingProvider.bindTo( t )), (this._hasMultipleDocumentFormattingProvider = Fi.u.hasMultipleDocumentFormattingProvider.bindTo( t )), (this._hasMultipleDocumentSelectionFormattingProvider = Fi.u.hasMultipleDocumentSelectionFormattingProvider.bindTo( t )), (this._isInWalkThrough = Fi.u.isInWalkThroughSnippet.bindTo(t)); const i = () => this._update(); this._register(e.onDidChangeModel(i)), this._register(e.onDidChangeModelLanguage(i)), this._register(gt.KZ.onDidChange(i)), this._register(gt.H9.onDidChange(i)), this._register(gt.He.onDidChange(i)), this._register(gt.Ct.onDidChange(i)), this._register(gt.RN.onDidChange(i)), this._register(gt.vI.onDidChange(i)), this._register(gt.tA.onDidChange(i)), this._register(gt.xp.onDidChange(i)), this._register(gt.vH.onDidChange(i)), this._register(gt.vJ.onDidChange(i)), this._register(gt.FL.onDidChange(i)), this._register(gt.G0.onDidChange(i)), this._register(gt.Az.onDidChange(i)), this._register(gt.vN.onDidChange(i)), this._register(gt.nD.onDidChange(i)), i(); } dispose() { super.dispose(); } reset() { this._contextKeyService.bufferChangeEvents(() => { this._langId.reset(), this._hasCompletionItemProvider.reset(), this._hasCodeActionsProvider.reset(), this._hasCodeLensProvider.reset(), this._hasDefinitionProvider.reset(), this._hasDeclarationProvider.reset(), this._hasImplementationProvider.reset(), this._hasTypeDefinitionProvider.reset(), this._hasHoverProvider.reset(), this._hasDocumentHighlightProvider.reset(), this._hasDocumentSymbolProvider.reset(), this._hasReferenceProvider.reset(), this._hasRenameProvider.reset(), this._hasDocumentFormattingProvider.reset(), this._hasDocumentSelectionFormattingProvider.reset(), this._hasSignatureHelpProvider.reset(), this._isInWalkThrough.reset(); }); } _update() { const e = this._editor.getModel(); e ? this._contextKeyService.bufferChangeEvents(() => { this._langId.set(e.getLanguageIdentifier().language), this._hasCompletionItemProvider.set(gt.KZ.has(e)), this._hasCodeActionsProvider.set(gt.H9.has(e)), this._hasCodeLensProvider.set(gt.He.has(e)), this._hasDefinitionProvider.set(gt.Ct.has(e)), this._hasDeclarationProvider.set(gt.RN.has(e)), this._hasImplementationProvider.set(gt.vI.has(e)), this._hasTypeDefinitionProvider.set(gt.tA.has(e)), this._hasHoverProvider.set(gt.xp.has(e)), this._hasDocumentHighlightProvider.set(gt.vH.has(e)), this._hasDocumentSymbolProvider.set(gt.vJ.has(e)), this._hasReferenceProvider.set(gt.FL.has(e)), this._hasRenameProvider.set(gt.G0.has(e)), this._hasSignatureHelpProvider.set(gt.nD.has(e)), this._hasDocumentFormattingProvider.set( gt.Az.has(e) || gt.vN.has(e) ), this._hasDocumentSelectionFormattingProvider.set( gt.vN.has(e) ), this._hasMultipleDocumentFormattingProvider.set( gt.Az.all(e).length + gt.vN.all(e).length > 1 ), this._hasMultipleDocumentSelectionFormattingProvider.set( gt.vN.all(e).length > 1 ), this._isInWalkThrough.set( e.uri.scheme === l.l.walkThroughSnippet ); }) : this.reset(); } } class Vn extends a.JT { constructor(e) { super(), (this._onChange = this._register(new o.Q5())), (this.onChange = this._onChange.event), (this._hasFocus = !1), (this._domFocusTracker = this._register(r.go(e))), this._register( this._domFocusTracker.onDidFocus(() => { (this._hasFocus = !0), this._onChange.fire(void 0); }) ), this._register( this._domFocusTracker.onDidBlur(() => { (this._hasFocus = !1), this._onChange.fire(void 0); }) ); } hasFocus() { return this._hasFocus; } } const zn = encodeURIComponent( "" ); function $n(e) { return zn + encodeURIComponent(e.toString()) + Un; } const Kn = encodeURIComponent( '' ); (0, Y.Ic)((e, t) => { const i = e.getColor(mt.b6); i && t.addRule( `.monaco-editor .squiggly-error { border-bottom: 4px double ${i}; }` ); const n = e.getColor(mt.lX); n && t.addRule( `.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${$n( n )}") repeat-x bottom left; }` ); const r = e.getColor(mt.pW); r && t.addRule( `.monaco-editor .squiggly-warning { border-bottom: 4px double ${r}; }` ); const s = e.getColor(mt.uo); s && t.addRule( `.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${$n( s )}") repeat-x bottom left; }` ); const o = e.getColor(mt.T8); o && t.addRule( `.monaco-editor .squiggly-info { border-bottom: 4px double ${o}; }` ); const a = e.getColor(mt.c6); a && t.addRule( `.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${$n( a )}") repeat-x bottom left; }` ); const l = e.getColor(mt.fE); l && t.addRule( `.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${l}; }` ); const c = e.getColor(mt.Du); c && t.addRule( `.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${(function ( e ) { return Kn + encodeURIComponent(e.toString()) + qn; })(c)}") no-repeat bottom left; }` ); const d = e.getColor(xe.zu); d && t.addRule( `.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${d.rgba.a}; }` ); const h = e.getColor(xe.kp); h && t.addRule( `.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${h}; }` ); const u = e.getColor(mt.NO) || 'inherit'; t.addRule( `.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${u}}` ); }); }, 68143: (e, t, i) => { 'use strict'; i.d(t, { pL: () => ae }); var n = i(63580), r = i(65321), s = i(38626), o = i(73098), a = i(15393), l = i(4669), c = i(5976), d = i(36248), h = i(89052), u = i(39925), g = i(11640), f = i(95190), p = i(90317), m = i(9802), _ = i(74741), b = i(16830), v = i(64141), y = i(78411), w = i(50187), C = i(27869), S = i(77736), k = i(13824), x = i(38819), L = i(73910), M = i(97781), D = i(73046); class N { constructor(e, t, i, n) { (this.originalLineStart = e), (this.originalLineEnd = t), (this.modifiedLineStart = i), (this.modifiedLineEnd = n); } getType() { return 0 === this.originalLineStart ? 1 : 0 === this.modifiedLineStart ? 2 : 0; } } class E { constructor(e) { this.entries = e; } } const T = (0, D.q5)('diff-review-insert', D.lA.add), I = (0, D.q5)('diff-review-remove', D.lA.remove), O = (0, D.q5)('diff-review-close', D.lA.close); class A extends c.JT { constructor(e) { super(), (this._width = 0), (this._diffEditor = e), (this._isVisible = !1), (this.shadow = (0, s.X)(document.createElement('div'))), this.shadow.setClassName('diff-review-shadow'), (this.actionBarContainer = (0, s.X)( document.createElement('div') )), this.actionBarContainer.setClassName('diff-review-actions'), (this._actionBar = this._register( new p.o(this.actionBarContainer.domNode) )), this._actionBar.push( new _.aU( 'diffreview.close', n.N('label.close', 'Close'), 'close-diff-review ' + O.classNames, !0, () => (this.hide(), Promise.resolve(null)) ), { label: !1, icon: !0 } ), (this.domNode = (0, s.X)(document.createElement('div'))), this.domNode.setClassName('diff-review monaco-editor-background'), (this._content = (0, s.X)(document.createElement('div'))), this._content.setClassName('diff-review-content'), this._content.setAttribute('role', 'code'), (this.scrollbar = this._register( new m.s$(this._content.domNode, {}) )), this.domNode.domNode.appendChild(this.scrollbar.getDomNode()), this._register( e.onDidUpdateDiff(() => { this._isVisible && ((this._diffs = this._compute()), this._render()); }) ), this._register( e.getModifiedEditor().onDidChangeCursorPosition(() => { this._isVisible && this._render(); }) ), this._register( r.mu(this.domNode.domNode, 'click', (e) => { e.preventDefault(); let t = r.Fx(e.target, 'diff-review-row'); t && this._goToRow(t); }) ), this._register( r.mu(this.domNode.domNode, 'keydown', (e) => { (e.equals(18) || e.equals(2066) || e.equals(530)) && (e.preventDefault(), this._goToRow(this._getNextRow())), (e.equals(16) || e.equals(2064) || e.equals(528)) && (e.preventDefault(), this._goToRow(this._getPrevRow())), (e.equals(9) || e.equals(2057) || e.equals(521) || e.equals(1033)) && (e.preventDefault(), this.hide()), (e.equals(10) || e.equals(3)) && (e.preventDefault(), this.accept()); }) ), (this._diffs = []), (this._currentDiff = null); } prev() { let e = 0; if ( (this._isVisible || (this._diffs = this._compute()), this._isVisible) ) { let t = -1; for (let e = 0, i = this._diffs.length; e < i; e++) if (this._diffs[e] === this._currentDiff) { t = e; break; } e = this._diffs.length + t - 1; } else e = this._findDiffIndex(this._diffEditor.getPosition()); if (0 === this._diffs.length) return; e %= this._diffs.length; const t = this._diffs[e].entries; this._diffEditor.setPosition(new w.L(t[0].modifiedLineStart, 1)), this._diffEditor.setSelection({ startColumn: 1, startLineNumber: t[0].modifiedLineStart, endColumn: 1073741824, endLineNumber: t[t.length - 1].modifiedLineEnd, }), (this._isVisible = !0), this._diffEditor.doLayout(), this._render(), this._goToRow(this._getNextRow()); } next() { let e = 0; if ( (this._isVisible || (this._diffs = this._compute()), this._isVisible) ) { let t = -1; for (let e = 0, i = this._diffs.length; e < i; e++) if (this._diffs[e] === this._currentDiff) { t = e; break; } e = t + 1; } else e = this._findDiffIndex(this._diffEditor.getPosition()); if (0 === this._diffs.length) return; e %= this._diffs.length; const t = this._diffs[e].entries; this._diffEditor.setPosition(new w.L(t[0].modifiedLineStart, 1)), this._diffEditor.setSelection({ startColumn: 1, startLineNumber: t[0].modifiedLineStart, endColumn: 1073741824, endLineNumber: t[t.length - 1].modifiedLineEnd, }), (this._isVisible = !0), this._diffEditor.doLayout(), this._render(), this._goToRow(this._getNextRow()); } accept() { let e = -1, t = this._getCurrentFocusedRow(); if (t) { let i = parseInt(t.getAttribute('data-line'), 10); isNaN(i) || (e = i); } this.hide(), -1 !== e && (this._diffEditor.setPosition(new w.L(e, 1)), this._diffEditor.revealPosition(new w.L(e, 1), 1)); } hide() { (this._isVisible = !1), this._diffEditor.updateOptions({ readOnly: !1 }), this._diffEditor.focus(), this._diffEditor.doLayout(), this._render(); } _getPrevRow() { let e = this._getCurrentFocusedRow(); return e ? e.previousElementSibling ? e.previousElementSibling : e : this._getFirstRow(); } _getNextRow() { let e = this._getCurrentFocusedRow(); return e ? e.nextElementSibling ? e.nextElementSibling : e : this._getFirstRow(); } _getFirstRow() { return this.domNode.domNode.querySelector('.diff-review-row'); } _getCurrentFocusedRow() { let e = document.activeElement; return e && /diff-review-row/.test(e.className) ? e : null; } _goToRow(e) { let t = this._getCurrentFocusedRow(); (e.tabIndex = 0), e.focus(), t && t !== e && (t.tabIndex = -1), this.scrollbar.scanDomNode(); } isVisible() { return this._isVisible; } layout(e, t, i) { (this._width = t), this.shadow.setTop(e - 6), this.shadow.setWidth(t), this.shadow.setHeight(this._isVisible ? 6 : 0), this.domNode.setTop(e), this.domNode.setWidth(t), this.domNode.setHeight(i), this._content.setHeight(i), this._content.setWidth(t), this._isVisible ? (this.actionBarContainer.setAttribute('aria-hidden', 'false'), this.actionBarContainer.setDisplay('block')) : (this.actionBarContainer.setAttribute('aria-hidden', 'true'), this.actionBarContainer.setDisplay('none')); } _compute() { const e = this._diffEditor.getLineChanges(); if (!e || 0 === e.length) return []; const t = this._diffEditor.getOriginalEditor().getModel(), i = this._diffEditor.getModifiedEditor().getModel(); return t && i ? A._mergeAdjacent(e, t.getLineCount(), i.getLineCount()) : []; } static _mergeAdjacent(e, t, i) { if (!e || 0 === e.length) return []; let n = [], r = 0; for (let s = 0, o = e.length; s < o; s++) { const a = e[s], l = a.originalStartLineNumber, c = a.originalEndLineNumber, d = a.modifiedStartLineNumber, h = a.modifiedEndLineNumber; let u = [], g = 0; { const t = 0 === c ? l : l - 1, i = 0 === h ? d : d - 1; let n = 1, r = 1; if (s > 0) { const t = e[s - 1]; (n = 0 === t.originalEndLineNumber ? t.originalStartLineNumber + 1 : t.originalEndLineNumber + 1), (r = 0 === t.modifiedEndLineNumber ? t.modifiedStartLineNumber + 1 : t.modifiedEndLineNumber + 1); } let o = t - 3 + 1, a = i - 3 + 1; if (o < n) { const e = n - o; (o += e), (a += e); } if (a < r) { const e = r - a; (o += e), (a += e); } u[g++] = new N(o, t, a, i); } 0 !== c && (u[g++] = new N(l, c, 0, 0)), 0 !== h && (u[g++] = new N(0, 0, d, h)); { const n = 0 === c ? l + 1 : c + 1, r = 0 === h ? d + 1 : h + 1; let a = t, f = i; if (s + 1 < o) { const t = e[s + 1]; (a = 0 === t.originalEndLineNumber ? t.originalStartLineNumber : t.originalStartLineNumber - 1), (f = 0 === t.modifiedEndLineNumber ? t.modifiedStartLineNumber : t.modifiedStartLineNumber - 1); } let p = n + 3 - 1, m = r + 3 - 1; if (p > a) { const e = a - p; (p += e), (m += e); } if (m > f) { const e = f - m; (p += e), (m += e); } u[g++] = new N(n, p, r, m); } n[r++] = new E(u); } let s = n[0].entries, o = [], a = 0; for (let e = 1, t = n.length; e < t; e++) { const t = n[e].entries, i = s[s.length - 1], r = t[0]; 0 === i.getType() && 0 === r.getType() && r.originalLineStart <= i.originalLineEnd ? ((s[s.length - 1] = new N( i.originalLineStart, r.originalLineEnd, i.modifiedLineStart, r.modifiedLineEnd )), (s = s.concat(t.slice(1)))) : ((o[a++] = new E(s)), (s = t)); } return (o[a++] = new E(s)), o; } _findDiffIndex(e) { const t = e.lineNumber; for (let e = 0, i = this._diffs.length; e < i; e++) { const i = this._diffs[e].entries; if (t <= i[i.length - 1].modifiedLineEnd) return e; } return 0; } _render() { const e = this._diffEditor.getOriginalEditor().getOptions(), t = this._diffEditor.getModifiedEditor().getOptions(), i = this._diffEditor.getOriginalEditor().getModel(), s = this._diffEditor.getModifiedEditor().getModel(), o = i.getOptions(), a = s.getOptions(); if (!this._isVisible || !i || !s) return ( r.PO(this._content.domNode), (this._currentDiff = null), void this.scrollbar.scanDomNode() ); this._diffEditor.updateOptions({ readOnly: !0 }); const l = this._findDiffIndex(this._diffEditor.getPosition()); if (this._diffs[l] === this._currentDiff) return; this._currentDiff = this._diffs[l]; const c = this._diffs[l].entries; let d = document.createElement('div'); (d.className = 'diff-review-table'), d.setAttribute('role', 'list'), d.setAttribute( 'aria-label', 'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands' ), h.V.applyFontInfoSlow(d, t.get(36)); let u = 0, g = 0, f = 0, p = 0; for (let e = 0, t = c.length; e < t; e++) { const t = c[e], i = t.originalLineStart, n = t.originalLineEnd, r = t.modifiedLineStart, s = t.modifiedLineEnd; 0 !== i && (0 === u || i < u) && (u = i), 0 !== n && (0 === g || n > g) && (g = n), 0 !== r && (0 === f || r < f) && (f = r), 0 !== s && (0 === p || s > p) && (p = s); } let m = document.createElement('div'); m.className = 'diff-review-row'; let _ = document.createElement('div'); _.className = 'diff-review-cell diff-review-summary'; const b = g - u + 1, v = p - f + 1; _.appendChild( document.createTextNode( `${l + 1}/${this._diffs.length}: @@ -${u},${b} +${f},${v} @@` ) ), m.setAttribute('data-line', String(f)); const y = (e) => 0 === e ? n.N('no_lines_changed', 'no lines changed') : 1 === e ? n.N('one_line_changed', '1 line changed') : n.N('more_lines_changed', '{0} lines changed', e), w = y(b), C = y(v); m.setAttribute( 'aria-label', n.N( { key: 'header', comment: [ 'This is the ARIA label for a git diff header.', 'A git diff header looks like this: @@ -154,12 +159,39 @@.', 'That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.', 'Variables 0 and 1 refer to the diff index out of total number of diffs.', 'Variables 2 and 4 will be numbers (a line number).', 'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.', ], }, 'Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}', l + 1, this._diffs.length, u, w, f, C ) ), m.appendChild(_), m.setAttribute('role', 'listitem'), d.appendChild(m); const S = t.get(51); let k = f; for (let n = 0, r = c.length; n < r; n++) { const r = c[n]; A._renderSection(d, r, k, S, this._width, e, i, o, t, s, a), 0 !== r.modifiedLineStart && (k = r.modifiedLineEnd); } r.PO(this._content.domNode), this._content.domNode.appendChild(d), this.scrollbar.scanDomNode(); } static _renderSection(e, t, i, r, s, o, a, l, c, d, h) { const u = t.getType(); let g = 'diff-review-row', f = '', p = null; switch (u) { case 1: (g = 'diff-review-row line-insert'), (f = ' char-insert'), (p = T); break; case 2: (g = 'diff-review-row line-delete'), (f = ' char-delete'), (p = I); } const m = t.originalLineStart, _ = t.originalLineEnd, b = t.modifiedLineStart, v = t.modifiedLineEnd, y = Math.max(v - b, _ - m), w = o.get(117), C = w.glyphMarginWidth + w.lineNumbersWidth, S = c.get(117), k = 10 + S.glyphMarginWidth + S.lineNumbersWidth; for (let t = 0; t <= y; t++) { const _ = 0 === m ? 0 : m + t, v = 0 === b ? 0 : b + t, y = document.createElement('div'); (y.style.minWidth = s + 'px'), (y.className = g), y.setAttribute('role', 'listitem'), 0 !== v && (i = v), y.setAttribute('data-line', String(i)); let w = document.createElement('div'); (w.className = 'diff-review-cell'), (w.style.height = `${r}px`), y.appendChild(w); const S = document.createElement('span'); (S.style.width = C + 'px'), (S.style.minWidth = C + 'px'), (S.className = 'diff-review-line-number' + f), 0 !== _ ? S.appendChild(document.createTextNode(String(_))) : (S.innerText = ' '), w.appendChild(S); const x = document.createElement('span'); (x.style.width = k + 'px'), (x.style.minWidth = k + 'px'), (x.style.paddingRight = '10px'), (x.className = 'diff-review-line-number' + f), 0 !== v ? x.appendChild(document.createTextNode(String(v))) : (x.innerText = ' '), w.appendChild(x); const L = document.createElement('span'); if (((L.className = 'diff-review-spacer'), p)) { const e = document.createElement('span'); (e.className = p.classNames), (e.innerText = '  '), L.appendChild(e); } else L.innerText = '  '; let M; w.appendChild(L), 0 !== v ? (w.insertAdjacentHTML( 'beforeend', this._renderLine(d, c, h.tabSize, v) ), (M = d.getLineContent(v))) : (w.insertAdjacentHTML( 'beforeend', this._renderLine(a, o, l.tabSize, _) ), (M = a.getLineContent(_))), 0 === M.length && (M = n.N('blankLine', 'blank')); let D = ''; switch (u) { case 0: D = _ === v ? n.N( { key: 'unchangedLine', comment: [ 'The placholders are contents of the line and should not be translated.', ], }, '{0} unchanged line {1}', M, _ ) : n.N( 'equalLine', '{0} original line {1} modified line {2}', M, _, v ); break; case 1: D = n.N('insertLine', '+ {0} modified line {1}', M, v); break; case 2: D = n.N('deleteLine', '- {0} original line {1}', M, _); } y.setAttribute('aria-label', D), e.appendChild(y); } } static _renderLine(e, t, i, n) { const r = e.getLineContent(n), s = t.get(36), o = new Uint32Array(2); (o[0] = r.length), (o[1] = 16793600); const a = new y.A(o, r), l = k.wA.isBasicASCII(r, e.mightContainNonBasicASCII()), c = k.wA.containsRTL(r, l, e.mightContainRTL()); return (0, S.tF)( new S.IJ( s.isMonospace && !t.get(24), s.canUseHalfwidthRightwardsArrow, r, !1, l, c, 0, a, [], i, 0, s.spaceWidth, s.middotWidth, s.wsmiddotWidth, t.get(95), t.get(80), t.get(74), t.get(37) !== v.n0.OFF, null ) ).html; } } (0, M.Ic)((e, t) => { const i = e.getColor(C.hw); i && t.addRule( `.monaco-diff-editor .diff-review-line-number { color: ${i}; }` ); const n = e.getColor(L._w); n && t.addRule( `.monaco-diff-editor .diff-review-shadow { box-shadow: ${n} 0 -6px 6px -6px inset; }` ); }); class R extends b.R6 { constructor() { super({ id: 'editor.action.diffReview.next', label: n.N( 'editor.action.diffReview.next', 'Go to Next Difference' ), alias: 'Go to Next Difference', precondition: x.Ao.has('isInDiffEditor'), kbOpts: { kbExpr: null, primary: 65, weight: 100 }, }); } run(e, t) { const i = F(e); i && i.diffReviewNext(); } } class P extends b.R6 { constructor() { super({ id: 'editor.action.diffReview.prev', label: n.N( 'editor.action.diffReview.prev', 'Go to Previous Difference' ), alias: 'Go to Previous Difference', precondition: x.Ao.has('isInDiffEditor'), kbOpts: { kbExpr: null, primary: 1089, weight: 100 }, }); } run(e, t) { const i = F(e); i && i.diffReviewPrev(); } } function F(e) { const t = e.get(g.$), i = t.listDiffEditors(), n = t.getActiveCodeEditor(); if (!n) return null; for (let e = 0, t = i.length; e < t; e++) { const t = i[e]; if ( t.getModifiedEditor().getId() === n.getId() || t.getOriginalEditor().getId() === n.getId() ) return t; } return null; } (0, b.Qr)(R), (0, b.Qr)(P); var B = i(24314), W = i(50072), Y = i(96518), H = i(3411), j = i(90469), V = i(92003), z = i(92550), U = i(72065), $ = i(60972), K = i(59422), q = i(5606), G = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class Z extends c.JT { constructor(e, t, i, s, o, a) { super(), (this._viewZoneId = e), (this._marginDomNode = t), (this.editor = i), (this.diff = s), (this._contextMenuService = o), (this._clipboardService = a), (this._visibility = !1), (this._marginDomNode.style.zIndex = '10'), (this._diffActions = document.createElement('div')), (this._diffActions.className = D.lA.lightBulb.classNames + ' lightbulb-glyph'), (this._diffActions.style.position = 'absolute'); const l = i.getOption(51), c = i.getModel().getEOL(); (this._diffActions.style.right = '0px'), (this._diffActions.style.visibility = 'hidden'), (this._diffActions.style.height = `${l}px`), (this._diffActions.style.lineHeight = `${l}px`), this._marginDomNode.appendChild(this._diffActions); const d = []; d.push( new _.aU( 'diff.clipboard.copyDeletedContent', s.originalEndLineNumber > s.modifiedStartLineNumber ? n.N( 'diff.clipboard.copyDeletedLinesContent.label', 'Copy deleted lines' ) : n.N( 'diff.clipboard.copyDeletedLinesContent.single.label', 'Copy deleted line' ), void 0, !0, () => G(this, void 0, void 0, function* () { yield this._clipboardService.writeText( s.originalContent.join(c) + c ); }) ) ); let h, u = 0; s.originalEndLineNumber > s.modifiedStartLineNumber && ((h = new _.aU( 'diff.clipboard.copyDeletedLineContent', n.N( 'diff.clipboard.copyDeletedLineContent.label', 'Copy deleted line ({0})', s.originalStartLineNumber ), void 0, !0, () => G(this, void 0, void 0, function* () { yield this._clipboardService.writeText( s.originalContent[u] ); }) )), d.push(h)), i.getOption(72) || d.push( new _.aU( 'diff.inline.revertChange', n.N('diff.inline.revertChange.label', 'Revert this change'), void 0, !0, () => G(this, void 0, void 0, function* () { if (0 === s.modifiedEndLineNumber) { const e = i .getModel() .getLineMaxColumn(s.modifiedStartLineNumber); i.executeEdits('diffEditor', [ { range: new B.e( s.modifiedStartLineNumber, e, s.modifiedStartLineNumber, e ), text: c + s.originalContent.join(c), }, ]); } else { const e = i .getModel() .getLineMaxColumn(s.modifiedEndLineNumber); i.executeEdits('diffEditor', [ { range: new B.e( s.modifiedStartLineNumber, 1, s.modifiedEndLineNumber, e ), text: s.originalContent.join(c), }, ]); } }) ) ); const g = (e, t) => { this._contextMenuService.showContextMenu({ getAnchor: () => ({ x: e, y: t }), getActions: () => ( h && (h.label = n.N( 'diff.clipboard.copyDeletedLineContent.label', 'Copy deleted line ({0})', s.originalStartLineNumber + u )), d ), autoSelectFirstItem: !0, }); }; this._register( r.mu(this._diffActions, 'mousedown', (e) => { const { top: t, height: i } = r.i(this._diffActions); let n = Math.floor(l / 3); e.preventDefault(), g(e.posx, t + i + n); }) ), this._register( i.onMouseMove((e) => { (8 === e.target.type || 5 === e.target.type) && e.target.detail.viewZoneId === this._viewZoneId ? ((this.visibility = !0), (u = this._updateLightBulbPosition( this._marginDomNode, e.event.browserEvent.y, l ))) : (this.visibility = !1); }) ), this._register( i.onMouseDown((e) => { !e.event.rightButton || (8 !== e.target.type && 5 !== e.target.type) || (e.target.detail.viewZoneId === this._viewZoneId && (e.event.preventDefault(), (u = this._updateLightBulbPosition( this._marginDomNode, e.event.browserEvent.y, l )), g(e.event.posx, e.event.posy + l))); }) ); } get visibility() { return this._visibility; } set visibility(e) { this._visibility !== e && ((this._visibility = e), (this._diffActions.style.visibility = e ? 'visible' : 'hidden')); } _updateLightBulbPosition(e, t, i) { const { top: n } = r.i(e), s = t - n, o = Math.floor(s / i), a = o * i; return (this._diffActions.style.top = `${a}px`), o; } } var J = i(84972), Q = i(17301), X = i(90535), ee = i(54534), te = i(96542), ie = function (e, t) { return function (i, n) { t(i, n, e); }; }; class ne { constructor(e, t) { (this._contextMenuService = e), (this._clipboardService = t), (this._zones = []), (this.inlineDiffMargins = []), (this._zonesMap = {}), (this._decorations = []); } getForeignViewZones(e) { return e.filter((e) => !this._zonesMap[String(e.id)]); } clean(e) { this._zones.length > 0 && e.changeViewZones((e) => { for (let t = 0, i = this._zones.length; t < i; t++) e.removeZone(this._zones[t]); }), (this._zones = []), (this._zonesMap = {}), (this._decorations = e.deltaDecorations(this._decorations, [])); } apply(e, t, i, n) { const r = n ? u.ZF.capture(e) : null; e.changeViewZones((t) => { for (let e = 0, i = this._zones.length; e < i; e++) t.removeZone(this._zones[e]); for (let e = 0, t = this.inlineDiffMargins.length; e < t; e++) this.inlineDiffMargins[e].dispose(); (this._zones = []), (this._zonesMap = {}), (this.inlineDiffMargins = []); for (let n = 0, r = i.zones.length; n < r; n++) { const r = i.zones[n]; r.suppressMouseDown = !0; let s = t.addZone(r); this._zones.push(s), (this._zonesMap[String(s)] = !0), i.zones[n].diff && r.marginDomNode && ((r.suppressMouseDown = !1), this.inlineDiffMargins.push( new Z( s, r.marginDomNode, e, i.zones[n].diff, this._contextMenuService, this._clipboardService ) )); } }), r && r.restore(e), (this._decorations = e.deltaDecorations( this._decorations, i.decorations )), t && t.setZones(i.overviewZones); } } let re = 0; const se = (0, D.q5)('diff-insert', D.lA.add), oe = (0, D.q5)('diff-remove', D.lA.remove); let ae = class e extends c.JT { constructor(t, i, n, o, c, d, h, u, g, f, p) { super(), (this._editorProgressService = p), (this._onDidDispose = this._register(new l.Q5())), (this.onDidDispose = this._onDidDispose.event), (this._onDidUpdateDiff = this._register(new l.Q5())), (this.onDidUpdateDiff = this._onDidUpdateDiff.event), (this._onDidContentSizeChange = this._register(new l.Q5())), (this._lastOriginalWarning = null), (this._lastModifiedWarning = null), (this._editorWorkerService = o), (this._codeEditorService = h), (this._contextKeyService = this._register(c.createScoped(t))), this._contextKeyService.createKey('isInDiffEditor', !0), (this._themeService = u), (this._notificationService = g), (this.id = ++re), (this._state = 0), (this._updatingDiffProgress = null), (this._domElement = t), (i = i || {}), (this._renderSideBySide = !0), void 0 !== i.renderSideBySide && (this._renderSideBySide = i.renderSideBySide), (this._maxComputationTime = 5e3), void 0 !== i.maxComputationTime && (this._maxComputationTime = i.maxComputationTime), (this._ignoreTrimWhitespace = !0), void 0 !== i.ignoreTrimWhitespace && (this._ignoreTrimWhitespace = i.ignoreTrimWhitespace), (this._renderIndicators = !0), void 0 !== i.renderIndicators && (this._renderIndicators = i.renderIndicators), (this._originalIsEditable = !1), void 0 !== i.originalEditable && (this._originalIsEditable = Boolean(i.originalEditable)), (this._originalCodeLens = !1), void 0 !== i.originalCodeLens && (this._originalCodeLens = Boolean(i.originalCodeLens)), (this._modifiedCodeLens = !1), void 0 !== i.modifiedCodeLens && (this._modifiedCodeLens = Boolean(i.modifiedCodeLens)), (this._updateDecorationsRunner = this._register( new a.pY(() => this._updateDecorations(), 0) )), (this._containerDomElement = document.createElement('div')), (this._containerDomElement.className = e._getClassName( this._themeService.getColorTheme(), this._renderSideBySide )), (this._containerDomElement.style.position = 'relative'), (this._containerDomElement.style.height = '100%'), this._domElement.appendChild(this._containerDomElement), (this._overviewViewportDomElement = (0, s.X)( document.createElement('div') )), this._overviewViewportDomElement.setClassName('diffViewport'), this._overviewViewportDomElement.setPosition('absolute'), (this._overviewDomElement = document.createElement('div')), (this._overviewDomElement.className = 'diffOverview'), (this._overviewDomElement.style.position = 'absolute'), this._overviewDomElement.appendChild( this._overviewViewportDomElement.domNode ), this._register( r.mu(this._overviewDomElement, 'mousedown', (e) => { this.modifiedEditor.delegateVerticalScrollbarMouseDown(e); }) ), this._containerDomElement.appendChild(this._overviewDomElement), (this._originalDomNode = document.createElement('div')), (this._originalDomNode.className = 'editor original'), (this._originalDomNode.style.position = 'absolute'), (this._originalDomNode.style.height = '100%'), this._containerDomElement.appendChild(this._originalDomNode), (this._modifiedDomNode = document.createElement('div')), (this._modifiedDomNode.className = 'editor modified'), (this._modifiedDomNode.style.position = 'absolute'), (this._modifiedDomNode.style.height = '100%'), this._containerDomElement.appendChild(this._modifiedDomNode), (this._beginUpdateDecorationsTimeout = -1), (this._currentlyChangingViewZones = !1), (this._diffComputationToken = 0), (this._originalEditorState = new ne(f, n)), (this._modifiedEditorState = new ne(f, n)), (this._isVisible = !0), (this._isHandlingScrollEvent = !1), (this._elementSizeObserver = this._register( new ee.I(this._containerDomElement, void 0, () => this._onDidContainerSizeChanged() ) )), i.automaticLayout && this._elementSizeObserver.startObserving(), (this._diffComputationResult = null); const m = this._contextKeyService.createScoped(), _ = new $.y(); _.set(x.i6, m); const v = d.createChild(_), y = this._contextKeyService.createScoped(), w = new $.y(); w.set(x.i6, y); const C = d.createChild(w); (this.originalEditor = this._createLeftHandSideEditor(i, v, m)), (this.modifiedEditor = this._createRightHandSideEditor(i, C, y)), (this._originalOverviewRuler = null), (this._modifiedOverviewRuler = null), (this._reviewPane = new A(this)), this._containerDomElement.appendChild( this._reviewPane.domNode.domNode ), this._containerDomElement.appendChild( this._reviewPane.shadow.domNode ), this._containerDomElement.appendChild( this._reviewPane.actionBarContainer.domNode ), (this._enableSplitViewResizing = !0), void 0 !== i.enableSplitViewResizing && (this._enableSplitViewResizing = i.enableSplitViewResizing), this._renderSideBySide ? this._setStrategy( new ge( this._createDataSource(), this._enableSplitViewResizing ) ) : this._setStrategy( new pe( this._createDataSource(), this._enableSplitViewResizing ) ), this._register( u.onDidColorThemeChange((t) => { this._strategy && this._strategy.applyColors(t) && this._updateDecorationsRunner.schedule(), (this._containerDomElement.className = e._getClassName( this._themeService.getColorTheme(), this._renderSideBySide )); }) ); const S = b.Uc.getDiffEditorContributions(); for (const e of S) try { this._register(d.createInstance(e.ctor, this)); } catch (e) { (0, Q.dL)(e); } this._codeEditorService.addDiffEditor(this); } _setState(e) { this._state !== e && ((this._state = e), this._updatingDiffProgress && (this._updatingDiffProgress.done(), (this._updatingDiffProgress = null)), 1 === this._state && (this._updatingDiffProgress = this._editorProgressService.show( !0, 1e3 ))); } diffReviewNext() { this._reviewPane.next(); } diffReviewPrev() { this._reviewPane.prev(); } static _getClassName(e, t) { let i = 'monaco-diff-editor monaco-editor-background '; return t && (i += 'side-by-side '), (i += (0, M.m6)(e.type)), i; } _recreateOverviewRulers() { this._originalOverviewRuler && (this._overviewDomElement.removeChild( this._originalOverviewRuler.getDomNode() ), this._originalOverviewRuler.dispose()), this.originalEditor.hasModel() && ((this._originalOverviewRuler = this.originalEditor.createOverviewRuler( 'original diffOverviewRuler' )), this._overviewDomElement.appendChild( this._originalOverviewRuler.getDomNode() )), this._modifiedOverviewRuler && (this._overviewDomElement.removeChild( this._modifiedOverviewRuler.getDomNode() ), this._modifiedOverviewRuler.dispose()), this.modifiedEditor.hasModel() && ((this._modifiedOverviewRuler = this.modifiedEditor.createOverviewRuler( 'modified diffOverviewRuler' )), this._overviewDomElement.appendChild( this._modifiedOverviewRuler.getDomNode() )), this._layoutOverviewRulers(); } _createLeftHandSideEditor(t, i, n) { const r = this._createInnerEditor( i, this._originalDomNode, this._adjustOptionsForLeftHandSide( t, this._originalIsEditable, this._originalCodeLens ) ); this._register( r.onDidScrollChange((e) => { this._isHandlingScrollEvent || ((e.scrollTopChanged || e.scrollLeftChanged || e.scrollHeightChanged) && ((this._isHandlingScrollEvent = !0), this.modifiedEditor.setScrollPosition({ scrollLeft: e.scrollLeft, scrollTop: e.scrollTop, }), (this._isHandlingScrollEvent = !1), this._layoutOverviewViewport())); }) ), this._register( r.onDidChangeViewZones(() => { this._onViewZonesChanged(); }) ), this._register( r.onDidChangeModelContent(() => { this._isVisible && this._beginUpdateDecorationsSoon(); }) ); const s = n.createKey('isInDiffLeftEditor', void 0); return ( this._register(r.onDidFocusEditorWidget(() => s.set(!0))), this._register(r.onDidBlurEditorWidget(() => s.set(!1))), this._register( r.onDidContentSizeChange((t) => { const i = this.originalEditor.getContentWidth() + this.modifiedEditor.getContentWidth() + e.ONE_OVERVIEW_WIDTH, n = Math.max( this.modifiedEditor.getContentHeight(), this.originalEditor.getContentHeight() ); this._onDidContentSizeChange.fire({ contentHeight: n, contentWidth: i, contentHeightChanged: t.contentHeightChanged, contentWidthChanged: t.contentWidthChanged, }); }) ), r ); } _createRightHandSideEditor(t, i, n) { const r = this._createInnerEditor( i, this._modifiedDomNode, this._adjustOptionsForRightHandSide(t, this._modifiedCodeLens) ); this._register( r.onDidScrollChange((e) => { this._isHandlingScrollEvent || ((e.scrollTopChanged || e.scrollLeftChanged || e.scrollHeightChanged) && ((this._isHandlingScrollEvent = !0), this.originalEditor.setScrollPosition({ scrollLeft: e.scrollLeft, scrollTop: e.scrollTop, }), (this._isHandlingScrollEvent = !1), this._layoutOverviewViewport())); }) ), this._register( r.onDidChangeViewZones(() => { this._onViewZonesChanged(); }) ), this._register( r.onDidChangeConfiguration((e) => { e.hasChanged(36) && r.getModel() && this._onViewZonesChanged(); }) ), this._register( r.onDidChangeModelContent(() => { this._isVisible && this._beginUpdateDecorationsSoon(); }) ), this._register( r.onDidChangeModelOptions((e) => { e.tabSize && this._updateDecorationsRunner.schedule(); }) ); const s = n.createKey('isInDiffRightEditor', void 0); return ( this._register(r.onDidFocusEditorWidget(() => s.set(!0))), this._register(r.onDidBlurEditorWidget(() => s.set(!1))), this._register( r.onDidContentSizeChange((t) => { const i = this.originalEditor.getContentWidth() + this.modifiedEditor.getContentWidth() + e.ONE_OVERVIEW_WIDTH, n = Math.max( this.modifiedEditor.getContentHeight(), this.originalEditor.getContentHeight() ); this._onDidContentSizeChange.fire({ contentHeight: n, contentWidth: i, contentHeightChanged: t.contentHeightChanged, contentWidthChanged: t.contentWidthChanged, }); }) ), r ); } _createInnerEditor(e, t, i) { return e.createInstance(f.Gm, t, i, {}); } dispose() { this._codeEditorService.removeDiffEditor(this), -1 !== this._beginUpdateDecorationsTimeout && (window.clearTimeout(this._beginUpdateDecorationsTimeout), (this._beginUpdateDecorationsTimeout = -1)), this._cleanViewZonesAndDecorations(), this._originalOverviewRuler && (this._overviewDomElement.removeChild( this._originalOverviewRuler.getDomNode() ), this._originalOverviewRuler.dispose()), this._modifiedOverviewRuler && (this._overviewDomElement.removeChild( this._modifiedOverviewRuler.getDomNode() ), this._modifiedOverviewRuler.dispose()), this._overviewDomElement.removeChild( this._overviewViewportDomElement.domNode ), this._containerDomElement.removeChild(this._overviewDomElement), this._containerDomElement.removeChild(this._originalDomNode), this.originalEditor.dispose(), this._containerDomElement.removeChild(this._modifiedDomNode), this.modifiedEditor.dispose(), this._strategy.dispose(), this._containerDomElement.removeChild( this._reviewPane.domNode.domNode ), this._containerDomElement.removeChild( this._reviewPane.shadow.domNode ), this._containerDomElement.removeChild( this._reviewPane.actionBarContainer.domNode ), this._reviewPane.dispose(), this._domElement.removeChild(this._containerDomElement), this._onDidDispose.fire(), super.dispose(); } getId() { return this.getEditorType() + ':' + this.id; } getEditorType() { return Y.g.IDiffEditor; } getLineChanges() { return this._diffComputationResult ? this._diffComputationResult.changes : null; } getOriginalEditor() { return this.originalEditor; } getModifiedEditor() { return this.modifiedEditor; } updateOptions(t) { let i = !1; void 0 !== t.renderSideBySide && this._renderSideBySide !== t.renderSideBySide && ((this._renderSideBySide = t.renderSideBySide), (i = !0)), void 0 !== t.maxComputationTime && ((this._maxComputationTime = t.maxComputationTime), this._isVisible && this._beginUpdateDecorationsSoon()); let n = !1; void 0 !== t.ignoreTrimWhitespace && this._ignoreTrimWhitespace !== t.ignoreTrimWhitespace && ((this._ignoreTrimWhitespace = t.ignoreTrimWhitespace), (n = !0)), void 0 !== t.renderIndicators && this._renderIndicators !== t.renderIndicators && ((this._renderIndicators = t.renderIndicators), (n = !0)), n && this._beginUpdateDecorations(), void 0 !== t.originalEditable && (this._originalIsEditable = Boolean(t.originalEditable)), void 0 !== t.originalCodeLens && (this._originalCodeLens = Boolean(t.originalCodeLens)), void 0 !== t.modifiedCodeLens && (this._modifiedCodeLens = Boolean(t.modifiedCodeLens)), this.modifiedEditor.updateOptions( this._adjustOptionsForRightHandSide(t, this._modifiedCodeLens) ), this.originalEditor.updateOptions( this._adjustOptionsForLeftHandSide( t, this._originalIsEditable, this._originalCodeLens ) ), void 0 !== t.enableSplitViewResizing && (this._enableSplitViewResizing = t.enableSplitViewResizing), this._strategy.setEnableSplitViewResizing( this._enableSplitViewResizing ), i && (this._renderSideBySide ? this._setStrategy( new ge( this._createDataSource(), this._enableSplitViewResizing ) ) : this._setStrategy( new pe( this._createDataSource(), this._enableSplitViewResizing ) ), (this._containerDomElement.className = e._getClassName( this._themeService.getColorTheme(), this._renderSideBySide ))); } getModel() { return { original: this.originalEditor.getModel(), modified: this.modifiedEditor.getModel(), }; } setModel(e) { if (e && (!e.original || !e.modified)) throw new Error( e.original ? 'DiffEditorWidget.setModel: Modified model is null' : 'DiffEditorWidget.setModel: Original model is null' ); this._cleanViewZonesAndDecorations(), this.originalEditor.setModel(e ? e.original : null), this.modifiedEditor.setModel(e ? e.modified : null), this._updateDecorationsRunner.cancel(), e && (this.originalEditor.setScrollTop(0), this.modifiedEditor.setScrollTop(0)), (this._diffComputationResult = null), this._diffComputationToken++, this._setState(0), e && (this._recreateOverviewRulers(), this._beginUpdateDecorations()), this._layoutOverviewViewport(); } getDomNode() { return this._domElement; } getVisibleColumnFromPosition(e) { return this.modifiedEditor.getVisibleColumnFromPosition(e); } getPosition() { return this.modifiedEditor.getPosition(); } setPosition(e) { this.modifiedEditor.setPosition(e); } revealLine(e, t = 0) { this.modifiedEditor.revealLine(e, t); } revealLineInCenter(e, t = 0) { this.modifiedEditor.revealLineInCenter(e, t); } revealLineInCenterIfOutsideViewport(e, t = 0) { this.modifiedEditor.revealLineInCenterIfOutsideViewport(e, t); } revealLineNearTop(e, t = 0) { this.modifiedEditor.revealLineNearTop(e, t); } revealPosition(e, t = 0) { this.modifiedEditor.revealPosition(e, t); } revealPositionInCenter(e, t = 0) { this.modifiedEditor.revealPositionInCenter(e, t); } revealPositionInCenterIfOutsideViewport(e, t = 0) { this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e, t); } revealPositionNearTop(e, t = 0) { this.modifiedEditor.revealPositionNearTop(e, t); } getSelection() { return this.modifiedEditor.getSelection(); } getSelections() { return this.modifiedEditor.getSelections(); } setSelection(e) { this.modifiedEditor.setSelection(e); } setSelections(e) { this.modifiedEditor.setSelections(e); } revealLines(e, t, i = 0) { this.modifiedEditor.revealLines(e, t, i); } revealLinesInCenter(e, t, i = 0) { this.modifiedEditor.revealLinesInCenter(e, t, i); } revealLinesInCenterIfOutsideViewport(e, t, i = 0) { this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e, t, i); } revealLinesNearTop(e, t, i = 0) { this.modifiedEditor.revealLinesNearTop(e, t, i); } revealRange(e, t = 0, i = !1, n = !0) { this.modifiedEditor.revealRange(e, t, i, n); } revealRangeInCenter(e, t = 0) { this.modifiedEditor.revealRangeInCenter(e, t); } revealRangeInCenterIfOutsideViewport(e, t = 0) { this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e, t); } revealRangeNearTop(e, t = 0) { this.modifiedEditor.revealRangeNearTop(e, t); } revealRangeNearTopIfOutsideViewport(e, t = 0) { this.modifiedEditor.revealRangeNearTopIfOutsideViewport(e, t); } revealRangeAtTop(e, t = 0) { this.modifiedEditor.revealRangeAtTop(e, t); } getSupportedActions() { return this.modifiedEditor.getSupportedActions(); } saveViewState() { return { original: this.originalEditor.saveViewState(), modified: this.modifiedEditor.saveViewState(), }; } restoreViewState(e) { if (e.original && e.modified) { let t = e; this.originalEditor.restoreViewState(t.original), this.modifiedEditor.restoreViewState(t.modified); } } layout(e) { this._elementSizeObserver.observe(e); } focus() { this.modifiedEditor.focus(); } hasTextFocus() { return ( this.originalEditor.hasTextFocus() || this.modifiedEditor.hasTextFocus() ); } trigger(e, t, i) { this.modifiedEditor.trigger(e, t, i); } changeDecorations(e) { return this.modifiedEditor.changeDecorations(e); } _onDidContainerSizeChanged() { this._doLayout(); } _getReviewHeight() { return this._reviewPane.isVisible() ? this._elementSizeObserver.getHeight() : 0; } _layoutOverviewRulers() { if (!this._originalOverviewRuler || !this._modifiedOverviewRuler) return; const t = this._elementSizeObserver.getHeight(), i = this._getReviewHeight(); let n = e.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * e.ONE_OVERVIEW_WIDTH; this.modifiedEditor.getLayoutInfo() && (this._originalOverviewRuler.setLayout({ top: 0, width: e.ONE_OVERVIEW_WIDTH, right: n + e.ONE_OVERVIEW_WIDTH, height: t - i, }), this._modifiedOverviewRuler.setLayout({ top: 0, right: 0, width: e.ONE_OVERVIEW_WIDTH, height: t - i, })); } _onViewZonesChanged() { this._currentlyChangingViewZones || this._updateDecorationsRunner.schedule(); } _beginUpdateDecorationsSoon() { -1 !== this._beginUpdateDecorationsTimeout && (window.clearTimeout(this._beginUpdateDecorationsTimeout), (this._beginUpdateDecorationsTimeout = -1)), (this._beginUpdateDecorationsTimeout = window.setTimeout( () => this._beginUpdateDecorations(), e.UPDATE_DIFF_DECORATIONS_DELAY )); } static _equals(e, t) { return (!e && !t) || (!(!e || !t) && e.toString() === t.toString()); } _beginUpdateDecorations() { this._beginUpdateDecorationsTimeout = -1; const t = this.originalEditor.getModel(), i = this.modifiedEditor.getModel(); if (!t || !i) return; this._diffComputationToken++; let r = this._diffComputationToken; this._setState(1), this._editorWorkerService.canComputeDiff(t.uri, i.uri) ? this._editorWorkerService .computeDiff( t.uri, i.uri, this._ignoreTrimWhitespace, this._maxComputationTime ) .then( (e) => { r === this._diffComputationToken && t === this.originalEditor.getModel() && i === this.modifiedEditor.getModel() && (this._setState(2), (this._diffComputationResult = e), this._updateDecorationsRunner.schedule(), this._onDidUpdateDiff.fire()); }, (e) => { r === this._diffComputationToken && t === this.originalEditor.getModel() && i === this.modifiedEditor.getModel() && (this._setState(2), (this._diffComputationResult = null), this._updateDecorationsRunner.schedule()); } ) : (e._equals(t.uri, this._lastOriginalWarning) && e._equals(i.uri, this._lastModifiedWarning)) || ((this._lastOriginalWarning = t.uri), (this._lastModifiedWarning = i.uri), this._notificationService.warn( n.N( 'diff.tooLarge', 'Cannot compare files because one file is too large.' ) )); } _cleanViewZonesAndDecorations() { this._originalEditorState.clean(this.originalEditor), this._modifiedEditorState.clean(this.modifiedEditor); } _updateDecorations() { if ( !( this.originalEditor.getModel() && this.modifiedEditor.getModel() && this._originalOverviewRuler && this._modifiedOverviewRuler ) ) return; const e = this._diffComputationResult ? this._diffComputationResult.changes : []; let t = this._originalEditorState.getForeignViewZones( this.originalEditor.getWhitespaces() ), i = this._modifiedEditorState.getForeignViewZones( this.modifiedEditor.getWhitespaces() ), n = this._strategy.getEditorsDiffDecorations( e, this._ignoreTrimWhitespace, this._renderIndicators, t, i, this.originalEditor, this.modifiedEditor ); try { (this._currentlyChangingViewZones = !0), this._originalEditorState.apply( this.originalEditor, this._originalOverviewRuler, n.original, !1 ), this._modifiedEditorState.apply( this.modifiedEditor, this._modifiedOverviewRuler, n.modified, !0 ); } finally { this._currentlyChangingViewZones = !1; } } _adjustOptionsForSubEditor(e) { let t = d.I8(e || {}); return ( (t.inDiffEditor = !0), (t.wordWrap = 'off'), (t.wordWrapMinified = !1), (t.automaticLayout = !1), (t.scrollbar = t.scrollbar || {}), (t.scrollbar.vertical = 'visible'), (t.folding = !1), (t.codeLens = !1), (t.fixedOverflowWidgets = !0), (t.overflowWidgetsDomNode = e.overflowWidgetsDomNode), t.minimap || (t.minimap = {}), (t.minimap.enabled = !1), t ); } _adjustOptionsForLeftHandSide(e, t, i) { let n = this._adjustOptionsForSubEditor(e); return ( i && (n.codeLens = !0), (n.readOnly = !t), (n.extraEditorClassName = 'original-in-monaco-diff-editor'), n ); } _adjustOptionsForRightHandSide(t, i) { let n = this._adjustOptionsForSubEditor(t); return ( i && (n.codeLens = !0), (n.revealHorizontalRightPadding = v.BH.revealHorizontalRightPadding.defaultValue + e.ENTIRE_DIFF_OVERVIEW_WIDTH), (n.scrollbar.verticalHasArrows = !1), (n.extraEditorClassName = 'modified-in-monaco-diff-editor'), n ); } doLayout() { this._elementSizeObserver.observe(), this._doLayout(); } _doLayout() { const t = this._elementSizeObserver.getWidth(), i = this._elementSizeObserver.getHeight(), n = this._getReviewHeight(); let r = this._strategy.layout(); (this._originalDomNode.style.width = r + 'px'), (this._originalDomNode.style.left = '0px'), (this._modifiedDomNode.style.width = t - r + 'px'), (this._modifiedDomNode.style.left = r + 'px'), (this._overviewDomElement.style.top = '0px'), (this._overviewDomElement.style.height = i - n + 'px'), (this._overviewDomElement.style.width = e.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'), (this._overviewDomElement.style.left = t - e.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'), this._overviewViewportDomElement.setWidth( e.ENTIRE_DIFF_OVERVIEW_WIDTH ), this._overviewViewportDomElement.setHeight(30), this.originalEditor.layout({ width: r, height: i - n }), this.modifiedEditor.layout({ width: t - r - e.ENTIRE_DIFF_OVERVIEW_WIDTH, height: i - n, }), (this._originalOverviewRuler || this._modifiedOverviewRuler) && this._layoutOverviewRulers(), this._reviewPane.layout(i - n, t, n), this._layoutOverviewViewport(); } _layoutOverviewViewport() { let e = this._computeOverviewViewport(); e ? (this._overviewViewportDomElement.setTop(e.top), this._overviewViewportDomElement.setHeight(e.height)) : (this._overviewViewportDomElement.setTop(0), this._overviewViewportDomElement.setHeight(0)); } _computeOverviewViewport() { let e = this.modifiedEditor.getLayoutInfo(); if (!e) return null; let t = this.modifiedEditor.getScrollTop(), i = this.modifiedEditor.getScrollHeight(), n = Math.max(0, e.height), r = Math.max(0, n - 0), s = i > 0 ? r / i : 0; return { height: Math.max(0, Math.floor(e.height * s)), top: Math.floor(t * s), }; } _createDataSource() { return { getWidth: () => this._elementSizeObserver.getWidth(), getHeight: () => this._elementSizeObserver.getHeight() - this._getReviewHeight(), getContainerDomNode: () => this._containerDomElement, relayoutEditors: () => { this._doLayout(); }, getOriginalEditor: () => this.originalEditor, getModifiedEditor: () => this.modifiedEditor, }; } _setStrategy(e) { this._strategy && this._strategy.dispose(), (this._strategy = e), e.applyColors(this._themeService.getColorTheme()), this._diffComputationResult && this._updateDecorations(), this._doLayout(); } _getLineChangeAtOrBeforeLineNumber(e, t) { const i = this._diffComputationResult ? this._diffComputationResult.changes : []; if (0 === i.length || e < t(i[0])) return null; let n = 0, r = i.length - 1; for (; n < r; ) { let s = Math.floor((n + r) / 2), o = t(i[s]), a = s + 1 <= r ? t(i[s + 1]) : 1073741824; e < o ? (r = s - 1) : e >= a ? (n = s + 1) : ((n = s), (r = s)); } return i[n]; } _getEquivalentLineForOriginalLineNumber(e) { let t = this._getLineChangeAtOrBeforeLineNumber( e, (e) => e.originalStartLineNumber ); if (!t) return e; let i = t.originalStartLineNumber + (t.originalEndLineNumber > 0 ? -1 : 0), n = t.modifiedStartLineNumber + (t.modifiedEndLineNumber > 0 ? -1 : 0), r = t.originalEndLineNumber > 0 ? t.originalEndLineNumber - t.originalStartLineNumber + 1 : 0, s = t.modifiedEndLineNumber > 0 ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1 : 0, o = e - i; return o <= r ? n + Math.min(o, s) : n + s - r + o; } _getEquivalentLineForModifiedLineNumber(e) { let t = this._getLineChangeAtOrBeforeLineNumber( e, (e) => e.modifiedStartLineNumber ); if (!t) return e; let i = t.originalStartLineNumber + (t.originalEndLineNumber > 0 ? -1 : 0), n = t.modifiedStartLineNumber + (t.modifiedEndLineNumber > 0 ? -1 : 0), r = t.originalEndLineNumber > 0 ? t.originalEndLineNumber - t.originalStartLineNumber + 1 : 0, s = t.modifiedEndLineNumber > 0 ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1 : 0, o = e - n; return o <= s ? i + Math.min(o, r) : i + r - s + o; } getDiffLineInformationForOriginal(e) { return this._diffComputationResult ? { equivalentLineNumber: this._getEquivalentLineForOriginalLineNumber( e ), } : null; } getDiffLineInformationForModified(e) { return this._diffComputationResult ? { equivalentLineNumber: this._getEquivalentLineForModifiedLineNumber( e ), } : null; } }; (ae.ONE_OVERVIEW_WIDTH = 15), (ae.ENTIRE_DIFF_OVERVIEW_WIDTH = 30), (ae.UPDATE_DIFF_DECORATIONS_DELAY = 200), (ae = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ie(2, J.p), ie(3, j.p), ie(4, x.i6), ie(5, U.TG), ie(6, g.$), ie(7, M.XE), ie(8, K.lT), ie(9, q.i), ie(10, X.e), ], ae )); class le extends c.JT { constructor(e) { super(), (this._dataSource = e), (this._insertColor = null), (this._removeColor = null); } applyColors(e) { let t = (e.getColor(L.yp) || L.Cz).transparent(2), i = (e.getColor(L.P4) || L.ke).transparent(2), n = !t.equals(this._insertColor) || !i.equals(this._removeColor); return (this._insertColor = t), (this._removeColor = i), n; } getEditorsDiffDecorations(e, t, i, n, r, s, o) { (r = r.sort((e, t) => e.afterLineNumber - t.afterLineNumber)), (n = n.sort((e, t) => e.afterLineNumber - t.afterLineNumber)); let a = this._getViewZones(e, n, r, s, o, i), l = this._getOriginalEditorDecorations(e, t, i, s, o), c = this._getModifiedEditorDecorations(e, t, i, s, o); return { original: { decorations: l.decorations, overviewZones: l.overviewZones, zones: a.original, }, modified: { decorations: c.decorations, overviewZones: c.overviewZones, zones: a.modified, }, }; } } class ce { constructor(e) { (this._source = e), (this._index = -1), (this.current = null), this.advance(); } advance() { this._index++, this._index < this._source.length ? (this.current = this._source[this._index]) : (this.current = null); } } class de { constructor(e, t, i, n, r) { (this.lineChanges = e), (this.originalForeignVZ = t), (this.originalLineHeight = i), (this.modifiedForeignVZ = n), (this.modifiedLineHeight = r); } getViewZones() { let e = [], t = [], i = 0, n = 0, r = 0, s = 0, o = 0, a = 0, l = (e, t) => e.afterLineNumber - t.afterLineNumber, c = (e, t) => { if (null === t.domNode && e.length > 0) { let i = e[e.length - 1]; if ( i.afterLineNumber === t.afterLineNumber && null === i.domNode ) return void (i.heightInLines += t.heightInLines); } e.push(t); }, d = new ce(this.modifiedForeignVZ), h = new ce(this.originalForeignVZ); for (let u = 0, g = this.lineChanges.length; u <= g; u++) { let f = u < g ? this.lineChanges[u] : null; null !== f ? ((r = f.originalStartLineNumber + (f.originalEndLineNumber > 0 ? -1 : 0)), (s = f.modifiedStartLineNumber + (f.modifiedEndLineNumber > 0 ? -1 : 0)), (n = f.originalEndLineNumber > 0 ? f.originalEndLineNumber - f.originalStartLineNumber + 1 : 0), (i = f.modifiedEndLineNumber > 0 ? f.modifiedEndLineNumber - f.modifiedStartLineNumber + 1 : 0), (o = Math.max( f.originalStartLineNumber, f.originalEndLineNumber )), (a = Math.max( f.modifiedStartLineNumber, f.modifiedEndLineNumber ))) : ((r += 1e7 + n), (s += 1e7 + i), (o = r), (a = s)); let p = [], m = []; for (; d.current && d.current.afterLineNumber <= a; ) { let e; e = d.current.afterLineNumber <= s ? r - s + d.current.afterLineNumber : o; let t = null; f && f.modifiedStartLineNumber <= d.current.afterLineNumber && d.current.afterLineNumber <= f.modifiedEndLineNumber && (t = this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()), p.push({ afterLineNumber: e, heightInLines: d.current.height / this.modifiedLineHeight, domNode: null, marginDomNode: t, }), d.advance(); } for (; h.current && h.current.afterLineNumber <= o; ) { let e; (e = h.current.afterLineNumber <= r ? s - r + h.current.afterLineNumber : a), m.push({ afterLineNumber: e, heightInLines: h.current.height / this.originalLineHeight, domNode: null, }), h.advance(); } if (null !== f && _e(f)) { let e = this._produceOriginalFromDiff(f, n, i); e && p.push(e); } if (null !== f && be(f)) { let e = this._produceModifiedFromDiff(f, n, i); e && m.push(e); } let _ = 0, b = 0; for ( p = p.sort(l), m = m.sort(l); _ < p.length && b < m.length; ) { let i = p[_], n = m[b], o = i.afterLineNumber - r, a = n.afterLineNumber - s; o < a ? (c(e, i), _++) : a < o ? (c(t, n), b++) : i.shouldNotShrink ? (c(e, i), _++) : n.shouldNotShrink ? (c(t, n), b++) : i.heightInLines >= n.heightInLines ? ((i.heightInLines -= n.heightInLines), b++) : ((n.heightInLines -= i.heightInLines), _++); } for (; _ < p.length; ) c(e, p[_]), _++; for (; b < m.length; ) c(t, m[b]), b++; } return { original: de._ensureDomNodes(e), modified: de._ensureDomNodes(t), }; } static _ensureDomNodes(e) { return e.map( (e) => ( e.domNode || (e.domNode = (function () { let e = document.createElement('div'); return (e.className = 'diagonal-fill'), e; })()), e ) ); } } function he(e, t, i, n, r) { return { range: new B.e(e, t, i, n), options: r }; } const ue = { charDelete: H.qx.register({ className: 'char-delete' }), charDeleteWholeLine: H.qx.register({ className: 'char-delete', isWholeLine: !0, }), charInsert: H.qx.register({ className: 'char-insert' }), charInsertWholeLine: H.qx.register({ className: 'char-insert', isWholeLine: !0, }), lineInsert: H.qx.register({ className: 'line-insert', marginClassName: 'line-insert', isWholeLine: !0, }), lineInsertWithSign: H.qx.register({ className: 'line-insert', linesDecorationsClassName: 'insert-sign ' + se.classNames, marginClassName: 'line-insert', isWholeLine: !0, }), lineDelete: H.qx.register({ className: 'line-delete', marginClassName: 'line-delete', isWholeLine: !0, }), lineDeleteWithSign: H.qx.register({ className: 'line-delete', linesDecorationsClassName: 'delete-sign ' + oe.classNames, marginClassName: 'line-delete', isWholeLine: !0, }), lineDeleteMargin: H.qx.register({ marginClassName: 'line-delete' }), }; class ge extends le { constructor(e, t) { super(e), (this._disableSash = !1 === t), (this._sashRatio = null), (this._sashPosition = null), (this._startSashPosition = null), (this._sash = this._register( new o.g(this._dataSource.getContainerDomNode(), this, { orientation: 0, }) )), this._disableSash && (this._sash.state = 0), this._sash.onDidStart(() => this.onSashDragStart()), this._sash.onDidChange((e) => this.onSashDrag(e)), this._sash.onDidEnd(() => this.onSashDragEnd()), this._sash.onDidReset(() => this.onSashReset()); } setEnableSplitViewResizing(e) { let t = !1 === e; this._disableSash !== t && ((this._disableSash = t), (this._sash.state = this._disableSash ? 0 : 3)); } layout(e = this._sashRatio) { let t = this._dataSource.getWidth() - ae.ENTIRE_DIFF_OVERVIEW_WIDTH, i = Math.floor((e || 0.5) * t), n = Math.floor(0.5 * t); return ( (i = this._disableSash ? n : i || n), t > 2 * ge.MINIMUM_EDITOR_WIDTH ? (i < ge.MINIMUM_EDITOR_WIDTH && (i = ge.MINIMUM_EDITOR_WIDTH), i > t - ge.MINIMUM_EDITOR_WIDTH && (i = t - ge.MINIMUM_EDITOR_WIDTH)) : (i = n), this._sashPosition !== i && ((this._sashPosition = i), this._sash.layout()), this._sashPosition ); } onSashDragStart() { this._startSashPosition = this._sashPosition; } onSashDrag(e) { let t = this._dataSource.getWidth() - ae.ENTIRE_DIFF_OVERVIEW_WIDTH, i = this.layout( (this._startSashPosition + (e.currentX - e.startX)) / t ); (this._sashRatio = i / t), this._dataSource.relayoutEditors(); } onSashDragEnd() { this._sash.layout(); } onSashReset() { (this._sashRatio = 0.5), this._dataSource.relayoutEditors(), this._sash.layout(); } getVerticalSashTop(e) { return 0; } getVerticalSashLeft(e) { return this._sashPosition; } getVerticalSashHeight(e) { return this._dataSource.getHeight(); } _getViewZones(e, t, i, n, r) { return new fe( e, t, n.getOption(51), i, r.getOption(51) ).getViewZones(); } _getOriginalEditorDecorations(e, t, i, n, r) { const s = String(this._removeColor); let o = { decorations: [], overviewZones: [] }, a = n.getModel(); for (let n = 0, r = e.length; n < r; n++) { let r = e[n]; if ( be(r) && (o.decorations.push({ range: new B.e( r.originalStartLineNumber, 1, r.originalEndLineNumber, 1073741824 ), options: i ? ue.lineDeleteWithSign : ue.lineDelete, }), (_e(r) && r.charChanges) || o.decorations.push( he( r.originalStartLineNumber, 1, r.originalEndLineNumber, 1073741824, ue.charDeleteWholeLine ) ), o.overviewZones.push( new V.EY( r.originalStartLineNumber, r.originalEndLineNumber, s ) ), r.charChanges) ) for (let e = 0, i = r.charChanges.length; e < i; e++) { let i = r.charChanges[e]; if (be(i)) if (t) for ( let e = i.originalStartLineNumber; e <= i.originalEndLineNumber; e++ ) { let t, n; (t = e === i.originalStartLineNumber ? i.originalStartColumn : a.getLineFirstNonWhitespaceColumn(e)), (n = e === i.originalEndLineNumber ? i.originalEndColumn : a.getLineLastNonWhitespaceColumn(e)), o.decorations.push(he(e, t, e, n, ue.charDelete)); } else o.decorations.push( he( i.originalStartLineNumber, i.originalStartColumn, i.originalEndLineNumber, i.originalEndColumn, ue.charDelete ) ); } } return o; } _getModifiedEditorDecorations(e, t, i, n, r) { const s = String(this._insertColor); let o = { decorations: [], overviewZones: [] }, a = r.getModel(); for (let n = 0, r = e.length; n < r; n++) { let r = e[n]; if ( _e(r) && (o.decorations.push({ range: new B.e( r.modifiedStartLineNumber, 1, r.modifiedEndLineNumber, 1073741824 ), options: i ? ue.lineInsertWithSign : ue.lineInsert, }), (be(r) && r.charChanges) || o.decorations.push( he( r.modifiedStartLineNumber, 1, r.modifiedEndLineNumber, 1073741824, ue.charInsertWholeLine ) ), o.overviewZones.push( new V.EY( r.modifiedStartLineNumber, r.modifiedEndLineNumber, s ) ), r.charChanges) ) for (let e = 0, i = r.charChanges.length; e < i; e++) { let i = r.charChanges[e]; if (_e(i)) if (t) for ( let e = i.modifiedStartLineNumber; e <= i.modifiedEndLineNumber; e++ ) { let t, n; (t = e === i.modifiedStartLineNumber ? i.modifiedStartColumn : a.getLineFirstNonWhitespaceColumn(e)), (n = e === i.modifiedEndLineNumber ? i.modifiedEndColumn : a.getLineLastNonWhitespaceColumn(e)), o.decorations.push(he(e, t, e, n, ue.charInsert)); } else o.decorations.push( he( i.modifiedStartLineNumber, i.modifiedStartColumn, i.modifiedEndLineNumber, i.modifiedEndColumn, ue.charInsert ) ); } } return o; } } ge.MINIMUM_EDITOR_WIDTH = 100; class fe extends de { constructor(e, t, i, n, r) { super(e, t, i, n, r); } _createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion() { return null; } _produceOriginalFromDiff(e, t, i) { return i > t ? { afterLineNumber: Math.max( e.originalStartLineNumber, e.originalEndLineNumber ), heightInLines: i - t, domNode: null, } : null; } _produceModifiedFromDiff(e, t, i) { return t > i ? { afterLineNumber: Math.max( e.modifiedStartLineNumber, e.modifiedEndLineNumber ), heightInLines: t - i, domNode: null, } : null; } } class pe extends le { constructor(e, t) { super(e), (this.decorationsLeft = e .getOriginalEditor() .getLayoutInfo().decorationsLeft), this._register( e.getOriginalEditor().onDidLayoutChange((t) => { this.decorationsLeft !== t.decorationsLeft && ((this.decorationsLeft = t.decorationsLeft), e.relayoutEditors()); }) ); } setEnableSplitViewResizing(e) {} _getViewZones(e, t, i, n, r, s) { return new me(e, t, i, n, r, s).getViewZones(); } _getOriginalEditorDecorations(e, t, i, n, r) { const s = String(this._removeColor); let o = { decorations: [], overviewZones: [] }; for (let t = 0, i = e.length; t < i; t++) { let i = e[t]; be(i) && (o.decorations.push({ range: new B.e( i.originalStartLineNumber, 1, i.originalEndLineNumber, 1073741824 ), options: ue.lineDeleteMargin, }), o.overviewZones.push( new V.EY( i.originalStartLineNumber, i.originalEndLineNumber, s ) )); } return o; } _getModifiedEditorDecorations(e, t, i, n, r) { const s = String(this._insertColor); let o = { decorations: [], overviewZones: [] }, a = r.getModel(); for (let n = 0, r = e.length; n < r; n++) { let r = e[n]; if (_e(r)) if ( (o.decorations.push({ range: new B.e( r.modifiedStartLineNumber, 1, r.modifiedEndLineNumber, 1073741824 ), options: i ? ue.lineInsertWithSign : ue.lineInsert, }), o.overviewZones.push( new V.EY( r.modifiedStartLineNumber, r.modifiedEndLineNumber, s ) ), r.charChanges) ) for (let e = 0, i = r.charChanges.length; e < i; e++) { let i = r.charChanges[e]; if (_e(i)) if (t) for ( let e = i.modifiedStartLineNumber; e <= i.modifiedEndLineNumber; e++ ) { let t, n; (t = e === i.modifiedStartLineNumber ? i.modifiedStartColumn : a.getLineFirstNonWhitespaceColumn(e)), (n = e === i.modifiedEndLineNumber ? i.modifiedEndColumn : a.getLineLastNonWhitespaceColumn(e)), o.decorations.push(he(e, t, e, n, ue.charInsert)); } else o.decorations.push( he( i.modifiedStartLineNumber, i.modifiedStartColumn, i.modifiedEndLineNumber, i.modifiedEndColumn, ue.charInsert ) ); } else o.decorations.push( he( r.modifiedStartLineNumber, 1, r.modifiedEndLineNumber, 1073741824, ue.charInsertWholeLine ) ); } return o; } layout() { return Math.max(5, this.decorationsLeft); } } class me extends de { constructor(e, t, i, n, r, s) { super(e, t, n.getOption(51), i, r.getOption(51)), (this.originalModel = n.getModel()), (this.modifiedEditorOptions = r.getOptions()), (this.modifiedEditorTabSize = r.getModel().getOptions().tabSize), (this.renderIndicators = s); } _createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion() { let e = document.createElement('div'); return (e.className = 'inline-added-margin-view-zone'), e; } _produceOriginalFromDiff(e, t, i) { let n = document.createElement('div'); return ( (n.className = 'inline-added-margin-view-zone'), { afterLineNumber: Math.max( e.originalStartLineNumber, e.originalEndLineNumber ), heightInLines: i, domNode: document.createElement('div'), marginDomNode: n, } ); } _produceModifiedFromDiff(e, t, i) { let n = []; if (e.charChanges) for (let t = 0, i = e.charChanges.length; t < i; t++) { let i = e.charChanges[t]; be(i) && n.push( new k.$t( new B.e( i.originalStartLineNumber, i.originalStartColumn, i.originalEndLineNumber, i.originalEndColumn ), 'char-delete', 0 ) ); } let r = (0, W.l$)(1e4), s = []; const o = this.modifiedEditorOptions.get(117), a = this.modifiedEditorOptions.get(36), l = o.decorationsWidth; let c = this.modifiedEditorOptions.get(51); const d = a.typicalHalfwidthCharacterWidth; let u = 0; const g = []; for ( let t = e.originalStartLineNumber; t <= e.originalEndLineNumber; t++ ) if ( ((u = Math.max( u, this._renderOriginalLine( t - e.originalStartLineNumber, this.originalModel, this.modifiedEditorOptions, this.modifiedEditorTabSize, t, n, r ) )), g.push(this.originalModel.getLineContent(t)), this.renderIndicators) ) { let i = t - e.originalStartLineNumber; s = s.concat([ `
    `, ]); } u += this.modifiedEditorOptions.get(85); let f = document.createElement('div'); (f.className = `view-lines line-delete ${te.S}`), (f.innerHTML = r.build()), h.V.applyFontInfoSlow(f, a); let p = document.createElement('div'); return ( (p.className = 'inline-deleted-margin-view-zone'), (p.innerHTML = s.join('')), h.V.applyFontInfoSlow(p, a), { shouldNotShrink: !0, afterLineNumber: 0 === e.modifiedEndLineNumber ? e.modifiedStartLineNumber : e.modifiedStartLineNumber - 1, heightInLines: t, minWidthInPx: u * d, domNode: f, marginDomNode: p, diff: { originalStartLineNumber: e.originalStartLineNumber, originalEndLineNumber: e.originalEndLineNumber, modifiedStartLineNumber: e.modifiedStartLineNumber, modifiedEndLineNumber: e.modifiedEndLineNumber, originalContent: g, }, } ); } _renderOriginalLine(e, t, i, n, r, s, o) { const a = t.getLineTokens(r), l = a.getLineContent(), c = i.get(36), d = z.Kp.filter(s, r, 1, l.length + 1); o.appendASCIIString('
    '); const h = k.wA.isBasicASCII(l, t.mightContainNonBasicASCII()), u = k.wA.containsRTL(l, h, t.mightContainRTL()), g = (0, S.d1)( new S.IJ( c.isMonospace && !i.get(24), c.canUseHalfwidthRightwardsArrow, l, !1, h, u, 0, a, d, n, 0, c.spaceWidth, c.middotWidth, c.wsmiddotWidth, i.get(95), i.get(80), i.get(74), i.get(37) !== v.n0.OFF, null ), o ); o.appendASCIIString('
    '); const f = g.characterMapping.getAbsoluteOffsets(); return f.length > 0 ? f[f.length - 1] : 0; } } function _e(e) { return e.modifiedEndLineNumber > 0; } function be(e) { return e.originalEndLineNumber > 0; } (0, M.Ic)((e, t) => { const i = e.getColor(L.yp); i && (t.addRule( `.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ${i}; }` ), t.addRule( `.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ${i}; }` ), t.addRule( `.monaco-editor .inline-added-margin-view-zone { background-color: ${i}; }` )); const n = e.getColor(L.P4); n && (t.addRule( `.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ${n}; }` ), t.addRule( `.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ${n}; }` ), t.addRule( `.monaco-editor .inline-deleted-margin-view-zone { background-color: ${n}; }` )); const r = e.getColor(L.XL); r && t.addRule( `.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${ 'hc' === e.type ? 'dashed' : 'solid' } ${r}; }` ); const s = e.getColor(L.mH); s && t.addRule( `.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${ 'hc' === e.type ? 'dashed' : 'solid' } ${s}; }` ); const o = e.getColor(L._w); o && t.addRule( `.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${o}; }` ); const a = e.getColor(L.LL); a && t.addRule( `.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${a}; }` ); const l = e.getColor(L.et); l && t.addRule( `\n\t\t\t.monaco-diff-editor .diffViewport {\n\t\t\t\tbackground: ${l};\n\t\t\t}\n\t\t` ); const c = e.getColor(L.AB); c && t.addRule( `\n\t\t\t.monaco-diff-editor .diffViewport:hover {\n\t\t\t\tbackground: ${c};\n\t\t\t}\n\t\t` ); const d = e.getColor(L.yn); d && t.addRule( `\n\t\t\t.monaco-diff-editor .diffViewport:active {\n\t\t\t\tbackground: ${d};\n\t\t\t}\n\t\t` ); const h = e.getColor(L.L_); t.addRule( `\n\t.monaco-editor .diagonal-fill {\n\t\tbackground-image: linear-gradient(\n\t\t\t-45deg,\n\t\t\t${h} 12.5%,\n\t\t\t#0000 12.5%, #0000 50%,\n\t\t\t${h} 50%, ${h} 62.5%,\n\t\t\t#0000 62.5%, #0000 100%\n\t\t);\n\t\tbackground-size: 8px 8px;\n\t}\n\t` ); }); }, 75623: (e, t, i) => { 'use strict'; i.d(t, { F: () => c }); var n = i(35146), r = i(4669), s = i(5976), o = i(36248), a = i(24314); const l = { followsCaret: !0, ignoreCharChanges: !0, alwaysRevealFirst: !0, }; class c extends s.JT { constructor(e, t = {}) { super(), (this._onDidUpdate = this._register(new r.Q5())), (this._editor = e), (this._options = o.jB(t, l, !1)), (this.disposed = !1), (this.nextIdx = -1), (this.ranges = []), (this.ignoreSelectionChange = !1), (this.revealFirst = Boolean(this._options.alwaysRevealFirst)), this._register(this._editor.onDidDispose(() => this.dispose())), this._register( this._editor.onDidUpdateDiff(() => this._onDiffUpdated()) ), this._options.followsCaret && this._register( this._editor .getModifiedEditor() .onDidChangeCursorPosition((e) => { this.ignoreSelectionChange || (this.nextIdx = -1); }) ), this._options.alwaysRevealFirst && this._register( this._editor.getModifiedEditor().onDidChangeModel((e) => { this.revealFirst = !0; }) ), this._init(); } _init() { this._editor.getLineChanges(); } _onDiffUpdated() { this._init(), this._compute(this._editor.getLineChanges()), this.revealFirst && null !== this._editor.getLineChanges() && ((this.revealFirst = !1), (this.nextIdx = -1), this.next(1)); } _compute(e) { (this.ranges = []), e && e.forEach((e) => { !this._options.ignoreCharChanges && e.charChanges ? e.charChanges.forEach((e) => { this.ranges.push({ rhs: !0, range: new a.e( e.modifiedStartLineNumber, e.modifiedStartColumn, e.modifiedEndLineNumber, e.modifiedEndColumn ), }); }) : this.ranges.push({ rhs: !0, range: new a.e( e.modifiedStartLineNumber, 1, e.modifiedStartLineNumber, 1 ), }); }), this.ranges.sort((e, t) => e.range .getStartPosition() .isBeforeOrEqual(t.range.getStartPosition()) ? -1 : t.range .getStartPosition() .isBeforeOrEqual(e.range.getStartPosition()) ? 1 : 0 ), this._onDidUpdate.fire(this); } _initIdx(e) { let t = !1, i = this._editor.getPosition(); if (i) { for (let n = 0, r = this.ranges.length; n < r && !t; n++) { let r = this.ranges[n].range; i.isBeforeOrEqual(r.getStartPosition()) && ((this.nextIdx = n + (e ? 0 : -1)), (t = !0)); } t || (this.nextIdx = e ? 0 : this.ranges.length - 1), this.nextIdx < 0 && (this.nextIdx = this.ranges.length - 1); } else this.nextIdx = 0; } _move(e, t) { if ( (n.ok( !this.disposed, 'Illegal State - diff navigator has been disposed' ), !this.canNavigate()) ) return; -1 === this.nextIdx ? this._initIdx(e) : e ? ((this.nextIdx += 1), this.nextIdx >= this.ranges.length && (this.nextIdx = 0)) : ((this.nextIdx -= 1), this.nextIdx < 0 && (this.nextIdx = this.ranges.length - 1)); let i = this.ranges[this.nextIdx]; this.ignoreSelectionChange = !0; try { let e = i.range.getStartPosition(); this._editor.setPosition(e), this._editor.revealPositionInCenter(e, t); } finally { this.ignoreSelectionChange = !1; } } canNavigate() { return this.ranges && this.ranges.length > 0; } next(e = 0) { this._move(!0, e); } previous(e = 0) { this._move(!1, e); } dispose() { super.dispose(), (this.ranges = []), (this.disposed = !0); } } }, 84527: (e, t, i) => { 'use strict'; i.d(t, { H: () => g }); var n = i(36248), r = i(11640), s = i(95190), o = i(94565), a = i(38819), l = i(72065), c = i(59422), d = i(97781), h = i(31106), u = function (e, t) { return function (i, n) { t(i, n, e); }; }; let g = class extends s.Gm { constructor(e, t, i, n, r, s, o, a, l, c) { super( e, Object.assign(Object.assign({}, i.getRawOptions()), { overflowWidgetsDomNode: i.getOverflowWidgetsDomNode(), }), {}, n, r, s, o, a, l, c ), (this._parentEditor = i), (this._overwriteOptions = t), super.updateOptions(this._overwriteOptions), this._register( i.onDidChangeConfiguration((e) => this._onParentConfigurationChanged(e) ) ); } getParentEditor() { return this._parentEditor; } _onParentConfigurationChanged(e) { super.updateOptions(this._parentEditor.getRawOptions()), super.updateOptions(this._overwriteOptions); } updateOptions(e) { n.jB(this._overwriteOptions, e, !0), super.updateOptions(this._overwriteOptions); } }; g = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ u(3, l.TG), u(4, r.$), u(5, o.H), u(6, a.i6), u(7, d.XE), u(8, c.lT), u(9, h.F), ], g ); }, 61329: (e, t, i) => { 'use strict'; i.d(t, { T4: () => r, OY: () => s, Sj: () => o, Uo: () => a, hP: () => l, }); var n = i(3860); class r { constructor(e, t, i = !1) { (this._range = e), (this._text = t), (this.insertsAutoWhitespace = i); } getEditOperations(e, t) { t.addTrackedEditOperation(this._range, this._text); } computeCursorState(e, t) { let i = t.getInverseEditOperations()[0].range; return new n.Y( i.endLineNumber, i.endColumn, i.endLineNumber, i.endColumn ); } } class s { constructor(e, t) { (this._range = e), (this._text = t); } getEditOperations(e, t) { t.addTrackedEditOperation(this._range, this._text); } computeCursorState(e, t) { const i = t.getInverseEditOperations()[0].range; return new n.Y( i.startLineNumber, i.startColumn, i.endLineNumber, i.endColumn ); } } class o { constructor(e, t, i = !1) { (this._range = e), (this._text = t), (this.insertsAutoWhitespace = i); } getEditOperations(e, t) { t.addTrackedEditOperation(this._range, this._text); } computeCursorState(e, t) { let i = t.getInverseEditOperations()[0].range; return new n.Y( i.startLineNumber, i.startColumn, i.startLineNumber, i.startColumn ); } } class a { constructor(e, t, i, n, r = !1) { (this._range = e), (this._text = t), (this._columnDeltaOffset = n), (this._lineNumberDeltaOffset = i), (this.insertsAutoWhitespace = r); } getEditOperations(e, t) { t.addTrackedEditOperation(this._range, this._text); } computeCursorState(e, t) { let i = t.getInverseEditOperations()[0].range; return new n.Y( i.endLineNumber + this._lineNumberDeltaOffset, i.endColumn + this._columnDeltaOffset, i.endLineNumber + this._lineNumberDeltaOffset, i.endColumn + this._columnDeltaOffset ); } } class l { constructor(e, t, i, n = !1) { (this._range = e), (this._text = t), (this._initialSelection = i), (this._forceMoveMarkers = n), (this._selectionId = null); } getEditOperations(e, t) { t.addTrackedEditOperation( this._range, this._text, this._forceMoveMarkers ), (this._selectionId = t.trackSelection(this._initialSelection)); } computeCursorState(e, t) { return t.getTrackedSelection(this._selectionId); } } }, 10291: (e, t, i) => { 'use strict'; i.d(t, { U: () => d }); var n = i(97295), r = i(33181), s = i(24314), o = i(3860), a = i(83831); const l = Object.create(null); function c(e, t) { l[e] || (l[e] = ['', e]); const i = l[e]; for (let n = i.length; n <= t; n++) i[n] = i[n - 1] + e; return i[t]; } class d { constructor(e, t) { (this._opts = t), (this._selection = e), (this._selectionId = null), (this._useLastEditRangeForCursorEndPosition = !1), (this._selectionStartColumnStaysPut = !1); } static unshiftIndent(e, t, i, n, s) { const o = r.io.visibleColumnFromColumn(e, t, i); if (s) { const e = c(' ', n); return c(e, r.io.prevIndentTabStop(o, n) / n); } return c('\t', r.io.prevRenderTabStop(o, i) / i); } static shiftIndent(e, t, i, n, s) { const o = r.io.visibleColumnFromColumn(e, t, i); if (s) { const e = c(' ', n); return c(e, r.io.nextIndentTabStop(o, n) / n); } return c('\t', r.io.nextRenderTabStop(o, i) / i); } _addEditOperation(e, t, i) { this._useLastEditRangeForCursorEndPosition ? e.addTrackedEditOperation(t, i) : e.addEditOperation(t, i); } getEditOperations(e, t) { const i = this._selection.startLineNumber; let o = this._selection.endLineNumber; 1 === this._selection.endColumn && i !== o && (o -= 1); const { tabSize: l, indentSize: h, insertSpaces: u } = this._opts, g = i === o; if (this._opts.useTabStops) { this._selection.isEmpty() && /^\s*$/.test(e.getLineContent(i)) && (this._useLastEditRangeForCursorEndPosition = !0); let c = 0, f = 0; for (let p = i; p <= o; p++, c = f) { f = 0; let o, m = e.getLineContent(p), _ = n.LC(m); if ( (!this._opts.isUnshift || (0 !== m.length && 0 !== _)) && (g || this._opts.isUnshift || 0 !== m.length) ) { if ( (-1 === _ && (_ = m.length), p > 1 && r.io.visibleColumnFromColumn(m, _ + 1, l) % h != 0 && e.isCheapToTokenize(p - 1)) ) { let t = a.zu.getEnterAction( this._opts.autoIndent, e, new s.e( p - 1, e.getLineMaxColumn(p - 1), p - 1, e.getLineMaxColumn(p - 1) ) ); if (t) { if (((f = c), t.appendText)) for ( let e = 0, i = t.appendText.length; e < i && f < h && 32 === t.appendText.charCodeAt(e); e++ ) f++; t.removeText && (f = Math.max(0, f - t.removeText)); for ( let e = 0; e < f && 0 !== _ && 32 === m.charCodeAt(_ - 1); e++ ) _--; } } (this._opts.isUnshift && 0 === _) || ((o = this._opts.isUnshift ? d.unshiftIndent(m, _ + 1, l, h, u) : d.shiftIndent(m, _ + 1, l, h, u)), this._addEditOperation(t, new s.e(p, 1, p, _ + 1), o), p !== i || this._selection.isEmpty() || (this._selectionStartColumnStaysPut = this._selection.startColumn <= _ + 1)); } } } else { !this._opts.isUnshift && this._selection.isEmpty() && 0 === e.getLineLength(i) && (this._useLastEditRangeForCursorEndPosition = !0); const r = u ? c(' ', h) : '\t'; for (let a = i; a <= o; a++) { const o = e.getLineContent(a); let l = n.LC(o); if ( (!this._opts.isUnshift || (0 !== o.length && 0 !== l)) && (g || this._opts.isUnshift || 0 !== o.length) && (-1 === l && (l = o.length), !this._opts.isUnshift || 0 !== l) ) if (this._opts.isUnshift) { l = Math.min(l, h); for (let e = 0; e < l; e++) if (9 === o.charCodeAt(e)) { l = e + 1; break; } this._addEditOperation(t, new s.e(a, 1, a, l + 1), ''); } else this._addEditOperation(t, new s.e(a, 1, a, 1), r), a !== i || this._selection.isEmpty() || (this._selectionStartColumnStaysPut = 1 === this._selection.startColumn); } } this._selectionId = t.trackSelection(this._selection); } computeCursorState(e, t) { if (this._useLastEditRangeForCursorEndPosition) { let e = t.getInverseEditOperations()[0]; return new o.Y( e.range.endLineNumber, e.range.endColumn, e.range.endLineNumber, e.range.endColumn ); } const i = t.getTrackedSelection(this._selectionId); if (this._selectionStartColumnStaysPut) { let e = this._selection.startColumn; return i.startColumn <= e ? i : 0 === i.getDirection() ? new o.Y(i.startLineNumber, e, i.endLineNumber, i.endColumn) : new o.Y(i.endLineNumber, i.endColumn, i.startLineNumber, e); } return i; } } }, 56345: (e, t, i) => { 'use strict'; i.d(t, { nG: () => f, fv: () => y, ei: () => M, Pe: () => D }); var n = i(63580), r = i(4669), s = i(5976), o = i(36248), a = i(9488), l = i(64141), c = i(82334), d = i(27374), h = i(23193), u = i(89872), g = i(6626); const f = new (class { constructor() { (this._tabFocus = !1), (this._onDidChangeTabFocus = new r.Q5()), (this.onDidChangeTabFocus = this._onDidChangeTabFocus.event); } getTabFocusMode() { return this._tabFocus; } setTabFocusMode(e) { this._tabFocus !== e && ((this._tabFocus = e), this._onDidChangeTabFocus.fire(this._tabFocus)); } })(), p = Object.hasOwnProperty; class m { constructor() { this._values = []; } _read(e) { return this._values[e]; } get(e) { return this._values[e]; } _write(e, t) { this._values[e] = t; } } class _ { constructor() { this._values = []; } _read(e) { return this._values[e]; } _write(e, t) { this._values[e] = t; } } class b { static readOptions(e) { const t = e, i = new _(); for (const e of l.Bc) { const n = '_never_' === e.name ? void 0 : t[e.name]; i._write(e.id, n); } return i; } static validateOptions(e) { const t = new l.hu(); for (const i of l.Bc) t._write(i.id, i.validate(e._read(i.id))); return t; } static computeOptions(e, t) { const i = new m(); for (const n of l.Bc) i._write(n.id, n.compute(t, i, e._read(n.id))); return i; } static _deepEquals(e, t) { if ('object' != typeof e || 'object' != typeof t) return e === t; if (Array.isArray(e) || Array.isArray(t)) return !(!Array.isArray(e) || !Array.isArray(t)) && a.fS(e, t); for (let i in e) if (!b._deepEquals(e[i], t[i])) return !1; return !0; } static checkEquals(e, t) { const i = []; let n = !1; for (const r of l.Bc) { const s = !b._deepEquals(e._read(r.id), t._read(r.id)); (i[r.id] = s), s && (n = !0); } return n ? new l.Bb(i) : null; } } function v(e) { const t = o.I8(e); return ( (function (e) { const t = e.wordWrap; !0 === t ? (e.wordWrap = 'on') : !1 === t && (e.wordWrap = 'off'); const i = e.lineNumbers; !0 === i ? (e.lineNumbers = 'on') : !1 === i && (e.lineNumbers = 'off'), !1 === e.autoClosingBrackets && ((e.autoClosingBrackets = 'never'), (e.autoClosingQuotes = 'never'), (e.autoSurround = 'never')), 'visible' === e.cursorBlinking && (e.cursorBlinking = 'solid'); const n = e.renderWhitespace; !0 === n ? (e.renderWhitespace = 'boundary') : !1 === n && (e.renderWhitespace = 'none'); const r = e.renderLineHighlight; !0 === r ? (e.renderLineHighlight = 'line') : !1 === r && (e.renderLineHighlight = 'none'); const s = e.acceptSuggestionOnEnter; !0 === s ? (e.acceptSuggestionOnEnter = 'on') : !1 === s && (e.acceptSuggestionOnEnter = 'off'); const o = e.tabCompletion; !1 === o ? (e.tabCompletion = 'off') : !0 === o && (e.tabCompletion = 'onlySnippets'); const a = e.suggest; if (a && 'object' == typeof a.filteredTypes && a.filteredTypes) { const e = { method: 'showMethods', function: 'showFunctions', constructor: 'showConstructors', field: 'showFields', variable: 'showVariables', class: 'showClasses', struct: 'showStructs', interface: 'showInterfaces', module: 'showModules', property: 'showProperties', event: 'showEvents', operator: 'showOperators', unit: 'showUnits', value: 'showValues', constant: 'showConstants', enum: 'showEnums', enumMember: 'showEnumMembers', keyword: 'showKeywords', text: 'showWords', color: 'showColors', file: 'showFiles', reference: 'showReferences', folder: 'showFolders', typeParameter: 'showTypeParameters', snippet: 'showSnippets', }; (0, g.E)(e, (e) => { const t = a.filteredTypes[e.key]; !1 === t && (a[e.value] = t); }); } const l = e.hover; !0 === l ? (e.hover = { enabled: !0 }) : !1 === l && (e.hover = { enabled: !1 }); const c = e.parameterHints; !0 === c ? (e.parameterHints = { enabled: !0 }) : !1 === c && (e.parameterHints = { enabled: !1 }); const d = e.autoIndent; !0 === d ? (e.autoIndent = 'full') : !1 === d && (e.autoIndent = 'advanced'); const h = e.matchBrackets; !0 === h ? (e.matchBrackets = 'always') : !1 === h && (e.matchBrackets = 'never'); })(t), t ); } class y extends s.JT { constructor(e, t) { super(), (this._onDidChange = this._register(new r.Q5())), (this.onDidChange = this._onDidChange.event), (this._onDidChangeFast = this._register(new r.Q5())), (this.onDidChangeFast = this._onDidChangeFast.event), (this.isSimpleWidget = e), (this._isDominatedByLongLines = !1), (this._computeOptionsMemory = new l.LJ()), (this._viewLineCount = 1), (this._lineNumbersDigitCount = 1), (this._rawOptions = v(t)), (this._readOptions = b.readOptions(this._rawOptions)), (this._validatedOptions = b.validateOptions(this._readOptions)), this._register( c.C.onDidChangeZoomLevel((e) => this._recomputeOptions()) ), this._register( f.onDidChangeTabFocus((e) => this._recomputeOptions()) ); } observeReferenceElement(e) {} dispose() { super.dispose(); } _recomputeOptions() { const e = this.options, t = this._computeInternalOptions(); if (e) { const i = b.checkEquals(e, t); if (null === i) return; (this.options = t), this._onDidChangeFast.fire(i), this._onDidChange.fire(i); } else this.options = t; } getRawOptions() { return this._rawOptions; } _computeInternalOptions() { const e = this._getEnvConfiguration(), t = d.E.createFromValidatedSettings( this._validatedOptions, e.zoomLevel, this.isSimpleWidget ), i = { memory: this._computeOptionsMemory, outerWidth: e.outerWidth, outerHeight: e.outerHeight, fontInfo: this.readConfiguration(t), extraEditorClassName: e.extraEditorClassName, isDominatedByLongLines: this._isDominatedByLongLines, viewLineCount: this._viewLineCount, lineNumbersDigitCount: this._lineNumbersDigitCount, emptySelectionClipboard: e.emptySelectionClipboard, pixelRatio: e.pixelRatio, tabFocusMode: f.getTabFocusMode(), accessibilitySupport: e.accessibilitySupport, }; return b.computeOptions(this._validatedOptions, i); } static _subsetEquals(e, t) { for (const i in t) if (p.call(t, i)) { const n = t[i], r = e[i]; if (r === n) continue; if (Array.isArray(r) && Array.isArray(n)) { if (!a.fS(r, n)) return !1; continue; } if (r && 'object' == typeof r && n && 'object' == typeof n) { if (!this._subsetEquals(r, n)) return !1; continue; } return !1; } return !0; } updateOptions(e) { if (void 0 === e) return; const t = v(e); y._subsetEquals(this._rawOptions, t) || ((this._rawOptions = o.jB(this._rawOptions, t || {})), (this._readOptions = b.readOptions(this._rawOptions)), (this._validatedOptions = b.validateOptions(this._readOptions)), this._recomputeOptions()); } setIsDominatedByLongLines(e) { (this._isDominatedByLongLines = e), this._recomputeOptions(); } setMaxLineNumber(e) { const t = y._digitCount(e); this._lineNumbersDigitCount !== t && ((this._lineNumbersDigitCount = t), this._recomputeOptions()); } setViewLineCount(e) { this._viewLineCount !== e && ((this._viewLineCount = e), this._recomputeOptions()); } static _digitCount(e) { let t = 0; for (; e; ) (e = Math.floor(e / 10)), t++; return t || 1; } } const w = Object.freeze({ id: 'editor', order: 5, type: 'object', title: n.N('editorConfigurationTitle', 'Editor'), scope: 5, }), C = u.B.as(h.IP.Configuration), S = Object.assign(Object.assign({}, w), { properties: { 'editor.tabSize': { type: 'number', default: l.DB.tabSize, minimum: 1, markdownDescription: n.N( 'tabSize', 'The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.' ), }, 'editor.insertSpaces': { type: 'boolean', default: l.DB.insertSpaces, markdownDescription: n.N( 'insertSpaces', 'Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.' ), }, 'editor.detectIndentation': { type: 'boolean', default: l.DB.detectIndentation, markdownDescription: n.N( 'detectIndentation', 'Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.' ), }, 'editor.trimAutoWhitespace': { type: 'boolean', default: l.DB.trimAutoWhitespace, description: n.N( 'trimAutoWhitespace', 'Remove trailing auto inserted whitespace.' ), }, 'editor.largeFileOptimizations': { type: 'boolean', default: l.DB.largeFileOptimizations, description: n.N( 'largeFileOptimizations', 'Special handling for large files to disable certain memory intensive features.' ), }, 'editor.wordBasedSuggestions': { type: 'boolean', default: !0, description: n.N( 'wordBasedSuggestions', 'Controls whether completions should be computed based on words in the document.' ), }, 'editor.semanticHighlighting.enabled': { enum: [!0, !1, 'configuredByTheme'], enumDescriptions: [ n.N( 'semanticHighlighting.true', 'Semantic highlighting enabled for all color themes.' ), n.N( 'semanticHighlighting.false', 'Semantic highlighting disabled for all color themes.' ), n.N( 'semanticHighlighting.configuredByTheme', "Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting." ), ], default: 'configuredByTheme', description: n.N( 'semanticHighlighting.enabled', 'Controls whether the semanticHighlighting is shown for the languages that support it.' ), }, 'editor.stablePeek': { type: 'boolean', default: !1, markdownDescription: n.N( 'stablePeek', 'Keep peek editors open even when double clicking their content or when hitting `Escape`.' ), }, 'editor.maxTokenizationLineLength': { type: 'integer', default: 2e4, description: n.N( 'maxTokenizationLineLength', 'Lines above this length will not be tokenized for performance reasons' ), }, 'diffEditor.maxComputationTime': { type: 'number', default: 5e3, description: n.N( 'maxComputationTime', 'Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.' ), }, 'diffEditor.renderSideBySide': { type: 'boolean', default: !0, description: n.N( 'sideBySide', 'Controls whether the diff editor shows the diff side by side or inline.' ), }, 'diffEditor.ignoreTrimWhitespace': { type: 'boolean', default: !0, description: n.N( 'ignoreTrimWhitespace', 'When enabled, the diff editor ignores changes in leading or trailing whitespace.' ), }, 'diffEditor.renderIndicators': { type: 'boolean', default: !0, description: n.N( 'renderIndicators', 'Controls whether the diff editor shows +/- indicators for added/removed changes.' ), }, 'diffEditor.codeLens': { type: 'boolean', default: !1, description: n.N( 'codeLens', 'Controls whether the editor shows CodeLens.' ), }, }, }); for (const e of l.Bc) { const t = e.schema; if (void 0 !== t) if (void 0 !== (k = t).type || void 0 !== k.anyOf) S.properties[`editor.${e.name}`] = t; else for (let e in t) p.call(t, e) && (S.properties[e] = t[e]); } var k; let x = null; function L() { return ( null === x && ((x = Object.create(null)), Object.keys(S.properties).forEach((e) => { x[e] = !0; })), x ); } function M(e) { return L()[`editor.${e}`] || !1; } function D(e) { return L()[`diffEditor.${e}`] || !1; } C.registerConfiguration(S); }, 64141: (e, t, i) => { 'use strict'; i.d(t, { y0: () => o, Bb: () => a, hu: () => l, LJ: () => c, d2: () => v, n0: () => y, gk: () => C, $J: () => S, hL: () => x, DB: () => L, Bc: () => M, BH: () => N, }); var n = i(63580), r = i(1432), s = i(97461); const o = 8; class a { constructor(e) { this._values = e; } hasChanged(e) { return this._values[e]; } } class l { constructor() { this._values = []; } _read(e) { return this._values[e]; } get(e) { return this._values[e]; } _write(e, t) { this._values[e] = t; } } class c { constructor() { (this.stableMinimapLayoutInput = null), (this.stableFitMaxMinimapScale = 0), (this.stableFitRemainingWidth = 0); } } class d { constructor(e, t, i, n) { (this.id = e), (this.name = t), (this.defaultValue = i), (this.schema = n); } compute(e, t, i) { return i; } } class h { constructor(e, t = null) { (this.schema = void 0), (this.id = e), (this.name = '_never_'), (this.defaultValue = void 0), (this.deps = t); } validate(e) { return this.defaultValue; } } class u { constructor(e, t, i, n) { (this.id = e), (this.name = t), (this.defaultValue = i), (this.schema = n); } validate(e) { return void 0 === e ? this.defaultValue : e; } compute(e, t, i) { return i; } } class g extends u { static boolean(e, t) { return void 0 === e ? t : 'false' !== e && Boolean(e); } constructor(e, t, i, n) { void 0 !== n && ((n.type = 'boolean'), (n.default = i)), super(e, t, i, n); } validate(e) { return g.boolean(e, this.defaultValue); } } class f extends u { constructor(e, t, i, n, r, s) { void 0 !== s && ((s.type = 'integer'), (s.default = i), (s.minimum = n), (s.maximum = r)), super(e, t, i, s), (this.minimum = n), (this.maximum = r); } static clampedInt(e, t, i, n) { if (void 0 === e) return t; let r = parseInt(e, 10); return isNaN(r) ? t : ((r = Math.max(i, r)), (r = Math.min(n, r)), 0 | r); } validate(e) { return f.clampedInt( e, this.defaultValue, this.minimum, this.maximum ); } } class p extends u { constructor(e, t, i, n, r) { void 0 !== r && ((r.type = 'number'), (r.default = i)), super(e, t, i, r), (this.validationFn = n); } static clamp(e, t, i) { return e < t ? t : e > i ? i : e; } static float(e, t) { if ('number' == typeof e) return e; if (void 0 === e) return t; const i = parseFloat(e); return isNaN(i) ? t : i; } validate(e) { return this.validationFn(p.float(e, this.defaultValue)); } } class m extends u { static string(e, t) { return 'string' != typeof e ? t : e; } constructor(e, t, i, n) { void 0 !== n && ((n.type = 'string'), (n.default = i)), super(e, t, i, n); } validate(e) { return m.string(e, this.defaultValue); } } class _ extends u { constructor(e, t, i, n, r) { void 0 !== r && ((r.type = 'string'), (r.enum = n), (r.default = i)), super(e, t, i, r), (this._allowedValues = n); } static stringSet(e, t, i) { return 'string' != typeof e || -1 === i.indexOf(e) ? t : e; } validate(e) { return _.stringSet(e, this.defaultValue, this._allowedValues); } } class b extends d { constructor(e, t, i, n, r, s, o) { void 0 !== o && ((o.type = 'string'), (o.enum = r), (o.default = n)), super(e, t, i, o), (this._allowedValues = r), (this._convert = s); } validate(e) { return 'string' != typeof e || -1 === this._allowedValues.indexOf(e) ? this.defaultValue : this._convert(e); } } var v; !(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'); })(v || (v = {})); class y extends d { constructor() { super(37, 'fontLigatures', y.OFF, { anyOf: [ { type: 'boolean', description: n.N( 'fontLigatures', 'Enables/Disables font ligatures.' ), }, { type: 'string', description: n.N( 'fontFeatureSettings', 'Explicit font-feature-settings.' ), }, ], description: n.N( 'fontLigaturesGeneral', 'Configures font ligatures or font features.' ), default: !1, }); } validate(e) { return void 0 === e ? this.defaultValue : 'string' == typeof e ? 'false' === e ? y.OFF : 'true' === e ? y.ON : e : Boolean(e) ? y.ON : y.OFF; } } (y.OFF = '"liga" off, "calt" off'), (y.ON = '"liga" on, "calt" on'); class w extends d { constructor() { super(39, 'fontWeight', x.fontWeight, { anyOf: [ { type: 'number', minimum: w.MINIMUM_VALUE, maximum: w.MAXIMUM_VALUE, errorMessage: n.N( 'fontWeightErrorMessage', 'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.' ), }, { type: 'string', pattern: '^(normal|bold|1000|[1-9][0-9]{0,2})$', }, { enum: w.SUGGESTION_VALUES }, ], default: x.fontWeight, description: n.N( 'fontWeight', 'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.' ), }); } validate(e) { return 'normal' === e || 'bold' === e ? e : String( f.clampedInt( e, x.fontWeight, w.MINIMUM_VALUE, w.MAXIMUM_VALUE ) ); } } (w.SUGGESTION_VALUES = [ 'normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900', ]), (w.MINIMUM_VALUE = 1), (w.MAXIMUM_VALUE = 1e3); class C extends h { constructor() { super(117, [42, 50, 31, 56, 84, 52, 53, 86, 106, 109, 110, 2]); } compute(e, t, i) { return C.computeLayout(t, { memory: e.memory, outerWidth: e.outerWidth, outerHeight: e.outerHeight, isDominatedByLongLines: e.isDominatedByLongLines, lineHeight: e.fontInfo.lineHeight, viewLineCount: e.viewLineCount, lineNumbersDigitCount: e.lineNumbersDigitCount, typicalHalfwidthCharacterWidth: e.fontInfo.typicalHalfwidthCharacterWidth, maxDigitWidth: e.fontInfo.maxDigitWidth, pixelRatio: e.pixelRatio, }); } static computeContainedMinimapLineCount(e) { const t = e.height / e.lineHeight, i = e.scrollBeyondLastLine ? t - 1 : 0, n = (e.viewLineCount + i) / (e.pixelRatio * e.height); return { typicalViewportLineCount: t, extraLinesBeyondLastLine: i, desiredRatio: n, minimapLineCount: Math.floor(e.viewLineCount / n), }; } static _computeMinimapLayout(e, t) { const i = e.outerWidth, n = e.outerHeight, r = e.pixelRatio; if (!e.minimap.enabled) return { renderMinimap: 0, minimapLeft: 0, minimapWidth: 0, minimapHeightIsEditorHeight: !1, minimapIsSampling: !1, minimapScale: 1, minimapLineHeight: 1, minimapCanvasInnerWidth: 0, minimapCanvasInnerHeight: Math.floor(r * n), minimapCanvasOuterWidth: 0, minimapCanvasOuterHeight: n, }; const s = t.stableMinimapLayoutInput, a = s && e.outerHeight === s.outerHeight && e.lineHeight === s.lineHeight && e.typicalHalfwidthCharacterWidth === s.typicalHalfwidthCharacterWidth && e.pixelRatio === s.pixelRatio && e.scrollBeyondLastLine === s.scrollBeyondLastLine && e.minimap.enabled === s.minimap.enabled && e.minimap.side === s.minimap.side && e.minimap.size === s.minimap.size && e.minimap.showSlider === s.minimap.showSlider && e.minimap.renderCharacters === s.minimap.renderCharacters && e.minimap.maxColumn === s.minimap.maxColumn && e.minimap.scale === s.minimap.scale && e.verticalScrollbarWidth === s.verticalScrollbarWidth && e.isViewportWrapping === s.isViewportWrapping, l = e.lineHeight, c = e.typicalHalfwidthCharacterWidth, d = e.scrollBeyondLastLine, h = e.minimap.renderCharacters; let u = r >= 2 ? Math.round(2 * e.minimap.scale) : e.minimap.scale; const g = e.minimap.maxColumn, f = e.minimap.size, p = e.minimap.side, m = e.verticalScrollbarWidth, _ = e.viewLineCount, b = e.remainingWidth, v = e.isViewportWrapping, y = h ? 2 : 3; let w = Math.floor(r * n); const S = w / r; let k = !1, x = !1, L = y * u, M = u / r, D = 1; if ('fill' === f || 'fit' === f) { const { typicalViewportLineCount: i, extraLinesBeyondLastLine: s, desiredRatio: o, minimapLineCount: c, } = C.computeContainedMinimapLineCount({ viewLineCount: _, scrollBeyondLastLine: d, height: n, lineHeight: l, pixelRatio: r, }); if (_ / c > 1) (k = !0), (x = !0), (u = 1), (L = 1), (M = u / r); else { let n = !1, c = u + 1; if ('fit' === f) { const i = Math.ceil((_ + s) * L); v && a && b <= t.stableFitRemainingWidth ? ((n = !0), (c = t.stableFitMaxMinimapScale)) : ((n = i > w), v && n ? ((t.stableMinimapLayoutInput = e), (t.stableFitRemainingWidth = b)) : ((t.stableMinimapLayoutInput = null), (t.stableFitRemainingWidth = 0))); } if ('fill' === f || n) { k = !0; const e = u; (L = Math.min(l * r, Math.max(1, Math.floor(1 / o)))), (u = Math.min(c, Math.max(1, Math.floor(L / y)))), u > e && (D = Math.min(2, u / e)), (M = u / r / D), (w = Math.ceil(Math.max(i, _ + s) * L)), v && n && (t.stableFitMaxMinimapScale = u); } } } const N = Math.floor(g * M), E = Math.min( N, Math.max(0, Math.floor(((b - m - 2) * M) / (c + M))) + o ); let T = Math.floor(r * E); const I = T / r; return ( (T = Math.floor(T * D)), { renderMinimap: h ? 1 : 2, minimapLeft: 'left' === p ? 0 : i - E - m, minimapWidth: E, minimapHeightIsEditorHeight: k, minimapIsSampling: x, minimapScale: u, minimapLineHeight: L, minimapCanvasInnerWidth: T, minimapCanvasInnerHeight: w, minimapCanvasOuterWidth: I, minimapCanvasOuterHeight: S, } ); } static computeLayout(e, t) { const i = 0 | t.outerWidth, n = 0 | t.outerHeight, r = 0 | t.lineHeight, s = 0 | t.lineNumbersDigitCount, o = t.typicalHalfwidthCharacterWidth, a = t.maxDigitWidth, l = t.pixelRatio, d = t.viewLineCount, h = e.get(106), u = e.get(109), g = e.get(110), p = e.get(2), m = t.isDominatedByLongLines, _ = e.get(42), b = 0 !== e.get(52).renderType, v = e.get(53), y = e.get(86), w = e.get(56), S = e.get(84), k = S.verticalScrollbarSize, x = S.verticalHasArrows, L = S.arrowSize, M = S.horizontalScrollbarSize, D = e.get(50), N = e.get(31); let E; if ('string' == typeof D && /^\d+(\.\d+)?ch$/.test(D)) { const e = parseFloat(D.substr(0, D.length - 2)); E = f.clampedInt(e * o, 0, 0, 1e3); } else E = f.clampedInt(D, 0, 0, 1e3); N && (E += 16); let T = 0; if (b) { const e = Math.max(s, v); T = Math.round(e * a); } let I = 0; _ && (I = r); let O = 0, A = O + I, R = A + T, P = R + E; const F = i - I - T - E; let B = !1, W = !1, Y = -1; 2 !== p && (g && m ? ((B = !0), (W = !0)) : 'on' === h || 'bounded' === h ? (W = !0) : 'wordWrapColumn' === h && (Y = u)); const H = C._computeMinimapLayout( { outerWidth: i, outerHeight: n, lineHeight: r, typicalHalfwidthCharacterWidth: o, pixelRatio: l, scrollBeyondLastLine: y, minimap: w, verticalScrollbarWidth: k, viewLineCount: d, remainingWidth: F, isViewportWrapping: W, }, t.memory || new c() ); 0 !== H.renderMinimap && 0 === H.minimapLeft && ((O += H.minimapWidth), (A += H.minimapWidth), (R += H.minimapWidth), (P += H.minimapWidth)); const j = F - H.minimapWidth, V = Math.max(1, Math.floor((j - k - 2) / o)), z = x ? L : 0; return ( W && ((Y = Math.max(1, V)), 'bounded' === h && (Y = Math.min(Y, u))), { width: i, height: n, glyphMarginLeft: O, glyphMarginWidth: I, lineNumbersLeft: A, lineNumbersWidth: T, decorationsLeft: R, decorationsWidth: E, contentLeft: P, contentWidth: j, minimap: H, viewportColumn: V, isWordWrapMinified: B, isViewportWrapping: W, wrappingColumn: Y, verticalScrollbarWidth: k, horizontalScrollbarHeight: M, overviewRuler: { top: z, width: k, height: n - 2 * z, right: 0, }, } ); } } function S(e) { const t = e.get(79); return 'editable' === t ? e.get(72) : 'on' !== t; } function k(e, t) { if ('string' != typeof e) return t; switch (e) { case 'hidden': return 2; case 'visible': return 3; default: return 1; } } const x = { fontFamily: r.dz ? "Menlo, Monaco, 'Courier New', monospace" : r.IJ ? "'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'" : "Consolas, 'Courier New', monospace", fontWeight: 'normal', fontSize: r.dz ? 12 : 14, lineHeight: 0, letterSpacing: 0, }, L = { tabSize: 4, indentSize: 4, insertSpaces: !0, detectIndentation: !0, trimAutoWhitespace: !0, largeFileOptimizations: !0, }, M = []; function D(e) { return (M[e.id] = e), e; } const N = { acceptSuggestionOnCommitCharacter: D( new g(0, 'acceptSuggestionOnCommitCharacter', !0, { markdownDescription: n.N( 'acceptSuggestionOnCommitCharacter', 'Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.' ), }) ), acceptSuggestionOnEnter: D( new _(1, 'acceptSuggestionOnEnter', 'on', ['on', 'smart', 'off'], { markdownEnumDescriptions: [ '', n.N( 'acceptSuggestionOnEnterSmart', 'Only accept a suggestion with `Enter` when it makes a textual change.' ), '', ], markdownDescription: n.N( 'acceptSuggestionOnEnter', 'Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.' ), }) ), accessibilitySupport: D( new (class extends d { constructor() { super(2, 'accessibilitySupport', 0, { type: 'string', enum: ['auto', 'on', 'off'], enumDescriptions: [ n.N( 'accessibilitySupport.auto', 'The editor will use platform APIs to detect when a Screen Reader is attached.' ), n.N( 'accessibilitySupport.on', 'The editor will be permanently optimized for usage with a Screen Reader.' ), n.N( 'accessibilitySupport.off', 'The editor will never be optimized for usage with a Screen Reader.' ), ], default: 'auto', description: n.N( 'accessibilitySupport', 'Controls whether the editor should run in a mode where it is optimized for screen readers.' ), }); } validate(e) { switch (e) { case 'auto': return 0; case 'off': return 1; case 'on': return 2; } return this.defaultValue; } compute(e, t, i) { return 0 === i ? e.accessibilitySupport : i; } })() ), accessibilityPageSize: D( new f(3, 'accessibilityPageSize', 10, 1, 1073741824, { description: n.N( 'accessibilityPageSize', 'Controls the number of lines in the editor that can be read out by a screen reader. Warning: this has a performance implication for numbers larger than the default.' ), }) ), ariaLabel: D( new m( 4, 'ariaLabel', n.N('editorViewAccessibleLabel', 'Editor content') ) ), autoClosingBrackets: D( new _( 5, 'autoClosingBrackets', 'languageDefined', ['always', 'languageDefined', 'beforeWhitespace', 'never'], { enumDescriptions: [ '', n.N( 'editor.autoClosingBrackets.languageDefined', 'Use language configurations to determine when to autoclose brackets.' ), n.N( 'editor.autoClosingBrackets.beforeWhitespace', 'Autoclose brackets only when the cursor is to the left of whitespace.' ), '', ], description: n.N( 'autoClosingBrackets', 'Controls whether the editor should automatically close brackets after the user adds an opening bracket.' ), } ) ), autoClosingOvertype: D( new _( 6, 'autoClosingOvertype', 'auto', ['always', 'auto', 'never'], { enumDescriptions: [ '', n.N( 'editor.autoClosingOvertype.auto', 'Type over closing quotes or brackets only if they were automatically inserted.' ), '', ], description: n.N( 'autoClosingOvertype', 'Controls whether the editor should type over closing quotes or brackets.' ), } ) ), autoClosingQuotes: D( new _( 7, 'autoClosingQuotes', 'languageDefined', ['always', 'languageDefined', 'beforeWhitespace', 'never'], { enumDescriptions: [ '', n.N( 'editor.autoClosingQuotes.languageDefined', 'Use language configurations to determine when to autoclose quotes.' ), n.N( 'editor.autoClosingQuotes.beforeWhitespace', 'Autoclose quotes only when the cursor is to the left of whitespace.' ), '', ], description: n.N( 'autoClosingQuotes', 'Controls whether the editor should automatically close quotes after the user adds an opening quote.' ), } ) ), autoIndent: D( new b( 8, 'autoIndent', 4, 'full', ['none', 'keep', 'brackets', 'advanced', 'full'], function (e) { switch (e) { case 'none': return 0; case 'keep': return 1; case 'brackets': return 2; case 'advanced': return 3; case 'full': return 4; } }, { enumDescriptions: [ n.N( 'editor.autoIndent.none', 'The editor will not insert indentation automatically.' ), n.N( 'editor.autoIndent.keep', "The editor will keep the current line's indentation." ), n.N( 'editor.autoIndent.brackets', "The editor will keep the current line's indentation and honor language defined brackets." ), n.N( 'editor.autoIndent.advanced', "The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages." ), n.N( 'editor.autoIndent.full', "The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages." ), ], description: n.N( 'autoIndent', 'Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.' ), } ) ), automaticLayout: D(new g(9, 'automaticLayout', !1)), autoSurround: D( new _( 10, 'autoSurround', 'languageDefined', ['languageDefined', 'quotes', 'brackets', 'never'], { enumDescriptions: [ n.N( 'editor.autoSurround.languageDefined', 'Use language configurations to determine when to automatically surround selections.' ), n.N( 'editor.autoSurround.quotes', 'Surround with quotes but not brackets.' ), n.N( 'editor.autoSurround.brackets', 'Surround with brackets but not quotes.' ), '', ], description: n.N( 'autoSurround', 'Controls whether the editor should automatically surround selections.' ), } ) ), codeLens: D( new g(11, 'codeLens', !0, { description: n.N( 'codeLens', 'Controls whether the editor shows CodeLens.' ), }) ), colorDecorators: D( new g(12, 'colorDecorators', !0, { description: n.N( 'colorDecorators', 'Controls whether the editor should render the inline color decorators and color picker.' ), }) ), columnSelection: D( new g(13, 'columnSelection', !1, { description: n.N( 'columnSelection', 'Enable that the selection with the mouse and keys is doing column selection.' ), }) ), comments: D( new (class extends d { constructor() { const e = { insertSpace: !0, ignoreEmptyLines: !0 }; super(14, 'comments', e, { 'editor.comments.insertSpace': { type: 'boolean', default: e.insertSpace, description: n.N( 'comments.insertSpace', 'Controls whether a space character is inserted when commenting.' ), }, 'editor.comments.ignoreEmptyLines': { type: 'boolean', default: e.ignoreEmptyLines, description: n.N( 'comments.ignoreEmptyLines', 'Controls if empty lines should be ignored with toggle, add or remove actions for line comments.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { insertSpace: g.boolean( t.insertSpace, this.defaultValue.insertSpace ), ignoreEmptyLines: g.boolean( t.ignoreEmptyLines, this.defaultValue.ignoreEmptyLines ), }; } })() ), contextmenu: D(new g(15, 'contextmenu', !0)), copyWithSyntaxHighlighting: D( new g(16, 'copyWithSyntaxHighlighting', !0, { description: n.N( 'copyWithSyntaxHighlighting', 'Controls whether syntax highlighting should be copied into the clipboard.' ), }) ), cursorBlinking: D( new b( 17, 'cursorBlinking', 1, 'blink', ['blink', 'smooth', 'phase', 'expand', 'solid'], function (e) { switch (e) { case 'blink': return 1; case 'smooth': return 2; case 'phase': return 3; case 'expand': return 4; case 'solid': return 5; } }, { description: n.N( 'cursorBlinking', 'Control the cursor animation style.' ), } ) ), cursorSmoothCaretAnimation: D( new g(18, 'cursorSmoothCaretAnimation', !1, { description: n.N( 'cursorSmoothCaretAnimation', 'Controls whether the smooth caret animation should be enabled.' ), }) ), cursorStyle: D( new b( 19, 'cursorStyle', v.Line, 'line', [ 'line', 'block', 'underline', 'line-thin', 'block-outline', 'underline-thin', ], function (e) { switch (e) { case 'line': return v.Line; case 'block': return v.Block; case 'underline': return v.Underline; case 'line-thin': return v.LineThin; case 'block-outline': return v.BlockOutline; case 'underline-thin': return v.UnderlineThin; } }, { description: n.N('cursorStyle', 'Controls the cursor style.') } ) ), cursorSurroundingLines: D( new f(20, 'cursorSurroundingLines', 0, 0, 1073741824, { description: n.N( 'cursorSurroundingLines', "Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or `scrollOffset` in some other editors." ), }) ), cursorSurroundingLinesStyle: D( new _( 21, 'cursorSurroundingLinesStyle', 'default', ['default', 'all'], { enumDescriptions: [ n.N( 'cursorSurroundingLinesStyle.default', '`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.' ), n.N( 'cursorSurroundingLinesStyle.all', '`cursorSurroundingLines` is enforced always.' ), ], description: n.N( 'cursorSurroundingLinesStyle', 'Controls when `cursorSurroundingLines` should be enforced.' ), } ) ), cursorWidth: D( new f(22, 'cursorWidth', 0, 0, 1073741824, { markdownDescription: n.N( 'cursorWidth', 'Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.' ), }) ), disableLayerHinting: D(new g(23, 'disableLayerHinting', !1)), disableMonospaceOptimizations: D( new g(24, 'disableMonospaceOptimizations', !1) ), dragAndDrop: D( new g(25, 'dragAndDrop', !0, { description: n.N( 'dragAndDrop', 'Controls whether the editor should allow moving selections via drag and drop.' ), }) ), emptySelectionClipboard: D( new (class extends g { constructor() { super(26, 'emptySelectionClipboard', !0, { description: n.N( 'emptySelectionClipboard', 'Controls whether copying without a selection copies the current line.' ), }); } compute(e, t, i) { return i && e.emptySelectionClipboard; } })() ), extraEditorClassName: D(new m(27, 'extraEditorClassName', '')), fastScrollSensitivity: D( new p(28, 'fastScrollSensitivity', 5, (e) => (e <= 0 ? 5 : e), { markdownDescription: n.N( 'fastScrollSensitivity', 'Scrolling speed multiplier when pressing `Alt`.' ), }) ), find: D( new (class extends d { constructor() { const e = { cursorMoveOnType: !0, seedSearchStringFromSelection: !0, autoFindInSelection: 'never', globalFindClipboard: !1, addExtraSpaceOnTop: !0, loop: !0, }; super(29, 'find', e, { 'editor.find.cursorMoveOnType': { type: 'boolean', default: e.cursorMoveOnType, description: n.N( 'find.cursorMoveOnType', 'Controls whether the cursor should jump to find matches while typing.' ), }, 'editor.find.seedSearchStringFromSelection': { type: 'boolean', default: e.seedSearchStringFromSelection, description: n.N( 'find.seedSearchStringFromSelection', 'Controls whether the search string in the Find Widget is seeded from the editor selection.' ), }, 'editor.find.autoFindInSelection': { type: 'string', enum: ['never', 'always', 'multiline'], default: e.autoFindInSelection, enumDescriptions: [ n.N( 'editor.find.autoFindInSelection.never', 'Never turn on Find in selection automatically (default)' ), n.N( 'editor.find.autoFindInSelection.always', 'Always turn on Find in selection automatically' ), n.N( 'editor.find.autoFindInSelection.multiline', 'Turn on Find in selection automatically when multiple lines of content are selected.' ), ], description: n.N( 'find.autoFindInSelection', 'Controls the condition for turning on find in selection automatically.' ), }, 'editor.find.globalFindClipboard': { type: 'boolean', default: e.globalFindClipboard, description: n.N( 'find.globalFindClipboard', 'Controls whether the Find Widget should read or modify the shared find clipboard on macOS.' ), included: r.dz, }, 'editor.find.addExtraSpaceOnTop': { type: 'boolean', default: e.addExtraSpaceOnTop, description: n.N( 'find.addExtraSpaceOnTop', 'Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.' ), }, 'editor.find.loop': { type: 'boolean', default: e.loop, description: n.N( 'find.loop', 'Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { cursorMoveOnType: g.boolean( t.cursorMoveOnType, this.defaultValue.cursorMoveOnType ), seedSearchStringFromSelection: g.boolean( t.seedSearchStringFromSelection, this.defaultValue.seedSearchStringFromSelection ), autoFindInSelection: 'boolean' == typeof e.autoFindInSelection ? e.autoFindInSelection ? 'always' : 'never' : _.stringSet( t.autoFindInSelection, this.defaultValue.autoFindInSelection, ['never', 'always', 'multiline'] ), globalFindClipboard: g.boolean( t.globalFindClipboard, this.defaultValue.globalFindClipboard ), addExtraSpaceOnTop: g.boolean( t.addExtraSpaceOnTop, this.defaultValue.addExtraSpaceOnTop ), loop: g.boolean(t.loop, this.defaultValue.loop), }; } })() ), fixedOverflowWidgets: D(new g(30, 'fixedOverflowWidgets', !1)), folding: D( new g(31, 'folding', !0, { description: n.N( 'folding', 'Controls whether the editor has code folding enabled.' ), }) ), foldingStrategy: D( new _(32, 'foldingStrategy', 'auto', ['auto', 'indentation'], { enumDescriptions: [ n.N( 'foldingStrategy.auto', 'Use a language-specific folding strategy if available, else the indentation-based one.' ), n.N( 'foldingStrategy.indentation', 'Use the indentation-based folding strategy.' ), ], description: n.N( 'foldingStrategy', 'Controls the strategy for computing folding ranges.' ), }) ), foldingHighlight: D( new g(33, 'foldingHighlight', !0, { description: n.N( 'foldingHighlight', 'Controls whether the editor should highlight folded ranges.' ), }) ), unfoldOnClickAfterEndOfLine: D( new g(34, 'unfoldOnClickAfterEndOfLine', !1, { description: n.N( 'unfoldOnClickAfterEndOfLine', 'Controls whether clicking on the empty content after a folded line will unfold the line.' ), }) ), fontFamily: D( new m(35, 'fontFamily', x.fontFamily, { description: n.N('fontFamily', 'Controls the font family.'), }) ), fontInfo: D( new (class extends h { constructor() { super(36); } compute(e, t, i) { return e.fontInfo; } })() ), fontLigatures2: D(new y()), fontSize: D( new (class extends u { constructor() { super(38, 'fontSize', x.fontSize, { type: 'number', minimum: 6, maximum: 100, default: x.fontSize, description: n.N( 'fontSize', 'Controls the font size in pixels.' ), }); } validate(e) { let t = p.float(e, this.defaultValue); return 0 === t ? x.fontSize : p.clamp(t, 6, 100); } compute(e, t, i) { return e.fontInfo.fontSize; } })() ), fontWeight: D(new w()), formatOnPaste: D( new g(40, 'formatOnPaste', !1, { description: n.N( 'formatOnPaste', 'Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.' ), }) ), formatOnType: D( new g(41, 'formatOnType', !1, { description: n.N( 'formatOnType', 'Controls whether the editor should automatically format the line after typing.' ), }) ), glyphMargin: D( new g(42, 'glyphMargin', !0, { description: n.N( 'glyphMargin', 'Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.' ), }) ), gotoLocation: D( new (class extends d { constructor() { const e = { multiple: 'peek', multipleDefinitions: 'peek', multipleTypeDefinitions: 'peek', multipleDeclarations: 'peek', multipleImplementations: 'peek', multipleReferences: 'peek', alternativeDefinitionCommand: 'editor.action.goToReferences', alternativeTypeDefinitionCommand: 'editor.action.goToReferences', alternativeDeclarationCommand: 'editor.action.goToReferences', alternativeImplementationCommand: '', alternativeReferenceCommand: '', }, t = { type: 'string', enum: ['peek', 'gotoAndPeek', 'goto'], default: e.multiple, enumDescriptions: [ n.N( 'editor.gotoLocation.multiple.peek', 'Show peek view of the results (default)' ), n.N( 'editor.gotoLocation.multiple.gotoAndPeek', 'Go to the primary result and show a peek view' ), n.N( 'editor.gotoLocation.multiple.goto', 'Go to the primary result and enable peek-less navigation to others' ), ], }; super(43, 'gotoLocation', e, { 'editor.gotoLocation.multiple': { deprecationMessage: n.N( 'editor.gotoLocation.multiple.deprecated', "This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead." ), }, 'editor.gotoLocation.multipleDefinitions': Object.assign( { description: n.N( 'editor.editor.gotoLocation.multipleDefinitions', "Controls the behavior the 'Go to Definition'-command when multiple target locations exist." ), }, t ), 'editor.gotoLocation.multipleTypeDefinitions': Object.assign( { description: n.N( 'editor.editor.gotoLocation.multipleTypeDefinitions', "Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist." ), }, t ), 'editor.gotoLocation.multipleDeclarations': Object.assign( { description: n.N( 'editor.editor.gotoLocation.multipleDeclarations', "Controls the behavior the 'Go to Declaration'-command when multiple target locations exist." ), }, t ), 'editor.gotoLocation.multipleImplementations': Object.assign( { description: n.N( 'editor.editor.gotoLocation.multipleImplemenattions', "Controls the behavior the 'Go to Implementations'-command when multiple target locations exist." ), }, t ), 'editor.gotoLocation.multipleReferences': Object.assign( { description: n.N( 'editor.editor.gotoLocation.multipleReferences', "Controls the behavior the 'Go to References'-command when multiple target locations exist." ), }, t ), 'editor.gotoLocation.alternativeDefinitionCommand': { type: 'string', default: e.alternativeDefinitionCommand, description: n.N( 'alternativeDefinitionCommand', "Alternative command id that is being executed when the result of 'Go to Definition' is the current location." ), }, 'editor.gotoLocation.alternativeTypeDefinitionCommand': { type: 'string', default: e.alternativeTypeDefinitionCommand, description: n.N( 'alternativeTypeDefinitionCommand', "Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location." ), }, 'editor.gotoLocation.alternativeDeclarationCommand': { type: 'string', default: e.alternativeDeclarationCommand, description: n.N( 'alternativeDeclarationCommand', "Alternative command id that is being executed when the result of 'Go to Declaration' is the current location." ), }, 'editor.gotoLocation.alternativeImplementationCommand': { type: 'string', default: e.alternativeImplementationCommand, description: n.N( 'alternativeImplementationCommand', "Alternative command id that is being executed when the result of 'Go to Implementation' is the current location." ), }, 'editor.gotoLocation.alternativeReferenceCommand': { type: 'string', default: e.alternativeReferenceCommand, description: n.N( 'alternativeReferenceCommand', "Alternative command id that is being executed when the result of 'Go to Reference' is the current location." ), }, }); } validate(e) { var t, i, n, r, s; if (!e || 'object' != typeof e) return this.defaultValue; const o = e; return { multiple: _.stringSet( o.multiple, this.defaultValue.multiple, ['peek', 'gotoAndPeek', 'goto'] ), multipleDefinitions: null !== (t = o.multipleDefinitions) && void 0 !== t ? t : _.stringSet(o.multipleDefinitions, 'peek', [ 'peek', 'gotoAndPeek', 'goto', ]), multipleTypeDefinitions: null !== (i = o.multipleTypeDefinitions) && void 0 !== i ? i : _.stringSet(o.multipleTypeDefinitions, 'peek', [ 'peek', 'gotoAndPeek', 'goto', ]), multipleDeclarations: null !== (n = o.multipleDeclarations) && void 0 !== n ? n : _.stringSet(o.multipleDeclarations, 'peek', [ 'peek', 'gotoAndPeek', 'goto', ]), multipleImplementations: null !== (r = o.multipleImplementations) && void 0 !== r ? r : _.stringSet(o.multipleImplementations, 'peek', [ 'peek', 'gotoAndPeek', 'goto', ]), multipleReferences: null !== (s = o.multipleReferences) && void 0 !== s ? s : _.stringSet(o.multipleReferences, 'peek', [ 'peek', 'gotoAndPeek', 'goto', ]), alternativeDefinitionCommand: m.string( o.alternativeDefinitionCommand, this.defaultValue.alternativeDefinitionCommand ), alternativeTypeDefinitionCommand: m.string( o.alternativeTypeDefinitionCommand, this.defaultValue.alternativeTypeDefinitionCommand ), alternativeDeclarationCommand: m.string( o.alternativeDeclarationCommand, this.defaultValue.alternativeDeclarationCommand ), alternativeImplementationCommand: m.string( o.alternativeImplementationCommand, this.defaultValue.alternativeImplementationCommand ), alternativeReferenceCommand: m.string( o.alternativeReferenceCommand, this.defaultValue.alternativeReferenceCommand ), }; } })() ), hideCursorInOverviewRuler: D( new g(44, 'hideCursorInOverviewRuler', !1, { description: n.N( 'hideCursorInOverviewRuler', 'Controls whether the cursor should be hidden in the overview ruler.' ), }) ), highlightActiveIndentGuide: D( new g(45, 'highlightActiveIndentGuide', !0, { description: n.N( 'highlightActiveIndentGuide', 'Controls whether the editor should highlight the active indent guide.' ), }) ), hover: D( new (class extends d { constructor() { const e = { enabled: !0, delay: 300, sticky: !0 }; super(46, 'hover', e, { 'editor.hover.enabled': { type: 'boolean', default: e.enabled, description: n.N( 'hover.enabled', 'Controls whether the hover is shown.' ), }, 'editor.hover.delay': { type: 'number', default: e.delay, description: n.N( 'hover.delay', 'Controls the delay in milliseconds after which the hover is shown.' ), }, 'editor.hover.sticky': { type: 'boolean', default: e.sticky, description: n.N( 'hover.sticky', 'Controls whether the hover should remain visible when mouse is moved over it.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { enabled: g.boolean(t.enabled, this.defaultValue.enabled), delay: f.clampedInt(t.delay, this.defaultValue.delay, 0, 1e4), sticky: g.boolean(t.sticky, this.defaultValue.sticky), }; } })() ), inDiffEditor: D(new g(47, 'inDiffEditor', !1)), letterSpacing: D( new p( 48, 'letterSpacing', x.letterSpacing, (e) => p.clamp(e, -5, 20), { description: n.N( 'letterSpacing', 'Controls the letter spacing in pixels.' ), } ) ), lightbulb: D( new (class extends d { constructor() { const e = { enabled: !0 }; super(49, 'lightbulb', e, { 'editor.lightbulb.enabled': { type: 'boolean', default: e.enabled, description: n.N( 'codeActions', 'Enables the code action lightbulb in the editor.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { enabled: g.boolean(t.enabled, this.defaultValue.enabled), }; } })() ), lineDecorationsWidth: D(new u(50, 'lineDecorationsWidth', 10)), lineHeight: D( new (class extends f { constructor() { super(51, 'lineHeight', x.lineHeight, 0, 150, { description: n.N( 'lineHeight', 'Controls the line height. Use 0 to compute the line height from the font size.' ), }); } compute(e, t, i) { return e.fontInfo.lineHeight; } })() ), lineNumbers: D( new (class extends d { constructor() { super( 52, 'lineNumbers', { renderType: 1, renderFn: null }, { type: 'string', enum: ['off', 'on', 'relative', 'interval'], enumDescriptions: [ n.N('lineNumbers.off', 'Line numbers are not rendered.'), n.N( 'lineNumbers.on', 'Line numbers are rendered as absolute number.' ), n.N( 'lineNumbers.relative', 'Line numbers are rendered as distance in lines to cursor position.' ), n.N( 'lineNumbers.interval', 'Line numbers are rendered every 10 lines.' ), ], default: 'on', description: n.N( 'lineNumbers', 'Controls the display of line numbers.' ), } ); } validate(e) { let t = this.defaultValue.renderType, i = this.defaultValue.renderFn; return ( void 0 !== e && ('function' == typeof e ? ((t = 4), (i = e)) : (t = 'interval' === e ? 3 : 'relative' === e ? 2 : 'on' === e ? 1 : 0)), { renderType: t, renderFn: i } ); } })() ), lineNumbersMinChars: D(new f(53, 'lineNumbersMinChars', 5, 1, 300)), links: D( new g(54, 'links', !0, { description: n.N( 'links', 'Controls whether the editor should detect links and make them clickable.' ), }) ), matchBrackets: D( new _(55, 'matchBrackets', 'always', ['always', 'near', 'never'], { description: n.N('matchBrackets', 'Highlight matching brackets.'), }) ), minimap: D( new (class extends d { constructor() { const e = { enabled: !0, size: 'proportional', side: 'right', showSlider: 'mouseover', renderCharacters: !0, maxColumn: 120, scale: 1, }; super(56, 'minimap', e, { 'editor.minimap.enabled': { type: 'boolean', default: e.enabled, description: n.N( 'minimap.enabled', 'Controls whether the minimap is shown.' ), }, 'editor.minimap.size': { type: 'string', enum: ['proportional', 'fill', 'fit'], enumDescriptions: [ n.N( 'minimap.size.proportional', 'The minimap has the same size as the editor contents (and might scroll).' ), n.N( 'minimap.size.fill', 'The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).' ), n.N( 'minimap.size.fit', 'The minimap will shrink as necessary to never be larger than the editor (no scrolling).' ), ], default: e.size, description: n.N( 'minimap.size', 'Controls the size of the minimap.' ), }, 'editor.minimap.side': { type: 'string', enum: ['left', 'right'], default: e.side, description: n.N( 'minimap.side', 'Controls the side where to render the minimap.' ), }, 'editor.minimap.showSlider': { type: 'string', enum: ['always', 'mouseover'], default: e.showSlider, description: n.N( 'minimap.showSlider', 'Controls when the minimap slider is shown.' ), }, 'editor.minimap.scale': { type: 'number', default: e.scale, minimum: 1, maximum: 3, enum: [1, 2, 3], description: n.N( 'minimap.scale', 'Scale of content drawn in the minimap: 1, 2 or 3.' ), }, 'editor.minimap.renderCharacters': { type: 'boolean', default: e.renderCharacters, description: n.N( 'minimap.renderCharacters', 'Render the actual characters on a line as opposed to color blocks.' ), }, 'editor.minimap.maxColumn': { type: 'number', default: e.maxColumn, description: n.N( 'minimap.maxColumn', 'Limit the width of the minimap to render at most a certain number of columns.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { enabled: g.boolean(t.enabled, this.defaultValue.enabled), size: _.stringSet(t.size, this.defaultValue.size, [ 'proportional', 'fill', 'fit', ]), side: _.stringSet(t.side, this.defaultValue.side, [ 'right', 'left', ]), showSlider: _.stringSet( t.showSlider, this.defaultValue.showSlider, ['always', 'mouseover'] ), renderCharacters: g.boolean( t.renderCharacters, this.defaultValue.renderCharacters ), scale: f.clampedInt(t.scale, 1, 1, 3), maxColumn: f.clampedInt( t.maxColumn, this.defaultValue.maxColumn, 1, 1e4 ), }; } })() ), mouseStyle: D( new _(57, 'mouseStyle', 'text', ['text', 'default', 'copy']) ), mouseWheelScrollSensitivity: D( new p( 58, 'mouseWheelScrollSensitivity', 1, (e) => (0 === e ? 1 : e), { markdownDescription: n.N( 'mouseWheelScrollSensitivity', 'A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.' ), } ) ), mouseWheelZoom: D( new g(59, 'mouseWheelZoom', !1, { markdownDescription: n.N( 'mouseWheelZoom', 'Zoom the font of the editor when using mouse wheel and holding `Ctrl`.' ), }) ), multiCursorMergeOverlapping: D( new g(60, 'multiCursorMergeOverlapping', !0, { description: n.N( 'multiCursorMergeOverlapping', 'Merge multiple cursors when they are overlapping.' ), }) ), multiCursorModifier: D( new b( 61, 'multiCursorModifier', 'altKey', 'alt', ['ctrlCmd', 'alt'], function (e) { return 'ctrlCmd' === e ? r.dz ? 'metaKey' : 'ctrlKey' : 'altKey'; }, { markdownEnumDescriptions: [ n.N( 'multiCursorModifier.ctrlCmd', 'Maps to `Control` on Windows and Linux and to `Command` on macOS.' ), n.N( 'multiCursorModifier.alt', 'Maps to `Alt` on Windows and Linux and to `Option` on macOS.' ), ], markdownDescription: n.N( { key: 'multiCursorModifier', comment: [ '- `ctrlCmd` refers to a value the setting can take and should not be localized.', '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.', ], }, 'The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).' ), } ) ), multiCursorPaste: D( new _(62, 'multiCursorPaste', 'spread', ['spread', 'full'], { markdownEnumDescriptions: [ n.N( 'multiCursorPaste.spread', 'Each cursor pastes a single line of the text.' ), n.N( 'multiCursorPaste.full', 'Each cursor pastes the full text.' ), ], markdownDescription: n.N( 'multiCursorPaste', 'Controls pasting when the line count of the pasted text matches the cursor count.' ), }) ), occurrencesHighlight: D( new g(63, 'occurrencesHighlight', !0, { description: n.N( 'occurrencesHighlight', 'Controls whether the editor should highlight semantic symbol occurrences.' ), }) ), overviewRulerBorder: D( new g(64, 'overviewRulerBorder', !0, { description: n.N( 'overviewRulerBorder', 'Controls whether a border should be drawn around the overview ruler.' ), }) ), overviewRulerLanes: D(new f(65, 'overviewRulerLanes', 3, 0, 3)), padding: D( new (class extends d { constructor() { super( 66, 'padding', { top: 0, bottom: 0 }, { 'editor.padding.top': { type: 'number', default: 0, minimum: 0, maximum: 1e3, description: n.N( 'padding.top', 'Controls the amount of space between the top edge of the editor and the first line.' ), }, 'editor.padding.bottom': { type: 'number', default: 0, minimum: 0, maximum: 1e3, description: n.N( 'padding.bottom', 'Controls the amount of space between the bottom edge of the editor and the last line.' ), }, } ); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { top: f.clampedInt(t.top, 0, 0, 1e3), bottom: f.clampedInt(t.bottom, 0, 0, 1e3), }; } })() ), parameterHints: D( new (class extends d { constructor() { const e = { enabled: !0, cycle: !1 }; super(67, 'parameterHints', e, { 'editor.parameterHints.enabled': { type: 'boolean', default: e.enabled, description: n.N( 'parameterHints.enabled', 'Enables a pop-up that shows parameter documentation and type information as you type.' ), }, 'editor.parameterHints.cycle': { type: 'boolean', default: e.cycle, description: n.N( 'parameterHints.cycle', 'Controls whether the parameter hints menu cycles or closes when reaching the end of the list.' ), }, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e; return { enabled: g.boolean(t.enabled, this.defaultValue.enabled), cycle: g.boolean(t.cycle, this.defaultValue.cycle), }; } })() ), peekWidgetDefaultFocus: D( new _(68, 'peekWidgetDefaultFocus', 'tree', ['tree', 'editor'], { enumDescriptions: [ n.N( 'peekWidgetDefaultFocus.tree', 'Focus the tree when opening peek' ), n.N( 'peekWidgetDefaultFocus.editor', 'Focus the editor when opening peek' ), ], description: n.N( 'peekWidgetDefaultFocus', 'Controls whether to focus the inline editor or the tree in the peek widget.' ), }) ), definitionLinkOpensInPeek: D( new g(69, 'definitionLinkOpensInPeek', !1, { description: n.N( 'definitionLinkOpensInPeek', 'Controls whether the Go to Definition mouse gesture always opens the peek widget.' ), }) ), quickSuggestions: D( new (class extends d { constructor() { const e = { other: !0, comments: !1, strings: !1 }; super(70, 'quickSuggestions', e, { anyOf: [ { type: 'boolean' }, { type: 'object', properties: { strings: { type: 'boolean', default: e.strings, description: n.N( 'quickSuggestions.strings', 'Enable quick suggestions inside strings.' ), }, comments: { type: 'boolean', default: e.comments, description: n.N( 'quickSuggestions.comments', 'Enable quick suggestions inside comments.' ), }, other: { type: 'boolean', default: e.other, description: n.N( 'quickSuggestions.other', 'Enable quick suggestions outside of strings and comments.' ), }, }, }, ], default: e, description: n.N( 'quickSuggestions', 'Controls whether suggestions should automatically show up while typing.' ), }), (this.defaultValue = e); } validate(e) { if ('boolean' == typeof e) return e; if (e && 'object' == typeof e) { const t = e, i = { other: g.boolean(t.other, this.defaultValue.other), comments: g.boolean( t.comments, this.defaultValue.comments ), strings: g.boolean(t.strings, this.defaultValue.strings), }; return ( !!(i.other && i.comments && i.strings) || (!!(i.other || i.comments || i.strings) && i) ); } return this.defaultValue; } })() ), quickSuggestionsDelay: D( new f(71, 'quickSuggestionsDelay', 10, 0, 1073741824, { description: n.N( 'quickSuggestionsDelay', 'Controls the delay in milliseconds after which quick suggestions will show up.' ), }) ), readOnly: D(new g(72, 'readOnly', !1)), renameOnType: D( new g(73, 'renameOnType', !1, { description: n.N( 'renameOnType', 'Controls whether the editor auto renames on type.' ), }) ), renderControlCharacters: D( new g(74, 'renderControlCharacters', !1, { description: n.N( 'renderControlCharacters', 'Controls whether the editor should render control characters.' ), }) ), renderIndentGuides: D( new g(75, 'renderIndentGuides', !0, { description: n.N( 'renderIndentGuides', 'Controls whether the editor should render indent guides.' ), }) ), renderFinalNewline: D( new g(76, 'renderFinalNewline', !0, { description: n.N( 'renderFinalNewline', 'Render last line number when the file ends with a newline.' ), }) ), renderLineHighlight: D( new _( 77, 'renderLineHighlight', 'line', ['none', 'gutter', 'line', 'all'], { enumDescriptions: [ '', '', '', n.N( 'renderLineHighlight.all', 'Highlights both the gutter and the current line.' ), ], description: n.N( 'renderLineHighlight', 'Controls how the editor should render the current line highlight.' ), } ) ), renderLineHighlightOnlyWhenFocus: D( new g(78, 'renderLineHighlightOnlyWhenFocus', !1, { description: n.N( 'renderLineHighlightOnlyWhenFocus', 'Controls if the editor should render the current line highlight only when the editor is focused' ), }) ), renderValidationDecorations: D( new _(79, 'renderValidationDecorations', 'editable', [ 'editable', 'on', 'off', ]) ), renderWhitespace: D( new _( 80, 'renderWhitespace', 'selection', ['none', 'boundary', 'selection', 'trailing', 'all'], { enumDescriptions: [ '', n.N( 'renderWhitespace.boundary', 'Render whitespace characters except for single spaces between words.' ), n.N( 'renderWhitespace.selection', 'Render whitespace characters only on selected text.' ), n.N( 'renderWhitespace.trailing', 'Render only trailing whitespace characters' ), '', ], description: n.N( 'renderWhitespace', 'Controls how the editor should render whitespace characters.' ), } ) ), revealHorizontalRightPadding: D( new f(81, 'revealHorizontalRightPadding', 30, 0, 1e3) ), roundedSelection: D( new g(82, 'roundedSelection', !0, { description: n.N( 'roundedSelection', 'Controls whether selections should have rounded corners.' ), }) ), rulers: D( new (class extends d { constructor() { const e = [], t = { type: 'number', description: n.N( 'rulers.size', 'Number of monospace characters at which this editor ruler will render.' ), }; super(83, 'rulers', e, { type: 'array', items: { anyOf: [ t, { type: ['object'], properties: { column: t, color: { type: 'string', description: n.N( 'rulers.color', 'Color of this editor ruler.' ), format: 'color-hex', }, }, }, ], }, default: e, description: n.N( 'rulers', 'Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.' ), }); } validate(e) { if (Array.isArray(e)) { let t = []; for (let i of e) if ('number' == typeof i) t.push({ column: f.clampedInt(i, 0, 0, 1e4), color: null, }); else if (i && 'object' == typeof i) { const e = i; t.push({ column: f.clampedInt(e.column, 0, 0, 1e4), color: e.color, }); } return t.sort((e, t) => e.column - t.column), t; } return this.defaultValue; } })() ), scrollbar: D( new (class extends d { constructor() { super(84, 'scrollbar', { vertical: 1, horizontal: 1, arrowSize: 11, useShadows: !0, verticalHasArrows: !1, horizontalHasArrows: !1, horizontalScrollbarSize: 12, horizontalSliderSize: 12, verticalScrollbarSize: 14, verticalSliderSize: 14, handleMouseWheel: !0, alwaysConsumeMouseWheel: !0, }); } validate(e) { if (!e || 'object' != typeof e) return this.defaultValue; const t = e, i = f.clampedInt( t.horizontalScrollbarSize, this.defaultValue.horizontalScrollbarSize, 0, 1e3 ), n = f.clampedInt( t.verticalScrollbarSize, this.defaultValue.verticalScrollbarSize, 0, 1e3 ); return { arrowSize: f.clampedInt( t.arrowSize, this.defaultValue.arrowSize, 0, 1e3 ), vertical: k(t.vertical, this.defaultValue.vertical), horizontal: k(t.horizontal, this.defaultValue.horizontal), useShadows: g.boolean( t.useShadows, this.defaultValue.useShadows ), verticalHasArrows: g.boolean( t.verticalHasArrows, this.defaultValue.verticalHasArrows ), horizontalHasArrows: g.boolean( t.horizontalHasArrows, this.defaultValue.horizontalHasArrows ), handleMouseWheel: g.boolean( t.handleMouseWheel, this.defaultValue.handleMouseWheel ), alwaysConsumeMouseWheel: g.boolean( t.alwaysConsumeMouseWheel, this.defaultValue.alwaysConsumeMouseWheel ), horizontalScrollbarSize: i, horizontalSliderSize: f.clampedInt( t.horizontalSliderSize, i, 0, 1e3 ), verticalScrollbarSize: n, verticalSliderSize: f.clampedInt( t.verticalSliderSize, n, 0, 1e3 ), }; } })() ), scrollBeyondLastColumn: D( new f(85, 'scrollBeyondLastColumn', 5, 0, 1073741824, { description: n.N( 'scrollBeyondLastColumn', 'Controls the number of extra characters beyond which the editor will scroll horizontally.' ), }) ), scrollBeyondLastLine: D( new g(86, 'scrollBeyondLastLine', !0, { description: n.N( 'scrollBeyondLastLine', 'Controls whether the editor will scroll beyond the last line.' ), }) ), scrollPredominantAxis: D( new g(87, 'scrollPredominantAxis', !0, { description: n.N( 'scrollPredominantAxis', 'Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.' ), }) ), selectionClipboard: D( new g(88, 'selectionClipboard', !0, { description: n.N( 'selectionClipboard', 'Controls whether the Linux primary clipboard should be supported.' ), included: r.IJ, }) ), selectionHighlight: D( new g(89, 'selectionHighlight', !0, { description: n.N( 'selectionHighlight', 'Controls whether the editor should highlight matches similar to the selection.' ), }) ), selectOnLineNumbers: D(new g(90, 'selectOnLineNumbers', !0)), showFoldingControls: D( new _( 91, 'showFoldingControls', 'mouseover', ['always', 'mouseover'], { enumDescriptions: [ n.N( 'showFoldingControls.always', 'Always show the folding controls.' ), n.N( 'showFoldingControls.mouseover', 'Only show the folding controls when the mouse is over the gutter.' ), ], description: n.N( 'showFoldingControls', 'Controls when the folding controls on the gutter are shown.' ), } ) ), showUnused: D( new g(92, 'showUnused', !0, { description: n.N( 'showUnused', 'Controls fading out of unused code.' ), }) ), showDeprecated: D( new g(113, 'showDeprecated', !0, { description: n.N( 'showDeprecated', 'Controls strikethrough deprecated variables.' ), }) ), snippetSuggestions: D( new _( 93, 'snippetSuggestions', 'inline', ['top', 'bottom', 'inline', 'none'], { enumDescriptions: [ n.N( 'snippetSuggestions.top', 'Show snippet suggestions on top of other suggestions.' ), n.N( 'snippetSuggestions.bottom', 'Show snippet suggestions below other suggestions.' ), n.N( 'snippetSuggestions.inline', 'Show snippets suggestions with other suggestions.' ), n.N( 'snippetSuggestions.none', 'Do not show snippet suggestions.' ), ], description: n.N( 'snippetSuggestions', 'Controls whether snippets are shown with other suggestions and how they are sorted.' ), } ) ), smoothScrolling: D( new g(94, 'smoothScrolling', !1, { description: n.N( 'smoothScrolling', 'Controls whether the editor will scroll using an animation.' ), }) ), stopRenderingLineAfter: D( new f(95, 'stopRenderingLineAfter', 1e4, -1, 1073741824) ), suggest: D( new (class extends d { constructor() { const e = { insertMode: 'insert', filterGraceful: !0, snippetsPreventQuickSuggestions: !0, localityBonus: !1, shareSuggestSelections: !1, showIcons: !0, maxVisibleSuggestions: 12, showMethods: !0, showFunctions: !0, showConstructors: !0, showFields: !0, showVariables: !0, showClasses: !0, showStructs: !0, showInterfaces: !0, showModules: !0, showProperties: !0, showEvents: !0, showOperators: !0, showUnits: !0, showValues: !0, showConstants: !0, showEnums: !0, showEnumMembers: !0, showKeywords: !0, showWords: !0, showColors: !0, showFiles: !0, showReferences: !0, showFolders: !0, showTypeParameters: !0, showSnippets: !0, showUsers: !0, showIssues: !0, statusBar: { visible: !1 }, }; super(96, 'suggest', e, { 'editor.suggest.insertMode': { type: 'string', enum: ['insert', 'replace'], enumDescriptions: [ n.N( 'suggest.insertMode.insert', 'Insert suggestion without overwriting text right of the cursor.' ), n.N( 'suggest.insertMode.replace', 'Insert suggestion and overwrite text right of the cursor.' ), ], default: e.insertMode, description: n.N( 'suggest.insertMode', 'Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.' ), }, 'editor.suggest.filterGraceful': { type: 'boolean', default: e.filterGraceful, description: n.N( 'suggest.filterGraceful', 'Controls whether filtering and sorting suggestions accounts for small typos.' ), }, 'editor.suggest.localityBonus': { type: 'boolean', default: e.localityBonus, description: n.N( 'suggest.localityBonus', 'Controls whether sorting favours words that appear close to the cursor.' ), }, 'editor.suggest.shareSuggestSelections': { type: 'boolean', default: e.shareSuggestSelections, markdownDescription: n.N( 'suggest.shareSuggestSelections', 'Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).' ), }, 'editor.suggest.snippetsPreventQuickSuggestions': { type: 'boolean', default: e.snippetsPreventQuickSuggestions, description: n.N( 'suggest.snippetsPreventQuickSuggestions', 'Controls whether an active snippet prevents quick suggestions.' ), }, 'editor.suggest.showIcons': { type: 'boolean', default: e.showIcons, description: n.N( 'suggest.showIcons', 'Controls whether to show or hide icons in suggestions.' ), }, 'editor.suggest.maxVisibleSuggestions': { type: 'number', default: e.maxVisibleSuggestions, minimum: 1, maximum: 15, description: n.N( 'suggest.maxVisibleSuggestions', 'Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).' ), }, 'editor.suggest.filteredTypes': { type: 'object', deprecationMessage: n.N( 'deprecated', "This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead." ), }, 'editor.suggest.showMethods': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showMethods', 'When enabled IntelliSense shows `method`-suggestions.' ), }, 'editor.suggest.showFunctions': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showFunctions', 'When enabled IntelliSense shows `function`-suggestions.' ), }, 'editor.suggest.showConstructors': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showConstructors', 'When enabled IntelliSense shows `constructor`-suggestions.' ), }, 'editor.suggest.showFields': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showFields', 'When enabled IntelliSense shows `field`-suggestions.' ), }, 'editor.suggest.showVariables': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showVariables', 'When enabled IntelliSense shows `variable`-suggestions.' ), }, 'editor.suggest.showClasses': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showClasss', 'When enabled IntelliSense shows `class`-suggestions.' ), }, 'editor.suggest.showStructs': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showStructs', 'When enabled IntelliSense shows `struct`-suggestions.' ), }, 'editor.suggest.showInterfaces': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showInterfaces', 'When enabled IntelliSense shows `interface`-suggestions.' ), }, 'editor.suggest.showModules': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showModules', 'When enabled IntelliSense shows `module`-suggestions.' ), }, 'editor.suggest.showProperties': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showPropertys', 'When enabled IntelliSense shows `property`-suggestions.' ), }, 'editor.suggest.showEvents': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showEvents', 'When enabled IntelliSense shows `event`-suggestions.' ), }, 'editor.suggest.showOperators': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showOperators', 'When enabled IntelliSense shows `operator`-suggestions.' ), }, 'editor.suggest.showUnits': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showUnits', 'When enabled IntelliSense shows `unit`-suggestions.' ), }, 'editor.suggest.showValues': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showValues', 'When enabled IntelliSense shows `value`-suggestions.' ), }, 'editor.suggest.showConstants': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showConstants', 'When enabled IntelliSense shows `constant`-suggestions.' ), }, 'editor.suggest.showEnums': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showEnums', 'When enabled IntelliSense shows `enum`-suggestions.' ), }, 'editor.suggest.showEnumMembers': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showEnumMembers', 'When enabled IntelliSense shows `enumMember`-suggestions.' ), }, 'editor.suggest.showKeywords': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showKeywords', 'When enabled IntelliSense shows `keyword`-suggestions.' ), }, 'editor.suggest.showWords': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showTexts', 'When enabled IntelliSense shows `text`-suggestions.' ), }, 'editor.suggest.showColors': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showColors', 'When enabled IntelliSense shows `color`-suggestions.' ), }, 'editor.suggest.showFiles': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showFiles', 'When enabled IntelliSense shows `file`-suggestions.' ), }, 'editor.suggest.showReferences': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showReferences', 'When enabled IntelliSense shows `reference`-suggestions.' ), }, 'editor.suggest.showCustomcolors': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showCustomcolors', 'When enabled IntelliSense shows `customcolor`-suggestions.' ), }, 'editor.suggest.showFolders': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showFolders', 'When enabled IntelliSense shows `folder`-suggestions.' ), }, 'editor.suggest.showTypeParameters': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showTypeParameters', 'When enabled IntelliSense shows `typeParameter`-suggestions.' ), }, 'editor.suggest.showSnippets': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showSnippets', 'When enabled IntelliSense shows `snippet`-suggestions.' ), }, 'editor.suggest.showUsers': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showUsers', 'When enabled IntelliSense shows `user`-suggestions.' ), }, 'editor.suggest.showIssues': { type: 'boolean', default: !0, markdownDescription: n.N( 'editor.suggest.showIssues', 'When enabled IntelliSense shows `issues`-suggestions.' ), }, 'editor.suggest.statusBar.visible': { type: 'boolean', default: !1, markdownDescription: n.N( 'editor.suggest.statusBar.visible', 'Controls the visibility of the status bar at the bottom of the suggest widget.' ), }, }); } validate(e) { var t; if (!e || 'object' != typeof e) return this.defaultValue; const i = e; return { insertMode: _.stringSet( i.insertMode, this.defaultValue.insertMode, ['insert', 'replace'] ), filterGraceful: g.boolean( i.filterGraceful, this.defaultValue.filterGraceful ), snippetsPreventQuickSuggestions: g.boolean( i.snippetsPreventQuickSuggestions, this.defaultValue.filterGraceful ), localityBonus: g.boolean( i.localityBonus, this.defaultValue.localityBonus ), shareSuggestSelections: g.boolean( i.shareSuggestSelections, this.defaultValue.shareSuggestSelections ), showIcons: g.boolean( i.showIcons, this.defaultValue.showIcons ), maxVisibleSuggestions: f.clampedInt( i.maxVisibleSuggestions, this.defaultValue.maxVisibleSuggestions, 1, 15 ), showMethods: g.boolean( i.showMethods, this.defaultValue.showMethods ), showFunctions: g.boolean( i.showFunctions, this.defaultValue.showFunctions ), showConstructors: g.boolean( i.showConstructors, this.defaultValue.showConstructors ), showFields: g.boolean( i.showFields, this.defaultValue.showFields ), showVariables: g.boolean( i.showVariables, this.defaultValue.showVariables ), showClasses: g.boolean( i.showClasses, this.defaultValue.showClasses ), showStructs: g.boolean( i.showStructs, this.defaultValue.showStructs ), showInterfaces: g.boolean( i.showInterfaces, this.defaultValue.showInterfaces ), showModules: g.boolean( i.showModules, this.defaultValue.showModules ), showProperties: g.boolean( i.showProperties, this.defaultValue.showProperties ), showEvents: g.boolean( i.showEvents, this.defaultValue.showEvents ), showOperators: g.boolean( i.showOperators, this.defaultValue.showOperators ), showUnits: g.boolean( i.showUnits, this.defaultValue.showUnits ), showValues: g.boolean( i.showValues, this.defaultValue.showValues ), showConstants: g.boolean( i.showConstants, this.defaultValue.showConstants ), showEnums: g.boolean( i.showEnums, this.defaultValue.showEnums ), showEnumMembers: g.boolean( i.showEnumMembers, this.defaultValue.showEnumMembers ), showKeywords: g.boolean( i.showKeywords, this.defaultValue.showKeywords ), showWords: g.boolean( i.showWords, this.defaultValue.showWords ), showColors: g.boolean( i.showColors, this.defaultValue.showColors ), showFiles: g.boolean( i.showFiles, this.defaultValue.showFiles ), showReferences: g.boolean( i.showReferences, this.defaultValue.showReferences ), showFolders: g.boolean( i.showFolders, this.defaultValue.showFolders ), showTypeParameters: g.boolean( i.showTypeParameters, this.defaultValue.showTypeParameters ), showSnippets: g.boolean( i.showSnippets, this.defaultValue.showSnippets ), showUsers: g.boolean( i.showUsers, this.defaultValue.showUsers ), showIssues: g.boolean( i.showIssues, this.defaultValue.showIssues ), statusBar: { visible: g.boolean( null === (t = i.statusBar) || void 0 === t ? void 0 : t.visible, !!this.defaultValue.statusBar.visible ), }, }; } })() ), suggestFontSize: D( new f(97, 'suggestFontSize', 0, 0, 1e3, { markdownDescription: n.N( 'suggestFontSize', 'Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.' ), }) ), suggestLineHeight: D( new f(98, 'suggestLineHeight', 0, 0, 1e3, { markdownDescription: n.N( 'suggestLineHeight', 'Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.' ), }) ), suggestOnTriggerCharacters: D( new g(99, 'suggestOnTriggerCharacters', !0, { description: n.N( 'suggestOnTriggerCharacters', 'Controls whether suggestions should automatically show up when typing trigger characters.' ), }) ), suggestSelection: D( new _( 100, 'suggestSelection', 'recentlyUsed', ['first', 'recentlyUsed', 'recentlyUsedByPrefix'], { markdownEnumDescriptions: [ n.N( 'suggestSelection.first', 'Always select the first suggestion.' ), n.N( 'suggestSelection.recentlyUsed', 'Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.' ), n.N( 'suggestSelection.recentlyUsedByPrefix', 'Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.' ), ], description: n.N( 'suggestSelection', 'Controls how suggestions are pre-selected when showing the suggest list.' ), } ) ), tabCompletion: D( new _(101, 'tabCompletion', 'off', ['on', 'off', 'onlySnippets'], { enumDescriptions: [ n.N( 'tabCompletion.on', 'Tab complete will insert the best matching suggestion when pressing tab.' ), n.N('tabCompletion.off', 'Disable tab completions.'), n.N( 'tabCompletion.onlySnippets', "Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled." ), ], description: n.N('tabCompletion', 'Enables tab completions.'), }) ), tabIndex: D(new f(102, 'tabIndex', 0, -1, 1073741824)), unusualLineTerminators: D( new _( 103, 'unusualLineTerminators', 'prompt', ['off', 'prompt', 'auto'], { enumDescriptions: [ n.N( 'unusualLineTerminators.off', 'Unusual line terminators are ignored.' ), n.N( 'unusualLineTerminators.prompt', 'Unusual line terminators prompt to be removed.' ), n.N( 'unusualLineTerminators.auto', 'Unusual line terminators are automatically removed.' ), ], description: n.N( 'unusualLineTerminators', 'Remove unusual line terminators that might cause problems.' ), } ) ), useTabStops: D( new g(104, 'useTabStops', !0, { description: n.N( 'useTabStops', 'Inserting and deleting whitespace follows tab stops.' ), }) ), wordSeparators: D( new m(105, 'wordSeparators', s.vu, { description: n.N( 'wordSeparators', 'Characters that will be used as word separators when doing word related navigations or operations.' ), }) ), wordWrap: D( new _( 106, 'wordWrap', 'off', ['off', 'on', 'wordWrapColumn', 'bounded'], { markdownEnumDescriptions: [ n.N('wordWrap.off', 'Lines will never wrap.'), n.N('wordWrap.on', 'Lines will wrap at the viewport width.'), n.N( { key: 'wordWrap.wordWrapColumn', comment: [ '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', ], }, 'Lines will wrap at `#editor.wordWrapColumn#`.' ), n.N( { key: 'wordWrap.bounded', comment: [ '- viewport means the edge of the visible window size.', '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', ], }, 'Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.' ), ], description: n.N( { key: 'wordWrap', comment: [ "- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.", '- `editor.wordWrapColumn` refers to a different setting and should not be localized.', ], }, 'Controls how lines should wrap.' ), } ) ), wordWrapBreakAfterCharacters: D( new m( 107, 'wordWrapBreakAfterCharacters', ' \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」' ) ), wordWrapBreakBeforeCharacters: D( new m( 108, 'wordWrapBreakBeforeCharacters', '([{‘“〈《「『【〔([{「£¥$£¥++' ) ), wordWrapColumn: D( new f(109, 'wordWrapColumn', 80, 1, 1073741824, { markdownDescription: n.N( { key: 'wordWrapColumn', comment: [ '- `editor.wordWrap` refers to a different setting and should not be localized.', "- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.", ], }, 'Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.' ), }) ), wordWrapMinified: D(new g(110, 'wordWrapMinified', !0)), wrappingIndent: D( new b( 111, 'wrappingIndent', 1, 'same', ['none', 'same', 'indent', 'deepIndent'], function (e) { switch (e) { case 'none': return 0; case 'same': return 1; case 'indent': return 2; case 'deepIndent': return 3; } }, { enumDescriptions: [ n.N( 'wrappingIndent.none', 'No indentation. Wrapped lines begin at column 1.' ), n.N( 'wrappingIndent.same', 'Wrapped lines get the same indentation as the parent.' ), n.N( 'wrappingIndent.indent', 'Wrapped lines get +1 indentation toward the parent.' ), n.N( 'wrappingIndent.deepIndent', 'Wrapped lines get +2 indentation toward the parent.' ), ], description: n.N( 'wrappingIndent', 'Controls the indentation of wrapped lines.' ), } ) ), wrappingStrategy: D( new _(112, 'wrappingStrategy', 'simple', ['simple', 'advanced'], { enumDescriptions: [ n.N( 'wrappingStrategy.simple', 'Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.' ), n.N( 'wrappingStrategy.advanced', 'Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.' ), ], description: n.N( 'wrappingStrategy', 'Controls the algorithm that computes wrapping points.' ), }) ), editorClassName: D( new (class extends h { constructor() { super(114, [57, 27]); } compute(e, t, i) { const n = ['monaco-editor']; return ( t.get(27) && n.push(t.get(27)), e.extraEditorClassName && n.push(e.extraEditorClassName), 'default' === t.get(57) ? n.push('mouse-default') : 'copy' === t.get(57) && n.push('mouse-copy'), t.get(92) && n.push('showUnused'), t.get(113) && n.push('showDeprecated'), n.join(' ') ); } })() ), pixelRatio: D( new (class extends h { constructor() { super(115); } compute(e, t, i) { return e.pixelRatio; } })() ), tabFocusMode: D( new (class extends h { constructor() { super(116, [72]); } compute(e, t, i) { return !!t.get(72) || e.tabFocusMode; } })() ), layoutInfo: D(new C()), wrappingInfo: D( new (class extends h { constructor() { super(118, [117]); } compute(e, t, i) { const n = t.get(117); return { isDominatedByLongLines: e.isDominatedByLongLines, isWordWrapMinified: n.isWordWrapMinified, isViewportWrapping: n.isViewportWrapping, wrappingColumn: n.wrappingColumn, }; } })() ), }; }, 82334: (e, t, i) => { 'use strict'; i.d(t, { C: () => r }); var n = i(4669); const r = new (class { constructor() { (this._zoomLevel = 0), (this._onDidChangeZoomLevel = new n.Q5()), (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event); } getZoomLevel() { return this._zoomLevel; } setZoomLevel(e) { (e = Math.min(Math.max(-5, e), 20)), this._zoomLevel !== e && ((this._zoomLevel = e), this._onDidChangeZoomLevel.fire(this._zoomLevel)); } })(); }, 27374: (e, t, i) => { 'use strict'; i.d(t, { E: () => o, p: () => a }); var n = i(1432), r = i(82334); const s = n.dz ? 1.5 : 1.35; class o { constructor(e) { (this.zoomLevel = e.zoomLevel), (this.fontFamily = String(e.fontFamily)), (this.fontWeight = String(e.fontWeight)), (this.fontSize = e.fontSize), (this.fontFeatureSettings = e.fontFeatureSettings), (this.lineHeight = 0 | e.lineHeight), (this.letterSpacing = e.letterSpacing); } static createFromValidatedSettings(e, t, i) { const n = e.get(35), r = e.get(39), s = e.get(38), a = e.get(37), l = e.get(51), c = e.get(48); return o._create(n, r, s, a, l, c, t, i); } static _create(e, t, i, n, a, l, c, d) { 0 === a ? (a = Math.round(s * i)) : a < 8 && (a = 8); const h = 1 + (d ? 0 : 0.1 * r.C.getZoomLevel()); return new o({ zoomLevel: c, fontFamily: e, fontWeight: t, fontSize: (i *= h), fontFeatureSettings: n, lineHeight: (a *= h), letterSpacing: l, }); } getId() { return ( this.zoomLevel + '-' + this.fontFamily + '-' + this.fontWeight + '-' + this.fontSize + '-' + this.fontFeatureSettings + '-' + this.lineHeight + '-' + this.letterSpacing ); } getMassagedFontFamily() { return /[,"']/.test(this.fontFamily) ? this.fontFamily : /[+ ]/.test(this.fontFamily) ? `"${this.fontFamily}"` : this.fontFamily; } } class a extends o { constructor(e, t) { super(e), (this.isTrusted = t), (this.isMonospace = e.isMonospace), (this.typicalHalfwidthCharacterWidth = e.typicalHalfwidthCharacterWidth), (this.typicalFullwidthCharacterWidth = e.typicalFullwidthCharacterWidth), (this.canUseHalfwidthRightwardsArrow = e.canUseHalfwidthRightwardsArrow), (this.spaceWidth = e.spaceWidth), (this.middotWidth = e.middotWidth), (this.wsmiddotWidth = e.wsmiddotWidth), (this.maxDigitWidth = e.maxDigitWidth); } equals(e) { return ( this.fontFamily === e.fontFamily && this.fontWeight === e.fontWeight && this.fontSize === e.fontSize && this.fontFeatureSettings === e.fontFeatureSettings && this.lineHeight === e.lineHeight && this.letterSpacing === e.letterSpacing && this.typicalHalfwidthCharacterWidth === e.typicalHalfwidthCharacterWidth && this.typicalFullwidthCharacterWidth === e.typicalFullwidthCharacterWidth && this.canUseHalfwidthRightwardsArrow === e.canUseHalfwidthRightwardsArrow && this.spaceWidth === e.spaceWidth && this.middotWidth === e.middotWidth && this.wsmiddotWidth === e.wsmiddotWidth && this.maxDigitWidth === e.maxDigitWidth ); } } }, 33181: (e, t, i) => { 'use strict'; i.d(t, { LM: () => f, rS: () => p, zp: () => m, Vi: () => v, Tp: () => y, io: () => w, LN: () => C, }); var n = i(17301), r = i(97295), s = i(50187), o = i(24314), a = i(3860), l = i(3411), c = i(83831); const d = () => !0, h = () => !1, u = (e) => ' ' === e || '\t' === e; function g(e, t, i) { e.has(t) ? e.get(t).push(i) : e.set(t, [i]); } class f { constructor(e, t, i) { this._languageIdentifier = e; const n = i.options, r = n.get(117); (this.readOnly = n.get(72)), (this.tabSize = t.tabSize), (this.indentSize = t.indentSize), (this.insertSpaces = t.insertSpaces), (this.lineHeight = n.get(51)), (this.pageSize = Math.max( 1, Math.floor(r.height / this.lineHeight) - 2 )), (this.useTabStops = n.get(104)), (this.wordSeparators = n.get(105)), (this.emptySelectionClipboard = n.get(26)), (this.copyWithSyntaxHighlighting = n.get(16)), (this.multiCursorMergeOverlapping = n.get(60)), (this.multiCursorPaste = n.get(62)), (this.autoClosingBrackets = n.get(5)), (this.autoClosingQuotes = n.get(7)), (this.autoClosingOvertype = n.get(6)), (this.autoSurround = n.get(10)), (this.autoIndent = n.get(8)), (this.autoClosingPairsOpen2 = new Map()), (this.autoClosingPairsClose2 = new Map()), (this.surroundingPairs = {}), (this._electricChars = null), (this.shouldAutoCloseBefore = { quote: f._getShouldAutoClose(e, this.autoClosingQuotes), bracket: f._getShouldAutoClose(e, this.autoClosingBrackets), }); let s = f._getAutoClosingPairs(e); if (s) for (const e of s) g( this.autoClosingPairsOpen2, e.open.charAt(e.open.length - 1), e ), 1 === e.close.length && g(this.autoClosingPairsClose2, e.close, e); let o = f._getSurroundingPairs(e); if (o) for (const e of o) this.surroundingPairs[e.open] = e.close; } static shouldRecreate(e) { return ( e.hasChanged(117) || e.hasChanged(105) || e.hasChanged(26) || e.hasChanged(60) || e.hasChanged(62) || e.hasChanged(5) || e.hasChanged(7) || e.hasChanged(6) || e.hasChanged(10) || e.hasChanged(104) || e.hasChanged(51) || e.hasChanged(72) ); } get electricChars() { if (!this._electricChars) { this._electricChars = {}; let e = f._getElectricCharacters(this._languageIdentifier); if (e) for (const t of e) this._electricChars[t] = !0; } return this._electricChars; } normalizeIndentation(e) { return l.yO.normalizeIndentation( e, this.indentSize, this.insertSpaces ); } static _getElectricCharacters(e) { try { return c.zu.getElectricCharacters(e.id); } catch (e) { return (0, n.dL)(e), null; } } static _getAutoClosingPairs(e) { try { return c.zu.getAutoClosingPairs(e.id); } catch (e) { return (0, n.dL)(e), null; } } static _getShouldAutoClose(e, t) { switch (t) { case 'beforeWhitespace': return u; case 'languageDefined': return f._getLanguageDefinedShouldAutoClose(e); case 'always': return d; case 'never': return h; } } static _getLanguageDefinedShouldAutoClose(e) { try { const t = c.zu.getAutoCloseBeforeSet(e.id); return (e) => -1 !== t.indexOf(e); } catch (e) { return (0, n.dL)(e), h; } } static _getSurroundingPairs(e) { try { return c.zu.getSurroundingPairs(e.id); } catch (e) { return (0, n.dL)(e), null; } } } class p { constructor(e, t, i, n) { (this.selectionStart = e), (this.selectionStartLeftoverVisibleColumns = t), (this.position = i), (this.leftoverVisibleColumns = n), (this.selection = p._computeSelection( this.selectionStart, this.position )); } equals(e) { return ( this.selectionStartLeftoverVisibleColumns === e.selectionStartLeftoverVisibleColumns && this.leftoverVisibleColumns === e.leftoverVisibleColumns && this.position.equals(e.position) && this.selectionStart.equalsRange(e.selectionStart) ); } hasSelection() { return !this.selection.isEmpty() || !this.selectionStart.isEmpty(); } move(e, t, i, n) { return e ? new p( this.selectionStart, this.selectionStartLeftoverVisibleColumns, new s.L(t, i), n ) : new p(new o.e(t, i, t, i), n, new s.L(t, i), n); } static _computeSelection(e, t) { let i, n, r, s; return ( e.isEmpty() ? ((i = e.startLineNumber), (n = e.startColumn), (r = t.lineNumber), (s = t.column)) : t.isBeforeOrEqual(e.getStartPosition()) ? ((i = e.endLineNumber), (n = e.endColumn), (r = t.lineNumber), (s = t.column)) : ((i = e.startLineNumber), (n = e.startColumn), (r = t.lineNumber), (s = t.column)), new a.Y(i, n, r, s) ); } } class m { constructor(e, t, i) { (this.model = e), (this.coordinatesConverter = t), (this.cursorConfig = i); } } class _ { constructor(e) { (this.modelState = e), (this.viewState = null); } } class b { constructor(e) { (this.modelState = null), (this.viewState = e); } } class v { constructor(e, t) { (this.modelState = e), (this.viewState = t); } static fromModelState(e) { return new _(e); } static fromViewState(e) { return new b(e); } static fromModelSelection(e) { const t = e.selectionStartLineNumber, i = e.selectionStartColumn, n = e.positionLineNumber, r = e.positionColumn, a = new p(new o.e(t, i, t, i), 0, new s.L(n, r), 0); return v.fromModelState(a); } static fromModelSelections(e) { let t = []; for (let i = 0, n = e.length; i < n; i++) t[i] = this.fromModelSelection(e[i]); return t; } equals(e) { return ( this.viewState.equals(e.viewState) && this.modelState.equals(e.modelState) ); } } class y { constructor(e, t, i) { (this.type = e), (this.commands = t), (this.shouldPushStackElementBefore = i.shouldPushStackElementBefore), (this.shouldPushStackElementAfter = i.shouldPushStackElementAfter); } } class w { static visibleColumnFromColumn(e, t, i) { const n = e.length, s = t - 1 < n ? t - 1 : n; let o = 0, a = 0; for (; a < s; ) { const t = r.ZH(e, s, a); if (((a += t >= 65536 ? 2 : 1), 9 === t)) o = w.nextRenderTabStop(o, i); else { let i = r.S6(t); for (; a < s; ) { const t = r.ZH(e, s, a), n = r.S6(t); if (r.fi(i, n)) break; (a += t >= 65536 ? 2 : 1), (i = n); } r.K7(t) || r.C8(t) ? (o += 2) : (o += 1); } } return o; } static visibleColumnFromColumn2(e, t, i) { return this.visibleColumnFromColumn( t.getLineContent(i.lineNumber), i.column, e.tabSize ); } static columnFromVisibleColumn(e, t, i) { if (t <= 0) return 1; const n = e.length; let s = 0, o = 1, a = 0; for (; a < n; ) { const l = r.ZH(e, n, a); let c; if (((a += l >= 65536 ? 2 : 1), 9 === l)) c = w.nextRenderTabStop(s, i); else { let t = r.S6(l); for (; a < n; ) { const i = r.ZH(e, n, a), s = r.S6(i); if (r.fi(t, s)) break; (a += i >= 65536 ? 2 : 1), (t = s); } c = r.K7(l) || r.C8(l) ? s + 2 : s + 1; } const d = a + 1; if (c >= t) return c - t < t - s ? d : o; (s = c), (o = d); } return n + 1; } static columnFromVisibleColumn2(e, t, i, n) { let r = this.columnFromVisibleColumn( t.getLineContent(i), n, e.tabSize ), s = t.getLineMinColumn(i); if (r < s) return s; let o = t.getLineMaxColumn(i); return r > o ? o : r; } static nextRenderTabStop(e, t) { return e + t - (e % t); } static nextIndentTabStop(e, t) { return e + t - (e % t); } static prevRenderTabStop(e, t) { return e - 1 - ((e - 1) % t); } static prevIndentTabStop(e, t) { return e - 1 - ((e - 1) % t); } } function C(e) { return "'" === e || '"' === e || '`' === e; } }, 31380: (e, t, i) => { 'use strict'; i.d(t, { A: () => l }); var n = i(97295), r = i(61329), s = i(33181), o = i(88784), a = i(24314); class l { static deleteRight(e, t, i, n) { let s = [], l = 3 !== e; for (let e = 0, c = n.length; e < c; e++) { const c = n[e]; let d = c; if (d.isEmpty()) { let e = c.getPosition(), n = o.o.right(t, i, e.lineNumber, e.column); d = new a.e(n.lineNumber, n.column, e.lineNumber, e.column); } d.isEmpty() ? (s[e] = null) : (d.startLineNumber !== d.endLineNumber && (l = !0), (s[e] = new r.T4(d, ''))); } return [l, s]; } static _isAutoClosingPairDelete(e, t, i) { if ( 'never' === e.autoClosingBrackets && 'never' === e.autoClosingQuotes ) return !1; for (let n = 0, r = i.length; n < r; n++) { const r = i[n], o = r.getPosition(); if (!r.isEmpty()) return !1; const a = t.getLineContent(o.lineNumber), l = a[o.column - 2], c = e.autoClosingPairsOpen2.get(l); if (!c) return !1; if ((0, s.LN)(l)) { if ('never' === e.autoClosingQuotes) return !1; } else if ('never' === e.autoClosingBrackets) return !1; const d = a[o.column - 1]; let h = !1; for (const e of c) e.open === l && e.close === d && (h = !0); if (!h) return !1; } return !0; } static _runAutoClosingPairDelete(e, t, i) { let n = []; for (let e = 0, t = i.length; e < t; e++) { const t = i[e].getPosition(), s = new a.e( t.lineNumber, t.column - 1, t.lineNumber, t.column + 1 ); n[e] = new r.T4(s, ''); } return [!0, n]; } static deleteLeft(e, t, i, l) { if (this._isAutoClosingPairDelete(t, i, l)) return this._runAutoClosingPairDelete(t, i, l); let c = [], d = 2 !== e; for (let e = 0, h = l.length; e < h; e++) { const h = l[e]; let u = h; if (u.isEmpty()) { let e = h.getPosition(); if (t.useTabStops && e.column > 1) { let r = i.getLineContent(e.lineNumber), o = n.LC(r), l = -1 === o ? r.length + 1 : o + 1; if (e.column <= l) { let n = s.io.visibleColumnFromColumn2(t, i, e), r = s.io.prevIndentTabStop(n, t.indentSize), o = s.io.columnFromVisibleColumn2(t, i, e.lineNumber, r); u = new a.e(e.lineNumber, o, e.lineNumber, e.column); } else u = new a.e( e.lineNumber, e.column - 1, e.lineNumber, e.column ); } else { let n = o.o.left(t, i, e.lineNumber, e.column); u = new a.e(n.lineNumber, n.column, e.lineNumber, e.column); } } u.isEmpty() ? (c[e] = null) : (u.startLineNumber !== u.endLineNumber && (d = !0), (c[e] = new r.T4(u, ''))); } return [d, c]; } static cut(e, t, i) { let n = []; for (let s = 0, o = i.length; s < o; s++) { const o = i[s]; if (o.isEmpty()) if (e.emptySelectionClipboard) { let e, i, l, c, d = o.getPosition(); d.lineNumber < t.getLineCount() ? ((e = d.lineNumber), (i = 1), (l = d.lineNumber + 1), (c = 1)) : d.lineNumber > 1 ? ((e = d.lineNumber - 1), (i = t.getLineMaxColumn(d.lineNumber - 1)), (l = d.lineNumber), (c = t.getLineMaxColumn(d.lineNumber))) : ((e = d.lineNumber), (i = 1), (l = d.lineNumber), (c = t.getLineMaxColumn(d.lineNumber))); let h = new a.e(e, i, l, c); h.isEmpty() ? (n[s] = null) : (n[s] = new r.T4(h, '')); } else n[s] = null; else n[s] = new r.T4(o, ''); } return new s.Tp(0, n, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !0, }); } } }, 83814: (e, t, i) => { 'use strict'; i.d(t, { P: () => d, N: () => n }); var n, r = i(98401), s = i(33181), o = i(88784), a = i(5795), l = i(50187), c = i(24314); class d { static addCursorDown(e, t, i) { let n = [], r = 0; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; (n[r++] = new s.Vi(l.modelState, l.viewState)), (n[r++] = i ? s.Vi.fromModelState( o.o.translateDown(e.cursorConfig, e.model, l.modelState) ) : s.Vi.fromViewState( o.o.translateDown(e.cursorConfig, e, l.viewState) )); } return n; } static addCursorUp(e, t, i) { let n = [], r = 0; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; (n[r++] = new s.Vi(l.modelState, l.viewState)), (n[r++] = i ? s.Vi.fromModelState( o.o.translateUp(e.cursorConfig, e.model, l.modelState) ) : s.Vi.fromViewState( o.o.translateUp(e.cursorConfig, e, l.viewState) )); } return n; } static moveToBeginningOfLine(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r]; n[r] = this._moveToLineStart(e, s, i); } return n; } static _moveToLineStart(e, t, i) { const n = t.viewState.position.column, r = n === t.modelState.position.column, s = t.viewState.position.lineNumber, o = e.getLineFirstNonWhitespaceColumn(s); return r || n === o ? this._moveToLineStartByModel(e, t, i) : this._moveToLineStartByView(e, t, i); } static _moveToLineStartByView(e, t, i) { return s.Vi.fromViewState( o.o.moveToBeginningOfLine(e.cursorConfig, e, t.viewState, i) ); } static _moveToLineStartByModel(e, t, i) { return s.Vi.fromModelState( o.o.moveToBeginningOfLine( e.cursorConfig, e.model, t.modelState, i ) ); } static moveToEndOfLine(e, t, i, n) { let r = []; for (let s = 0, o = t.length; s < o; s++) { const o = t[s]; r[s] = this._moveToLineEnd(e, o, i, n); } return r; } static _moveToLineEnd(e, t, i, n) { const r = t.viewState.position, s = e.getLineMaxColumn(r.lineNumber), o = r.column === s, a = t.modelState.position, l = e.model.getLineMaxColumn(a.lineNumber), c = s - r.column == l - a.column; return o || c ? this._moveToLineEndByModel(e, t, i, n) : this._moveToLineEndByView(e, t, i, n); } static _moveToLineEndByView(e, t, i, n) { return s.Vi.fromViewState( o.o.moveToEndOfLine(e.cursorConfig, e, t.viewState, i, n) ); } static _moveToLineEndByModel(e, t, i, n) { return s.Vi.fromModelState( o.o.moveToEndOfLine(e.cursorConfig, e.model, t.modelState, i, n) ); } static expandLineSelection(e, t) { let i = []; for (let n = 0, r = t.length; n < r; n++) { const r = t[n], o = r.modelState.selection.startLineNumber, a = e.model.getLineCount(); let d, h = r.modelState.selection.endLineNumber; h === a ? (d = e.model.getLineMaxColumn(a)) : (h++, (d = 1)), (i[n] = s.Vi.fromModelState( new s.rS(new c.e(o, 1, o, 1), 0, new l.L(h, d), 0) )); } return i; } static moveToBeginningOfBuffer(e, t, i) { let n = []; for (let r = 0, a = t.length; r < a; r++) { const a = t[r]; n[r] = s.Vi.fromModelState( o.o.moveToBeginningOfBuffer( e.cursorConfig, e.model, a.modelState, i ) ); } return n; } static moveToEndOfBuffer(e, t, i) { let n = []; for (let r = 0, a = t.length; r < a; r++) { const a = t[r]; n[r] = s.Vi.fromModelState( o.o.moveToEndOfBuffer(e.cursorConfig, e.model, a.modelState, i) ); } return n; } static selectAll(e, t) { const i = e.model.getLineCount(), n = e.model.getLineMaxColumn(i); return s.Vi.fromModelState( new s.rS(new c.e(1, 1, 1, 1), 0, new l.L(i, n), 0) ); } static line(e, t, i, n, r) { const o = e.model.validatePosition(n), a = r ? e.coordinatesConverter.validateViewPosition( new l.L(r.lineNumber, r.column), o ) : e.coordinatesConverter.convertModelPositionToViewPosition(o); if (!i || !t.modelState.hasSelection()) { const t = e.model.getLineCount(); let i = o.lineNumber + 1, n = 1; return ( i > t && ((i = t), (n = e.model.getLineMaxColumn(i))), s.Vi.fromModelState( new s.rS(new c.e(o.lineNumber, 1, i, n), 0, new l.L(i, n), 0) ) ); } const d = t.modelState.selectionStart.getStartPosition().lineNumber; if (o.lineNumber < d) return s.Vi.fromViewState( t.viewState.move( t.modelState.hasSelection(), a.lineNumber, 1, 0 ) ); if (o.lineNumber > d) { const i = e.getLineCount(); let n = a.lineNumber + 1, r = 1; return ( n > i && ((n = i), (r = e.getLineMaxColumn(n))), s.Vi.fromViewState( t.viewState.move(t.modelState.hasSelection(), n, r, 0) ) ); } { const e = t.modelState.selectionStart.getEndPosition(); return s.Vi.fromModelState( t.modelState.move( t.modelState.hasSelection(), e.lineNumber, e.column, 0 ) ); } } static word(e, t, i, n) { const r = e.model.validatePosition(n); return s.Vi.fromModelState( a.w.word(e.cursorConfig, e.model, t.modelState, i, r) ); } static cancelSelection(e, t) { if (!t.modelState.hasSelection()) return new s.Vi(t.modelState, t.viewState); const i = t.viewState.position.lineNumber, n = t.viewState.position.column; return s.Vi.fromViewState( new s.rS(new c.e(i, n, i, n), 0, new l.L(i, n), 0) ); } static moveTo(e, t, i, n, r) { const o = e.model.validatePosition(n), a = r ? e.coordinatesConverter.validateViewPosition( new l.L(r.lineNumber, r.column), o ) : e.coordinatesConverter.convertModelPositionToViewPosition(o); return s.Vi.fromViewState( t.viewState.move(i, a.lineNumber, a.column, 0) ); } static simpleMove(e, t, i, n, r, s) { switch (i) { case 0: return 4 === s ? this._moveHalfLineLeft(e, t, n) : this._moveLeft(e, t, n, r); case 1: return 4 === s ? this._moveHalfLineRight(e, t, n) : this._moveRight(e, t, n, r); case 2: return 2 === s ? this._moveUpByViewLines(e, t, n, r) : this._moveUpByModelLines(e, t, n, r); case 3: return 2 === s ? this._moveDownByViewLines(e, t, n, r) : this._moveDownByModelLines(e, t, n, r); case 4: return this._moveToViewMinColumn(e, t, n); case 5: return this._moveToViewFirstNonWhitespaceColumn(e, t, n); case 6: return this._moveToViewCenterColumn(e, t, n); case 7: return this._moveToViewMaxColumn(e, t, n); case 8: return this._moveToViewLastNonWhitespaceColumn(e, t, n); default: return null; } } static viewportMove(e, t, i, n, r) { const s = e.getCompletelyVisibleViewRange(), o = e.coordinatesConverter.convertViewRangeToModelRange(s); switch (i) { case 9: { const i = this._firstLineNumberInRange(e.model, o, r), s = e.model.getLineFirstNonWhitespaceColumn(i); return [this._moveToModelPosition(e, t[0], n, i, s)]; } case 11: { const i = this._lastLineNumberInRange(e.model, o, r), s = e.model.getLineFirstNonWhitespaceColumn(i); return [this._moveToModelPosition(e, t[0], n, i, s)]; } case 10: { const i = Math.round((o.startLineNumber + o.endLineNumber) / 2), r = e.model.getLineFirstNonWhitespaceColumn(i); return [this._moveToModelPosition(e, t[0], n, i, r)]; } case 12: { let i = []; for (let r = 0, o = t.length; r < o; r++) { const o = t[r]; i[r] = this.findPositionInViewportIfOutside(e, o, s, n); } return i; } default: return null; } } static findPositionInViewportIfOutside(e, t, i, n) { let r = t.viewState.position.lineNumber; if (i.startLineNumber <= r && r <= i.endLineNumber - 1) return new s.Vi(t.modelState, t.viewState); { r > i.endLineNumber - 1 && (r = i.endLineNumber - 1), r < i.startLineNumber && (r = i.startLineNumber); const s = e.getLineFirstNonWhitespaceColumn(r); return this._moveToViewPosition(e, t, n, r, s); } } static _firstLineNumberInRange(e, t, i) { let n = t.startLineNumber; return ( t.startColumn !== e.getLineMinColumn(n) && n++, Math.min(t.endLineNumber, n + i - 1) ); } static _lastLineNumberInRange(e, t, i) { let n = t.startLineNumber; return ( t.startColumn !== e.getLineMinColumn(n) && n++, Math.max(n, t.endLineNumber - i + 1) ); } static _moveLeft(e, t, i, n) { const r = t.length > 1; let a = []; for (let l = 0, c = t.length; l < c; l++) { const c = t[l], d = r || !c.viewState.hasSelection(); let h = o.o.moveLeft(e.cursorConfig, e, c.viewState, i, n); d && 1 === n && h.position.lineNumber !== c.viewState.position.lineNumber && e.coordinatesConverter.convertViewPositionToModelPosition( h.position ).lineNumber === c.modelState.position.lineNumber && (h = o.o.moveLeft(e.cursorConfig, e, h, i, 1)), (a[l] = s.Vi.fromViewState(h)); } return a; } static _moveHalfLineLeft(e, t, i) { let n = []; for (let r = 0, a = t.length; r < a; r++) { const a = t[r], l = a.viewState.position.lineNumber, c = Math.round(e.getLineContent(l).length / 2); n[r] = s.Vi.fromViewState( o.o.moveLeft(e.cursorConfig, e, a.viewState, i, c) ); } return n; } static _moveRight(e, t, i, n) { const r = t.length > 1; let a = []; for (let l = 0, c = t.length; l < c; l++) { const c = t[l], d = r || !c.viewState.hasSelection(); let h = o.o.moveRight(e.cursorConfig, e, c.viewState, i, n); d && 1 === n && h.position.lineNumber !== c.viewState.position.lineNumber && e.coordinatesConverter.convertViewPositionToModelPosition( h.position ).lineNumber === c.modelState.position.lineNumber && (h = o.o.moveRight(e.cursorConfig, e, h, i, 1)), (a[l] = s.Vi.fromViewState(h)); } return a; } static _moveHalfLineRight(e, t, i) { let n = []; for (let r = 0, a = t.length; r < a; r++) { const a = t[r], l = a.viewState.position.lineNumber, c = Math.round(e.getLineContent(l).length / 2); n[r] = s.Vi.fromViewState( o.o.moveRight(e.cursorConfig, e, a.viewState, i, c) ); } return n; } static _moveDownByViewLines(e, t, i, n) { let r = []; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; r[a] = s.Vi.fromViewState( o.o.moveDown(e.cursorConfig, e, l.viewState, i, n) ); } return r; } static _moveDownByModelLines(e, t, i, n) { let r = []; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; r[a] = s.Vi.fromModelState( o.o.moveDown(e.cursorConfig, e.model, l.modelState, i, n) ); } return r; } static _moveUpByViewLines(e, t, i, n) { let r = []; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; r[a] = s.Vi.fromViewState( o.o.moveUp(e.cursorConfig, e, l.viewState, i, n) ); } return r; } static _moveUpByModelLines(e, t, i, n) { let r = []; for (let a = 0, l = t.length; a < l; a++) { const l = t[a]; r[a] = s.Vi.fromModelState( o.o.moveUp(e.cursorConfig, e.model, l.modelState, i, n) ); } return r; } static _moveToViewPosition(e, t, i, n, r) { return s.Vi.fromViewState(t.viewState.move(i, n, r, 0)); } static _moveToModelPosition(e, t, i, n, r) { return s.Vi.fromModelState(t.modelState.move(i, n, r, 0)); } static _moveToViewMinColumn(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = s.viewState.position.lineNumber, a = e.getLineMinColumn(o); n[r] = this._moveToViewPosition(e, s, i, o, a); } return n; } static _moveToViewFirstNonWhitespaceColumn(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = s.viewState.position.lineNumber, a = e.getLineFirstNonWhitespaceColumn(o); n[r] = this._moveToViewPosition(e, s, i, o, a); } return n; } static _moveToViewCenterColumn(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = s.viewState.position.lineNumber, a = Math.round( (e.getLineMaxColumn(o) + e.getLineMinColumn(o)) / 2 ); n[r] = this._moveToViewPosition(e, s, i, o, a); } return n; } static _moveToViewMaxColumn(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = s.viewState.position.lineNumber, a = e.getLineMaxColumn(o); n[r] = this._moveToViewPosition(e, s, i, o, a); } return n; } static _moveToViewLastNonWhitespaceColumn(e, t, i) { let n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = s.viewState.position.lineNumber, a = e.getLineLastNonWhitespaceColumn(o); n[r] = this._moveToViewPosition(e, s, i, o, a); } return n; } } !(function (e) { (e.description = { description: 'Move cursor to a logical position in the view', args: [ { name: 'Cursor move argument object', description: "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down'\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t", constraint: function (e) { if (!r.Kn(e)) return !1; let t = e; return !( !r.HD(t.to) || (!r.o8(t.select) && !r.jn(t.select)) || (!r.o8(t.by) && !r.HD(t.by)) || (!r.o8(t.value) && !r.hj(t.value)) ); }, schema: { type: 'object', required: ['to'], properties: { to: { type: 'string', enum: [ 'left', 'right', 'up', 'down', 'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter', 'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter', 'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside', ], }, by: { type: 'string', enum: ['line', 'wrappedLine', 'character', 'halfLine'], }, value: { type: 'number', default: 1 }, select: { type: 'boolean', default: !1 }, }, }, }, ], }), (e.RawDirection = { Left: 'left', Right: 'right', Up: 'up', Down: 'down', WrappedLineStart: 'wrappedLineStart', WrappedLineFirstNonWhitespaceCharacter: 'wrappedLineFirstNonWhitespaceCharacter', WrappedLineColumnCenter: 'wrappedLineColumnCenter', WrappedLineEnd: 'wrappedLineEnd', WrappedLineLastNonWhitespaceCharacter: 'wrappedLineLastNonWhitespaceCharacter', ViewPortTop: 'viewPortTop', ViewPortCenter: 'viewPortCenter', ViewPortBottom: 'viewPortBottom', ViewPortIfOutside: 'viewPortIfOutside', }), (e.RawUnit = { Line: 'line', WrappedLine: 'wrappedLine', Character: 'character', HalfLine: 'halfLine', }), (e.parse = function (t) { if (!t.to) return null; let i; switch (t.to) { case e.RawDirection.Left: i = 0; break; case e.RawDirection.Right: i = 1; break; case e.RawDirection.Up: i = 2; break; case e.RawDirection.Down: i = 3; break; case e.RawDirection.WrappedLineStart: i = 4; break; case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter: i = 5; break; case e.RawDirection.WrappedLineColumnCenter: i = 6; break; case e.RawDirection.WrappedLineEnd: i = 7; break; case e.RawDirection.WrappedLineLastNonWhitespaceCharacter: i = 8; break; case e.RawDirection.ViewPortTop: i = 9; break; case e.RawDirection.ViewPortBottom: i = 11; break; case e.RawDirection.ViewPortCenter: i = 10; break; case e.RawDirection.ViewPortIfOutside: i = 12; break; default: return null; } let n = 0; switch (t.by) { case e.RawUnit.Line: n = 1; break; case e.RawUnit.WrappedLine: n = 2; break; case e.RawUnit.Character: n = 3; break; case e.RawUnit.HalfLine: n = 4; } return { direction: i, unit: n, select: !!t.select, value: t.value || 1, }; }); })(n || (n = {})); }, 88784: (e, t, i) => { 'use strict'; i.d(t, { o: () => l }); var n = i(33181), r = i(50187), s = i(24314), o = i(97295); class a { constructor(e, t, i) { (this.lineNumber = e), (this.column = t), (this.leftoverVisibleColumns = i); } } class l { static leftPosition(e, t, i) { return ( i > e.getLineMinColumn(t) ? (i -= o.HO(e.getLineContent(t), i - 1)) : t > 1 && ((t -= 1), (i = e.getLineMaxColumn(t))), new r.L(t, i) ); } static left(e, t, i, n) { const r = l.leftPosition(t, i, n); return new a(r.lineNumber, r.column, 0); } static moveLeft(e, t, i, n, r) { let s, o; if (i.hasSelection() && !n) (s = i.selection.startLineNumber), (o = i.selection.startColumn); else { let n = l.left( e, t, i.position.lineNumber, i.position.column - (r - 1) ); (s = n.lineNumber), (o = n.column); } return i.move(n, s, o, 0); } static rightPosition(e, t, i) { return ( i < e.getLineMaxColumn(t) ? (i += o.vH(e.getLineContent(t), i - 1)) : t < e.getLineCount() && ((t += 1), (i = e.getLineMinColumn(t))), new r.L(t, i) ); } static right(e, t, i, n) { const r = l.rightPosition(t, i, n); return new a(r.lineNumber, r.column, 0); } static moveRight(e, t, i, n, r) { let s, o; if (i.hasSelection() && !n) (s = i.selection.endLineNumber), (o = i.selection.endColumn); else { let n = l.right( e, t, i.position.lineNumber, i.position.column + (r - 1) ); (s = n.lineNumber), (o = n.column); } return i.move(n, s, o, 0); } static down(e, t, i, r, s, o, l) { const c = n.io.visibleColumnFromColumn( t.getLineContent(i), r, e.tabSize ) + s, d = t.getLineCount(), h = i === d && r === t.getLineMaxColumn(i); return ( (i += o) > d ? ((i = d), (r = l ? t.getLineMaxColumn(i) : Math.min(t.getLineMaxColumn(i), r))) : (r = n.io.columnFromVisibleColumn2(e, t, i, c)), (s = h ? 0 : c - n.io.visibleColumnFromColumn( t.getLineContent(i), r, e.tabSize )), new a(i, r, s) ); } static moveDown(e, t, i, n, r) { let s, o; i.hasSelection() && !n ? ((s = i.selection.endLineNumber), (o = i.selection.endColumn)) : ((s = i.position.lineNumber), (o = i.position.column)); let a = l.down(e, t, s, o, i.leftoverVisibleColumns, r, !0); return i.move(n, a.lineNumber, a.column, a.leftoverVisibleColumns); } static translateDown(e, t, i) { let o = i.selection, a = l.down( e, t, o.selectionStartLineNumber, o.selectionStartColumn, i.selectionStartLeftoverVisibleColumns, 1, !1 ), c = l.down( e, t, o.positionLineNumber, o.positionColumn, i.leftoverVisibleColumns, 1, !1 ); return new n.rS( new s.e(a.lineNumber, a.column, a.lineNumber, a.column), a.leftoverVisibleColumns, new r.L(c.lineNumber, c.column), c.leftoverVisibleColumns ); } static up(e, t, i, r, s, o, l) { const c = n.io.visibleColumnFromColumn( t.getLineContent(i), r, e.tabSize ) + s, d = 1 === i && 1 === r; return ( (i -= o) < 1 ? ((i = 1), (r = l ? t.getLineMinColumn(i) : Math.min(t.getLineMaxColumn(i), r))) : (r = n.io.columnFromVisibleColumn2(e, t, i, c)), (s = d ? 0 : c - n.io.visibleColumnFromColumn( t.getLineContent(i), r, e.tabSize )), new a(i, r, s) ); } static moveUp(e, t, i, n, r) { let s, o; i.hasSelection() && !n ? ((s = i.selection.startLineNumber), (o = i.selection.startColumn)) : ((s = i.position.lineNumber), (o = i.position.column)); let a = l.up(e, t, s, o, i.leftoverVisibleColumns, r, !0); return i.move(n, a.lineNumber, a.column, a.leftoverVisibleColumns); } static translateUp(e, t, i) { let o = i.selection, a = l.up( e, t, o.selectionStartLineNumber, o.selectionStartColumn, i.selectionStartLeftoverVisibleColumns, 1, !1 ), c = l.up( e, t, o.positionLineNumber, o.positionColumn, i.leftoverVisibleColumns, 1, !1 ); return new n.rS( new s.e(a.lineNumber, a.column, a.lineNumber, a.column), a.leftoverVisibleColumns, new r.L(c.lineNumber, c.column), c.leftoverVisibleColumns ); } static moveToBeginningOfLine(e, t, i, n) { let r, s = i.position.lineNumber, o = t.getLineMinColumn(s), a = t.getLineFirstNonWhitespaceColumn(s) || o; return (r = i.position.column === a ? o : a), i.move(n, s, r, 0); } static moveToEndOfLine(e, t, i, n, r) { let s = i.position.lineNumber, o = t.getLineMaxColumn(s); return i.move(n, s, o, r ? 1073741824 - o : 0); } static moveToBeginningOfBuffer(e, t, i, n) { return i.move(n, 1, 1, 0); } static moveToEndOfBuffer(e, t, i, n) { let r = t.getLineCount(), s = t.getLineMaxColumn(r); return i.move(n, r, s, 0); } } }, 23582: (e, t, i) => { 'use strict'; i.d(t, { u: () => f, g: () => p }); var n = i(17301), r = i(97295), s = i(61329), o = i(10291), a = i(24314), l = i(3860); class c { constructor(e, t, i) { (this._range = e), (this._charBeforeSelection = t), (this._charAfterSelection = i); } getEditOperations(e, t) { t.addTrackedEditOperation( new a.e( this._range.startLineNumber, this._range.startColumn, this._range.startLineNumber, this._range.startColumn ), this._charBeforeSelection ), t.addTrackedEditOperation( new a.e( this._range.endLineNumber, this._range.endColumn, this._range.endLineNumber, this._range.endColumn ), this._charAfterSelection ); } computeCursorState(e, t) { let i = t.getInverseEditOperations(), n = i[0].range, r = i[1].range; return new l.Y( n.endLineNumber, n.endColumn, r.endLineNumber, r.endColumn - this._charAfterSelection.length ); } } var d = i(33181), h = i(59410), u = i(97354), g = i(83831); class f { static indent(e, t, i) { if (null === t || null === i) return []; let n = []; for (let t = 0, r = i.length; t < r; t++) n[t] = new o.U(i[t], { isUnshift: !1, tabSize: e.tabSize, indentSize: e.indentSize, insertSpaces: e.insertSpaces, useTabStops: e.useTabStops, autoIndent: e.autoIndent, }); return n; } static outdent(e, t, i) { let n = []; for (let t = 0, r = i.length; t < r; t++) n[t] = new o.U(i[t], { isUnshift: !0, tabSize: e.tabSize, indentSize: e.indentSize, insertSpaces: e.insertSpaces, useTabStops: e.useTabStops, autoIndent: e.autoIndent, }); return n; } static shiftIndent(e, t, i) { return ( (i = i || 1), o.U.shiftIndent( t, t.length + i, e.tabSize, e.indentSize, e.insertSpaces ) ); } static unshiftIndent(e, t, i) { return ( (i = i || 1), o.U.unshiftIndent( t, t.length + i, e.tabSize, e.indentSize, e.insertSpaces ) ); } static _distributedPaste(e, t, i, n) { let r = []; for (let e = 0, t = i.length; e < t; e++) r[e] = new s.T4(i[e], n[e]); return new d.Tp(0, r, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !0, }); } static _simplePaste(e, t, i, n, r) { let o = []; for (let e = 0, t = i.length; e < t; e++) { const t = i[e]; let l = t.getPosition(); if ( (r && !t.isEmpty() && (r = !1), r && n.indexOf('\n') !== n.length - 1 && (r = !1), r) ) { let i = new a.e(l.lineNumber, 1, l.lineNumber, 1); o[e] = new s.hP(i, n, t, !0); } else o[e] = new s.T4(t, n); } return new d.Tp(0, o, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !0, }); } static _distributePasteToCursors(e, t, i, n, r) { if (n) return null; if (1 === t.length) return null; if (r && r.length === t.length) return r; if ('spread' === e.multiCursorPaste) { 10 === i.charCodeAt(i.length - 1) && (i = i.substr(0, i.length - 1)), 13 === i.charCodeAt(i.length - 1) && (i = i.substr(0, i.length - 1)); let e = i.split(/\r\n|\r|\n/); if (e.length === t.length) return e; } return null; } static paste(e, t, i, n, r, s) { const o = this._distributePasteToCursors(e, i, n, r, s); return o ? ((i = i.sort(a.e.compareRangesUsingStarts)), this._distributedPaste(e, t, i, o)) : this._simplePaste(e, t, i, n, r); } static _goodIndentForLine(e, t, i) { let n = null, s = ''; const o = g.zu.getInheritIndentForLine(e.autoIndent, t, i, !1); if (o) (n = o.action), (s = o.indentation); else if (i > 1) { let n; for (n = i - 1; n >= 1; n--) { const e = t.getLineContent(n); if (r.ow(e) >= 0) break; } if (n < 1) return null; const o = t.getLineMaxColumn(n), l = g.zu.getEnterAction(e.autoIndent, t, new a.e(n, o, n, o)); l && (s = l.indentation + l.appendText); } return ( n && (n === u.w.Indent && (s = f.shiftIndent(e, s)), n === u.w.Outdent && (s = f.unshiftIndent(e, s)), (s = e.normalizeIndentation(s))), s || null ); } static _replaceJumpToNextIndent(e, t, i, n) { let r = '', o = i.getStartPosition(); if (e.insertSpaces) { let i = d.io.visibleColumnFromColumn2(e, t, o), n = e.indentSize, s = n - (i % n); for (let e = 0; e < s; e++) r += ' '; } else r = '\t'; return new s.T4(i, r, n); } static tab(e, t, i) { let n = []; for (let l = 0, c = i.length; l < c; l++) { const c = i[l]; if (c.isEmpty()) { let i = t.getLineContent(c.startLineNumber); if (/^\s*$/.test(i) && t.isCheapToTokenize(c.startLineNumber)) { let o = this._goodIndentForLine(e, t, c.startLineNumber); o = o || '\t'; let d = e.normalizeIndentation(o); if (!r.Ny(i, d)) { n[l] = new s.T4( new a.e( c.startLineNumber, 1, c.startLineNumber, i.length + 1 ), d, !0 ); continue; } } n[l] = this._replaceJumpToNextIndent(e, t, c, !0); } else { if (c.startLineNumber === c.endLineNumber) { let i = t.getLineMaxColumn(c.startLineNumber); if (1 !== c.startColumn || c.endColumn !== i) { n[l] = this._replaceJumpToNextIndent(e, t, c, !1); continue; } } n[l] = new o.U(c, { isUnshift: !1, tabSize: e.tabSize, indentSize: e.indentSize, insertSpaces: e.insertSpaces, useTabStops: e.useTabStops, autoIndent: e.autoIndent, }); } } return n; } static replacePreviousChar(e, t, i, n, r, o) { let l = []; for (let e = 0, t = n.length; e < t; e++) { const t = n[e]; if (!t.isEmpty()) { l[e] = null; continue; } const c = t.getPosition(), d = Math.max(1, c.column - o), h = new a.e(c.lineNumber, d, c.lineNumber, c.column); i.getValueInRange(h) !== r ? (l[e] = new s.T4(h, r)) : (l[e] = null); } return new d.Tp(1, l, { shouldPushStackElementBefore: 1 !== e, shouldPushStackElementAfter: !1, }); } static _typeCommand(e, t, i) { return i ? new s.Sj(e, t, !0) : new s.T4(e, t, !0); } static _enter(e, t, i, n) { if (0 === e.autoIndent) return f._typeCommand(n, '\n', i); if ( !t.isCheapToTokenize(n.getStartPosition().lineNumber) || 1 === e.autoIndent ) { let s = t.getLineContent(n.startLineNumber), o = r.V8(s).substring(0, n.startColumn - 1); return f._typeCommand(n, '\n' + e.normalizeIndentation(o), i); } const o = g.zu.getEnterAction(e.autoIndent, t, n); if (o) { if (o.indentAction === u.w.None) return f._typeCommand( n, '\n' + e.normalizeIndentation(o.indentation + o.appendText), i ); if (o.indentAction === u.w.Indent) return f._typeCommand( n, '\n' + e.normalizeIndentation(o.indentation + o.appendText), i ); if (o.indentAction === u.w.IndentOutdent) { const t = e.normalizeIndentation(o.indentation), r = e.normalizeIndentation(o.indentation + o.appendText), a = '\n' + r + '\n' + t; return i ? new s.Sj(n, a, !0) : new s.Uo(n, a, -1, r.length - t.length, !0); } if (o.indentAction === u.w.Outdent) { const t = f.unshiftIndent(e, o.indentation); return f._typeCommand( n, '\n' + e.normalizeIndentation(t + o.appendText), i ); } } const l = t.getLineContent(n.startLineNumber), c = r.V8(l).substring(0, n.startColumn - 1); if (e.autoIndent >= 4) { const o = g.zu.getIndentForEnter(e.autoIndent, t, n, { unshiftIndent: (t) => f.unshiftIndent(e, t), shiftIndent: (t) => f.shiftIndent(e, t), normalizeIndentation: (t) => e.normalizeIndentation(t), }); if (o) { let h = d.io.visibleColumnFromColumn2(e, t, n.getEndPosition()); const u = n.endColumn; let g = '\n'; c !== e.normalizeIndentation(o.beforeEnter) && ((g = e.normalizeIndentation(o.beforeEnter) + l.substring(c.length, n.startColumn - 1) + '\n'), (n = new a.e( n.startLineNumber, 1, n.endLineNumber, n.endColumn ))); const f = t.getLineContent(n.endLineNumber), p = r.LC(f); if ( ((n = p >= 0 ? n.setEndPosition( n.endLineNumber, Math.max(n.endColumn, p + 1) ) : n.setEndPosition( n.endLineNumber, t.getLineMaxColumn(n.endLineNumber) )), i) ) return new s.Sj( n, g + e.normalizeIndentation(o.afterEnter), !0 ); { let t = 0; return ( u <= p + 1 && (e.insertSpaces || (h = Math.ceil(h / e.indentSize)), (t = Math.min( h + 1 - e.normalizeIndentation(o.afterEnter).length - 1, 0 ))), new s.Uo( n, g + e.normalizeIndentation(o.afterEnter), 0, t, !0 ) ); } } } return f._typeCommand(n, '\n' + e.normalizeIndentation(c), i); } static _isAutoIndentType(e, t, i) { if (e.autoIndent < 4) return !1; for (let e = 0, n = i.length; e < n; e++) if (!t.isCheapToTokenize(i[e].getEndPosition().lineNumber)) return !1; return !0; } static _runAutoIndentType(e, t, i, n) { const r = g.zu.getIndentationAtPosition( t, i.startLineNumber, i.startColumn ), s = g.zu.getIndentActionForType(e.autoIndent, t, i, n, { shiftIndent: (t) => f.shiftIndent(e, t), unshiftIndent: (t) => f.unshiftIndent(e, t), }); if (null === s) return null; if (s !== e.normalizeIndentation(r)) { const r = t.getLineFirstNonWhitespaceColumn(i.startLineNumber); return 0 === r ? f._typeCommand( new a.e(i.startLineNumber, 0, i.endLineNumber, i.endColumn), e.normalizeIndentation(s) + n, !1 ) : f._typeCommand( new a.e(i.startLineNumber, 0, i.endLineNumber, i.endColumn), e.normalizeIndentation(s) + t .getLineContent(i.startLineNumber) .substring(r - 1, i.startColumn - 1) + n, !1 ); } return null; } static _isAutoClosingOvertype(e, t, i, n, r) { if ('never' === e.autoClosingOvertype) return !1; if (!e.autoClosingPairsClose2.has(r)) return !1; for (let s = 0, o = i.length; s < o; s++) { const o = i[s]; if (!o.isEmpty()) return !1; const a = o.getPosition(), l = t.getLineContent(a.lineNumber); if (l.charAt(a.column - 1) !== r) return !1; const c = (0, d.LN)(r); if (92 === (a.column > 2 ? l.charCodeAt(a.column - 2) : 0) && c) return !1; if ('auto' === e.autoClosingOvertype) { let e = !1; for (let t = 0, i = n.length; t < i; t++) { const i = n[t]; if ( a.lineNumber === i.startLineNumber && a.column === i.startColumn ) { e = !0; break; } } if (!e) return !1; } } return !0; } static _runAutoClosingOvertype(e, t, i, n, r) { let o = []; for (let e = 0, t = n.length; e < t; e++) { const t = n[e].getPosition(), i = new a.e(t.lineNumber, t.column, t.lineNumber, t.column + 1); o[e] = new s.T4(i, r); } return new d.Tp(1, o, { shouldPushStackElementBefore: 1 !== e, shouldPushStackElementAfter: !1, }); } static _autoClosingPairIsSymmetric(e) { const { open: t, close: i } = e; return t.indexOf(i) >= 0 || i.indexOf(t) >= 0; } static _isBeforeClosingBrace(e, t, i) { const n = e.autoClosingPairsClose2.get(i); if (!n) return !1; const r = f._autoClosingPairIsSymmetric(t); for (const e of n) { const t = f._autoClosingPairIsSymmetric(e); if (r || !t) return !0; } return !1; } static _findAutoClosingPairOpen(e, t, i, n) { const r = e.autoClosingPairsOpen2.get(n); if (!r) return null; let s = null; for (const e of r) if (null === s || e.open.length > s.open.length) { let r = !0; for (const s of i) if ( t.getValueInRange( new a.e( s.lineNumber, s.column - e.open.length + 1, s.lineNumber, s.column ) ) + n !== e.open ) { r = !1; break; } r && (s = e); } return s; } static _isAutoClosingOpenCharType(e, t, i, r, s) { const o = (0, d.LN)(r), a = o ? e.autoClosingQuotes : e.autoClosingBrackets; if ('never' === a) return null; const l = this._findAutoClosingPairOpen( e, t, i.map((e) => e.getPosition()), r ); if (!l) return null; const c = o ? e.shouldAutoCloseBefore.quote : e.shouldAutoCloseBefore.bracket; for (let r = 0, d = i.length; r < d; r++) { const d = i[r]; if (!d.isEmpty()) return null; const u = d.getPosition(), p = t.getLineContent(u.lineNumber); if (p.length > u.column - 1) { const t = p.charAt(u.column - 1); if (!f._isBeforeClosingBrace(e, l, t) && !c(t)) return null; } if (!t.isCheapToTokenize(u.lineNumber)) return null; if (1 === l.open.length && o && 'always' !== a) { const t = (0, h.u)(e.wordSeparators); if ( s && u.column > 1 && 0 === t.get(p.charCodeAt(u.column - 2)) ) return null; if ( !s && u.column > 2 && 0 === t.get(p.charCodeAt(u.column - 3)) ) return null; } t.forceTokenization(u.lineNumber); const m = t.getLineTokens(u.lineNumber); let _ = !1; try { _ = g.zu.shouldAutoClosePair(l, m, s ? u.column : u.column - 1); } catch (e) { (0, n.dL)(e); } if (!_) return null; } return l; } static _runAutoClosingOpenCharType(e, t, i, n, r, s, o) { let a = []; for (let e = 0, t = n.length; e < t; e++) { const t = n[e]; a[e] = new p(t, r, s, o.close); } return new d.Tp(1, a, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !1, }); } static _shouldSurroundChar(e, t) { return (0, d.LN)(t) ? 'quotes' === e.autoSurround || 'languageDefined' === e.autoSurround : 'brackets' === e.autoSurround || 'languageDefined' === e.autoSurround; } static _isSurroundSelectionType(e, t, i, n) { if ( !f._shouldSurroundChar(e, n) || !e.surroundingPairs.hasOwnProperty(n) ) return !1; const r = (0, d.LN)(n); for (let e = 0, n = i.length; e < n; e++) { const n = i[e]; if (n.isEmpty()) return !1; let s = !0; for (let e = n.startLineNumber; e <= n.endLineNumber; e++) { const i = t.getLineContent(e), r = e === n.startLineNumber ? n.startColumn - 1 : 0, o = e === n.endLineNumber ? n.endColumn - 1 : i.length, a = i.substring(r, o); if (/[^ \t]/.test(a)) { s = !1; break; } } if (s) return !1; if ( r && n.startLineNumber === n.endLineNumber && n.startColumn + 1 === n.endColumn ) { const e = t.getValueInRange(n); if ((0, d.LN)(e)) return !1; } } return !0; } static _runSurroundSelectionType(e, t, i, n, r) { let s = []; for (let e = 0, i = n.length; e < i; e++) { const i = n[e], o = t.surroundingPairs[r]; s[e] = new c(i, r, o); } return new d.Tp(0, s, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !0, }); } static _isTypeInterceptorElectricChar(e, t, i) { return !( 1 !== i.length || !t.isCheapToTokenize(i[0].getEndPosition().lineNumber) ); } static _typeInterceptorElectricChar(e, t, i, o, l) { if (!t.electricChars.hasOwnProperty(l) || !o.isEmpty()) return null; let c = o.getPosition(); i.forceTokenization(c.lineNumber); let h, u = i.getLineTokens(c.lineNumber); try { h = g.zu.onElectricCharacter(l, u, c.column); } catch (e) { return (0, n.dL)(e), null; } if (!h) return null; if (h.matchOpenBracket) { let e = (u.getLineContent() + l).lastIndexOf(h.matchOpenBracket) + 1, n = i.findMatchingBracketUp(h.matchOpenBracket, { lineNumber: c.lineNumber, column: e, }); if (n) { if (n.startLineNumber === c.lineNumber) return null; let e = i.getLineContent(n.startLineNumber), o = r.V8(e), h = t.normalizeIndentation(o), u = i.getLineContent(c.lineNumber), g = i.getLineFirstNonWhitespaceColumn(c.lineNumber) || c.column, f = h + u.substring(g - 1, c.column - 1) + l, p = new a.e(c.lineNumber, 1, c.lineNumber, c.column); const m = new s.T4(p, f); return new d.Tp(1, [m], { shouldPushStackElementBefore: !1, shouldPushStackElementAfter: !0, }); } } return null; } static compositionEndWithInterceptors(e, t, i, n, r, o) { if (!n || l.Y.selectionsArrEqual(n, r)) return null; let c = null; for (const e of r) { if (!e.isEmpty()) return null; const t = e.getPosition(), n = i.getValueInRange( new a.e(t.lineNumber, t.column - 1, t.lineNumber, t.column) ); if (null === c) c = n; else if (c !== n) return null; } if (!c) return null; if (this._isAutoClosingOvertype(t, i, r, o, c)) { const e = r.map( (e) => new s.T4( new a.e( e.positionLineNumber, e.positionColumn, e.positionLineNumber, e.positionColumn + 1 ), '', !1 ) ); return new d.Tp(1, e, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !1, }); } const h = this._isAutoClosingOpenCharType(t, i, r, c, !1); return h ? this._runAutoClosingOpenCharType(e, t, i, r, c, !1, h) : null; } static typeWithInterceptors(e, t, i, n, r, o, a) { if (!e && '\n' === a) { let e = []; for (let t = 0, s = r.length; t < s; t++) e[t] = f._enter(i, n, !1, r[t]); return new d.Tp(1, e, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !1, }); } if (!e && this._isAutoIndentType(i, n, r)) { let e = [], t = !1; for (let s = 0, o = r.length; s < o; s++) if (((e[s] = this._runAutoIndentType(i, n, r[s], a)), !e[s])) { t = !0; break; } if (!t) return new d.Tp(1, e, { shouldPushStackElementBefore: !0, shouldPushStackElementAfter: !1, }); } if (!e && this._isAutoClosingOvertype(i, n, r, o, a)) return this._runAutoClosingOvertype(t, i, n, r, a); if (!e) { const e = this._isAutoClosingOpenCharType(i, n, r, a, !0); if (e) return this._runAutoClosingOpenCharType(t, i, n, r, a, !0, e); } if (this._isSurroundSelectionType(i, n, r, a)) return this._runSurroundSelectionType(t, i, n, r, a); if (!e && this._isTypeInterceptorElectricChar(i, n, r)) { const e = this._typeInterceptorElectricChar(t, i, n, r[0], a); if (e) return e; } let l = []; for (let e = 0, t = r.length; e < t; e++) l[e] = new s.T4(r[e], a); let c = 1 !== t; return ( ' ' === a && (c = !0), new d.Tp(1, l, { shouldPushStackElementBefore: c, shouldPushStackElementAfter: !1, }) ); } static typeWithoutInterceptors(e, t, i, n, r) { let o = []; for (let e = 0, t = n.length; e < t; e++) o[e] = new s.T4(n[e], r); return new d.Tp(1, o, { shouldPushStackElementBefore: 1 !== e, shouldPushStackElementAfter: !1, }); } static lineInsertBefore(e, t, i) { if (null === t || null === i) return []; let n = []; for (let r = 0, o = i.length; r < o; r++) { let o = i[r].positionLineNumber; if (1 === o) n[r] = new s.Sj(new a.e(1, 1, 1, 1), '\n'); else { o--; let i = t.getLineMaxColumn(o); n[r] = this._enter(e, t, !1, new a.e(o, i, o, i)); } } return n; } static lineInsertAfter(e, t, i) { if (null === t || null === i) return []; let n = []; for (let r = 0, s = i.length; r < s; r++) { const s = i[r].positionLineNumber; let o = t.getLineMaxColumn(s); n[r] = this._enter(e, t, !1, new a.e(s, o, s, o)); } return n; } static lineBreakInsert(e, t, i) { let n = []; for (let r = 0, s = i.length; r < s; r++) n[r] = this._enter(e, t, !0, i[r]); return n; } } class p extends s.Uo { constructor(e, t, i, n) { super(e, (i ? t : '') + n, 0, -n.length), (this._openCharacter = t), (this._closeCharacter = n), (this.closeCharacterRange = null), (this.enclosingRange = null); } computeCursorState(e, t) { let i = t.getInverseEditOperations()[0].range; return ( (this.closeCharacterRange = new a.e( i.startLineNumber, i.endColumn - this._closeCharacter.length, i.endLineNumber, i.endColumn )), (this.enclosingRange = new a.e( i.startLineNumber, i.endColumn - this._openCharacter.length - this._closeCharacter.length, i.endLineNumber, i.endColumn )), super.computeCursorState(e, t) ); } } }, 5795: (e, t, i) => { 'use strict'; i.d(t, { w: () => l, L: () => c }); var n = i(97295), r = i(33181), s = i(59410), o = i(50187), a = i(24314); class l { static _createWord(e, t, i, n, r) { return { start: n, end: r, wordType: t, nextCharClass: i }; } static _findPreviousWordOnLine(e, t, i) { let n = t.getLineContent(i.lineNumber); return this._doFindPreviousWordOnLine(n, e, i); } static _doFindPreviousWordOnLine(e, t, i) { let n = 0; for (let r = i.column - 2; r >= 0; r--) { let i = e.charCodeAt(r), s = t.get(i); if (0 === s) { if (2 === n) return this._createWord( e, n, s, r + 1, this._findEndOfWord(e, t, n, r + 1) ); n = 1; } else if (2 === s) { if (1 === n) return this._createWord( e, n, s, r + 1, this._findEndOfWord(e, t, n, r + 1) ); n = 2; } else if (1 === s && 0 !== n) return this._createWord( e, n, s, r + 1, this._findEndOfWord(e, t, n, r + 1) ); } return 0 !== n ? this._createWord(e, n, 1, 0, this._findEndOfWord(e, t, n, 0)) : null; } static _findEndOfWord(e, t, i, n) { let r = e.length; for (let s = n; s < r; s++) { let n = e.charCodeAt(s), r = t.get(n); if (1 === r) return s; if (1 === i && 2 === r) return s; if (2 === i && 0 === r) return s; } return r; } static _findNextWordOnLine(e, t, i) { let n = t.getLineContent(i.lineNumber); return this._doFindNextWordOnLine(n, e, i); } static _doFindNextWordOnLine(e, t, i) { let n = 0, r = e.length; for (let s = i.column - 1; s < r; s++) { let i = e.charCodeAt(s), r = t.get(i); if (0 === r) { if (2 === n) return this._createWord( e, n, r, this._findStartOfWord(e, t, n, s - 1), s ); n = 1; } else if (2 === r) { if (1 === n) return this._createWord( e, n, r, this._findStartOfWord(e, t, n, s - 1), s ); n = 2; } else if (1 === r && 0 !== n) return this._createWord( e, n, r, this._findStartOfWord(e, t, n, s - 1), s ); } return 0 !== n ? this._createWord( e, n, 1, this._findStartOfWord(e, t, n, r - 1), r ) : null; } static _findStartOfWord(e, t, i, n) { for (let r = n; r >= 0; r--) { let n = e.charCodeAt(r), s = t.get(n); if (1 === s) return r + 1; if (1 === i && 2 === s) return r + 1; if (2 === i && 0 === s) return r + 1; } return 0; } static moveWordLeft(e, t, i, n) { let r = i.lineNumber, s = i.column; 1 === s && r > 1 && ((r -= 1), (s = t.getLineMaxColumn(r))); let a = l._findPreviousWordOnLine(e, t, new o.L(r, s)); if (0 === n) return new o.L(r, a ? a.start + 1 : 1); if (1 === n) return ( a && 2 === a.wordType && a.end - a.start == 1 && 0 === a.nextCharClass && (a = l._findPreviousWordOnLine( e, t, new o.L(r, a.start + 1) )), new o.L(r, a ? a.start + 1 : 1) ); if (3 === n) { for (; a && 2 === a.wordType; ) a = l._findPreviousWordOnLine(e, t, new o.L(r, a.start + 1)); return new o.L(r, a ? a.start + 1 : 1); } return ( a && s <= a.end + 1 && (a = l._findPreviousWordOnLine(e, t, new o.L(r, a.start + 1))), new o.L(r, a ? a.end + 1 : 1) ); } static _moveWordPartLeft(e, t) { const i = t.lineNumber, r = e.getLineMaxColumn(i); if (1 === t.column) return i > 1 ? new o.L(i - 1, e.getLineMaxColumn(i - 1)) : t; const s = e.getLineContent(i); for (let e = t.column - 1; e > 1; e--) { const t = s.charCodeAt(e - 2), a = s.charCodeAt(e - 1); if (95 === t && 95 !== a) return new o.L(i, e); if (n.mK(t) && n.df(a)) return new o.L(i, e); if (n.df(t) && n.df(a) && e + 1 < r) { const t = s.charCodeAt(e); if (n.mK(t)) return new o.L(i, e); } } return new o.L(i, 1); } static moveWordRight(e, t, i, n) { let r = i.lineNumber, s = i.column, a = !1; s === t.getLineMaxColumn(r) && r < t.getLineCount() && ((a = !0), (r += 1), (s = 1)); let c = l._findNextWordOnLine(e, t, new o.L(r, s)); if (2 === n) c && 2 === c.wordType && c.end - c.start == 1 && 0 === c.nextCharClass && (c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1))), (s = c ? c.end + 1 : t.getLineMaxColumn(r)); else if (3 === n) { for (a && (s = 0); c && (2 === c.wordType || c.start + 1 <= s); ) c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1)); s = c ? c.start + 1 : t.getLineMaxColumn(r); } else c && !a && s >= c.start + 1 && (c = l._findNextWordOnLine(e, t, new o.L(r, c.end + 1))), (s = c ? c.start + 1 : t.getLineMaxColumn(r)); return new o.L(r, s); } static _moveWordPartRight(e, t) { const i = t.lineNumber, r = e.getLineMaxColumn(i); if (t.column === r) return i < e.getLineCount() ? new o.L(i + 1, 1) : t; const s = e.getLineContent(i); for (let e = t.column + 1; e < r; e++) { const t = s.charCodeAt(e - 2), a = s.charCodeAt(e - 1); if (95 !== t && 95 === a) return new o.L(i, e); if (n.mK(t) && n.df(a)) return new o.L(i, e); if (n.df(t) && n.df(a) && e + 1 < r) { const t = s.charCodeAt(e); if (n.mK(t)) return new o.L(i, e); } } return new o.L(i, r); } static _deleteWordLeftWhitespace(e, t) { const i = e.getLineContent(t.lineNumber), r = t.column - 2, s = n.ow(i, r); return s + 1 < r ? new a.e(t.lineNumber, s + 2, t.lineNumber, t.column) : null; } static deleteWordLeft(e, t, i, n, r) { if (!i.isEmpty()) return i; const s = new o.L(i.positionLineNumber, i.positionColumn); let c = s.lineNumber, d = s.column; if (1 === c && 1 === d) return null; if (n) { let e = this._deleteWordLeftWhitespace(t, s); if (e) return e; } let h = l._findPreviousWordOnLine(e, t, s); return ( 0 === r ? h ? (d = h.start + 1) : d > 1 ? (d = 1) : (c--, (d = t.getLineMaxColumn(c))) : (h && d <= h.end + 1 && (h = l._findPreviousWordOnLine( e, t, new o.L(c, h.start + 1) )), h ? (d = h.end + 1) : d > 1 ? (d = 1) : (c--, (d = t.getLineMaxColumn(c)))), new a.e(c, d, s.lineNumber, s.column) ); } static _deleteWordPartLeft(e, t) { if (!t.isEmpty()) return t; const i = t.getPosition(), n = l._moveWordPartLeft(e, i); return new a.e(i.lineNumber, i.column, n.lineNumber, n.column); } static _findFirstNonWhitespaceChar(e, t) { let i = e.length; for (let n = t; n < i; n++) { let t = e.charAt(n); if (' ' !== t && '\t' !== t) return n; } return i; } static _deleteWordRightWhitespace(e, t) { const i = e.getLineContent(t.lineNumber), n = t.column - 1, r = this._findFirstNonWhitespaceChar(i, n); return n + 1 < r ? new a.e(t.lineNumber, t.column, t.lineNumber, r + 1) : null; } static deleteWordRight(e, t, i, n, r) { if (!i.isEmpty()) return i; const s = new o.L(i.positionLineNumber, i.positionColumn); let c = s.lineNumber, d = s.column; const h = t.getLineCount(), u = t.getLineMaxColumn(c); if (c === h && d === u) return null; if (n) { let e = this._deleteWordRightWhitespace(t, s); if (e) return e; } let g = l._findNextWordOnLine(e, t, s); return ( 2 === r ? g ? (d = g.end + 1) : d < u || c === h ? (d = u) : (c++, (g = l._findNextWordOnLine(e, t, new o.L(c, 1))), (d = g ? g.start + 1 : t.getLineMaxColumn(c))) : (g && d >= g.start + 1 && (g = l._findNextWordOnLine(e, t, new o.L(c, g.end + 1))), g ? (d = g.start + 1) : d < u || c === h ? (d = u) : (c++, (g = l._findNextWordOnLine(e, t, new o.L(c, 1))), (d = g ? g.start + 1 : t.getLineMaxColumn(c)))), new a.e(c, d, s.lineNumber, s.column) ); } static _deleteWordPartRight(e, t) { if (!t.isEmpty()) return t; const i = t.getPosition(), n = l._moveWordPartRight(e, i); return new a.e(i.lineNumber, i.column, n.lineNumber, n.column); } static _createWordAtPosition(e, t, i) { const n = new a.e(t, i.start + 1, t, i.end + 1); return { word: e.getValueInRange(n), startColumn: n.startColumn, endColumn: n.endColumn, }; } static getWordAtPosition(e, t, i) { const n = (0, s.u)(t), r = l._findPreviousWordOnLine(n, e, i); if ( r && 1 === r.wordType && r.start <= i.column - 1 && i.column - 1 <= r.end ) return l._createWordAtPosition(e, i.lineNumber, r); const o = l._findNextWordOnLine(n, e, i); return o && 1 === o.wordType && o.start <= i.column - 1 && i.column - 1 <= o.end ? l._createWordAtPosition(e, i.lineNumber, o) : null; } static word(e, t, i, n, c) { const d = (0, s.u)(e.wordSeparators); let h, u, g = l._findPreviousWordOnLine(d, t, c), f = l._findNextWordOnLine(d, t, c); if (!n) { let e, i; return ( g && 1 === g.wordType && g.start <= c.column - 1 && c.column - 1 <= g.end ? ((e = g.start + 1), (i = g.end + 1)) : f && 1 === f.wordType && f.start <= c.column - 1 && c.column - 1 <= f.end ? ((e = f.start + 1), (i = f.end + 1)) : ((e = g ? g.end + 1 : 1), (i = f ? f.start + 1 : t.getLineMaxColumn(c.lineNumber))), new r.rS( new a.e(c.lineNumber, e, c.lineNumber, i), 0, new o.L(c.lineNumber, i), 0 ) ); } g && 1 === g.wordType && g.start < c.column - 1 && c.column - 1 < g.end ? ((h = g.start + 1), (u = g.end + 1)) : f && 1 === f.wordType && f.start < c.column - 1 && c.column - 1 < f.end ? ((h = f.start + 1), (u = f.end + 1)) : ((h = c.column), (u = c.column)); let p, m = c.lineNumber; if (i.selectionStart.containsPosition(c)) p = i.selectionStart.endColumn; else if (c.isBeforeOrEqual(i.selectionStart.getStartPosition())) { p = h; let e = new o.L(m, p); i.selectionStart.containsPosition(e) && (p = i.selectionStart.endColumn); } else { p = u; let e = new o.L(m, p); i.selectionStart.containsPosition(e) && (p = i.selectionStart.startColumn); } return i.move(!0, m, p, 0); } } class c extends l { static deleteWordPartLeft(e, t, i, n) { const r = d([ l.deleteWordLeft(e, t, i, n, 0), l.deleteWordLeft(e, t, i, n, 2), l._deleteWordPartLeft(t, i), ]); return r.sort(a.e.compareRangesUsingEnds), r[2]; } static deleteWordPartRight(e, t, i, n) { const r = d([ l.deleteWordRight(e, t, i, n, 0), l.deleteWordRight(e, t, i, n, 2), l._deleteWordPartRight(t, i), ]); return r.sort(a.e.compareRangesUsingStarts), r[0]; } static moveWordPartLeft(e, t, i) { const n = d([ l.moveWordLeft(e, t, i, 0), l.moveWordLeft(e, t, i, 2), l._moveWordPartLeft(t, i), ]); return n.sort(o.L.compare), n[2]; } static moveWordPartRight(e, t, i) { const n = d([ l.moveWordRight(e, t, i, 0), l.moveWordRight(e, t, i, 2), l._moveWordPartRight(t, i), ]); return n.sort(o.L.compare), n[0]; } } function d(e) { return e.filter((e) => Boolean(e)); } }, 59410: (e, t, i) => { 'use strict'; i.d(t, { u: () => s }); var n = i(44906); class r extends n.N { constructor(e) { super(0); for (let t = 0, i = e.length; t < i; t++) this.set(e.charCodeAt(t), 2); this.set(32, 1), this.set(9, 1); } } const s = (function (e) { let t = {}; return (e) => ( t.hasOwnProperty(e) || (t[e] = ((e) => new r(e))(e)), t[e] ); })(); }, 44906: (e, t, i) => { 'use strict'; i.d(t, { N: () => r, q: () => s }); var n = i(85427); class r { constructor(e) { let t = (0, n.K)(e); (this._defaultValue = t), (this._asciiMap = r._createAsciiMap(t)), (this._map = new Map()); } static _createAsciiMap(e) { let t = new Uint8Array(256); for (let i = 0; i < 256; i++) t[i] = e; return t; } set(e, t) { let i = (0, n.K)(t); e >= 0 && e < 256 ? (this._asciiMap[e] = i) : this._map.set(e, i); } get(e) { return e >= 0 && e < 256 ? this._asciiMap[e] : this._map.get(e) || this._defaultValue; } } class s { constructor() { this._actual = new r(0); } add(e) { this._actual.set(e, 1); } has(e) { return 1 === this._actual.get(e); } } }, 69386: (e, t, i) => { 'use strict'; i.d(t, { h: () => r }); var n = i(24314); class r { static insert(e, t) { return { range: new n.e(e.lineNumber, e.column, e.lineNumber, e.column), text: t, forceMoveMarkers: !0, }; } static delete(e) { return { range: e, text: null }; } static replace(e, t) { return { range: e, text: t }; } static replaceMove(e, t) { return { range: e, text: t, forceMoveMarkers: !0 }; } } }, 78411: (e, t, i) => { 'use strict'; i.d(t, { A: () => r }); var n = i(43775); class r { constructor(e, t) { (this._tokens = e), (this._tokensCount = this._tokens.length >>> 1), (this._text = t); } equals(e) { return e instanceof r && this.slicedEquals(e, 0, this._tokensCount); } slicedEquals(e, t, i) { if (this._text !== e._text) return !1; if (this._tokensCount !== e._tokensCount) return !1; const n = t << 1, r = n + (i << 1); for (let t = n; t < r; t++) if (this._tokens[t] !== e._tokens[t]) return !1; return !0; } getLineContent() { return this._text; } getCount() { return this._tokensCount; } getStartOffset(e) { return e > 0 ? this._tokens[(e - 1) << 1] : 0; } getMetadata(e) { return this._tokens[1 + (e << 1)]; } getLanguageId(e) { const t = this._tokens[1 + (e << 1)]; return n.NX.getLanguageId(t); } getStandardTokenType(e) { const t = this._tokens[1 + (e << 1)]; return n.NX.getTokenType(t); } getForeground(e) { const t = this._tokens[1 + (e << 1)]; return n.NX.getForeground(t); } getClassName(e) { const t = this._tokens[1 + (e << 1)]; return n.NX.getClassNameFromMetadata(t); } getInlineStyle(e, t) { const i = this._tokens[1 + (e << 1)]; return n.NX.getInlineStyleFromMetadata(i, t); } getEndOffset(e) { return this._tokens[e << 1]; } findTokenIndexAtOffset(e) { return r.findIndexInTokensArray(this._tokens, e); } inflate() { return this; } sliceAndInflate(e, t, i) { return new s(this, e, t, i); } static convertToEndOffset(e, t) { const i = (e.length >>> 1) - 1; for (let t = 0; t < i; t++) e[t << 1] = e[(t + 1) << 1]; e[i << 1] = t; } static findIndexInTokensArray(e, t) { if (e.length <= 2) return 0; let i = 0, n = (e.length >>> 1) - 1; for (; i < n; ) { const r = i + Math.floor((n - i) / 2), s = e[r << 1]; if (s === t) return r + 1; s < t ? (i = r + 1) : s > t && (n = r); } return i; } } class s { constructor(e, t, i, n) { (this._source = e), (this._startOffset = t), (this._endOffset = i), (this._deltaOffset = n), (this._firstTokenIndex = e.findTokenIndexAtOffset(t)), (this._tokensCount = 0); for ( let t = this._firstTokenIndex, n = e.getCount(); t < n && !(e.getStartOffset(t) >= i); t++ ) this._tokensCount++; } equals(e) { return ( e instanceof s && this._startOffset === e._startOffset && this._endOffset === e._endOffset && this._deltaOffset === e._deltaOffset && this._source.slicedEquals( e._source, this._firstTokenIndex, this._tokensCount ) ); } getCount() { return this._tokensCount; } getForeground(e) { return this._source.getForeground(this._firstTokenIndex + e); } getEndOffset(e) { const t = this._source.getEndOffset(this._firstTokenIndex + e); return ( Math.min(this._endOffset, t) - this._startOffset + this._deltaOffset ); } getClassName(e) { return this._source.getClassName(this._firstTokenIndex + e); } getInlineStyle(e, t) { return this._source.getInlineStyle(this._firstTokenIndex + e, t); } findTokenIndexAtOffset(e) { return ( this._source.findTokenIndexAtOffset( e + this._startOffset - this._deltaOffset ) - this._firstTokenIndex ); } } }, 50187: (e, t, i) => { 'use strict'; i.d(t, { L: () => n }); class n { 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 n(e, t); } delta(e = 0, t = 0) { return this.with(this.lineNumber + e, this.column + t); } equals(e) { return n.equals(this, e); } static equals(e, t) { return ( (!e && !t) || (!!e && !!t && e.lineNumber === t.lineNumber && e.column === t.column) ); } isBefore(e) { return n.isBefore(this, e); } static isBefore(e, t) { return ( e.lineNumber < t.lineNumber || (!(t.lineNumber < e.lineNumber) && e.column < t.column) ); } isBeforeOrEqual(e) { return n.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 i = 0 | e.lineNumber, n = 0 | t.lineNumber; return i === n ? (0 | e.column) - (0 | t.column) : i - n; } clone() { return new n(this.lineNumber, this.column); } toString() { return '(' + this.lineNumber + ',' + this.column + ')'; } static lift(e) { return new n(e.lineNumber, e.column); } static isIPosition(e) { return ( e && 'number' == typeof e.lineNumber && 'number' == typeof e.column ); } } }, 24314: (e, t, i) => { 'use strict'; i.d(t, { e: () => r }); var n = i(50187); class r { constructor(e, t, i, n) { e > i || (e === i && t > n) ? ((this.startLineNumber = i), (this.startColumn = n), (this.endLineNumber = e), (this.endColumn = t)) : ((this.startLineNumber = e), (this.startColumn = t), (this.endLineNumber = i), (this.endColumn = n)); } isEmpty() { return r.isEmpty(this); } static isEmpty(e) { return ( e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn ); } containsPosition(e) { return r.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 r.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 r.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 r.plusRange(this, e); } static plusRange(e, t) { let i, n, s, o; return ( t.startLineNumber < e.startLineNumber ? ((i = t.startLineNumber), (n = t.startColumn)) : t.startLineNumber === e.startLineNumber ? ((i = t.startLineNumber), (n = Math.min(t.startColumn, e.startColumn))) : ((i = e.startLineNumber), (n = e.startColumn)), t.endLineNumber > e.endLineNumber ? ((s = t.endLineNumber), (o = t.endColumn)) : t.endLineNumber === e.endLineNumber ? ((s = t.endLineNumber), (o = Math.max(t.endColumn, e.endColumn))) : ((s = e.endLineNumber), (o = e.endColumn)), new r(i, n, s, o) ); } intersectRanges(e) { return r.intersectRanges(this, e); } static intersectRanges(e, t) { let i = e.startLineNumber, n = e.startColumn, s = e.endLineNumber, o = e.endColumn, a = t.startLineNumber, l = t.startColumn, c = t.endLineNumber, d = t.endColumn; return ( i < a ? ((i = a), (n = l)) : i === a && (n = Math.max(n, l)), s > c ? ((s = c), (o = d)) : s === c && (o = Math.min(o, d)), i > s || (i === s && n > o) ? null : new r(i, n, s, o) ); } equalsRange(e) { return r.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 r.getEndPosition(this); } static getEndPosition(e) { return new n.L(e.endLineNumber, e.endColumn); } getStartPosition() { return r.getStartPosition(this); } static getStartPosition(e) { return new n.L(e.startLineNumber, e.startColumn); } toString() { return ( '[' + this.startLineNumber + ',' + this.startColumn + ' -> ' + this.endLineNumber + ',' + this.endColumn + ']' ); } setEndPosition(e, t) { return new r(this.startLineNumber, this.startColumn, e, t); } setStartPosition(e, t) { return new r(e, t, this.endLineNumber, this.endColumn); } collapseToStart() { return r.collapseToStart(this); } static collapseToStart(e) { return new r( e.startLineNumber, e.startColumn, e.startLineNumber, e.startColumn ); } static fromPositions(e, t = e) { return new r(e.lineNumber, e.column, t.lineNumber, t.column); } static lift(e) { return e ? new r( 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 i = 0 | e.startLineNumber, n = 0 | t.startLineNumber; if (i === n) { const i = 0 | e.startColumn, n = 0 | t.startColumn; if (i === n) { const i = 0 | e.endLineNumber, n = 0 | t.endLineNumber; return i === n ? (0 | e.endColumn) - (0 | t.endColumn) : i - n; } return i - n; } return i - n; } 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; } } }, 3860: (e, t, i) => { 'use strict'; i.d(t, { Y: () => s }); var n = i(50187), r = i(24314); class s extends r.e { constructor(e, t, i, n) { super(e, t, i, n), (this.selectionStartLineNumber = e), (this.selectionStartColumn = t), (this.positionLineNumber = i), (this.positionColumn = n); } toString() { return ( '[' + this.selectionStartLineNumber + ',' + this.selectionStartColumn + ' -> ' + this.positionLineNumber + ',' + this.positionColumn + ']' ); } equalsSelection(e) { return s.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 s(this.startLineNumber, this.startColumn, e, t) : new s(e, t, this.startLineNumber, this.startColumn); } getPosition() { return new n.L(this.positionLineNumber, this.positionColumn); } setStartPosition(e, t) { return 0 === this.getDirection() ? new s(e, t, this.endLineNumber, this.endColumn) : new s(this.endLineNumber, this.endColumn, e, t); } static fromPositions(e, t = e) { return new s(e.lineNumber, e.column, t.lineNumber, t.column); } static liftSelection(e) { return new s( 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 i = 0, n = e.length; i < n; i++) if (!this.selectionsEqual(e[i], t[i])) 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, i, n, r) { return 0 === r ? new s(e, t, i, n) : new s(i, n, e, t); } } }, 50072: (e, t, i) => { 'use strict'; i.d(t, { oe: () => a, lZ: () => l, l$: () => c, kH: () => d }); var n = i(97295), r = i(1432), s = i(53060); let o; function a() { return o || (o = new TextDecoder(r.r() ? 'UTF-16LE' : 'UTF-16BE')), o; } const l = 'undefined' != typeof TextDecoder; let c, d; l ? ((c = (e) => new h(e)), (d = function (e, t, i) { const n = new Uint16Array(e.buffer, t, i); return a().decode(n); })) : ((c = (e) => new u()), (d = function (e, t, i) { let n = [], r = 0; for (let o = 0; o < i; o++) { const i = s.mP(e, t); (t += 2), (n[r++] = String.fromCharCode(i)); } return n.join(''); })); class h { constructor(e) { (this._capacity = 0 | e), (this._buffer = new Uint16Array(this._capacity)), (this._completedStrings = null), (this._bufferLength = 0); } reset() { (this._completedStrings = null), (this._bufferLength = 0); } build() { return null !== this._completedStrings ? (this._flushBuffer(), this._completedStrings.join('')) : this._buildBuffer(); } _buildBuffer() { if (0 === this._bufferLength) return ''; const e = new Uint16Array( this._buffer.buffer, 0, this._bufferLength ); return a().decode(e); } _flushBuffer() { const e = this._buildBuffer(); (this._bufferLength = 0), null === this._completedStrings ? (this._completedStrings = [e]) : (this._completedStrings[this._completedStrings.length] = e); } write1(e) { const t = this._capacity - this._bufferLength; t <= 1 && (0 === t || n.ZG(e)) && this._flushBuffer(), (this._buffer[this._bufferLength++] = e); } appendASCII(e) { this._bufferLength === this._capacity && this._flushBuffer(), (this._buffer[this._bufferLength++] = e); } appendASCIIString(e) { const t = e.length; if (this._bufferLength + t >= this._capacity) return ( this._flushBuffer(), void (this._completedStrings[this._completedStrings.length] = e) ); for (let i = 0; i < t; i++) this._buffer[this._bufferLength++] = e.charCodeAt(i); } } class u { constructor() { (this._pieces = []), (this._piecesLen = 0); } reset() { (this._pieces = []), (this._piecesLen = 0); } build() { return this._pieces.join(''); } write1(e) { this._pieces[this._piecesLen++] = String.fromCharCode(e); } appendASCII(e) { this._pieces[this._piecesLen++] = String.fromCharCode(e); } appendASCIIString(e) { this._pieces[this._piecesLen++] = e; } } }, 85600: (e, t, i) => { 'use strict'; i.d(t, { WU: () => n, hG: () => r, Hi: () => s }); class n { constructor(e, t, i) { (this.offset = 0 | e), (this.type = t), (this.language = i); } toString() { return '(' + this.offset + ', ' + this.type + ')'; } } class r { constructor(e, t) { (this.tokens = e), (this.endState = t); } } class s { constructor(e, t) { (this.tokens = e), (this.endState = t); } } }, 30653: (e, t, i) => { 'use strict'; i.d(t, { p: () => n }); class n { constructor(e, t, i, n, r, s) { (this.id = e), (this.label = t), (this.alias = i), (this._precondition = n), (this._run = r), (this._contextKeyService = s); } isSupported() { return this._contextKeyService.contextMatchesRules( this._precondition ); } run() { return this.isSupported() ? this._run() : Promise.resolve(void 0); } } }, 96518: (e, t, i) => { 'use strict'; function n(e) { return e && 'string' == typeof e.id; } i.d(t, { I: () => n, g: () => r }); const r = { ICodeEditor: 'vs.editor.ICodeEditor', IDiffEditor: 'vs.editor.IDiffEditor', }; }, 29102: (e, t, i) => { 'use strict'; i.d(t, { u: () => n }); var n, r = i(38819); !(function (e) { (e.editorSimpleInput = new r.uy('editorSimpleInput', !1)), (e.editorTextFocus = new r.uy('editorTextFocus', !1)), (e.focus = new r.uy('editorFocus', !1)), (e.textInputFocus = new r.uy('textInputFocus', !1)), (e.readOnly = new r.uy('editorReadonly', !1)), (e.columnSelection = new r.uy('editorColumnSelection', !1)), (e.writable = e.readOnly.toNegated()), (e.hasNonEmptySelection = new r.uy('editorHasSelection', !1)), (e.hasOnlyEmptySelection = e.hasNonEmptySelection.toNegated()), (e.hasMultipleSelections = new r.uy( 'editorHasMultipleSelections', !1 )), (e.hasSingleSelection = e.hasMultipleSelections.toNegated()), (e.tabMovesFocus = new r.uy('editorTabMovesFocus', !1)), (e.tabDoesNotMoveFocus = e.tabMovesFocus.toNegated()), (e.isInWalkThroughSnippet = new r.uy('isInEmbeddedEditor', !1)), (e.canUndo = new r.uy('canUndo', !1)), (e.canRedo = new r.uy('canRedo', !1)), (e.hoverVisible = new r.uy('editorHoverVisible', !1)), (e.inCompositeEditor = new r.uy('inCompositeEditor', void 0)), (e.notInCompositeEditor = e.inCompositeEditor.toNegated()), (e.languageId = new r.uy('editorLangId', '')), (e.hasCompletionItemProvider = new r.uy( 'editorHasCompletionItemProvider', !1 )), (e.hasCodeActionsProvider = new r.uy( 'editorHasCodeActionsProvider', !1 )), (e.hasCodeLensProvider = new r.uy('editorHasCodeLensProvider', !1)), (e.hasDefinitionProvider = new r.uy( 'editorHasDefinitionProvider', !1 )), (e.hasDeclarationProvider = new r.uy( 'editorHasDeclarationProvider', !1 )), (e.hasImplementationProvider = new r.uy( 'editorHasImplementationProvider', !1 )), (e.hasTypeDefinitionProvider = new r.uy( 'editorHasTypeDefinitionProvider', !1 )), (e.hasHoverProvider = new r.uy('editorHasHoverProvider', !1)), (e.hasDocumentHighlightProvider = new r.uy( 'editorHasDocumentHighlightProvider', !1 )), (e.hasDocumentSymbolProvider = new r.uy( 'editorHasDocumentSymbolProvider', !1 )), (e.hasReferenceProvider = new r.uy( 'editorHasReferenceProvider', !1 )), (e.hasRenameProvider = new r.uy('editorHasRenameProvider', !1)), (e.hasSignatureHelpProvider = new r.uy( 'editorHasSignatureHelpProvider', !1 )), (e.hasDocumentFormattingProvider = new r.uy( 'editorHasDocumentFormattingProvider', !1 )), (e.hasDocumentSelectionFormattingProvider = new r.uy( 'editorHasDocumentSelectionFormattingProvider', !1 )), (e.hasMultipleDocumentFormattingProvider = new r.uy( 'editorHasMultipleDocumentFormattingProvider', !1 )), (e.hasMultipleDocumentSelectionFormattingProvider = new r.uy( 'editorHasMultipleDocumentSelectionFormattingProvider', !1 )); })(n || (n = {})); }, 84973: (e, t, i) => { 'use strict'; var n, r; i.d(t, { sh: () => n, F5: () => r, dJ: () => s, tk: () => o, Qi: () => a, je: () => l, }), (function (e) { (e[(e.Left = 1)] = 'Left'), (e[(e.Center = 2)] = 'Center'), (e[(e.Right = 4)] = 'Right'), (e[(e.Full = 7)] = 'Full'); })(n || (n = {})), (function (e) { (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); })(r || (r = {})); class s { constructor(e) { (this.tabSize = Math.max(1, 0 | e.tabSize)), (this.indentSize = 0 | e.tabSize), (this.insertSpaces = Boolean(e.insertSpaces)), (this.defaultEOL = 0 | e.defaultEOL), (this.trimAutoWhitespace = Boolean(e.trimAutoWhitespace)); } equals(e) { return ( this.tabSize === e.tabSize && this.indentSize === e.indentSize && this.insertSpaces === e.insertSpaces && this.defaultEOL === e.defaultEOL && this.trimAutoWhitespace === e.trimAutoWhitespace ); } createChangeEvent(e) { return { tabSize: this.tabSize !== e.tabSize, indentSize: this.indentSize !== e.indentSize, insertSpaces: this.insertSpaces !== e.insertSpaces, trimAutoWhitespace: this.trimAutoWhitespace !== e.trimAutoWhitespace, }; } } class o { constructor(e, t) { (this.range = e), (this.matches = t); } } class a { constructor(e, t, i, n, r, s) { (this.identifier = e), (this.range = t), (this.text = i), (this.forceMoveMarkers = n), (this.isAutoWhitespaceEdit = r), (this._isTracked = s); } } class l { constructor(e, t, i) { (this.reverseEdits = e), (this.changes = t), (this.trimAutoWhitespaceLineNumbers = i); } } }, 95215: (e, t, i) => { 'use strict'; i.d(t, { e9: () => g, NL: () => f }); var n = i(63580), r = i(17301), s = i(3860), o = i(70666), a = i(60962), l = i(53060); function c(e) { return e.toString(); } class d { constructor(e, t, i, n, r, s, o) { (this.beforeVersionId = e), (this.afterVersionId = t), (this.beforeEOL = i), (this.afterEOL = n), (this.beforeCursorState = r), (this.afterCursorState = s), (this.changes = o); } static create(e, t) { const i = e.getAlternativeVersionId(), n = u(e); return new d(i, i, n, n, t, t, []); } append(e, t, i, n, r) { t.length > 0 && (this.changes = (0, a.b)(this.changes, t)), (this.afterEOL = i), (this.afterVersionId = n), (this.afterCursorState = r); } static _writeSelectionsSize(e) { return 4 + 16 * (e ? e.length : 0); } static _writeSelections(e, t, i) { if ((l.T4(e, t ? t.length : 0, i), (i += 4), t)) for (const n of t) l.T4(e, n.selectionStartLineNumber, i), (i += 4), l.T4(e, n.selectionStartColumn, i), (i += 4), l.T4(e, n.positionLineNumber, i), (i += 4), l.T4(e, n.positionColumn, i), (i += 4); return i; } static _readSelections(e, t, i) { const n = l.Ag(e, t); t += 4; for (let r = 0; r < n; r++) { const n = l.Ag(e, t); t += 4; const r = l.Ag(e, t); t += 4; const o = l.Ag(e, t); t += 4; const a = l.Ag(e, t); (t += 4), i.push(new s.Y(n, r, o, a)); } return t; } serialize() { let e = 10 + d._writeSelectionsSize(this.beforeCursorState) + d._writeSelectionsSize(this.afterCursorState) + 4; for (const t of this.changes) e += t.writeSize(); const t = new Uint8Array(e); let i = 0; l.T4(t, this.beforeVersionId, i), (i += 4), l.T4(t, this.afterVersionId, i), (i += 4), l.Cg(t, this.beforeEOL, i), (i += 1), l.Cg(t, this.afterEOL, i), (i += 1), (i = d._writeSelections(t, this.beforeCursorState, i)), (i = d._writeSelections(t, this.afterCursorState, i)), l.T4(t, this.changes.length, i), (i += 4); for (const e of this.changes) i = e.write(t, i); return t.buffer; } static deserialize(e) { const t = new Uint8Array(e); let i = 0; const n = l.Ag(t, i); i += 4; const r = l.Ag(t, i); i += 4; const s = l.Q$(t, i); i += 1; const o = l.Q$(t, i); i += 1; const c = []; i = d._readSelections(t, i, c); const h = []; i = d._readSelections(t, i, h); const u = l.Ag(t, i); i += 4; const g = []; for (let e = 0; e < u; e++) i = a.q.read(t, i, g); return new d(n, r, s, o, c, h, g); } } class h { constructor(e, t) { (this.model = e), (this._data = d.create(e, t)); } get type() { return 0; } get resource() { return o.o.isUri(this.model) ? this.model : this.model.uri; } get label() { return n.N('edit', 'Typing'); } toString() { return (this._data instanceof d ? this._data : d.deserialize(this._data) ).changes .map((e) => e.toString()) .join(', '); } matchesResource(e) { return ( (o.o.isUri(this.model) ? this.model : this.model.uri ).toString() === e.toString() ); } setModel(e) { this.model = e; } canAppend(e) { return this.model === e && this._data instanceof d; } append(e, t, i, n, r) { this._data instanceof d && this._data.append(e, t, i, n, r); } close() { this._data instanceof d && (this._data = this._data.serialize()); } undo() { if (o.o.isUri(this.model)) throw new Error('Invalid SingleModelEditStackElement'); this._data instanceof d && (this._data = this._data.serialize()); const e = d.deserialize(this._data); this.model._applyUndo( e.changes, e.beforeEOL, e.beforeVersionId, e.beforeCursorState ); } redo() { if (o.o.isUri(this.model)) throw new Error('Invalid SingleModelEditStackElement'); this._data instanceof d && (this._data = this._data.serialize()); const e = d.deserialize(this._data); this.model._applyRedo( e.changes, e.afterEOL, e.afterVersionId, e.afterCursorState ); } } function u(e) { return '\n' === e.getEOL() ? 0 : 1; } function g(e) { return ( !!e && (e instanceof h || e instanceof class { constructor(e, t) { (this.type = 1), (this.label = e), (this._isOpen = !0), (this._editStackElementsArr = t.slice(0)), (this._editStackElementsMap = new Map()); for (const e of this._editStackElementsArr) { const t = c(e.resource); this._editStackElementsMap.set(t, e); } this._delegate = null; } get resources() { return this._editStackElementsArr.map((e) => e.resource); } prepareUndoRedo() { if (this._delegate) return this._delegate.prepareUndoRedo(this); } matchesResource(e) { const t = c(e); return this._editStackElementsMap.has(t); } setModel(e) { const t = c(o.o.isUri(e) ? e : e.uri); this._editStackElementsMap.has(t) && this._editStackElementsMap.get(t).setModel(e); } canAppend(e) { if (!this._isOpen) return !1; const t = c(e.uri); return ( !!this._editStackElementsMap.has(t) && this._editStackElementsMap.get(t).canAppend(e) ); } append(e, t, i, n, r) { const s = c(e.uri); this._editStackElementsMap.get(s).append(e, t, i, n, r); } close() { this._isOpen = !1; } undo() { this._isOpen = !1; for (const e of this._editStackElementsArr) e.undo(); } redo() { for (const e of this._editStackElementsArr) e.redo(); } split() { return this._editStackElementsArr; } }) ); } class f { constructor(e, t) { (this._model = e), (this._undoRedoService = t); } pushStackElement() { const e = this._undoRedoService.getLastElement(this._model.uri); g(e) && e.close(); } clear() { this._undoRedoService.removeElements(this._model.uri); } _getOrCreateEditStackElement(e) { const t = this._undoRedoService.getLastElement(this._model.uri); if (g(t) && t.canAppend(this._model)) return t; const i = new h(this._model, e); return this._undoRedoService.pushElement(i), i; } pushEOL(e) { const t = this._getOrCreateEditStackElement(null); this._model.setEOL(e), t.append( this._model, [], u(this._model), this._model.getAlternativeVersionId(), null ); } pushEditOperation(e, t, i) { const n = this._getOrCreateEditStackElement(e), r = this._model.applyEdits(t, !0), s = f._computeCursorState(i, r), o = r.map((e, t) => ({ index: t, textChange: e.textChange })); return ( o.sort((e, t) => e.textChange.oldPosition === t.textChange.oldPosition ? e.index - t.index : e.textChange.oldPosition - t.textChange.oldPosition ), n.append( this._model, o.map((e) => e.textChange), u(this._model), this._model.getAlternativeVersionId(), s ), s ); } static _computeCursorState(e, t) { try { return e ? e(t) : null; } catch (e) { return (0, r.dL)(e), null; } } } }, 60962: (e, t, i) => { 'use strict'; i.d(t, { q: () => s, b: () => o }); var n = i(53060), r = i(50072); class s { constructor(e, t, i, n) { (this.oldPosition = e), (this.oldText = t), (this.newPosition = i), (this.newText = n); } get oldLength() { return this.oldText.length; } get oldEnd() { return this.oldPosition + this.oldText.length; } get newLength() { return this.newText.length; } get newEnd() { return this.newPosition + this.newText.length; } toString() { return 0 === this.oldText.length ? `(insert@${this.oldPosition} "${this.newText}")` : 0 === this.newText.length ? `(delete@${this.oldPosition} "${this.oldText}")` : `(replace@${this.oldPosition} "${this.oldText}" with "${this.newText}")`; } static _writeStringSize(e) { return 4 + 2 * e.length; } static _writeString(e, t, i) { const r = t.length; n.T4(e, r, i), (i += 4); for (let s = 0; s < r; s++) n.oq(e, t.charCodeAt(s), i), (i += 2); return i; } static _readString(e, t) { const i = n.Ag(e, t); return (t += 4), (0, r.kH)(e, t, i); } writeSize() { return ( 8 + s._writeStringSize(this.oldText) + s._writeStringSize(this.newText) ); } write(e, t) { return ( n.T4(e, this.oldPosition, t), (t += 4), n.T4(e, this.newPosition, t), (t += 4), (t = s._writeString(e, this.oldText, t)), s._writeString(e, this.newText, t) ); } static read(e, t, i) { const r = n.Ag(e, t); t += 4; const o = n.Ag(e, t); t += 4; const a = s._readString(e, t); t += s._writeStringSize(a); const l = s._readString(e, t); return (t += s._writeStringSize(l)), i.push(new s(r, a, o, l)), t; } } function o(e, t) { return null === e || 0 === e.length ? t : new a(e, t).compress(); } class a { constructor(e, t) { (this._prevEdits = e), (this._currEdits = t), (this._result = []), (this._resultLen = 0), (this._prevLen = this._prevEdits.length), (this._prevDeltaOffset = 0), (this._currLen = this._currEdits.length), (this._currDeltaOffset = 0); } compress() { let e = 0, t = 0, i = this._getPrev(e), n = this._getCurr(t); for (; e < this._prevLen || t < this._currLen; ) { if (null === i) { this._acceptCurr(n), (n = this._getCurr(++t)); continue; } if (null === n) { this._acceptPrev(i), (i = this._getPrev(++e)); continue; } if (n.oldEnd <= i.newPosition) { this._acceptCurr(n), (n = this._getCurr(++t)); continue; } if (i.newEnd <= n.oldPosition) { this._acceptPrev(i), (i = this._getPrev(++e)); continue; } if (n.oldPosition < i.newPosition) { const [e, t] = a._splitCurr(n, i.newPosition - n.oldPosition); this._acceptCurr(e), (n = t); continue; } if (i.newPosition < n.oldPosition) { const [e, t] = a._splitPrev(i, n.oldPosition - i.newPosition); this._acceptPrev(e), (i = t); continue; } let r, o; if (n.oldEnd === i.newEnd) (r = i), (o = n), (i = this._getPrev(++e)), (n = this._getCurr(++t)); else if (n.oldEnd < i.newEnd) { const [e, s] = a._splitPrev(i, n.oldLength); (r = e), (o = n), (i = s), (n = this._getCurr(++t)); } else { const [t, s] = a._splitCurr(n, i.newLength); (r = i), (o = t), (i = this._getPrev(++e)), (n = s); } (this._result[this._resultLen++] = new s( r.oldPosition, r.oldText, o.newPosition, o.newText )), (this._prevDeltaOffset += r.newLength - r.oldLength), (this._currDeltaOffset += o.newLength - o.oldLength); } const r = a._merge(this._result); return a._removeNoOps(r); } _acceptCurr(e) { (this._result[this._resultLen++] = a._rebaseCurr( this._prevDeltaOffset, e )), (this._currDeltaOffset += e.newLength - e.oldLength); } _getCurr(e) { return e < this._currLen ? this._currEdits[e] : null; } _acceptPrev(e) { (this._result[this._resultLen++] = a._rebasePrev( this._currDeltaOffset, e )), (this._prevDeltaOffset += e.newLength - e.oldLength); } _getPrev(e) { return e < this._prevLen ? this._prevEdits[e] : null; } static _rebaseCurr(e, t) { return new s( t.oldPosition - e, t.oldText, t.newPosition, t.newText ); } static _rebasePrev(e, t) { return new s( t.oldPosition, t.oldText, t.newPosition + e, t.newText ); } static _splitPrev(e, t) { const i = e.newText.substr(0, t), n = e.newText.substr(t); return [ new s(e.oldPosition, e.oldText, e.newPosition, i), new s(e.oldEnd, '', e.newPosition + t, n), ]; } static _splitCurr(e, t) { const i = e.oldText.substr(0, t), n = e.oldText.substr(t); return [ new s(e.oldPosition, i, e.newPosition, e.newText), new s(e.oldPosition + t, n, e.newEnd, ''), ]; } static _merge(e) { if (0 === e.length) return e; let t = [], i = 0, n = e[0]; for (let r = 1; r < e.length; r++) { const o = e[r]; n.oldEnd === o.oldPosition ? (n = new s( n.oldPosition, n.oldText + o.oldText, n.newPosition, n.newText + o.newText )) : ((t[i++] = n), (n = o)); } return (t[i++] = n), t; } static _removeNoOps(e) { if (0 === e.length) return e; let t = [], i = 0; for (let n = 0; n < e.length; n++) { const r = e[n]; r.oldText !== r.newText && (t[i++] = r); } return t; } } }, 3411: (e, t, i) => { 'use strict'; i.d(t, { qx: () => Ke, yO: () => He }); var n = i(17301), r = i(4669), s = i(5976), o = i(97295), a = i(70666), l = i(64141), c = i(50187), d = i(24314), h = i(3860), u = i(84973), g = i(95215); class f { constructor() { (this.spacesDiff = 0), (this.looksLikeAlignment = !1); } } function p(e, t, i, n, r) { let s; for ( r.spacesDiff = 0, r.looksLikeAlignment = !1, s = 0; s < t && s < n && e.charCodeAt(s) === i.charCodeAt(s); s++ ); let o = 0, a = 0; for (let i = s; i < t; i++) 32 === e.charCodeAt(i) ? o++ : a++; let l = 0, c = 0; for (let e = s; e < n; e++) 32 === i.charCodeAt(e) ? l++ : c++; if (o > 0 && a > 0) return; if (l > 0 && c > 0) return; let d = Math.abs(a - c), h = Math.abs(o - l); if (0 === d) return ( (r.spacesDiff = h), void ( h > 0 && 0 <= l - 1 && l - 1 < e.length && l < i.length && 32 !== i.charCodeAt(l) && 32 === e.charCodeAt(l - 1) && 44 === e.charCodeAt(e.length - 1) && (r.looksLikeAlignment = !0) ) ); h % d != 0 || (r.spacesDiff = h / d); } function m(e, t, i) { const n = Math.min(e.getLineCount(), 1e4); let r = 0, s = 0, o = '', a = 0; const l = [2, 4, 6, 8, 3, 5, 7]; let c = [0, 0, 0, 0, 0, 0, 0, 0, 0], d = new f(); for (let l = 1; l <= n; l++) { let n = e.getLineLength(l), h = e.getLineContent(l); const u = n <= 65536; let g = !1, f = 0, m = 0, _ = 0; for (let t = 0, i = n; t < i; t++) { let i = u ? h.charCodeAt(t) : e.getLineCharCode(l, t); if (9 === i) _++; else { if (32 !== i) { (g = !0), (f = t); break; } m++; } } if (!g) continue; if ( (_ > 0 ? r++ : m > 1 && s++, p(o, a, h, f, d), d.looksLikeAlignment && (!i || t !== d.spacesDiff)) ) continue; let b = d.spacesDiff; b <= 8 && c[b]++, (o = h), (a = f); } let h = i; r !== s && (h = r < s); let u = t; if (h) { let e = h ? 0 : 0.1 * n; l.forEach((t) => { let i = c[t]; i > e && ((e = i), (u = t)); }), 4 === u && c[4] > 0 && c[2] > 0 && c[2] >= c[4] / 2 && (u = 2); } return { insertSpaces: h, tabSize: u }; } function _(e) { return (1 & e.metadata) >>> 0; } function b(e, t) { e.metadata = (254 & e.metadata) | (t << 0); } function v(e) { return (2 & e.metadata) >>> 1 == 1; } function y(e, t) { e.metadata = (253 & e.metadata) | ((t ? 1 : 0) << 1); } function w(e) { return (4 & e.metadata) >>> 2 == 1; } function C(e, t) { e.metadata = (251 & e.metadata) | ((t ? 1 : 0) << 2); } function S(e) { return (8 & e.metadata) >>> 3 == 1; } function k(e, t) { e.metadata = (247 & e.metadata) | ((t ? 1 : 0) << 3); } function x(e, t) { e.metadata = (207 & e.metadata) | (t << 4); } function L(e, t) { e.metadata = (191 & e.metadata) | ((t ? 1 : 0) << 6); } class M { constructor(e, t, i) { (this.metadata = 0), (this.parent = this), (this.left = this), (this.right = this), b(this, 1), (this.start = t), (this.end = i), (this.delta = 0), (this.maxEnd = i), (this.id = e), (this.ownerId = 0), (this.options = null), C(this, !1), x(this, 1), k(this, !1), L(this, !1), (this.cachedVersionId = 0), (this.cachedAbsoluteStart = t), (this.cachedAbsoluteEnd = i), (this.range = null), y(this, !1); } reset(e, t, i, n) { (this.start = t), (this.end = i), (this.maxEnd = i), (this.cachedVersionId = e), (this.cachedAbsoluteStart = t), (this.cachedAbsoluteEnd = i), (this.range = n); } setOptions(e) { this.options = e; let t = this.options.className; C( this, 'squiggly-error' === t || 'squiggly-warning' === t || 'squiggly-info' === t ), x(this, this.options.stickiness), k( this, !( !this.options.overviewRuler || !this.options.overviewRuler.color ) ), L(this, this.options.collapseOnReplaceEdit); } setCachedOffsets(e, t, i) { this.cachedVersionId !== i && (this.range = null), (this.cachedVersionId = i), (this.cachedAbsoluteStart = e), (this.cachedAbsoluteEnd = t); } detach() { (this.parent = null), (this.left = null), (this.right = null); } } const D = new M(null, 0, 0); (D.parent = D), (D.left = D), (D.right = D), b(D, 0); class N { constructor() { (this.root = D), (this.requestNormalizeDelta = !1); } intervalSearch(e, t, i, n, r) { return this.root === D ? [] : (function (e, t, i, n, r, s) { let o = e.root, a = 0, l = 0, c = 0, d = 0, h = [], u = 0; for (; o !== D; ) if (v(o)) y(o.left, !1), y(o.right, !1), o === o.parent.right && (a -= o.parent.delta), (o = o.parent); else { if (!v(o.left)) { if (((l = a + o.maxEnd), l < t)) { y(o, !0); continue; } if (o.left !== D) { o = o.left; continue; } } if (((c = a + o.start), c > i)) y(o, !0); else { if (((d = a + o.end), d >= t)) { o.setCachedOffsets(c, d, s); let e = !0; n && o.ownerId && o.ownerId !== n && (e = !1), r && w(o) && (e = !1), e && (h[u++] = o); } y(o, !0), o.right === D || v(o.right) || ((a += o.delta), (o = o.right)); } } return y(e.root, !1), h; })(this, e, t, i, n, r); } search(e, t, i) { return this.root === D ? [] : (function (e, t, i, n) { let r = e.root, s = 0, o = 0, a = 0, l = [], c = 0; for (; r !== D; ) { if (v(r)) { y(r.left, !1), y(r.right, !1), r === r.parent.right && (s -= r.parent.delta), (r = r.parent); continue; } if (r.left !== D && !v(r.left)) { r = r.left; continue; } (o = s + r.start), (a = s + r.end), r.setCachedOffsets(o, a, n); let e = !0; t && r.ownerId && r.ownerId !== t && (e = !1), i && w(r) && (e = !1), e && (l[c++] = r), y(r, !0), r.right === D || v(r.right) || ((s += r.delta), (r = r.right)); } return y(e.root, !1), l; })(this, e, t, i); } collectNodesFromOwner(e) { return (function (e, t) { let i = e.root, n = [], r = 0; for (; i !== D; ) v(i) ? (y(i.left, !1), y(i.right, !1), (i = i.parent)) : i.left === D || v(i.left) ? (i.ownerId === t && (n[r++] = i), y(i, !0), i.right === D || v(i.right) || (i = i.right)) : (i = i.left); return y(e.root, !1), n; })(this, e); } collectNodesPostOrder() { return (function (e) { let t = e.root, i = [], n = 0; for (; t !== D; ) v(t) ? (y(t.left, !1), y(t.right, !1), (t = t.parent)) : t.left === D || v(t.left) ? t.right === D || v(t.right) ? ((i[n++] = t), y(t, !0)) : (t = t.right) : (t = t.left); return y(e.root, !1), i; })(this); } insert(e) { I(this, e), this._normalizeDeltaIfNecessary(); } delete(e) { O(this, e), this._normalizeDeltaIfNecessary(); } resolveNode(e, t) { const i = e; let n = 0; for (; e !== this.root; ) e === e.parent.right && (n += e.parent.delta), (e = e.parent); const r = i.start + n, s = i.end + n; i.setCachedOffsets(r, s, t); } acceptReplace(e, t, i, n) { const r = (function (e, t, i) { let n = e.root, r = 0, s = 0, o = 0, a = 0, l = [], c = 0; for (; n !== D; ) if (v(n)) y(n.left, !1), y(n.right, !1), n === n.parent.right && (r -= n.parent.delta), (n = n.parent); else { if (!v(n.left)) { if (((s = r + n.maxEnd), s < t)) { y(n, !0); continue; } if (n.left !== D) { n = n.left; continue; } } (o = r + n.start), o > i ? y(n, !0) : ((a = r + n.end), a >= t && (n.setCachedOffsets(o, a, 0), (l[c++] = n)), y(n, !0), n.right === D || v(n.right) || ((r += n.delta), (n = n.right))); } return y(e.root, !1), l; })(this, e, e + t); for (let e = 0, t = r.length; e < t; e++) O(this, r[e]); this._normalizeDeltaIfNecessary(), (function (e, t, i, n) { let r = e.root, s = 0, o = 0, a = 0; const l = n - (i - t); for (; r !== D; ) if (v(r)) y(r.left, !1), y(r.right, !1), r === r.parent.right && (s -= r.parent.delta), B(r), (r = r.parent); else { if (!v(r.left)) { if (((o = s + r.maxEnd), o < t)) { y(r, !0); continue; } if (r.left !== D) { r = r.left; continue; } } (a = s + r.start), a > i ? ((r.start += l), (r.end += l), (r.delta += l), (r.delta < -1073741824 || r.delta > 1073741824) && (e.requestNormalizeDelta = !0), y(r, !0)) : (y(r, !0), r.right === D || v(r.right) || ((s += r.delta), (r = r.right))); } y(e.root, !1); })(this, e, e + t, i), this._normalizeDeltaIfNecessary(); for (let s = 0, o = r.length; s < o; s++) { const o = r[s]; (o.start = o.cachedAbsoluteStart), (o.end = o.cachedAbsoluteEnd), T(o, e, e + t, i, n), (o.maxEnd = o.end), I(this, o); } this._normalizeDeltaIfNecessary(); } _normalizeDeltaIfNecessary() { this.requestNormalizeDelta && ((this.requestNormalizeDelta = !1), (function (e) { let t = e.root, i = 0; for (; t !== D; ) t.left === D || v(t.left) ? t.right === D || v(t.right) ? ((t.start = i + t.start), (t.end = i + t.end), (t.delta = 0), B(t), y(t, !0), y(t.left, !1), y(t.right, !1), t === t.parent.right && (i -= t.parent.delta), (t = t.parent)) : ((i += t.delta), (t = t.right)) : (t = t.left); y(e.root, !1); })(this)); } } function E(e, t, i, n) { return e < i || (!(e > i) && 1 !== n && (2 === n || t)); } function T(e, t, i, n, r) { const s = (function (e) { return (48 & e.metadata) >>> 4; })(e), o = 0 === s || 2 === s, a = 1 === s || 2 === s, l = i - t, c = n, d = Math.min(l, c), h = e.start; let u = !1; const g = e.end; let f = !1; t <= h && g <= i && (function (e) { return (64 & e.metadata) >>> 6 == 1; })(e) && ((e.start = t), (u = !0), (e.end = t), (f = !0)); { const e = r ? 1 : l > 0 ? 2 : 0; !u && E(h, o, t, e) && (u = !0), !f && E(g, a, t, e) && (f = !0); } if (d > 0 && !r) { const e = l > c ? 2 : 0; !u && E(h, o, t + d, e) && (u = !0), !f && E(g, a, t + d, e) && (f = !0); } { const n = r ? 1 : 0; !u && E(h, o, i, n) && ((e.start = t + c), (u = !0)), !f && E(g, a, i, n) && ((e.end = t + c), (f = !0)); } const p = c - l; u || (e.start = Math.max(0, h + p)), f || (e.end = Math.max(0, g + p)), e.start > e.end && (e.end = e.start); } function I(e, t) { if (e.root === D) return ( (t.parent = D), (t.left = D), (t.right = D), b(t, 0), (e.root = t), e.root ); !(function (e, t) { let i = 0, n = e.root; const r = t.start, s = t.end; for (;;) if ( ((o = r), (a = s), (l = n.start + i), (c = n.end + i), (o === l ? a - c : o - l) < 0) ) { if (n.left === D) { (t.start -= i), (t.end -= i), (t.maxEnd -= i), (n.left = t); break; } n = n.left; } else { if (n.right === D) { (t.start -= i + n.delta), (t.end -= i + n.delta), (t.maxEnd -= i + n.delta), (n.right = t); break; } (i += n.delta), (n = n.right); } var o, a, l, c; (t.parent = n), (t.left = D), (t.right = D), b(t, 1); })(e, t), W(t.parent); let i = t; for (; i !== e.root && 1 === _(i.parent); ) if (i.parent === i.parent.parent.left) { const t = i.parent.parent.right; 1 === _(t) ? (b(i.parent, 0), b(t, 0), b(i.parent.parent, 1), (i = i.parent.parent)) : (i === i.parent.right && ((i = i.parent), R(e, i)), b(i.parent, 0), b(i.parent.parent, 1), P(e, i.parent.parent)); } else { const t = i.parent.parent.left; 1 === _(t) ? (b(i.parent, 0), b(t, 0), b(i.parent.parent, 1), (i = i.parent.parent)) : (i === i.parent.left && ((i = i.parent), P(e, i)), b(i.parent, 0), b(i.parent.parent, 1), R(e, i.parent.parent)); } return b(e.root, 0), t; } function O(e, t) { let i, n; if ( (t.left === D ? ((i = t.right), (n = t), (i.delta += t.delta), (i.delta < -1073741824 || i.delta > 1073741824) && (e.requestNormalizeDelta = !0), (i.start += t.delta), (i.end += t.delta)) : t.right === D ? ((i = t.left), (n = t)) : ((n = (function (e) { for (; e.left !== D; ) e = e.left; return e; })(t.right)), (i = n.right), (i.start += n.delta), (i.end += n.delta), (i.delta += n.delta), (i.delta < -1073741824 || i.delta > 1073741824) && (e.requestNormalizeDelta = !0), (n.start += t.delta), (n.end += t.delta), (n.delta = t.delta), (n.delta < -1073741824 || n.delta > 1073741824) && (e.requestNormalizeDelta = !0)), n === e.root) ) return ( (e.root = i), b(i, 0), t.detach(), A(), B(i), void (e.root.parent = D) ); let r, s = 1 === _(n); if ( (n === n.parent.left ? (n.parent.left = i) : (n.parent.right = i), n === t ? (i.parent = n.parent) : (n.parent === t ? (i.parent = n) : (i.parent = n.parent), (n.left = t.left), (n.right = t.right), (n.parent = t.parent), b(n, _(t)), t === e.root ? (e.root = n) : t === t.parent.left ? (t.parent.left = n) : (t.parent.right = n), n.left !== D && (n.left.parent = n), n.right !== D && (n.right.parent = n)), t.detach(), s) ) return W(i.parent), n !== t && (W(n), W(n.parent)), void A(); for ( W(i), W(i.parent), n !== t && (W(n), W(n.parent)); i !== e.root && 0 === _(i); ) i === i.parent.left ? ((r = i.parent.right), 1 === _(r) && (b(r, 0), b(i.parent, 1), R(e, i.parent), (r = i.parent.right)), 0 === _(r.left) && 0 === _(r.right) ? (b(r, 1), (i = i.parent)) : (0 === _(r.right) && (b(r.left, 0), b(r, 1), P(e, r), (r = i.parent.right)), b(r, _(i.parent)), b(i.parent, 0), b(r.right, 0), R(e, i.parent), (i = e.root))) : ((r = i.parent.left), 1 === _(r) && (b(r, 0), b(i.parent, 1), P(e, i.parent), (r = i.parent.left)), 0 === _(r.left) && 0 === _(r.right) ? (b(r, 1), (i = i.parent)) : (0 === _(r.left) && (b(r.right, 0), b(r, 1), R(e, r), (r = i.parent.left)), b(r, _(i.parent)), b(i.parent, 0), b(r.left, 0), P(e, i.parent), (i = e.root))); b(i, 0), A(); } function A() { (D.parent = D), (D.delta = 0), (D.start = 0), (D.end = 0); } function R(e, t) { const i = t.right; (i.delta += t.delta), (i.delta < -1073741824 || i.delta > 1073741824) && (e.requestNormalizeDelta = !0), (i.start += t.delta), (i.end += t.delta), (t.right = i.left), i.left !== D && (i.left.parent = t), (i.parent = t.parent), t.parent === D ? (e.root = i) : t === t.parent.left ? (t.parent.left = i) : (t.parent.right = i), (i.left = t), (t.parent = i), B(t), B(i); } function P(e, t) { const i = t.left; (t.delta -= i.delta), (t.delta < -1073741824 || t.delta > 1073741824) && (e.requestNormalizeDelta = !0), (t.start -= i.delta), (t.end -= i.delta), (t.left = i.right), i.right !== D && (i.right.parent = t), (i.parent = t.parent), t.parent === D ? (e.root = i) : t === t.parent.right ? (t.parent.right = i) : (t.parent.left = i), (i.right = t), (t.parent = i), B(t), B(i); } function F(e) { let t = e.end; if (e.left !== D) { const i = e.left.maxEnd; i > t && (t = i); } if (e.right !== D) { const i = e.right.maxEnd + e.delta; i > t && (t = i); } return t; } function B(e) { e.maxEnd = F(e); } function W(e) { for (; e !== D; ) { const t = F(e); if (e.maxEnd === t) return; (e.maxEnd = t), (e = e.parent); } } class Y { constructor(e, t) { (this.piece = e), (this.color = t), (this.size_left = 0), (this.lf_left = 0), (this.parent = this), (this.left = this), (this.right = this); } next() { if (this.right !== H) return j(this.right); let e = this; for (; e.parent !== H && e.parent.left !== e; ) e = e.parent; return e.parent === H ? H : e.parent; } prev() { if (this.left !== H) return V(this.left); let e = this; for (; e.parent !== H && e.parent.right !== e; ) e = e.parent; return e.parent === H ? H : e.parent; } detach() { (this.parent = null), (this.left = null), (this.right = null); } } const H = new Y(null, 0); function j(e) { for (; e.left !== H; ) e = e.left; return e; } function V(e) { for (; e.right !== H; ) e = e.right; return e; } function z(e) { return e === H ? 0 : e.size_left + e.piece.length + z(e.right); } function U(e) { return e === H ? 0 : e.lf_left + e.piece.lineFeedCnt + U(e.right); } function $() { H.parent = H; } function K(e, t) { let i = t.right; (i.size_left += t.size_left + (t.piece ? t.piece.length : 0)), (i.lf_left += t.lf_left + (t.piece ? t.piece.lineFeedCnt : 0)), (t.right = i.left), i.left !== H && (i.left.parent = t), (i.parent = t.parent), t.parent === H ? (e.root = i) : t.parent.left === t ? (t.parent.left = i) : (t.parent.right = i), (i.left = t), (t.parent = i); } function q(e, t) { let i = t.left; (t.left = i.right), i.right !== H && (i.right.parent = t), (i.parent = t.parent), (t.size_left -= i.size_left + (i.piece ? i.piece.length : 0)), (t.lf_left -= i.lf_left + (i.piece ? i.piece.lineFeedCnt : 0)), t.parent === H ? (e.root = i) : t === t.parent.right ? (t.parent.right = i) : (t.parent.left = i), (i.right = t), (t.parent = i); } function G(e, t) { let i, n; if ( (t.left === H ? ((n = t), (i = n.right)) : t.right === H ? ((n = t), (i = n.left)) : ((n = j(t.right)), (i = n.right)), n === e.root) ) return ( (e.root = i), (i.color = 0), t.detach(), $(), void (e.root.parent = H) ); let r, s = 1 === n.color; if ( (n === n.parent.left ? (n.parent.left = i) : (n.parent.right = i), n === t ? ((i.parent = n.parent), Q(e, i)) : (n.parent === t ? (i.parent = n) : (i.parent = n.parent), Q(e, i), (n.left = t.left), (n.right = t.right), (n.parent = t.parent), (n.color = t.color), t === e.root ? (e.root = n) : t === t.parent.left ? (t.parent.left = n) : (t.parent.right = n), n.left !== H && (n.left.parent = n), n.right !== H && (n.right.parent = n), (n.size_left = t.size_left), (n.lf_left = t.lf_left), Q(e, n)), t.detach(), i.parent.left === i) ) { let t = z(i), n = U(i); if (t !== i.parent.size_left || n !== i.parent.lf_left) { let r = t - i.parent.size_left, s = n - i.parent.lf_left; (i.parent.size_left = t), (i.parent.lf_left = n), J(e, i.parent, r, s); } } if ((Q(e, i.parent), s)) $(); else { for (; i !== e.root && 0 === i.color; ) i === i.parent.left ? ((r = i.parent.right), 1 === r.color && ((r.color = 0), (i.parent.color = 1), K(e, i.parent), (r = i.parent.right)), 0 === r.left.color && 0 === r.right.color ? ((r.color = 1), (i = i.parent)) : (0 === r.right.color && ((r.left.color = 0), (r.color = 1), q(e, r), (r = i.parent.right)), (r.color = i.parent.color), (i.parent.color = 0), (r.right.color = 0), K(e, i.parent), (i = e.root))) : ((r = i.parent.left), 1 === r.color && ((r.color = 0), (i.parent.color = 1), q(e, i.parent), (r = i.parent.left)), 0 === r.left.color && 0 === r.right.color ? ((r.color = 1), (i = i.parent)) : (0 === r.left.color && ((r.right.color = 0), (r.color = 1), K(e, r), (r = i.parent.left)), (r.color = i.parent.color), (i.parent.color = 0), (r.left.color = 0), q(e, i.parent), (i = e.root))); (i.color = 0), $(); } } function Z(e, t) { for (Q(e, t); t !== e.root && 1 === t.parent.color; ) if (t.parent === t.parent.parent.left) { const i = t.parent.parent.right; 1 === i.color ? ((t.parent.color = 0), (i.color = 0), (t.parent.parent.color = 1), (t = t.parent.parent)) : (t === t.parent.right && K(e, (t = t.parent)), (t.parent.color = 0), (t.parent.parent.color = 1), q(e, t.parent.parent)); } else { const i = t.parent.parent.left; 1 === i.color ? ((t.parent.color = 0), (i.color = 0), (t.parent.parent.color = 1), (t = t.parent.parent)) : (t === t.parent.left && q(e, (t = t.parent)), (t.parent.color = 0), (t.parent.parent.color = 1), K(e, t.parent.parent)); } e.root.color = 0; } function J(e, t, i, n) { for (; t !== e.root && t !== H; ) t.parent.left === t && ((t.parent.size_left += i), (t.parent.lf_left += n)), (t = t.parent); } function Q(e, t) { let i = 0, n = 0; if (t !== e.root) { if (0 === i) { for (; t !== e.root && t === t.parent.right; ) t = t.parent; if (t === e.root) return; (i = z((t = t.parent).left) - t.size_left), (n = U(t.left) - t.lf_left), (t.size_left += i), (t.lf_left += n); } for (; t !== e.root && (0 !== i || 0 !== n); ) t.parent.left === t && ((t.parent.size_left += i), (t.parent.lf_left += n)), (t = t.parent); } } (H.parent = H), (H.left = H), (H.right = H), (H.color = 0); var X = i(77277); const ee = 65535; function te(e) { let t; return ( (t = e[e.length - 1] < 65536 ? new Uint16Array(e.length) : new Uint32Array(e.length)), t.set(e, 0), t ); } class ie { constructor(e, t, i, n, r) { (this.lineStarts = e), (this.cr = t), (this.lf = i), (this.crlf = n), (this.isBasicASCII = r); } } function ne(e, t = !0) { let i = [0], n = 1; for (let t = 0, r = e.length; t < r; t++) { const s = e.charCodeAt(t); 13 === s ? t + 1 < r && 10 === e.charCodeAt(t + 1) ? ((i[n++] = t + 2), t++) : (i[n++] = t + 1) : 10 === s && (i[n++] = t + 1); } return t ? te(i) : i; } class re { constructor(e, t, i, n, r) { (this.bufferIndex = e), (this.start = t), (this.end = i), (this.lineFeedCnt = n), (this.length = r); } } class se { constructor(e, t) { (this.buffer = e), (this.lineStarts = t); } } class oe { constructor(e, t) { (this._pieces = []), (this._tree = e), (this._BOM = t), (this._index = 0), e.root !== H && e.iterate( e.root, (e) => (e !== H && this._pieces.push(e.piece), !0) ); } read() { return 0 === this._pieces.length ? 0 === this._index ? (this._index++, this._BOM) : null : this._index > this._pieces.length - 1 ? null : 0 === this._index ? this._BOM + this._tree.getPieceContent(this._pieces[this._index++]) : this._tree.getPieceContent(this._pieces[this._index++]); } } class ae { constructor(e) { (this._limit = e), (this._cache = []); } get(e) { for (let t = this._cache.length - 1; t >= 0; t--) { let i = this._cache[t]; if ( i.nodeStartOffset <= e && i.nodeStartOffset + i.node.piece.length >= e ) return i; } return null; } get2(e) { for (let t = this._cache.length - 1; t >= 0; t--) { let i = this._cache[t]; if ( i.nodeStartLineNumber && i.nodeStartLineNumber < e && i.nodeStartLineNumber + i.node.piece.lineFeedCnt >= e ) return i; } return null; } set(e) { this._cache.length >= this._limit && this._cache.shift(), this._cache.push(e); } validate(e) { let t = !1, i = this._cache; for (let n = 0; n < i.length; n++) { let r = i[n]; (null === r.node.parent || r.nodeStartOffset >= e) && ((i[n] = null), (t = !0)); } if (t) { let e = []; for (const t of i) null !== t && e.push(t); this._cache = e; } } } class le { constructor(e, t, i) { this.create(e, t, i); } create(e, t, i) { (this._buffers = [new se('', [0])]), (this._lastChangeBufferPos = { line: 0, column: 0 }), (this.root = H), (this._lineCnt = 1), (this._length = 0), (this._EOL = t), (this._EOLLength = t.length), (this._EOLNormalized = i); let n = null; for (let t = 0, i = e.length; t < i; t++) if (e[t].buffer.length > 0) { e[t].lineStarts || (e[t].lineStarts = ne(e[t].buffer)); let i = new re( t + 1, { line: 0, column: 0 }, { line: e[t].lineStarts.length - 1, column: e[t].buffer.length - e[t].lineStarts[e[t].lineStarts.length - 1], }, e[t].lineStarts.length - 1, e[t].buffer.length ); this._buffers.push(e[t]), (n = this.rbInsertRight(n, i)); } (this._searchCache = new ae(1)), (this._lastVisitedLine = { lineNumber: 0, value: '' }), this.computeBufferMetadata(); } normalizeEOL(e) { let t = 65535 - Math.floor(21845), i = 2 * t, n = '', r = 0, s = []; if ( (this.iterate(this.root, (o) => { let a = this.getNodeContent(o), l = a.length; if (r <= t || r + l < i) return (n += a), (r += l), !0; let c = n.replace(/\r\n|\r|\n/g, e); return s.push(new se(c, ne(c))), (n = a), (r = l), !0; }), r > 0) ) { let t = n.replace(/\r\n|\r|\n/g, e); s.push(new se(t, ne(t))); } this.create(s, e, !0); } getEOL() { return this._EOL; } setEOL(e) { (this._EOL = e), (this._EOLLength = this._EOL.length), this.normalizeEOL(e); } createSnapshot(e) { return new oe(this, e); } getOffsetAt(e, t) { let i = 0, n = this.root; for (; n !== H; ) if (n.left !== H && n.lf_left + 1 >= e) n = n.left; else { if (n.lf_left + n.piece.lineFeedCnt + 1 >= e) return ( (i += n.size_left), i + (this.getAccumulatedValue(n, e - n.lf_left - 2) + t - 1) ); (e -= n.lf_left + n.piece.lineFeedCnt), (i += n.size_left + n.piece.length), (n = n.right); } return i; } getPositionAt(e) { (e = Math.floor(e)), (e = Math.max(0, e)); let t = this.root, i = 0, n = e; for (; t !== H; ) if (0 !== t.size_left && t.size_left >= e) t = t.left; else { if (t.size_left + t.piece.length >= e) { let r = this.getIndexOf(t, e - t.size_left); if (((i += t.lf_left + r.index), 0 === r.index)) { let e = n - this.getOffsetAt(i + 1, 1); return new c.L(i + 1, e + 1); } return new c.L(i + 1, r.remainder + 1); } if ( ((e -= t.size_left + t.piece.length), (i += t.lf_left + t.piece.lineFeedCnt), t.right === H) ) { let t = n - e - this.getOffsetAt(i + 1, 1); return new c.L(i + 1, t + 1); } t = t.right; } return new c.L(1, 1); } getValueInRange(e, t) { if ( e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn ) return ''; let i = this.nodeAt2(e.startLineNumber, e.startColumn), n = this.nodeAt2(e.endLineNumber, e.endColumn), r = this.getValueInRange2(i, n); return t ? t === this._EOL && this._EOLNormalized && t === this.getEOL() && this._EOLNormalized ? r : r.replace(/\r\n|\r|\n/g, t) : r; } getValueInRange2(e, t) { if (e.node === t.node) { let i = e.node, n = this._buffers[i.piece.bufferIndex].buffer, r = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); return n.substring(r + e.remainder, r + t.remainder); } let i = e.node, n = this._buffers[i.piece.bufferIndex].buffer, r = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start), s = n.substring(r + e.remainder, r + i.piece.length); for (i = i.next(); i !== H; ) { let e = this._buffers[i.piece.bufferIndex].buffer, n = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); if (i === t.node) { s += e.substring(n, n + t.remainder); break; } (s += e.substr(n, i.piece.length)), (i = i.next()); } return s; } getLinesContent() { let e = [], t = 0, i = '', n = !1; return ( this.iterate(this.root, (r) => { if (r === H) return !0; const s = r.piece; let o = s.length; if (0 === o) return !0; const a = this._buffers[s.bufferIndex].buffer, l = this._buffers[s.bufferIndex].lineStarts, c = s.start.line, d = s.end.line; let h = l[c] + s.start.column; if ( n && (10 === a.charCodeAt(h) && (h++, o--), (e[t++] = i), (i = ''), (n = !1), 0 === o) ) return !0; if (c === d) return ( this._EOLNormalized || 13 !== a.charCodeAt(h + o - 1) ? (i += a.substr(h, o)) : ((n = !0), (i += a.substr(h, o - 1))), !0 ); (i += this._EOLNormalized ? a.substring(h, Math.max(h, l[c + 1] - this._EOLLength)) : a.substring(h, l[c + 1]).replace(/(\r\n|\r|\n)$/, '')), (e[t++] = i); for (let n = c + 1; n < d; n++) (i = this._EOLNormalized ? a.substring(l[n], l[n + 1] - this._EOLLength) : a.substring(l[n], l[n + 1]).replace(/(\r\n|\r|\n)$/, '')), (e[t++] = i); return ( this._EOLNormalized || 13 !== a.charCodeAt(l[d] + s.end.column - 1) ? (i = a.substr(l[d], s.end.column)) : ((n = !0), 0 === s.end.column ? t-- : (i = a.substr(l[d], s.end.column - 1))), !0 ); }), n && ((e[t++] = i), (i = '')), (e[t++] = i), e ); } getLength() { return this._length; } getLineCount() { return this._lineCnt; } getLineContent(e) { return ( this._lastVisitedLine.lineNumber === e || ((this._lastVisitedLine.lineNumber = e), e === this._lineCnt ? (this._lastVisitedLine.value = this.getLineRawContent(e)) : this._EOLNormalized ? (this._lastVisitedLine.value = this.getLineRawContent( e, this._EOLLength )) : (this._lastVisitedLine.value = this.getLineRawContent( e ).replace(/(\r\n|\r|\n)$/, ''))), this._lastVisitedLine.value ); } _getCharCode(e) { if (e.remainder === e.node.piece.length) { let t = e.node.next(); if (!t) return 0; let i = this._buffers[t.piece.bufferIndex], n = this.offsetInBuffer(t.piece.bufferIndex, t.piece.start); return i.buffer.charCodeAt(n); } { let t = this._buffers[e.node.piece.bufferIndex], i = this.offsetInBuffer( e.node.piece.bufferIndex, e.node.piece.start ) + e.remainder; return t.buffer.charCodeAt(i); } } getLineCharCode(e, t) { let i = this.nodeAt2(e, t + 1); return this._getCharCode(i); } getLineLength(e) { if (e === this.getLineCount()) { let t = this.getOffsetAt(e, 1); return this.getLength() - t; } return ( this.getOffsetAt(e + 1, 1) - this.getOffsetAt(e, 1) - this._EOLLength ); } findMatchesInNode(e, t, i, n, r, s, o, a, l, c, h) { let u, g, f, p = this._buffers[e.piece.bufferIndex], m = this.offsetInBuffer(e.piece.bufferIndex, e.piece.start), _ = this.offsetInBuffer(e.piece.bufferIndex, r), b = this.offsetInBuffer(e.piece.bufferIndex, s), v = { line: 0, column: 0 }; t._wordSeparators ? ((g = p.buffer.substring(_, b)), (f = (e) => e + _), t.reset(0)) : ((g = p.buffer), (f = (e) => e), t.reset(_)); do { if (((u = t.next(g)), u)) { if (f(u.index) >= b) return c; this.positionInBuffer(e, f(u.index) - m, v); let t = this.getLineFeedCnt(e.piece.bufferIndex, r, v), s = v.line === r.line ? v.column - r.column + n : v.column + 1, o = s + u[0].length; if ( ((h[c++] = (0, X.iE)(new d.e(i + t, s, i + t, o), u, a)), f(u.index) + u[0].length >= b) ) return c; if (c >= l) return c; } } while (u); return c; } findMatchesLineByLine(e, t, i, n) { const r = []; let s = 0; const o = new X.sz(t.wordSeparators, t.regex); let a = this.nodeAt2(e.startLineNumber, e.startColumn); if (null === a) return []; let l = this.nodeAt2(e.endLineNumber, e.endColumn); if (null === l) return []; let c = this.positionInBuffer(a.node, a.remainder), d = this.positionInBuffer(l.node, l.remainder); if (a.node === l.node) return ( this.findMatchesInNode( a.node, o, e.startLineNumber, e.startColumn, c, d, t, i, n, s, r ), r ); let h = e.startLineNumber, u = a.node; for (; u !== l.node; ) { let l = this.getLineFeedCnt(u.piece.bufferIndex, c, u.piece.end); if (l >= 1) { let a = this._buffers[u.piece.bufferIndex].lineStarts, d = this.offsetInBuffer(u.piece.bufferIndex, u.piece.start), g = a[c.line + l], f = h === e.startLineNumber ? e.startColumn : 1; if ( ((s = this.findMatchesInNode( u, o, h, f, c, this.positionInBuffer(u, g - d), t, i, n, s, r )), s >= n) ) return r; h += l; } let d = h === e.startLineNumber ? e.startColumn - 1 : 0; if (h === e.endLineNumber) { const a = this.getLineContent(h).substring(d, e.endColumn - 1); return ( (s = this._findMatchesInLine( t, o, a, e.endLineNumber, d, s, r, i, n )), r ); } if ( ((s = this._findMatchesInLine( t, o, this.getLineContent(h).substr(d), h, d, s, r, i, n )), s >= n) ) return r; h++, (a = this.nodeAt2(h, 1)), (u = a.node), (c = this.positionInBuffer(a.node, a.remainder)); } if (h === e.endLineNumber) { let a = h === e.startLineNumber ? e.startColumn - 1 : 0; const l = this.getLineContent(h).substring(a, e.endColumn - 1); return ( (s = this._findMatchesInLine( t, o, l, e.endLineNumber, a, s, r, i, n )), r ); } let g = h === e.startLineNumber ? e.startColumn : 1; return ( (s = this.findMatchesInNode( l.node, o, h, g, c, d, t, i, n, s, r )), r ); } _findMatchesInLine(e, t, i, n, r, s, o, a, l) { const c = e.wordSeparators; if (!a && e.simpleSearch) { const t = e.simpleSearch, a = t.length, h = i.length; let g = -a; for (; -1 !== (g = i.indexOf(t, g + a)); ) if ( (!c || (0, X.cM)(c, i, h, g, a)) && ((o[s++] = new u.tk( new d.e(n, g + 1 + r, n, g + 1 + a + r), null )), s >= l) ) return s; return s; } let h; t.reset(0); do { if ( ((h = t.next(i)), h && ((o[s++] = (0, X.iE)( new d.e( n, h.index + 1 + r, n, h.index + 1 + h[0].length + r ), h, a )), s >= l)) ) return s; } while (h); return s; } insert(e, t, i = !1) { if ( ((this._EOLNormalized = this._EOLNormalized && i), (this._lastVisitedLine.lineNumber = 0), (this._lastVisitedLine.value = ''), this.root !== H) ) { let { node: i, remainder: n, nodeStartOffset: r } = this.nodeAt( e ), s = i.piece, o = s.bufferIndex, a = this.positionInBuffer(i, n); if ( 0 === i.piece.bufferIndex && s.end.line === this._lastChangeBufferPos.line && s.end.column === this._lastChangeBufferPos.column && r + s.length === e && t.length < ee ) return ( this.appendToNode(i, t), void this.computeBufferMetadata() ); if (r === e) this.insertContentToNodeLeft(t, i), this._searchCache.validate(e); else if (r + i.piece.length > e) { let e = [], r = new re( s.bufferIndex, a, s.end, this.getLineFeedCnt(s.bufferIndex, a, s.end), this.offsetInBuffer(o, s.end) - this.offsetInBuffer(o, a) ); if ( this.shouldCheckCRLF() && this.endWithCR(t) && 10 === this.nodeCharCodeAt(i, n) ) { let e = { line: r.start.line + 1, column: 0 }; (r = new re( r.bufferIndex, e, r.end, this.getLineFeedCnt(r.bufferIndex, e, r.end), r.length - 1 )), (t += '\n'); } if (this.shouldCheckCRLF() && this.startWithLF(t)) if (13 === this.nodeCharCodeAt(i, n - 1)) { let r = this.positionInBuffer(i, n - 1); this.deleteNodeTail(i, r), (t = '\r' + t), 0 === i.piece.length && e.push(i); } else this.deleteNodeTail(i, a); else this.deleteNodeTail(i, a); let l = this.createNewPieces(t); r.length > 0 && this.rbInsertRight(i, r); let c = i; for (let e = 0; e < l.length; e++) c = this.rbInsertRight(c, l[e]); this.deleteNodes(e); } else this.insertContentToNodeRight(t, i); } else { let e = this.createNewPieces(t), i = this.rbInsertLeft(null, e[0]); for (let t = 1; t < e.length; t++) i = this.rbInsertRight(i, e[t]); } this.computeBufferMetadata(); } delete(e, t) { if ( ((this._lastVisitedLine.lineNumber = 0), (this._lastVisitedLine.value = ''), t <= 0 || this.root === H) ) return; let i = this.nodeAt(e), n = this.nodeAt(e + t), r = i.node, s = n.node; if (r === s) { let s = this.positionInBuffer(r, i.remainder), o = this.positionInBuffer(r, n.remainder); if (i.nodeStartOffset === e) { if (t === r.piece.length) { let e = r.next(); return ( G(this, r), this.validateCRLFWithPrevNode(e), void this.computeBufferMetadata() ); } return ( this.deleteNodeHead(r, o), this._searchCache.validate(e), this.validateCRLFWithPrevNode(r), void this.computeBufferMetadata() ); } return i.nodeStartOffset + r.piece.length === e + t ? (this.deleteNodeTail(r, s), this.validateCRLFWithNextNode(r), void this.computeBufferMetadata()) : (this.shrinkNode(r, s, o), void this.computeBufferMetadata()); } let o = [], a = this.positionInBuffer(r, i.remainder); this.deleteNodeTail(r, a), this._searchCache.validate(e), 0 === r.piece.length && o.push(r); let l = this.positionInBuffer(s, n.remainder); this.deleteNodeHead(s, l), 0 === s.piece.length && o.push(s); for (let e = r.next(); e !== H && e !== s; e = e.next()) o.push(e); let c = 0 === r.piece.length ? r.prev() : r; this.deleteNodes(o), this.validateCRLFWithNextNode(c), this.computeBufferMetadata(); } insertContentToNodeLeft(e, t) { let i = []; if ( this.shouldCheckCRLF() && this.endWithCR(e) && this.startWithLF(t) ) { let n = t.piece, r = { line: n.start.line + 1, column: 0 }, s = new re( n.bufferIndex, r, n.end, this.getLineFeedCnt(n.bufferIndex, r, n.end), n.length - 1 ); (t.piece = s), (e += '\n'), J(this, t, -1, -1), 0 === t.piece.length && i.push(t); } let n = this.createNewPieces(e), r = this.rbInsertLeft(t, n[n.length - 1]); for (let e = n.length - 2; e >= 0; e--) r = this.rbInsertLeft(r, n[e]); this.validateCRLFWithPrevNode(r), this.deleteNodes(i); } insertContentToNodeRight(e, t) { this.adjustCarriageReturnFromNext(e, t) && (e += '\n'); let i = this.createNewPieces(e), n = this.rbInsertRight(t, i[0]), r = n; for (let e = 1; e < i.length; e++) r = this.rbInsertRight(r, i[e]); this.validateCRLFWithPrevNode(n); } positionInBuffer(e, t, i) { let n = e.piece, r = e.piece.bufferIndex, s = this._buffers[r].lineStarts, o = s[n.start.line] + n.start.column + t, a = n.start.line, l = n.end.line, c = 0, d = 0, h = 0; for ( ; a <= l && ((c = (a + (l - a) / 2) | 0), (h = s[c]), c !== l); ) if (((d = s[c + 1]), o < h)) l = c - 1; else { if (!(o >= d)) break; a = c + 1; } return i ? ((i.line = c), (i.column = o - h), null) : { line: c, column: o - h }; } getLineFeedCnt(e, t, i) { if (0 === i.column) return i.line - t.line; let n = this._buffers[e].lineStarts; if (i.line === n.length - 1) return i.line - t.line; let r = n[i.line + 1], s = n[i.line] + i.column; if (r > s + 1) return i.line - t.line; let o = s - 1; return 13 === this._buffers[e].buffer.charCodeAt(o) ? i.line - t.line + 1 : i.line - t.line; } offsetInBuffer(e, t) { return this._buffers[e].lineStarts[t.line] + t.column; } deleteNodes(e) { for (let t = 0; t < e.length; t++) G(this, e[t]); } createNewPieces(e) { if (e.length > ee) { let t = []; for (; e.length > ee; ) { const i = e.charCodeAt(65534); let n; 13 === i || (i >= 55296 && i <= 56319) ? ((n = e.substring(0, 65534)), (e = e.substring(65534))) : ((n = e.substring(0, ee)), (e = e.substring(ee))); let r = ne(n); t.push( new re( this._buffers.length, { line: 0, column: 0 }, { line: r.length - 1, column: n.length - r[r.length - 1] }, r.length - 1, n.length ) ), this._buffers.push(new se(n, r)); } let i = ne(e); return ( t.push( new re( this._buffers.length, { line: 0, column: 0 }, { line: i.length - 1, column: e.length - i[i.length - 1] }, i.length - 1, e.length ) ), this._buffers.push(new se(e, i)), t ); } let t = this._buffers[0].buffer.length; const i = ne(e, !1); let n = this._lastChangeBufferPos; if ( this._buffers[0].lineStarts[ this._buffers[0].lineStarts.length - 1 ] === t && 0 !== t && this.startWithLF(e) && this.endWithCR(this._buffers[0].buffer) ) { (this._lastChangeBufferPos = { line: this._lastChangeBufferPos.line, column: this._lastChangeBufferPos.column + 1, }), (n = this._lastChangeBufferPos); for (let e = 0; e < i.length; e++) i[e] += t + 1; (this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( i.slice(1) )), (this._buffers[0].buffer += '_' + e), (t += 1); } else { if (0 !== t) for (let e = 0; e < i.length; e++) i[e] += t; (this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( i.slice(1) )), (this._buffers[0].buffer += e); } const r = this._buffers[0].buffer.length; let s = this._buffers[0].lineStarts.length - 1, o = { line: s, column: r - this._buffers[0].lineStarts[s] }, a = new re(0, n, o, this.getLineFeedCnt(0, n, o), r - t); return (this._lastChangeBufferPos = o), [a]; } getLineRawContent(e, t = 0) { let i = this.root, n = '', r = this._searchCache.get2(e); if (r) { i = r.node; let s = this.getAccumulatedValue( i, e - r.nodeStartLineNumber - 1 ), o = this._buffers[i.piece.bufferIndex].buffer, a = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); if (r.nodeStartLineNumber + i.piece.lineFeedCnt !== e) { let n = this.getAccumulatedValue(i, e - r.nodeStartLineNumber); return o.substring(a + s, a + n - t); } n = o.substring(a + s, a + i.piece.length); } else { let r = 0; const s = e; for (; i !== H; ) if (i.left !== H && i.lf_left >= e - 1) i = i.left; else { if (i.lf_left + i.piece.lineFeedCnt > e - 1) { let n = this.getAccumulatedValue(i, e - i.lf_left - 2), o = this.getAccumulatedValue(i, e - i.lf_left - 1), a = this._buffers[i.piece.bufferIndex].buffer, l = this.offsetInBuffer( i.piece.bufferIndex, i.piece.start ); return ( (r += i.size_left), this._searchCache.set({ node: i, nodeStartOffset: r, nodeStartLineNumber: s - (e - 1 - i.lf_left), }), a.substring(l + n, l + o - t) ); } if (i.lf_left + i.piece.lineFeedCnt === e - 1) { let t = this.getAccumulatedValue(i, e - i.lf_left - 2), r = this._buffers[i.piece.bufferIndex].buffer, s = this.offsetInBuffer( i.piece.bufferIndex, i.piece.start ); n = r.substring(s + t, s + i.piece.length); break; } (e -= i.lf_left + i.piece.lineFeedCnt), (r += i.size_left + i.piece.length), (i = i.right); } } for (i = i.next(); i !== H; ) { let e = this._buffers[i.piece.bufferIndex].buffer; if (i.piece.lineFeedCnt > 0) { let r = this.getAccumulatedValue(i, 0), s = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); return (n += e.substring(s, s + r - t)), n; } { let t = this.offsetInBuffer(i.piece.bufferIndex, i.piece.start); n += e.substr(t, i.piece.length); } i = i.next(); } return n; } computeBufferMetadata() { let e = this.root, t = 1, i = 0; for (; e !== H; ) (t += e.lf_left + e.piece.lineFeedCnt), (i += e.size_left + e.piece.length), (e = e.right); (this._lineCnt = t), (this._length = i), this._searchCache.validate(this._length); } getIndexOf(e, t) { let i = e.piece, n = this.positionInBuffer(e, t), r = n.line - i.start.line; if ( this.offsetInBuffer(i.bufferIndex, i.end) - this.offsetInBuffer(i.bufferIndex, i.start) === t ) { let t = this.getLineFeedCnt(e.piece.bufferIndex, i.start, n); if (t !== r) return { index: t, remainder: 0 }; } return { index: r, remainder: n.column }; } getAccumulatedValue(e, t) { if (t < 0) return 0; let i = e.piece, n = this._buffers[i.bufferIndex].lineStarts, r = i.start.line + t + 1; return r > i.end.line ? n[i.end.line] + i.end.column - n[i.start.line] - i.start.column : n[r] - n[i.start.line] - i.start.column; } deleteNodeTail(e, t) { const i = e.piece, n = i.lineFeedCnt, r = this.offsetInBuffer(i.bufferIndex, i.end), s = t, o = this.offsetInBuffer(i.bufferIndex, s), a = this.getLineFeedCnt(i.bufferIndex, i.start, s), l = a - n, c = o - r, d = i.length + c; (e.piece = new re(i.bufferIndex, i.start, s, a, d)), J(this, e, c, l); } deleteNodeHead(e, t) { const i = e.piece, n = i.lineFeedCnt, r = this.offsetInBuffer(i.bufferIndex, i.start), s = t, o = this.getLineFeedCnt(i.bufferIndex, s, i.end), a = o - n, l = r - this.offsetInBuffer(i.bufferIndex, s), c = i.length + l; (e.piece = new re(i.bufferIndex, s, i.end, o, c)), J(this, e, l, a); } shrinkNode(e, t, i) { const n = e.piece, r = n.start, s = n.end, o = n.length, a = n.lineFeedCnt, l = t, c = this.getLineFeedCnt(n.bufferIndex, n.start, l), d = this.offsetInBuffer(n.bufferIndex, t) - this.offsetInBuffer(n.bufferIndex, r); (e.piece = new re(n.bufferIndex, n.start, l, c, d)), J(this, e, d - o, c - a); let h = new re( n.bufferIndex, i, s, this.getLineFeedCnt(n.bufferIndex, i, s), this.offsetInBuffer(n.bufferIndex, s) - this.offsetInBuffer(n.bufferIndex, i) ), u = this.rbInsertRight(e, h); this.validateCRLFWithPrevNode(u); } appendToNode(e, t) { this.adjustCarriageReturnFromNext(t, e) && (t += '\n'); const i = this.shouldCheckCRLF() && this.startWithLF(t) && this.endWithCR(e), n = this._buffers[0].buffer.length; this._buffers[0].buffer += t; const r = ne(t, !1); for (let e = 0; e < r.length; e++) r[e] += n; if (i) { let e = this._buffers[0].lineStarts[ this._buffers[0].lineStarts.length - 2 ]; this._buffers[0].lineStarts.pop(), (this._lastChangeBufferPos = { line: this._lastChangeBufferPos.line - 1, column: n - e, }); } this._buffers[0].lineStarts = this._buffers[0].lineStarts.concat( r.slice(1) ); const s = this._buffers[0].lineStarts.length - 1, o = { line: s, column: this._buffers[0].buffer.length - this._buffers[0].lineStarts[s], }, a = e.piece.length + t.length, l = e.piece.lineFeedCnt, c = this.getLineFeedCnt(0, e.piece.start, o), d = c - l; (e.piece = new re(e.piece.bufferIndex, e.piece.start, o, c, a)), (this._lastChangeBufferPos = o), J(this, e, t.length, d); } nodeAt(e) { let t = this.root, i = this._searchCache.get(e); if (i) return { node: i.node, nodeStartOffset: i.nodeStartOffset, remainder: e - i.nodeStartOffset, }; let n = 0; for (; t !== H; ) if (t.size_left > e) t = t.left; else { if (t.size_left + t.piece.length >= e) { n += t.size_left; let i = { node: t, remainder: e - t.size_left, nodeStartOffset: n, }; return this._searchCache.set(i), i; } (e -= t.size_left + t.piece.length), (n += t.size_left + t.piece.length), (t = t.right); } return null; } nodeAt2(e, t) { let i = this.root, n = 0; for (; i !== H; ) if (i.left !== H && i.lf_left >= e - 1) i = i.left; else { if (i.lf_left + i.piece.lineFeedCnt > e - 1) { let r = this.getAccumulatedValue(i, e - i.lf_left - 2), s = this.getAccumulatedValue(i, e - i.lf_left - 1); return ( (n += i.size_left), { node: i, remainder: Math.min(r + t - 1, s), nodeStartOffset: n, } ); } if (i.lf_left + i.piece.lineFeedCnt === e - 1) { let r = this.getAccumulatedValue(i, e - i.lf_left - 2); if (r + t - 1 <= i.piece.length) return { node: i, remainder: r + t - 1, nodeStartOffset: n, }; t -= i.piece.length - r; break; } (e -= i.lf_left + i.piece.lineFeedCnt), (n += i.size_left + i.piece.length), (i = i.right); } for (i = i.next(); i !== H; ) { if (i.piece.lineFeedCnt > 0) { let e = this.getAccumulatedValue(i, 0), n = this.offsetOfNode(i); return { node: i, remainder: Math.min(t - 1, e), nodeStartOffset: n, }; } if (i.piece.length >= t - 1) return { node: i, remainder: t - 1, nodeStartOffset: this.offsetOfNode(i), }; (t -= i.piece.length), (i = i.next()); } return null; } nodeCharCodeAt(e, t) { if (e.piece.lineFeedCnt < 1) return -1; let i = this._buffers[e.piece.bufferIndex], n = this.offsetInBuffer(e.piece.bufferIndex, e.piece.start) + t; return i.buffer.charCodeAt(n); } offsetOfNode(e) { if (!e) return 0; let t = e.size_left; for (; e !== this.root; ) e.parent.right === e && (t += e.parent.size_left + e.parent.piece.length), (e = e.parent); return t; } shouldCheckCRLF() { return !(this._EOLNormalized && '\n' === this._EOL); } startWithLF(e) { if ('string' == typeof e) return 10 === e.charCodeAt(0); if (e === H || 0 === e.piece.lineFeedCnt) return !1; let t = e.piece, i = this._buffers[t.bufferIndex].lineStarts, n = t.start.line, r = i[n] + t.start.column; return ( n !== i.length - 1 && !(i[n + 1] > r + 1) && 10 === this._buffers[t.bufferIndex].buffer.charCodeAt(r) ); } endWithCR(e) { return 'string' == typeof e ? 13 === e.charCodeAt(e.length - 1) : e !== H && 0 !== e.piece.lineFeedCnt && 13 === this.nodeCharCodeAt(e, e.piece.length - 1); } validateCRLFWithPrevNode(e) { if (this.shouldCheckCRLF() && this.startWithLF(e)) { let t = e.prev(); this.endWithCR(t) && this.fixCRLF(t, e); } } validateCRLFWithNextNode(e) { if (this.shouldCheckCRLF() && this.endWithCR(e)) { let t = e.next(); this.startWithLF(t) && this.fixCRLF(e, t); } } fixCRLF(e, t) { let i, n = [], r = this._buffers[e.piece.bufferIndex].lineStarts; i = 0 === e.piece.end.column ? { line: e.piece.end.line - 1, column: r[e.piece.end.line] - r[e.piece.end.line - 1] - 1, } : { line: e.piece.end.line, column: e.piece.end.column - 1 }; const s = e.piece.length - 1, o = e.piece.lineFeedCnt - 1; (e.piece = new re(e.piece.bufferIndex, e.piece.start, i, o, s)), J(this, e, -1, -1), 0 === e.piece.length && n.push(e); let a = { line: t.piece.start.line + 1, column: 0 }; const l = t.piece.length - 1, c = this.getLineFeedCnt(t.piece.bufferIndex, a, t.piece.end); (t.piece = new re(t.piece.bufferIndex, a, t.piece.end, c, l)), J(this, t, -1, -1), 0 === t.piece.length && n.push(t); let d = this.createNewPieces('\r\n'); this.rbInsertRight(e, d[0]); for (let e = 0; e < n.length; e++) G(this, n[e]); } adjustCarriageReturnFromNext(e, t) { if (this.shouldCheckCRLF() && this.endWithCR(e)) { let i = t.next(); if (this.startWithLF(i)) { if (((e += '\n'), 1 === i.piece.length)) G(this, i); else { const e = i.piece, t = { line: e.start.line + 1, column: 0 }, n = e.length - 1, r = this.getLineFeedCnt(e.bufferIndex, t, e.end); (i.piece = new re(e.bufferIndex, t, e.end, r, n)), J(this, i, -1, -1); } return !0; } } return !1; } iterate(e, t) { if (e === H) return t(H); let i = this.iterate(e.left, t); return i ? t(e) && this.iterate(e.right, t) : i; } getNodeContent(e) { if (e === H) return ''; let t, i = this._buffers[e.piece.bufferIndex], n = e.piece, r = this.offsetInBuffer(n.bufferIndex, n.start), s = this.offsetInBuffer(n.bufferIndex, n.end); return (t = i.buffer.substring(r, s)), t; } getPieceContent(e) { let t = this._buffers[e.bufferIndex], i = this.offsetInBuffer(e.bufferIndex, e.start), n = this.offsetInBuffer(e.bufferIndex, e.end); return t.buffer.substring(i, n); } rbInsertRight(e, t) { let i = new Y(t, 1); if ( ((i.left = H), (i.right = H), (i.parent = H), (i.size_left = 0), (i.lf_left = 0), this.root === H) ) (this.root = i), (i.color = 0); else if (e.right === H) (e.right = i), (i.parent = e); else { let t = j(e.right); (t.left = i), (i.parent = t); } return Z(this, i), i; } rbInsertLeft(e, t) { let i = new Y(t, 1); if ( ((i.left = H), (i.right = H), (i.parent = H), (i.size_left = 0), (i.lf_left = 0), this.root === H) ) (this.root = i), (i.color = 0); else if (e.left === H) (e.left = i), (i.parent = e); else { let t = V(e.left); (t.right = i), (i.parent = t); } return Z(this, i), i; } } var ce = i(58409), de = i(60962); class he { constructor(e, t, i, n, s, o, a) { (this._onDidChangeContent = new r.Q5()), (this._BOM = t), (this._mightContainNonBasicASCII = !o), (this._mightContainRTL = n), (this._mightContainUnusualLineTerminators = s), (this._pieceTree = new le(e, i, a)); } dispose() { this._onDidChangeContent.dispose(); } mightContainRTL() { return this._mightContainRTL; } mightContainUnusualLineTerminators() { return this._mightContainUnusualLineTerminators; } resetMightContainUnusualLineTerminators() { this._mightContainUnusualLineTerminators = !1; } mightContainNonBasicASCII() { return this._mightContainNonBasicASCII; } getBOM() { return this._BOM; } getEOL() { return this._pieceTree.getEOL(); } createSnapshot(e) { return this._pieceTree.createSnapshot(e ? this._BOM : ''); } getOffsetAt(e, t) { return this._pieceTree.getOffsetAt(e, t); } getPositionAt(e) { return this._pieceTree.getPositionAt(e); } getRangeAt(e, t) { let i = e + t; const n = this.getPositionAt(e), r = this.getPositionAt(i); return new d.e(n.lineNumber, n.column, r.lineNumber, r.column); } getValueInRange(e, t = 0) { if (e.isEmpty()) return ''; const i = this._getEndOfLine(t); return this._pieceTree.getValueInRange(e, i); } getValueLengthInRange(e, t = 0) { if (e.isEmpty()) return 0; if (e.startLineNumber === e.endLineNumber) return e.endColumn - e.startColumn; let i = this.getOffsetAt(e.startLineNumber, e.startColumn); return this.getOffsetAt(e.endLineNumber, e.endColumn) - i; } getCharacterCountInRange(e, t = 0) { if (this._mightContainNonBasicASCII) { let i = 0; const n = e.startLineNumber, r = e.endLineNumber; for (let t = n; t <= r; t++) { const s = this.getLineContent(t), a = t === n ? e.startColumn - 1 : 0, l = t === r ? e.endColumn - 1 : s.length; for (let e = a; e < l; e++) o.ZG(s.charCodeAt(e)) ? ((i += 1), (e += 1)) : (i += 1); } return (i += this._getEndOfLine(t).length * (r - n)), i; } return this.getValueLengthInRange(e, t); } getLength() { return this._pieceTree.getLength(); } getLineCount() { return this._pieceTree.getLineCount(); } getLinesContent() { return this._pieceTree.getLinesContent(); } getLineContent(e) { return this._pieceTree.getLineContent(e); } getLineCharCode(e, t) { return this._pieceTree.getLineCharCode(e, t); } getLineLength(e) { return this._pieceTree.getLineLength(e); } getLineFirstNonWhitespaceColumn(e) { const t = o.LC(this.getLineContent(e)); return -1 === t ? 0 : t + 1; } getLineLastNonWhitespaceColumn(e) { const t = o.ow(this.getLineContent(e)); return -1 === t ? 0 : t + 2; } _getEndOfLine(e) { switch (e) { case 1: return '\n'; case 2: return '\r\n'; case 0: return this.getEOL(); default: throw new Error('Unknown EOL preference'); } } setEOL(e) { this._pieceTree.setEOL(e); } applyEdits(e, t, i) { let n = this._mightContainRTL, r = this._mightContainUnusualLineTerminators, s = this._mightContainNonBasicASCII, a = !0, l = []; for (let t = 0; t < e.length; t++) { let i = e[t]; a && i._isTracked && (a = !1); let c = i.range; if (i.text) { let e = !0; s || ((e = !o.$i(i.text)), (s = e)), !n && e && (n = o.Ut(i.text)), !r && e && (r = o.ab(i.text)); } let d = '', h = 0, u = 0, g = 0; if (i.text) { let e; [h, u, g, e] = (0, ce.QZ)(i.text); const t = this.getEOL(), n = '\r\n' === t ? 2 : 1; d = 0 === e || e === n ? i.text : i.text.replace(/\r\n|\r|\n/g, t); } l[t] = { sortIndex: t, identifier: i.identifier || null, range: c, rangeOffset: this.getOffsetAt(c.startLineNumber, c.startColumn), rangeLength: this.getValueLengthInRange(c), text: d, eolCount: h, firstLineLength: u, lastLineLength: g, forceMoveMarkers: Boolean(i.forceMoveMarkers), isAutoWhitespaceEdit: i.isAutoWhitespaceEdit || !1, }; } l.sort(he._sortOpsAscending); let c = !1; for (let e = 0, t = l.length - 1; e < t; e++) { let t = l[e].range.getEndPosition(), i = l[e + 1].range.getStartPosition(); if (i.isBeforeOrEqual(t)) { if (i.isBefore(t)) throw new Error('Overlapping ranges are not allowed!'); c = !0; } } a && (l = this._reduceOperations(l)); let d = i || t ? he._getInverseEditRanges(l) : [], h = []; if (t) for (let e = 0; e < l.length; e++) { let t = l[e], i = d[e]; if (t.isAutoWhitespaceEdit && t.range.isEmpty()) for (let e = i.startLineNumber; e <= i.endLineNumber; e++) { let n = ''; (e === i.startLineNumber && ((n = this.getLineContent(t.range.startLineNumber)), -1 !== o.LC(n))) || h.push({ lineNumber: e, oldContent: n }); } } let g = null; if (i) { let e = 0; g = []; for (let t = 0; t < l.length; t++) { const i = l[t], n = d[t], r = this.getValueInRange(i.range), s = i.rangeOffset + e; (e += i.text.length - r.length), (g[t] = { sortIndex: i.sortIndex, identifier: i.identifier, range: n, text: r, textChange: new de.q(i.rangeOffset, r, s, i.text), }); } c || g.sort((e, t) => e.sortIndex - t.sortIndex); } (this._mightContainRTL = n), (this._mightContainUnusualLineTerminators = r), (this._mightContainNonBasicASCII = s); const f = this._doApplyEdits(l); let p = null; if (t && h.length > 0) { h.sort((e, t) => t.lineNumber - e.lineNumber), (p = []); for (let e = 0, t = h.length; e < t; e++) { let t = h[e].lineNumber; if (e > 0 && h[e - 1].lineNumber === t) continue; let i = h[e].oldContent, n = this.getLineContent(t); 0 !== n.length && n !== i && -1 === o.LC(n) && p.push(t); } } return this._onDidChangeContent.fire(), new u.je(g, f, p); } _reduceOperations(e) { return e.length < 1e3 ? e : [this._toSingleEditOperation(e)]; } _toSingleEditOperation(e) { let t = !1; const i = e[0].range, n = e[e.length - 1].range, r = new d.e( i.startLineNumber, i.startColumn, n.endLineNumber, n.endColumn ); let s = i.startLineNumber, o = i.startColumn; const a = []; for (let i = 0, n = e.length; i < n; i++) { const n = e[i], r = n.range; (t = t || n.forceMoveMarkers), a.push( this.getValueInRange( new d.e(s, o, r.startLineNumber, r.startColumn) ) ), n.text.length > 0 && a.push(n.text), (s = r.endLineNumber), (o = r.endColumn); } const l = a.join(''), [c, h, u] = (0, ce.QZ)(l); return { sortIndex: 0, identifier: e[0].identifier, range: r, rangeOffset: this.getOffsetAt(r.startLineNumber, r.startColumn), rangeLength: this.getValueLengthInRange(r, 0), text: l, eolCount: c, firstLineLength: h, lastLineLength: u, forceMoveMarkers: t, isAutoWhitespaceEdit: !1, }; } _doApplyEdits(e) { e.sort(he._sortOpsDescending); let t = []; for (let i = 0; i < e.length; i++) { let n = e[i]; const r = n.range.startLineNumber, s = n.range.startColumn, o = n.range.endLineNumber, a = n.range.endColumn; if (r === o && s === a && 0 === n.text.length) continue; n.text ? (this._pieceTree.delete(n.rangeOffset, n.rangeLength), this._pieceTree.insert(n.rangeOffset, n.text, !0)) : this._pieceTree.delete(n.rangeOffset, n.rangeLength); const l = new d.e(r, s, o, a); t.push({ range: l, rangeLength: n.rangeLength, text: n.text, rangeOffset: n.rangeOffset, forceMoveMarkers: n.forceMoveMarkers, }); } return t; } findMatchesLineByLine(e, t, i, n) { return this._pieceTree.findMatchesLineByLine(e, t, i, n); } static _getInverseEditRanges(e) { let t = [], i = 0, n = 0, r = null; for (let s = 0, o = e.length; s < o; s++) { let o, a, l, c = e[s]; if ( (r ? r.range.endLineNumber === c.range.startLineNumber ? ((o = i), (a = n + (c.range.startColumn - r.range.endColumn))) : ((o = i + (c.range.startLineNumber - r.range.endLineNumber)), (a = c.range.startColumn)) : ((o = c.range.startLineNumber), (a = c.range.startColumn)), c.text.length > 0) ) { const e = c.eolCount + 1; l = 1 === e ? new d.e(o, a, o, a + c.firstLineLength) : new d.e(o, a, o + e - 1, c.lastLineLength + 1); } else l = new d.e(o, a, o, a); (i = l.endLineNumber), (n = l.endColumn), t.push(l), (r = c); } return t; } static _sortOpsAscending(e, t) { let i = d.e.compareRangesUsingEnds(e.range, t.range); return 0 === i ? e.sortIndex - t.sortIndex : i; } static _sortOpsDescending(e, t) { let i = d.e.compareRangesUsingEnds(e.range, t.range); return 0 === i ? t.sortIndex - e.sortIndex : -i; } } class ue { constructor(e, t, i, n, r, s, o, a, l) { (this._chunks = e), (this._bom = t), (this._cr = i), (this._lf = n), (this._crlf = r), (this._containsRTL = s), (this._containsUnusualLineTerminators = o), (this._isBasicASCII = a), (this._normalizeEOL = l); } _getEOL(e) { const t = this._cr + this._lf + this._crlf, i = this._cr + this._crlf; return 0 === t ? 1 === e ? '\n' : '\r\n' : i > t / 2 ? '\r\n' : '\n'; } create(e) { const t = this._getEOL(e); let i = this._chunks; if ( this._normalizeEOL && (('\r\n' === t && (this._cr > 0 || this._lf > 0)) || ('\n' === t && (this._cr > 0 || this._crlf > 0))) ) for (let e = 0, n = i.length; e < n; e++) { let n = i[e].buffer.replace(/\r\n|\r|\n/g, t), r = ne(n); i[e] = new se(n, r); } return new he( i, this._bom, t, this._containsRTL, this._containsUnusualLineTerminators, this._isBasicASCII, this._normalizeEOL ); } } class ge { constructor() { (this.chunks = []), (this.BOM = ''), (this._hasPreviousChar = !1), (this._previousChar = 0), (this._tmpLineStarts = []), (this.cr = 0), (this.lf = 0), (this.crlf = 0), (this.containsRTL = !1), (this.containsUnusualLineTerminators = !1), (this.isBasicASCII = !0); } acceptChunk(e) { if (0 === e.length) return; 0 === this.chunks.length && o.uS(e) && ((this.BOM = o.c1), (e = e.substr(1))); const t = e.charCodeAt(e.length - 1); 13 === t || (t >= 55296 && t <= 56319) ? (this._acceptChunk1(e.substr(0, e.length - 1), !1), (this._hasPreviousChar = !0), (this._previousChar = t)) : (this._acceptChunk1(e, !1), (this._hasPreviousChar = !1), (this._previousChar = t)); } _acceptChunk1(e, t) { (t || 0 !== e.length) && (this._hasPreviousChar ? this._acceptChunk2( String.fromCharCode(this._previousChar) + e ) : this._acceptChunk2(e)); } _acceptChunk2(e) { const t = (function (e, t) { (e.length = 0), (e[0] = 0); let i = 1, n = 0, r = 0, s = 0, o = !0; for (let a = 0, l = t.length; a < l; a++) { const c = t.charCodeAt(a); 13 === c ? a + 1 < l && 10 === t.charCodeAt(a + 1) ? (s++, (e[i++] = a + 2), a++) : (n++, (e[i++] = a + 1)) : 10 === c ? (r++, (e[i++] = a + 1)) : o && 9 !== c && (c < 32 || c > 126) && (o = !1); } const a = new ie(te(e), n, r, s, o); return (e.length = 0), a; })(this._tmpLineStarts, e); this.chunks.push(new se(e, t.lineStarts)), (this.cr += t.cr), (this.lf += t.lf), (this.crlf += t.crlf), this.isBasicASCII && (this.isBasicASCII = t.isBasicASCII), this.isBasicASCII || this.containsRTL || (this.containsRTL = o.Ut(e)), this.isBasicASCII || this.containsUnusualLineTerminators || (this.containsUnusualLineTerminators = o.ab(e)); } finish(e = !0) { return ( this._finish(), new ue( this.chunks, this.BOM, this.cr, this.lf, this.crlf, this.containsRTL, this.containsUnusualLineTerminators, this.isBasicASCII, e ) ); } _finish() { if ( (0 === this.chunks.length && this._acceptChunk1('', !0), this._hasPreviousChar) ) { this._hasPreviousChar = !1; let e = this.chunks[this.chunks.length - 1]; e.buffer += String.fromCharCode(this._previousChar); let t = ne(e.buffer); (e.lineStarts = t), 13 === this._previousChar && this.cr++; } } } class fe { constructor() { this.changeType = 1; } } class pe { constructor(e, t) { (this.changeType = 2), (this.lineNumber = e), (this.detail = t); } } class me { constructor(e, t) { (this.changeType = 3), (this.fromLineNumber = e), (this.toLineNumber = t); } } class _e { constructor(e, t, i) { (this.changeType = 4), (this.fromLineNumber = e), (this.toLineNumber = t), (this.detail = i); } } class be { constructor() { this.changeType = 5; } } class ve { constructor(e, t, i, n) { (this.changes = e), (this.versionId = t), (this.isUndoing = i), (this.isRedoing = n), (this.resultingSelection = null); } containsEvent(e) { for (let t = 0, i = this.changes.length; t < i; t++) if (this.changes[t].changeType === e) return !0; return !1; } static merge(e, t) { const i = [].concat(e.changes).concat(t.changes), n = t.versionId, r = e.isUndoing || t.isUndoing, s = e.isRedoing || t.isRedoing; return new ve(i, n, r, s); } } class ye { constructor(e, t) { (this.rawContentChangedEvent = e), (this.contentChangedEvent = t); } merge(e) { const t = ve.merge( this.rawContentChangedEvent, e.rawContentChangedEvent ), i = ye._mergeChangeEvents( this.contentChangedEvent, e.contentChangedEvent ); return new ye(t, i); } static _mergeChangeEvents(e, t) { return { changes: [].concat(e.changes).concat(t.changes), eol: t.eol, versionId: t.versionId, isUndoing: e.isUndoing || t.isUndoing, isRedoing: e.isRedoing || t.isRedoing, isFlush: e.isFlush || t.isFlush, }; } } var we = i(9488), Ce = i(78411), Se = i(43775), ke = i(28111), xe = i(84013), Le = i(1432); class Me { constructor() { (this._beginState = []), (this._valid = []), (this._len = 0), (this._invalidLineStartIndex = 0); } _reset(e) { (this._beginState = []), (this._valid = []), (this._len = 0), (this._invalidLineStartIndex = 0), e && this._setBeginState(0, e); } flush(e) { this._reset(e); } get invalidLineStartIndex() { return this._invalidLineStartIndex; } _invalidateLine(e) { e < this._len && (this._valid[e] = !1), e < this._invalidLineStartIndex && (this._invalidLineStartIndex = e); } _isValid(e) { return e < this._len && this._valid[e]; } getBeginState(e) { return e < this._len ? this._beginState[e] : null; } _ensureLine(e) { for (; e >= this._len; ) (this._beginState[this._len] = null), (this._valid[this._len] = !1), this._len++; } _deleteLines(e, t) { 0 !== t && (e + t > this._len && (t = this._len - e), this._beginState.splice(e, t), this._valid.splice(e, t), (this._len -= t)); } _insertLines(e, t) { if (0 === t) return; let i = [], n = []; for (let e = 0; e < t; e++) (i[e] = null), (n[e] = !1); (this._beginState = we.Zv(this._beginState, e, i)), (this._valid = we.Zv(this._valid, e, n)), (this._len += t); } _setValid(e, t) { this._ensureLine(e), (this._valid[e] = t); } _setBeginState(e, t) { this._ensureLine(e), (this._beginState[e] = t); } setEndState(e, t, i) { if ( (this._setValid(t, !0), (this._invalidLineStartIndex = t + 1), t === e - 1) ) return; const n = this.getBeginState(t + 1); if (null === n || !i.equals(n)) return ( this._setBeginState(t + 1, i), void this._invalidateLine(t + 1) ); let r = t + 1; for (; r < e && this._isValid(r); ) r++; this._invalidLineStartIndex = r; } setFakeTokens(e) { this._setValid(e, !1); } applyEdits(e, t) { const i = e.endLineNumber - e.startLineNumber, n = t; for (let t = Math.min(i, n); t >= 0; t--) this._invalidateLine(e.startLineNumber + t - 1); this._acceptDeleteRange(e), this._acceptInsertText( new c.L(e.startLineNumber, e.startColumn), t ); } _acceptDeleteRange(e) { e.startLineNumber - 1 >= this._len || this._deleteLines( e.startLineNumber, e.endLineNumber - e.startLineNumber ); } _acceptInsertText(e, t) { e.lineNumber - 1 >= this._len || this._insertLines(e.lineNumber, t); } } class De extends s.JT { constructor(e) { super(), (this._isDisposed = !1), (this._textModel = e), (this._tokenizationStateStore = new Me()), (this._tokenizationSupport = null), this._register( Se.RW.onDidChange((e) => { const t = this._textModel.getLanguageIdentifier(); -1 !== e.changedLanguages.indexOf(t.language) && (this._resetTokenizationState(), this._textModel.clearTokens()); }) ), this._register( this._textModel.onDidChangeRawContentFast((e) => { e.containsEvent(1) && this._resetTokenizationState(); }) ), this._register( this._textModel.onDidChangeContentFast((e) => { for (let t = 0, i = e.changes.length; t < i; t++) { const i = e.changes[t], [n] = (0, ce.QZ)(i.text); this._tokenizationStateStore.applyEdits(i.range, n); } this._beginBackgroundTokenization(); }) ), this._register( this._textModel.onDidChangeAttached(() => { this._beginBackgroundTokenization(); }) ), this._register( this._textModel.onDidChangeLanguage(() => { this._resetTokenizationState(), this._textModel.clearTokens(); }) ), this._resetTokenizationState(); } dispose() { (this._isDisposed = !0), super.dispose(); } _resetTokenizationState() { const [e, t] = (function (e) { const t = e.getLanguageIdentifier(); let i = e.isTooLargeForTokenization() ? null : Se.RW.get(t.language), r = null; if (i) try { r = i.getInitialState(); } catch (e) { (0, n.dL)(e), (i = null); } return [i, r]; })(this._textModel); (this._tokenizationSupport = e), this._tokenizationStateStore.flush(t), this._beginBackgroundTokenization(); } _beginBackgroundTokenization() { this._textModel.isAttachedToEditor() && this._hasLinesToTokenize() && Le.xS(() => { this._isDisposed || this._revalidateTokensNow(); }); } _revalidateTokensNow(e = this._textModel.getLineCount()) { const t = new ce.DA(), i = xe.G.create(!1); for ( ; this._hasLinesToTokenize() && !(i.elapsed() > 1) && !(this._tokenizeOneInvalidLine(t) >= e); ); this._beginBackgroundTokenization(), this._textModel.setTokens(t.tokens); } tokenizeViewport(e, t) { const i = new ce.DA(); this._tokenizeViewport(i, e, t), this._textModel.setTokens(i.tokens); } reset() { this._resetTokenizationState(), this._textModel.clearTokens(); } forceTokenization(e) { const t = new ce.DA(); this._updateTokensUntilLine(t, e), this._textModel.setTokens(t.tokens); } isCheapToTokenize(e) { if (!this._tokenizationSupport) return !0; const t = this._tokenizationStateStore.invalidLineStartIndex + 1; return ( !(e > t) && (e < t || this._textModel.getLineLength(e) < 2048) ); } _hasLinesToTokenize() { return ( !!this._tokenizationSupport && this._tokenizationStateStore.invalidLineStartIndex < this._textModel.getLineCount() ); } _tokenizeOneInvalidLine(e) { if (!this._hasLinesToTokenize()) return this._textModel.getLineCount() + 1; const t = this._tokenizationStateStore.invalidLineStartIndex + 1; return this._updateTokensUntilLine(e, t), t; } _updateTokensUntilLine(e, t) { if (!this._tokenizationSupport) return; const i = this._textModel.getLanguageIdentifier(), n = this._textModel.getLineCount(), r = t - 1; for ( let t = this._tokenizationStateStore.invalidLineStartIndex; t <= r; t++ ) { const r = this._textModel.getLineContent(t + 1), s = this._tokenizationStateStore.getBeginState(t), o = Ne(i, this._tokenizationSupport, r, s); e.add(t + 1, o.tokens), this._tokenizationStateStore.setEndState(n, t, o.endState), (t = this._tokenizationStateStore.invalidLineStartIndex - 1); } } _tokenizeViewport(e, t, i) { if (!this._tokenizationSupport) return; if (i <= this._tokenizationStateStore.invalidLineStartIndex) return; if (t <= this._tokenizationStateStore.invalidLineStartIndex) return void this._updateTokensUntilLine(e, i); let n = this._textModel.getLineFirstNonWhitespaceColumn(t), r = [], s = null; for (let e = t - 1; n > 0 && e >= 1; e--) { let t = this._textModel.getLineFirstNonWhitespaceColumn(e); if (0 !== t && t < n) { if ( ((s = this._tokenizationStateStore.getBeginState(e - 1)), s) ) break; r.push(this._textModel.getLineContent(e)), (n = t); } } s || (s = this._tokenizationSupport.getInitialState()); const o = this._textModel.getLanguageIdentifier(); let a = s; for (let e = r.length - 1; e >= 0; e--) a = Ne(o, this._tokenizationSupport, r[e], a).endState; for (let n = t; n <= i; n++) { let t = this._textModel.getLineContent(n), i = Ne(o, this._tokenizationSupport, t, a); e.add(n, i.tokens), this._tokenizationStateStore.setFakeTokens(n - 1), (a = i.endState); } } } function Ne(e, t, i, r) { let s = null; if (t) try { s = t.tokenize2(i, r.clone(), 0); } catch (e) { (0, n.dL)(e); } return ( s || (s = (0, ke.mh)(e.id, i, r, 0)), Ce.A.convertToEndOffset(s.tokens, i.length), s ); } var Ee = i(97461), Te = i(83831), Ie = i(40764), Oe = i(34227), Ae = i(41264); function Re(e, t) { return ('string' == typeof e ? (function (e) { const t = new ge(); return t.acceptChunk(e), t.finish(); })(e) : e ).create(t); } let Pe = 0; class Fe { constructor(e) { (this._source = e), (this._eos = !1); } read() { if (this._eos) return null; let e = [], t = 0, i = 0; for (;;) { let n = this._source.read(); if (null === n) return (this._eos = !0), 0 === t ? null : e.join(''); if ((n.length > 0 && ((e[t++] = n), (i += n.length)), i >= 65536)) return e.join(''); } } } const Be = () => { throw new Error('Invalid change accessor'); }; class We { constructor() { this._searchCanceledBrand = void 0; } } function Ye(e) { return e instanceof We ? null : e; } We.INSTANCE = new We(); class He extends s.JT { constructor(e, t, i, n = null, s) { super(), (this._onWillDispose = this._register(new r.Q5())), (this.onWillDispose = this._onWillDispose.event), (this._onDidChangeDecorations = this._register(new Ze())), (this.onDidChangeDecorations = this._onDidChangeDecorations.event), (this._onDidChangeLanguage = this._register(new r.Q5())), (this.onDidChangeLanguage = this._onDidChangeLanguage.event), (this._onDidChangeLanguageConfiguration = this._register( new r.Q5() )), (this.onDidChangeLanguageConfiguration = this._onDidChangeLanguageConfiguration.event), (this._onDidChangeTokens = this._register(new r.Q5())), (this.onDidChangeTokens = this._onDidChangeTokens.event), (this._onDidChangeOptions = this._register(new r.Q5())), (this.onDidChangeOptions = this._onDidChangeOptions.event), (this._onDidChangeAttached = this._register(new r.Q5())), (this.onDidChangeAttached = this._onDidChangeAttached.event), (this._eventEmitter = this._register(new Je())), Pe++, (this.id = '$model' + Pe), (this.isForSimpleWidget = t.isForSimpleWidget), (this._associatedResource = null == n ? a.o.parse('inmemory://model/' + Pe) : n), (this._undoRedoService = s), (this._attachedEditorCount = 0), (this._buffer = Re(e, t.defaultEOL)), (this._options = He.resolveOptions(this._buffer, t)); const l = this._buffer.getLineCount(), c = this._buffer.getValueLengthInRange( new d.e(1, 1, l, this._buffer.getLineLength(l) + 1), 0 ); t.largeFileOptimizations ? (this._isTooLargeForTokenization = c > He.LARGE_FILE_SIZE_THRESHOLD || l > He.LARGE_FILE_LINE_COUNT_THRESHOLD) : (this._isTooLargeForTokenization = !1), (this._isTooLargeForSyncing = c > He.MODEL_SYNC_LIMIT), (this._versionId = 1), (this._alternativeVersionId = 1), (this._initialUndoRedoSnapshot = null), (this._isDisposed = !1), (this._isDisposing = !1), (this._languageIdentifier = i || ke.pA), (this._languageRegistryListener = Te.zu.onDidChange((e) => { e.languageIdentifier.id === this._languageIdentifier.id && this._onDidChangeLanguageConfiguration.fire({}); })), (this._instanceId = o.PJ(Pe)), (this._lastDecorationId = 0), (this._decorations = Object.create(null)), (this._decorationsTree = new je()), (this._commandManager = new g.NL(this, s)), (this._isUndoing = !1), (this._isRedoing = !1), (this._trimAutoWhitespaceLines = null), (this._tokens = new ce.Rl()), (this._tokens2 = new ce.cx()), (this._tokenization = new De(this)); } static resolveOptions(e, t) { if (t.detectIndentation) { const i = m(e, t.tabSize, t.insertSpaces); return new u.dJ({ tabSize: i.tabSize, indentSize: i.tabSize, insertSpaces: i.insertSpaces, trimAutoWhitespace: t.trimAutoWhitespace, defaultEOL: t.defaultEOL, }); } return new u.dJ({ tabSize: t.tabSize, indentSize: t.indentSize, insertSpaces: t.insertSpaces, trimAutoWhitespace: t.trimAutoWhitespace, defaultEOL: t.defaultEOL, }); } onDidChangeRawContentFast(e) { return this._eventEmitter.fastEvent((t) => e(t.rawContentChangedEvent) ); } onDidChangeContentFast(e) { return this._eventEmitter.fastEvent((t) => e(t.contentChangedEvent) ); } onDidChangeContent(e) { return this._eventEmitter.slowEvent((t) => e(t.contentChangedEvent) ); } dispose() { (this._isDisposing = !0), this._onWillDispose.fire(), this._languageRegistryListener.dispose(), this._tokenization.dispose(), (this._isDisposed = !0), super.dispose(), (this._isDisposing = !1); } _assertNotDisposed() { if (this._isDisposed) throw new Error('Model is disposed!'); } _emitContentChangedEvent(e, t) { this._isDisposing || this._eventEmitter.fire(new ye(e, t)); } setValue(e) { if ((this._assertNotDisposed(), null === e)) return; const t = Re(e, this._options.defaultEOL); this.setValueFromTextBuffer(t); } _createContentChanged2(e, t, i, n, r, s, o) { return { changes: [{ range: e, rangeOffset: t, rangeLength: i, text: n }], eol: this._buffer.getEOL(), versionId: this.getVersionId(), isUndoing: r, isRedoing: s, isFlush: o, }; } setValueFromTextBuffer(e) { if ((this._assertNotDisposed(), null === e)) return; const t = this.getFullModelRange(), i = this.getValueLengthInRange(t), n = this.getLineCount(), r = this.getLineMaxColumn(n); (this._buffer = e), this._increaseVersionId(), this._tokens.flush(), this._tokens2.flush(), (this._decorations = Object.create(null)), (this._decorationsTree = new je()), this._commandManager.clear(), (this._trimAutoWhitespaceLines = null), this._emitContentChangedEvent( new ve([new fe()], this._versionId, !1, !1), this._createContentChanged2( new d.e(1, 1, n, r), 0, i, this.getValue(), !1, !1, !0 ) ); } setEOL(e) { this._assertNotDisposed(); const t = 1 === e ? '\r\n' : '\n'; if (this._buffer.getEOL() === t) return; const i = this.getFullModelRange(), n = this.getValueLengthInRange(i), r = this.getLineCount(), s = this.getLineMaxColumn(r); this._onBeforeEOLChange(), this._buffer.setEOL(t), this._increaseVersionId(), this._onAfterEOLChange(), this._emitContentChangedEvent( new ve([new be()], this._versionId, !1, !1), this._createContentChanged2( new d.e(1, 1, r, s), 0, n, this.getValue(), !1, !1, !1 ) ); } _onBeforeEOLChange() { const e = this.getVersionId(), t = this._decorationsTree.search(0, !1, !1, e); this._ensureNodesHaveRanges(t); } _onAfterEOLChange() { const e = this.getVersionId(), t = this._decorationsTree.collectNodesPostOrder(); for (let i = 0, n = t.length; i < n; i++) { const n = t[i], r = n.cachedAbsoluteStart - n.start, s = this._buffer.getOffsetAt( n.range.startLineNumber, n.range.startColumn ), o = this._buffer.getOffsetAt( n.range.endLineNumber, n.range.endColumn ); (n.cachedAbsoluteStart = s), (n.cachedAbsoluteEnd = o), (n.cachedVersionId = e), (n.start = s - r), (n.end = o - r), B(n); } } onBeforeAttached() { this._attachedEditorCount++, 1 === this._attachedEditorCount && this._onDidChangeAttached.fire(void 0); } onBeforeDetached() { this._attachedEditorCount--, 0 === this._attachedEditorCount && this._onDidChangeAttached.fire(void 0); } isAttachedToEditor() { return this._attachedEditorCount > 0; } getAttachedEditorCount() { return this._attachedEditorCount; } isTooLargeForSyncing() { return this._isTooLargeForSyncing; } isTooLargeForTokenization() { return this._isTooLargeForTokenization; } isDisposed() { return this._isDisposed; } isDominatedByLongLines() { if ((this._assertNotDisposed(), this.isTooLargeForTokenization())) return !1; let e = 0, t = 0; const i = this._buffer.getLineCount(); for (let n = 1; n <= i; n++) { const i = this._buffer.getLineLength(n); i >= 1e4 ? (t += i) : (e += i); } return t > e; } get uri() { return this._associatedResource; } getOptions() { return this._assertNotDisposed(), this._options; } getFormattingOptions() { return { tabSize: this._options.indentSize, insertSpaces: this._options.insertSpaces, }; } updateOptions(e) { this._assertNotDisposed(); let t = void 0 !== e.tabSize ? e.tabSize : this._options.tabSize, i = void 0 !== e.indentSize ? e.indentSize : this._options.indentSize, n = void 0 !== e.insertSpaces ? e.insertSpaces : this._options.insertSpaces, r = void 0 !== e.trimAutoWhitespace ? e.trimAutoWhitespace : this._options.trimAutoWhitespace, s = new u.dJ({ tabSize: t, indentSize: i, insertSpaces: n, defaultEOL: this._options.defaultEOL, trimAutoWhitespace: r, }); if (this._options.equals(s)) return; let o = this._options.createChangeEvent(s); (this._options = s), this._onDidChangeOptions.fire(o); } detectIndentation(e, t) { this._assertNotDisposed(); let i = m(this._buffer, t, e); this.updateOptions({ insertSpaces: i.insertSpaces, tabSize: i.tabSize, indentSize: i.tabSize, }); } static _normalizeIndentationFromWhitespace(e, t, i) { let n = 0; for (let i = 0; i < e.length; i++) '\t' === e.charAt(i) ? (n += t) : n++; let r = ''; if (!i) { let e = Math.floor(n / t); n %= t; for (let t = 0; t < e; t++) r += '\t'; } for (let e = 0; e < n; e++) r += ' '; return r; } static normalizeIndentation(e, t, i) { let n = o.LC(e); return ( -1 === n && (n = e.length), He._normalizeIndentationFromWhitespace(e.substring(0, n), t, i) + e.substring(n) ); } normalizeIndentation(e) { return ( this._assertNotDisposed(), He.normalizeIndentation( e, this._options.indentSize, this._options.insertSpaces ) ); } getVersionId() { return this._assertNotDisposed(), this._versionId; } mightContainRTL() { return this._buffer.mightContainRTL(); } mightContainUnusualLineTerminators() { return this._buffer.mightContainUnusualLineTerminators(); } removeUnusualLineTerminators(e = null) { const t = this.findMatches( o.Qe.source, !1, !0, !1, null, !1, 1073741824 ); this._buffer.resetMightContainUnusualLineTerminators(), this.pushEditOperations( e, t.map((e) => ({ range: e.range, text: null })), () => null ); } mightContainNonBasicASCII() { return this._buffer.mightContainNonBasicASCII(); } getAlternativeVersionId() { return this._assertNotDisposed(), this._alternativeVersionId; } getOffsetAt(e) { this._assertNotDisposed(); let t = this._validatePosition(e.lineNumber, e.column, 0); return this._buffer.getOffsetAt(t.lineNumber, t.column); } getPositionAt(e) { this._assertNotDisposed(); let t = Math.min(this._buffer.getLength(), Math.max(0, e)); return this._buffer.getPositionAt(t); } _increaseVersionId() { (this._versionId = this._versionId + 1), (this._alternativeVersionId = this._versionId); } _overwriteVersionId(e) { this._versionId = e; } _overwriteAlternativeVersionId(e) { this._alternativeVersionId = e; } _overwriteInitialUndoRedoSnapshot(e) { this._initialUndoRedoSnapshot = e; } getValue(e, t = !1) { this._assertNotDisposed(); const i = this.getFullModelRange(), n = this.getValueInRange(i, e); return t ? this._buffer.getBOM() + n : n; } createSnapshot(e = !1) { return new Fe(this._buffer.createSnapshot(e)); } getValueLength(e, t = !1) { this._assertNotDisposed(); const i = this.getFullModelRange(), n = this.getValueLengthInRange(i, e); return t ? this._buffer.getBOM().length + n : n; } getValueInRange(e, t = 0) { return ( this._assertNotDisposed(), this._buffer.getValueInRange(this.validateRange(e), t) ); } getValueLengthInRange(e, t = 0) { return ( this._assertNotDisposed(), this._buffer.getValueLengthInRange(this.validateRange(e), t) ); } getCharacterCountInRange(e, t = 0) { return ( this._assertNotDisposed(), this._buffer.getCharacterCountInRange(this.validateRange(e), t) ); } getLineCount() { return this._assertNotDisposed(), this._buffer.getLineCount(); } getLineContent(e) { if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) throw new Error('Illegal value for lineNumber'); return this._buffer.getLineContent(e); } getLineLength(e) { if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) throw new Error('Illegal value for lineNumber'); return this._buffer.getLineLength(e); } getLinesContent() { return this._assertNotDisposed(), this._buffer.getLinesContent(); } getEOL() { return this._assertNotDisposed(), this._buffer.getEOL(); } getLineMinColumn(e) { return this._assertNotDisposed(), 1; } getLineMaxColumn(e) { if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) throw new Error('Illegal value for lineNumber'); return this._buffer.getLineLength(e) + 1; } getLineFirstNonWhitespaceColumn(e) { if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) throw new Error('Illegal value for lineNumber'); return this._buffer.getLineFirstNonWhitespaceColumn(e); } getLineLastNonWhitespaceColumn(e) { if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount())) throw new Error('Illegal value for lineNumber'); return this._buffer.getLineLastNonWhitespaceColumn(e); } _validateRangeRelaxedNoAllocations(e) { const t = this._buffer.getLineCount(), i = e.startLineNumber, n = e.startColumn; let r, s; if (i < 1) (r = 1), (s = 1); else if (i > t) (r = t), (s = this.getLineMaxColumn(r)); else if (((r = 0 | i), n <= 1)) s = 1; else { const e = this.getLineMaxColumn(r); s = n >= e ? e : 0 | n; } const o = e.endLineNumber, a = e.endColumn; let l, c; if (o < 1) (l = 1), (c = 1); else if (o > t) (l = t), (c = this.getLineMaxColumn(l)); else if (((l = 0 | o), a <= 1)) c = 1; else { const e = this.getLineMaxColumn(l); c = a >= e ? e : 0 | a; } return i === r && n === s && o === l && a === c && e instanceof d.e && !(e instanceof h.Y) ? e : new d.e(r, s, l, c); } _isValidPosition(e, t, i) { if ('number' != typeof e || 'number' != typeof t) return !1; if (isNaN(e) || isNaN(t)) return !1; if (e < 1 || t < 1) return !1; if ((0 | e) !== e || (0 | t) !== t) return !1; if (e > this._buffer.getLineCount()) return !1; if (1 === t) return !0; if (t > this.getLineMaxColumn(e)) return !1; if (1 === i) { const i = this._buffer.getLineCharCode(e, t - 2); if (o.ZG(i)) return !1; } return !0; } _validatePosition(e, t, i) { const n = Math.floor('number' != typeof e || isNaN(e) ? 1 : e), r = Math.floor('number' != typeof t || isNaN(t) ? 1 : t), s = this._buffer.getLineCount(); if (n < 1) return new c.L(1, 1); if (n > s) return new c.L(s, this.getLineMaxColumn(s)); if (r <= 1) return new c.L(n, 1); const a = this.getLineMaxColumn(n); if (r >= a) return new c.L(n, a); if (1 === i) { const e = this._buffer.getLineCharCode(n, r - 2); if (o.ZG(e)) return new c.L(n, r - 1); } return new c.L(n, r); } validatePosition(e) { return ( this._assertNotDisposed(), e instanceof c.L && this._isValidPosition(e.lineNumber, e.column, 1) ? e : this._validatePosition(e.lineNumber, e.column, 1) ); } _isValidRange(e, t) { const i = e.startLineNumber, n = e.startColumn, r = e.endLineNumber, s = e.endColumn; if (!this._isValidPosition(i, n, 0)) return !1; if (!this._isValidPosition(r, s, 0)) return !1; if (1 === t) { const e = n > 1 ? this._buffer.getLineCharCode(i, n - 2) : 0, t = s > 1 && s <= this._buffer.getLineLength(r) ? this._buffer.getLineCharCode(r, s - 2) : 0, a = o.ZG(e), l = o.ZG(t); return !a && !l; } return !0; } validateRange(e) { if ( (this._assertNotDisposed(), e instanceof d.e && !(e instanceof h.Y) && this._isValidRange(e, 1)) ) return e; const t = this._validatePosition( e.startLineNumber, e.startColumn, 0 ), i = this._validatePosition(e.endLineNumber, e.endColumn, 0), n = t.lineNumber, r = t.column, s = i.lineNumber, a = i.column; { const e = r > 1 ? this._buffer.getLineCharCode(n, r - 2) : 0, t = a > 1 && a <= this._buffer.getLineLength(s) ? this._buffer.getLineCharCode(s, a - 2) : 0, i = o.ZG(e), l = o.ZG(t); return i || l ? n === s && r === a ? new d.e(n, r - 1, s, a - 1) : i && l ? new d.e(n, r - 1, s, a + 1) : i ? new d.e(n, r - 1, s, a) : new d.e(n, r, s, a + 1) : new d.e(n, r, s, a); } } modifyPosition(e, t) { this._assertNotDisposed(); let i = this.getOffsetAt(e) + t; return this.getPositionAt( Math.min(this._buffer.getLength(), Math.max(0, i)) ); } getFullModelRange() { this._assertNotDisposed(); const e = this.getLineCount(); return new d.e(1, 1, e, this.getLineMaxColumn(e)); } findMatchesLineByLine(e, t, i, n) { return this._buffer.findMatchesLineByLine(e, t, i, n); } findMatches(e, t, i, n, r, s, o = 999) { this._assertNotDisposed(); let a = null; null !== t && (Array.isArray(t) || (t = [t]), t.every((e) => d.e.isIRange(e)) && (a = t.map((e) => this.validateRange(e)))), null === a && (a = [this.getFullModelRange()]), (a = a.sort( (e, t) => e.startLineNumber - t.startLineNumber || e.startColumn - t.startColumn )); const l = []; let c; if ( (l.push( a.reduce((e, t) => d.e.areIntersecting(e, t) ? e.plusRange(t) : (l.push(e), t) ) ), !i && e.indexOf('\n') < 0) ) { const t = new X.bc(e, i, n, r).parseSearchRequest(); if (!t) return []; c = (e) => this.findMatchesLineByLine(e, t, s, o); } else c = (t) => X.pM.findMatches(this, new X.bc(e, i, n, r), t, s, o); return l.map(c).reduce((e, t) => e.concat(t), []); } findNextMatch(e, t, i, n, r, s) { this._assertNotDisposed(); const o = this.validatePosition(t); if (!i && e.indexOf('\n') < 0) { const t = new X.bc(e, i, n, r).parseSearchRequest(); if (!t) return null; const a = this.getLineCount(); let l = new d.e( o.lineNumber, o.column, a, this.getLineMaxColumn(a) ), c = this.findMatchesLineByLine(l, t, s, 1); return ( X.pM.findNextMatch(this, new X.bc(e, i, n, r), o, s), c.length > 0 ? c[0] : ((l = new d.e( 1, 1, o.lineNumber, this.getLineMaxColumn(o.lineNumber) )), (c = this.findMatchesLineByLine(l, t, s, 1)), c.length > 0 ? c[0] : null) ); } return X.pM.findNextMatch(this, new X.bc(e, i, n, r), o, s); } findPreviousMatch(e, t, i, n, r, s) { this._assertNotDisposed(); const o = this.validatePosition(t); return X.pM.findPreviousMatch(this, new X.bc(e, i, n, r), o, s); } pushStackElement() { this._commandManager.pushStackElement(); } pushEOL(e) { if (('\n' === this.getEOL() ? 0 : 1) !== e) try { this._onDidChangeDecorations.beginDeferredEmit(), this._eventEmitter.beginDeferredEmit(), null === this._initialUndoRedoSnapshot && (this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot( this.uri )), this._commandManager.pushEOL(e); } finally { this._eventEmitter.endDeferredEmit(), this._onDidChangeDecorations.endDeferredEmit(); } } _validateEditOperation(e) { return e instanceof u.Qi ? e : new u.Qi( e.identifier || null, this.validateRange(e.range), e.text, e.forceMoveMarkers || !1, e.isAutoWhitespaceEdit || !1, e._isTracked || !1 ); } _validateEditOperations(e) { const t = []; for (let i = 0, n = e.length; i < n; i++) t[i] = this._validateEditOperation(e[i]); return t; } pushEditOperations(e, t, i) { try { return ( this._onDidChangeDecorations.beginDeferredEmit(), this._eventEmitter.beginDeferredEmit(), this._pushEditOperations(e, this._validateEditOperations(t), i) ); } finally { this._eventEmitter.endDeferredEmit(), this._onDidChangeDecorations.endDeferredEmit(); } } _pushEditOperations(e, t, i) { if ( this._options.trimAutoWhitespace && this._trimAutoWhitespaceLines ) { let i = t.map((e) => ({ range: this.validateRange(e.range), text: e.text, })), n = !0; if (e) for (let t = 0, r = e.length; t < r; t++) { let r = e[t], s = !1; for (let e = 0, t = i.length; e < t; e++) { let t = i[e].range, n = t.startLineNumber > r.endLineNumber, o = r.startLineNumber > t.endLineNumber; if (!n && !o) { s = !0; break; } } if (!s) { n = !1; break; } } if (n) for ( let e = 0, n = this._trimAutoWhitespaceLines.length; e < n; e++ ) { let n = this._trimAutoWhitespaceLines[e], r = this.getLineMaxColumn(n), s = !0; for (let e = 0, t = i.length; e < t; e++) { let t = i[e].range, o = i[e].text; if ( !( n < t.startLineNumber || n > t.endLineNumber || (n === t.startLineNumber && t.startColumn === r && t.isEmpty() && o && o.length > 0 && '\n' === o.charAt(0)) || (n === t.startLineNumber && 1 === t.startColumn && t.isEmpty() && o && o.length > 0 && '\n' === o.charAt(o.length - 1)) ) ) { s = !1; break; } } if (s) { const e = new d.e(n, 1, n, r); t.push(new u.Qi(null, e, null, !1, !1, !1)); } } this._trimAutoWhitespaceLines = null; } return ( null === this._initialUndoRedoSnapshot && (this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot( this.uri )), this._commandManager.pushEditOperation(e, t, i) ); } _applyUndo(e, t, i, n) { const r = e.map((e) => { const t = this.getPositionAt(e.newPosition), i = this.getPositionAt(e.newEnd); return { range: new d.e(t.lineNumber, t.column, i.lineNumber, i.column), text: e.oldText, }; }); this._applyUndoRedoEdits(r, t, !0, !1, i, n); } _applyRedo(e, t, i, n) { const r = e.map((e) => { const t = this.getPositionAt(e.oldPosition), i = this.getPositionAt(e.oldEnd); return { range: new d.e(t.lineNumber, t.column, i.lineNumber, i.column), text: e.newText, }; }); this._applyUndoRedoEdits(r, t, !1, !0, i, n); } _applyUndoRedoEdits(e, t, i, n, r, s) { try { this._onDidChangeDecorations.beginDeferredEmit(), this._eventEmitter.beginDeferredEmit(), (this._isUndoing = i), (this._isRedoing = n), this.applyEdits(e, !1), this.setEOL(t), this._overwriteAlternativeVersionId(r); } finally { (this._isUndoing = !1), (this._isRedoing = !1), this._eventEmitter.endDeferredEmit(s), this._onDidChangeDecorations.endDeferredEmit(); } } applyEdits(e, t = !1) { try { this._onDidChangeDecorations.beginDeferredEmit(), this._eventEmitter.beginDeferredEmit(); const i = this._validateEditOperations(e); return this._doApplyEdits(i, t); } finally { this._eventEmitter.endDeferredEmit(), this._onDidChangeDecorations.endDeferredEmit(); } } _doApplyEdits(e, t) { const i = this._buffer.getLineCount(), n = this._buffer.applyEdits( e, this._options.trimAutoWhitespace, t ), r = this._buffer.getLineCount(), s = n.changes; if ( ((this._trimAutoWhitespaceLines = n.trimAutoWhitespaceLineNumbers), 0 !== s.length) ) { let e = [], t = i; for (let i = 0, n = s.length; i < n; i++) { const n = s[i], [o, a, l] = (0, ce.QZ)(n.text); this._tokens.acceptEdit(n.range, o, a), this._tokens2.acceptEdit( n.range, o, a, l, n.text.length > 0 ? n.text.charCodeAt(0) : 0 ), this._onDidChangeDecorations.fire(), this._decorationsTree.acceptReplace( n.rangeOffset, n.rangeLength, n.text.length, n.forceMoveMarkers ); const c = n.range.startLineNumber, d = n.range.endLineNumber, h = d - c, u = o, g = Math.min(h, u), f = u - h; for (let i = g; i >= 0; i--) { const n = c + i, s = r - t - f + n; e.push(new pe(n, this.getLineContent(s))); } if (g < h) { const t = c + g; e.push(new me(t + 1, d)); } if (g < u) { const i = c + g, n = u - g, s = r - t - n + i + 1; let o = []; for (let e = 0; e < n; e++) { let t = s + e; o[t - s] = this.getLineContent(t); } e.push(new _e(i + 1, c + u, o)); } t += f; } this._increaseVersionId(), this._emitContentChangedEvent( new ve( e, this.getVersionId(), this._isUndoing, this._isRedoing ), { changes: s, eol: this._buffer.getEOL(), versionId: this.getVersionId(), isUndoing: this._isUndoing, isRedoing: this._isRedoing, isFlush: !1, } ); } return null === n.reverseEdits ? void 0 : n.reverseEdits; } undo() { this._undoRedoService.undo(this.uri); } canUndo() { return this._undoRedoService.canUndo(this.uri); } redo() { this._undoRedoService.redo(this.uri); } canRedo() { return this._undoRedoService.canRedo(this.uri); } changeDecorations(e, t = 0) { this._assertNotDisposed(); try { return ( this._onDidChangeDecorations.beginDeferredEmit(), this._changeDecorations(t, e) ); } finally { this._onDidChangeDecorations.endDeferredEmit(); } } _changeDecorations(e, t) { let i = { addDecoration: (t, i) => this._deltaDecorationsImpl( e, [], [{ range: t, options: i }] )[0], changeDecoration: (e, t) => { this._changeDecorationImpl(e, t); }, changeDecorationOptions: (e, t) => { this._changeDecorationOptionsImpl(e, Ge(t)); }, removeDecoration: (t) => { this._deltaDecorationsImpl(e, [t], []); }, deltaDecorations: (t, i) => 0 === t.length && 0 === i.length ? [] : this._deltaDecorationsImpl(e, t, i), }, r = null; try { r = t(i); } catch (e) { (0, n.dL)(e); } return ( (i.addDecoration = Be), (i.changeDecoration = Be), (i.changeDecorationOptions = Be), (i.removeDecoration = Be), (i.deltaDecorations = Be), r ); } deltaDecorations(e, t, i = 0) { if ( (this._assertNotDisposed(), e || (e = []), 0 === e.length && 0 === t.length) ) return []; try { return ( this._onDidChangeDecorations.beginDeferredEmit(), this._deltaDecorationsImpl(i, e, t) ); } finally { this._onDidChangeDecorations.endDeferredEmit(); } } _getTrackedRange(e) { return this.getDecorationRange(e); } _setTrackedRange(e, t, i) { const n = e ? this._decorations[e] : null; if (!n) return t ? this._deltaDecorationsImpl( 0, [], [{ range: t, options: qe[i] }] )[0] : null; if (!t) return ( this._decorationsTree.delete(n), delete this._decorations[n.id], null ); const r = this._validateRangeRelaxedNoAllocations(t), s = this._buffer.getOffsetAt(r.startLineNumber, r.startColumn), o = this._buffer.getOffsetAt(r.endLineNumber, r.endColumn); return ( this._decorationsTree.delete(n), n.reset(this.getVersionId(), s, o, r), n.setOptions(qe[i]), this._decorationsTree.insert(n), n.id ); } removeAllDecorationsWithOwnerId(e) { if (this._isDisposed) return; const t = this._decorationsTree.collectNodesFromOwner(e); for (let e = 0, i = t.length; e < i; e++) { const i = t[e]; this._decorationsTree.delete(i), delete this._decorations[i.id]; } } getDecorationOptions(e) { const t = this._decorations[e]; return t ? t.options : null; } getDecorationRange(e) { const t = this._decorations[e]; if (!t) return null; const i = this.getVersionId(); return ( t.cachedVersionId !== i && this._decorationsTree.resolveNode(t, i), null === t.range && (t.range = this._getRangeAt( t.cachedAbsoluteStart, t.cachedAbsoluteEnd )), t.range ); } getLineDecorations(e, t = 0, i = !1) { return e < 1 || e > this.getLineCount() ? [] : this.getLinesDecorations(e, e, t, i); } getLinesDecorations(e, t, i = 0, n = !1) { let r = this.getLineCount(), s = Math.min(r, Math.max(1, e)), o = Math.min(r, Math.max(1, t)), a = this.getLineMaxColumn(o); return this._getDecorationsInRange(new d.e(s, 1, o, a), i, n); } getDecorationsInRange(e, t = 0, i = !1) { let n = this.validateRange(e); return this._getDecorationsInRange(n, t, i); } getOverviewRulerDecorations(e = 0, t = !1) { const i = this.getVersionId(), n = this._decorationsTree.search(e, t, !0, i); return this._ensureNodesHaveRanges(n); } getAllDecorations(e = 0, t = !1) { const i = this.getVersionId(), n = this._decorationsTree.search(e, t, !1, i); return this._ensureNodesHaveRanges(n); } _getDecorationsInRange(e, t, i) { const n = this._buffer.getOffsetAt( e.startLineNumber, e.startColumn ), r = this._buffer.getOffsetAt(e.endLineNumber, e.endColumn), s = this.getVersionId(), o = this._decorationsTree.intervalSearch(n, r, t, i, s); return this._ensureNodesHaveRanges(o); } _ensureNodesHaveRanges(e) { for (let t = 0, i = e.length; t < i; t++) { const i = e[t]; null === i.range && (i.range = this._getRangeAt( i.cachedAbsoluteStart, i.cachedAbsoluteEnd )); } return e; } _getRangeAt(e, t) { return this._buffer.getRangeAt(e, t - e); } _changeDecorationImpl(e, t) { const i = this._decorations[e]; if (!i) return; const n = this._validateRangeRelaxedNoAllocations(t), r = this._buffer.getOffsetAt(n.startLineNumber, n.startColumn), s = this._buffer.getOffsetAt(n.endLineNumber, n.endColumn); this._decorationsTree.delete(i), i.reset(this.getVersionId(), r, s, n), this._decorationsTree.insert(i), this._onDidChangeDecorations.checkAffectedAndFire(i.options); } _changeDecorationOptionsImpl(e, t) { const i = this._decorations[e]; if (!i) return; const n = !( !i.options.overviewRuler || !i.options.overviewRuler.color ), r = !(!t.overviewRuler || !t.overviewRuler.color); this._onDidChangeDecorations.checkAffectedAndFire(i.options), this._onDidChangeDecorations.checkAffectedAndFire(t), n !== r ? (this._decorationsTree.delete(i), i.setOptions(t), this._decorationsTree.insert(i)) : i.setOptions(t); } _deltaDecorationsImpl(e, t, i) { const n = this.getVersionId(), r = t.length; let s = 0; const o = i.length; let a = 0, l = new Array(o); for (; s < r || a < o; ) { let c = null; if (s < r) { do { c = this._decorations[t[s++]]; } while (!c && s < r); c && (this._decorationsTree.delete(c), this._onDidChangeDecorations.checkAffectedAndFire(c.options)); } if (a < o) { if (!c) { const e = ++this._lastDecorationId, t = `${this._instanceId};${e}`; (c = new M(t, 0, 0)), (this._decorations[t] = c); } const t = i[a], r = this._validateRangeRelaxedNoAllocations(t.range), s = Ge(t.options), o = this._buffer.getOffsetAt( r.startLineNumber, r.startColumn ), d = this._buffer.getOffsetAt(r.endLineNumber, r.endColumn); (c.ownerId = e), c.reset(n, o, d, r), c.setOptions(s), this._onDidChangeDecorations.checkAffectedAndFire(s), this._decorationsTree.insert(c), (l[a] = c.id), a++; } else c && delete this._decorations[c.id]; } return l; } setTokens(e) { if (0 === e.length) return; let t = []; for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; let r = 0, s = 0, o = !1; for (let e = 0, t = n.tokens.length; e < t; e++) { const t = n.startLineNumber + e; o ? (this._tokens.setTokens( this._languageIdentifier.id, t - 1, this._buffer.getLineLength(t), n.tokens[e], !1 ), (s = t)) : this._tokens.setTokens( this._languageIdentifier.id, t - 1, this._buffer.getLineLength(t), n.tokens[e], !0 ) && ((o = !0), (r = t), (s = t)); } o && t.push({ fromLineNumber: r, toLineNumber: s }); } t.length > 0 && this._emitModelTokensChangedEvent({ tokenizationSupportChanged: !1, semanticTokensApplied: !1, ranges: t, }); } setSemanticTokens(e, t) { this._tokens2.set(e, t), this._emitModelTokensChangedEvent({ tokenizationSupportChanged: !1, semanticTokensApplied: null !== e, ranges: [ { fromLineNumber: 1, toLineNumber: this.getLineCount() }, ], }); } hasSemanticTokens() { return this._tokens2.isComplete(); } setPartialSemanticTokens(e, t) { if (this.hasSemanticTokens()) return; const i = this._tokens2.setPartial(e, t); this._emitModelTokensChangedEvent({ tokenizationSupportChanged: !1, semanticTokensApplied: !0, ranges: [ { fromLineNumber: i.startLineNumber, toLineNumber: i.endLineNumber, }, ], }); } tokenizeViewport(e, t) { (e = Math.max(1, e)), (t = Math.min(this._buffer.getLineCount(), t)), this._tokenization.tokenizeViewport(e, t); } clearTokens() { this._tokens.flush(), this._emitModelTokensChangedEvent({ tokenizationSupportChanged: !0, semanticTokensApplied: !1, ranges: [ { fromLineNumber: 1, toLineNumber: this._buffer.getLineCount(), }, ], }); } _emitModelTokensChangedEvent(e) { this._isDisposing || this._onDidChangeTokens.fire(e); } resetTokenization() { this._tokenization.reset(); } forceTokenization(e) { if (e < 1 || e > this.getLineCount()) throw new Error('Illegal value for lineNumber'); this._tokenization.forceTokenization(e); } isCheapToTokenize(e) { return this._tokenization.isCheapToTokenize(e); } tokenizeIfCheap(e) { this.isCheapToTokenize(e) && this.forceTokenization(e); } getLineTokens(e) { if (e < 1 || e > this.getLineCount()) throw new Error('Illegal value for lineNumber'); return this._getLineTokens(e); } _getLineTokens(e) { const t = this.getLineContent(e), i = this._tokens.getTokens(this._languageIdentifier.id, e - 1, t); return this._tokens2.addSemanticTokens(e, i); } getLanguageIdentifier() { return this._languageIdentifier; } getModeId() { return this._languageIdentifier.language; } setMode(e) { if (this._languageIdentifier.id === e.id) return; let t = { oldLanguage: this._languageIdentifier.language, newLanguage: e.language, }; (this._languageIdentifier = e), this._onDidChangeLanguage.fire(t), this._onDidChangeLanguageConfiguration.fire({}); } getLanguageIdAtPosition(e, t) { const i = this.validatePosition(new c.L(e, t)), n = this.getLineTokens(i.lineNumber); return n.getLanguageId(n.findTokenIndexAtOffset(i.column - 1)); } getWordAtPosition(e) { this._assertNotDisposed(); const t = this.validatePosition(e), i = this.getLineContent(t.lineNumber), n = this._getLineTokens(t.lineNumber), r = n.findTokenIndexAtOffset(t.column - 1), [s, o] = He._findLanguageBoundaries(n, r), a = (0, Ee.t2)( t.column, Te.zu.getWordDefinition(n.getLanguageId(r)), i.substring(s, o), s ); if (a && a.startColumn <= e.column && e.column <= a.endColumn) return a; if (r > 0 && s === t.column - 1) { const [s, o] = He._findLanguageBoundaries(n, r - 1), a = (0, Ee.t2)( t.column, Te.zu.getWordDefinition(n.getLanguageId(r - 1)), i.substring(s, o), s ); if (a && a.startColumn <= e.column && e.column <= a.endColumn) return a; } return null; } static _findLanguageBoundaries(e, t) { const i = e.getLanguageId(t); let n = 0; for (let r = t; r >= 0 && e.getLanguageId(r) === i; r--) n = e.getStartOffset(r); let r = e.getLineContent().length; for ( let n = t, s = e.getCount(); n < s && e.getLanguageId(n) === i; n++ ) r = e.getEndOffset(n); return [n, r]; } getWordUntilPosition(e) { const t = this.getWordAtPosition(e); return t ? { word: t.word.substr(0, e.column - t.startColumn), startColumn: t.startColumn, endColumn: e.column, } : { word: '', startColumn: e.column, endColumn: e.column }; } findMatchingBracketUp(e, t) { let i = e.toLowerCase(), n = this.validatePosition(t), r = this._getLineTokens(n.lineNumber), s = r.getLanguageId(r.findTokenIndexAtOffset(n.column - 1)), o = Te.zu.getBracketsSupport(s); if (!o) return null; let a = o.textIsBracket[i]; return a ? Ye(this._findMatchingBracketUp(a, n, null)) : null; } matchBracket(e) { return this._matchBracket(this.validatePosition(e)); } _matchBracket(e) { const t = e.lineNumber, i = this._getLineTokens(t), n = i.getCount(), r = this._buffer.getLineContent(t), s = i.findTokenIndexAtOffset(e.column - 1); if (s < 0) return null; const o = Te.zu.getBracketsSupport(i.getLanguageId(s)); if (o && !(0, Ie.Bu)(i.getStandardTokenType(s))) { let n = Math.max(0, e.column - 1 - o.maxBracketLength); for (let e = s - 1; e >= 0; e--) { const t = i.getEndOffset(e); if (t <= n) break; (0, Ie.Bu)(i.getStandardTokenType(e)) && (n = t); } const a = Math.min(r.length, e.column - 1 + o.maxBracketLength); let l = null; for (;;) { const i = Oe.Vr.findNextBracketInRange( o.forwardRegex, t, r, n, a ); if (!i) break; if (i.startColumn <= e.column && e.column <= i.endColumn) { const e = r .substring(i.startColumn - 1, i.endColumn - 1) .toLowerCase(), t = this._matchFoundBracket( i, o.textIsBracket[e], o.textIsOpenBracket[e], null ); if (t) { if (t instanceof We) return null; l = t; } } n = i.endColumn - 1; } if (l) return l; } if (s > 0 && i.getStartOffset(s) === e.column - 1) { const o = s - 1, a = Te.zu.getBracketsSupport(i.getLanguageId(o)); if (a && !(0, Ie.Bu)(i.getStandardTokenType(o))) { const s = Math.max(0, e.column - 1 - a.maxBracketLength); let l = Math.min(r.length, e.column - 1 + a.maxBracketLength); for (let e = o + 1; e < n; e++) { const t = i.getStartOffset(e); if (t >= l) break; (0, Ie.Bu)(i.getStandardTokenType(e)) && (l = t); } const c = Oe.Vr.findPrevBracketInRange( a.reversedRegex, t, r, s, l ); if (c && c.startColumn <= e.column && e.column <= c.endColumn) { const e = r .substring(c.startColumn - 1, c.endColumn - 1) .toLowerCase(), t = this._matchFoundBracket( c, a.textIsBracket[e], a.textIsOpenBracket[e], null ); if (t) return t instanceof We ? null : t; } } } return null; } _matchFoundBracket(e, t, i, n) { if (!t) return null; const r = i ? this._findMatchingBracketDown(t, e.getEndPosition(), n) : this._findMatchingBracketUp(t, e.getStartPosition(), n); return r ? (r instanceof We ? r : [e, r]) : null; } _findMatchingBracketUp(e, t, i) { const n = e.languageIdentifier.id, r = e.reversedRegex; let s = -1, o = 0; const a = (t, n, a, l) => { for (;;) { if (i && ++o % 100 == 0 && !i()) return We.INSTANCE; const c = Oe.Vr.findPrevBracketInRange(r, t, n, a, l); if (!c) break; const d = n .substring(c.startColumn - 1, c.endColumn - 1) .toLowerCase(); if ((e.isOpen(d) ? s++ : e.isClose(d) && s--, 0 === s)) return c; l = c.startColumn - 1; } return null; }; for (let e = t.lineNumber; e >= 1; e--) { const i = this._getLineTokens(e), r = i.getCount(), s = this._buffer.getLineContent(e); let o = r - 1, l = s.length, c = s.length; e === t.lineNumber && ((o = i.findTokenIndexAtOffset(t.column - 1)), (l = t.column - 1), (c = t.column - 1)); let d = !0; for (; o >= 0; o--) { const t = i.getLanguageId(o) === n && !(0, Ie.Bu)(i.getStandardTokenType(o)); if (t) d ? (l = i.getStartOffset(o)) : ((l = i.getStartOffset(o)), (c = i.getEndOffset(o))); else if (d && l !== c) { const t = a(e, s, l, c); if (t) return t; } d = t; } if (d && l !== c) { const t = a(e, s, l, c); if (t) return t; } } return null; } _findMatchingBracketDown(e, t, i) { const n = e.languageIdentifier.id, r = e.forwardRegex; let s = 1, o = 0; const a = (t, n, a, l) => { for (;;) { if (i && ++o % 100 == 0 && !i()) return We.INSTANCE; const c = Oe.Vr.findNextBracketInRange(r, t, n, a, l); if (!c) break; const d = n .substring(c.startColumn - 1, c.endColumn - 1) .toLowerCase(); if ((e.isOpen(d) ? s++ : e.isClose(d) && s--, 0 === s)) return c; a = c.endColumn - 1; } return null; }, l = this.getLineCount(); for (let e = t.lineNumber; e <= l; e++) { const i = this._getLineTokens(e), r = i.getCount(), s = this._buffer.getLineContent(e); let o = 0, l = 0, c = 0; e === t.lineNumber && ((o = i.findTokenIndexAtOffset(t.column - 1)), (l = t.column - 1), (c = t.column - 1)); let d = !0; for (; o < r; o++) { const t = i.getLanguageId(o) === n && !(0, Ie.Bu)(i.getStandardTokenType(o)); if (t) d || (l = i.getStartOffset(o)), (c = i.getEndOffset(o)); else if (d && l !== c) { const t = a(e, s, l, c); if (t) return t; } d = t; } if (d && l !== c) { const t = a(e, s, l, c); if (t) return t; } } return null; } findPrevBracket(e) { const t = this.validatePosition(e); let i = -1, n = null; for (let e = t.lineNumber; e >= 1; e--) { const r = this._getLineTokens(e), s = r.getCount(), o = this._buffer.getLineContent(e); let a = s - 1, l = o.length, c = o.length; if (e === t.lineNumber) { (a = r.findTokenIndexAtOffset(t.column - 1)), (l = t.column - 1), (c = t.column - 1); const e = r.getLanguageId(a); i !== e && ((i = e), (n = Te.zu.getBracketsSupport(i))); } let d = !0; for (; a >= 0; a--) { const t = r.getLanguageId(a); if (i !== t) { if (n && d && l !== c) { const t = Oe.Vr.findPrevBracketInRange( n.reversedRegex, e, o, l, c ); if (t) return this._toFoundBracket(n, t); d = !1; } (i = t), (n = Te.zu.getBracketsSupport(i)); } const s = !!n && !(0, Ie.Bu)(r.getStandardTokenType(a)); if (s) d ? (l = r.getStartOffset(a)) : ((l = r.getStartOffset(a)), (c = r.getEndOffset(a))); else if (n && d && l !== c) { const t = Oe.Vr.findPrevBracketInRange( n.reversedRegex, e, o, l, c ); if (t) return this._toFoundBracket(n, t); } d = s; } if (n && d && l !== c) { const t = Oe.Vr.findPrevBracketInRange( n.reversedRegex, e, o, l, c ); if (t) return this._toFoundBracket(n, t); } } return null; } findNextBracket(e) { const t = this.validatePosition(e), i = this.getLineCount(); let n = -1, r = null; for (let e = t.lineNumber; e <= i; e++) { const i = this._getLineTokens(e), s = i.getCount(), o = this._buffer.getLineContent(e); let a = 0, l = 0, c = 0; if (e === t.lineNumber) { (a = i.findTokenIndexAtOffset(t.column - 1)), (l = t.column - 1), (c = t.column - 1); const e = i.getLanguageId(a); n !== e && ((n = e), (r = Te.zu.getBracketsSupport(n))); } let d = !0; for (; a < s; a++) { const t = i.getLanguageId(a); if (n !== t) { if (r && d && l !== c) { const t = Oe.Vr.findNextBracketInRange( r.forwardRegex, e, o, l, c ); if (t) return this._toFoundBracket(r, t); d = !1; } (n = t), (r = Te.zu.getBracketsSupport(n)); } const s = !!r && !(0, Ie.Bu)(i.getStandardTokenType(a)); if (s) d || (l = i.getStartOffset(a)), (c = i.getEndOffset(a)); else if (r && d && l !== c) { const t = Oe.Vr.findNextBracketInRange( r.forwardRegex, e, o, l, c ); if (t) return this._toFoundBracket(r, t); } d = s; } if (r && d && l !== c) { const t = Oe.Vr.findNextBracketInRange( r.forwardRegex, e, o, l, c ); if (t) return this._toFoundBracket(r, t); } } return null; } findEnclosingBrackets(e, t) { let i; if (void 0 === t) i = null; else { const e = Date.now(); i = () => Date.now() - e <= t; } const n = this.validatePosition(e), r = this.getLineCount(), s = new Map(); let o = []; const a = (e, t) => { if (!s.has(e)) { let i = []; for (let e = 0, n = t ? t.brackets.length : 0; e < n; e++) i[e] = 0; s.set(e, i); } o = s.get(e); }; let l = 0; const c = (e, t, n, r, s) => { for (;;) { if (i && ++l % 100 == 0 && !i()) return We.INSTANCE; const a = Oe.Vr.findNextBracketInRange( e.forwardRegex, t, n, r, s ); if (!a) break; const c = n .substring(a.startColumn - 1, a.endColumn - 1) .toLowerCase(), d = e.textIsBracket[c]; if ( d && (d.isOpen(c) ? o[d.index]++ : d.isClose(c) && o[d.index]--, -1 === o[d.index]) ) return this._matchFoundBracket(a, d, !1, i); r = a.endColumn - 1; } return null; }; let d = -1, h = null; for (let e = n.lineNumber; e <= r; e++) { const t = this._getLineTokens(e), i = t.getCount(), r = this._buffer.getLineContent(e); let s = 0, o = 0, l = 0; if (e === n.lineNumber) { (s = t.findTokenIndexAtOffset(n.column - 1)), (o = n.column - 1), (l = n.column - 1); const e = t.getLanguageId(s); d !== e && ((d = e), (h = Te.zu.getBracketsSupport(d)), a(d, h)); } let u = !0; for (; s < i; s++) { const i = t.getLanguageId(s); if (d !== i) { if (h && u && o !== l) { const t = c(h, e, r, o, l); if (t) return Ye(t); u = !1; } (d = i), (h = Te.zu.getBracketsSupport(d)), a(d, h); } const n = !!h && !(0, Ie.Bu)(t.getStandardTokenType(s)); if (n) u || (o = t.getStartOffset(s)), (l = t.getEndOffset(s)); else if (h && u && o !== l) { const t = c(h, e, r, o, l); if (t) return Ye(t); } u = n; } if (h && u && o !== l) { const t = c(h, e, r, o, l); if (t) return Ye(t); } } return null; } _toFoundBracket(e, t) { if (!t) return null; let i = this.getValueInRange(t); i = i.toLowerCase(); let n = e.textIsBracket[i]; return n ? { range: t, open: n.open, close: n.close, isOpen: e.textIsOpenBracket[i], } : null; } static computeIndentLevel(e, t) { let i = 0, n = 0, r = e.length; for (; n < r; ) { let r = e.charCodeAt(n); if (32 === r) i++; else { if (9 !== r) break; i = i - (i % t) + t; } n++; } return n === r ? -1 : i; } _computeIndentLevel(e) { return He.computeIndentLevel( this._buffer.getLineContent(e + 1), this._options.tabSize ); } getActiveIndentGuide(e, t, i) { this._assertNotDisposed(); const n = this.getLineCount(); if (e < 1 || e > n) throw new Error('Illegal value for lineNumber'); const r = Te.zu.getFoldingRules(this._languageIdentifier.id), s = Boolean(r && r.offSide); let o = -2, a = -1, l = -2, c = -1; const d = (e) => { if (-1 !== o && (-2 === o || o > e - 1)) { (o = -1), (a = -1); for (let t = e - 2; t >= 0; t--) { let e = this._computeIndentLevel(t); if (e >= 0) { (o = t), (a = e); break; } } } if (-2 === l) { (l = -1), (c = -1); for (let t = e; t < n; t++) { let e = this._computeIndentLevel(t); if (e >= 0) { (l = t), (c = e); break; } } } }; let h = -2, u = -1, g = -2, f = -1; const p = (e) => { if (-2 === h) { (h = -1), (u = -1); for (let t = e - 2; t >= 0; t--) { let e = this._computeIndentLevel(t); if (e >= 0) { (h = t), (u = e); break; } } } if (-1 !== g && (-2 === g || g < e - 1)) { (g = -1), (f = -1); for (let t = e; t < n; t++) { let e = this._computeIndentLevel(t); if (e >= 0) { (g = t), (f = e); break; } } } }; let m = 0, _ = !0, b = 0, v = !0, y = 0, w = 0; for (let r = 0; _ || v; r++) { const o = e - r, g = e + r; r > 1 && (o < 1 || o < t) && (_ = !1), r > 1 && (g > n || g > i) && (v = !1), r > 5e4 && ((_ = !1), (v = !1)); let C = -1; if (_) { const e = this._computeIndentLevel(o - 1); e >= 0 ? ((l = o - 1), (c = e), (C = Math.ceil(e / this._options.indentSize))) : (d(o), (C = this._getIndentLevelForWhitespaceLine(s, a, c))); } let S = -1; if (v) { const e = this._computeIndentLevel(g - 1); e >= 0 ? ((h = g - 1), (u = e), (S = Math.ceil(e / this._options.indentSize))) : (p(g), (S = this._getIndentLevelForWhitespaceLine(s, u, f))); } if (0 !== r) { if (1 === r) { if (g <= n && S >= 0 && w + 1 === S) { (_ = !1), (m = g), (b = g), (y = S); continue; } if (o >= 1 && C >= 0 && C - 1 === w) { (v = !1), (m = o), (b = o), (y = C); continue; } if (((m = e), (b = e), (y = w), 0 === y)) return { startLineNumber: m, endLineNumber: b, indent: y }; } _ && (C >= y ? (m = o) : (_ = !1)), v && (S >= y ? (b = g) : (v = !1)); } else w = C; } return { startLineNumber: m, endLineNumber: b, indent: y }; } getLinesIndentGuides(e, t) { this._assertNotDisposed(); const i = this.getLineCount(); if (e < 1 || e > i) throw new Error('Illegal value for startLineNumber'); if (t < 1 || t > i) throw new Error('Illegal value for endLineNumber'); const n = Te.zu.getFoldingRules(this._languageIdentifier.id), r = Boolean(n && n.offSide); let s = new Array(t - e + 1), o = -2, a = -1, l = -2, c = -1; for (let n = e; n <= t; n++) { let t = n - e; const d = this._computeIndentLevel(n - 1); if (d >= 0) (o = n - 1), (a = d), (s[t] = Math.ceil(d / this._options.indentSize)); else { if (-2 === o) { (o = -1), (a = -1); for (let e = n - 2; e >= 0; e--) { let t = this._computeIndentLevel(e); if (t >= 0) { (o = e), (a = t); break; } } } if (-1 !== l && (-2 === l || l < n - 1)) { (l = -1), (c = -1); for (let e = n; e < i; e++) { let t = this._computeIndentLevel(e); if (t >= 0) { (l = e), (c = t); break; } } } s[t] = this._getIndentLevelForWhitespaceLine(r, a, c); } } return s; } _getIndentLevelForWhitespaceLine(e, t, i) { return -1 === t || -1 === i ? 0 : t < i ? 1 + Math.floor(t / this._options.indentSize) : t === i || e ? Math.ceil(i / this._options.indentSize) : 1 + Math.floor(i / this._options.indentSize); } } (He.MODEL_SYNC_LIMIT = 52428800), (He.LARGE_FILE_SIZE_THRESHOLD = 20971520), (He.LARGE_FILE_LINE_COUNT_THRESHOLD = 3e5), (He.DEFAULT_CREATION_OPTIONS = { isForSimpleWidget: !1, tabSize: l.DB.tabSize, indentSize: l.DB.indentSize, insertSpaces: l.DB.insertSpaces, detectIndentation: !1, defaultEOL: 1, trimAutoWhitespace: l.DB.trimAutoWhitespace, largeFileOptimizations: l.DB.largeFileOptimizations, }); class je { constructor() { (this._decorationsTree0 = new N()), (this._decorationsTree1 = new N()); } intervalSearch(e, t, i, n, r) { const s = this._decorationsTree0.intervalSearch(e, t, i, n, r), o = this._decorationsTree1.intervalSearch(e, t, i, n, r); return s.concat(o); } search(e, t, i, n) { if (i) return this._decorationsTree1.search(e, t, n); { const i = this._decorationsTree0.search(e, t, n), r = this._decorationsTree1.search(e, t, n); return i.concat(r); } } collectNodesFromOwner(e) { const t = this._decorationsTree0.collectNodesFromOwner(e), i = this._decorationsTree1.collectNodesFromOwner(e); return t.concat(i); } collectNodesPostOrder() { const e = this._decorationsTree0.collectNodesPostOrder(), t = this._decorationsTree1.collectNodesPostOrder(); return e.concat(t); } insert(e) { S(e) ? this._decorationsTree1.insert(e) : this._decorationsTree0.insert(e); } delete(e) { S(e) ? this._decorationsTree1.delete(e) : this._decorationsTree0.delete(e); } resolveNode(e, t) { S(e) ? this._decorationsTree1.resolveNode(e, t) : this._decorationsTree0.resolveNode(e, t); } acceptReplace(e, t, i, n) { this._decorationsTree0.acceptReplace(e, t, i, n), this._decorationsTree1.acceptReplace(e, t, i, n); } } function Ve(e) { return e.replace(/[^a-z0-9\-_]/gi, ' '); } class ze { constructor(e) { (this.color = e.color || ''), (this.darkColor = e.darkColor || ''); } } class Ue extends ze { constructor(e) { super(e), (this._resolvedColor = null), (this.position = 'number' == typeof e.position ? e.position : u.sh.Center); } getColor(e) { return ( this._resolvedColor || ('light' !== e.type && this.darkColor ? (this._resolvedColor = this._resolveColor( this.darkColor, e )) : (this._resolvedColor = this._resolveColor(this.color, e))), this._resolvedColor ); } invalidateCachedColor() { this._resolvedColor = null; } _resolveColor(e, t) { if ('string' == typeof e) return e; let i = e ? t.getColor(e.id) : null; return i ? i.toString() : ''; } } class $e extends ze { constructor(e) { super(e), (this.position = e.position); } getColor(e) { return ( this._resolvedColor || ('light' !== e.type && this.darkColor ? (this._resolvedColor = this._resolveColor( this.darkColor, e )) : (this._resolvedColor = this._resolveColor(this.color, e))), this._resolvedColor ); } invalidateCachedColor() { this._resolvedColor = void 0; } _resolveColor(e, t) { return 'string' == typeof e ? Ae.Il.fromHex(e) : t.getColor(e.id); } } class Ke { constructor(e) { (this.stickiness = e.stickiness || 0), (this.zIndex = e.zIndex || 0), (this.className = e.className ? Ve(e.className) : null), (this.hoverMessage = e.hoverMessage || null), (this.glyphMarginHoverMessage = e.glyphMarginHoverMessage || null), (this.isWholeLine = e.isWholeLine || !1), (this.showIfCollapsed = e.showIfCollapsed || !1), (this.collapseOnReplaceEdit = e.collapseOnReplaceEdit || !1), (this.overviewRuler = e.overviewRuler ? new Ue(e.overviewRuler) : null), (this.minimap = e.minimap ? new $e(e.minimap) : null), (this.glyphMarginClassName = e.glyphMarginClassName ? Ve(e.glyphMarginClassName) : null), (this.linesDecorationsClassName = e.linesDecorationsClassName ? Ve(e.linesDecorationsClassName) : null), (this.firstLineDecorationClassName = e.firstLineDecorationClassName ? Ve(e.firstLineDecorationClassName) : null), (this.marginClassName = e.marginClassName ? Ve(e.marginClassName) : null), (this.inlineClassName = e.inlineClassName ? Ve(e.inlineClassName) : null), (this.inlineClassNameAffectsLetterSpacing = e.inlineClassNameAffectsLetterSpacing || !1), (this.beforeContentClassName = e.beforeContentClassName ? Ve(e.beforeContentClassName) : null), (this.afterContentClassName = e.afterContentClassName ? Ve(e.afterContentClassName) : null); } static register(e) { return new Ke(e); } static createDynamic(e) { return new Ke(e); } } Ke.EMPTY = Ke.register({}); const qe = [ Ke.register({ stickiness: 0 }), Ke.register({ stickiness: 1 }), Ke.register({ stickiness: 2 }), Ke.register({ stickiness: 3 }), ]; function Ge(e) { return e instanceof Ke ? e : Ke.createDynamic(e); } class Ze extends s.JT { constructor() { super(), (this._actual = this._register(new r.Q5())), (this.event = this._actual.event), (this._deferredCnt = 0), (this._shouldFire = !1), (this._affectsMinimap = !1), (this._affectsOverviewRuler = !1); } beginDeferredEmit() { this._deferredCnt++; } endDeferredEmit() { if ( (this._deferredCnt--, 0 === this._deferredCnt && this._shouldFire) ) { const e = { affectsMinimap: this._affectsMinimap, affectsOverviewRuler: this._affectsOverviewRuler, }; (this._shouldFire = !1), (this._affectsMinimap = !1), (this._affectsOverviewRuler = !1), this._actual.fire(e); } } checkAffectedAndFire(e) { this._affectsMinimap || (this._affectsMinimap = !(!e.minimap || !e.minimap.position)), this._affectsOverviewRuler || (this._affectsOverviewRuler = !( !e.overviewRuler || !e.overviewRuler.color )), (this._shouldFire = !0); } fire() { (this._affectsMinimap = !0), (this._affectsOverviewRuler = !0), (this._shouldFire = !0); } } class Je extends s.JT { constructor() { super(), (this._fastEmitter = this._register(new r.Q5())), (this.fastEvent = this._fastEmitter.event), (this._slowEmitter = this._register(new r.Q5())), (this.slowEvent = this._slowEmitter.event), (this._deferredCnt = 0), (this._deferredEvent = null); } beginDeferredEmit() { this._deferredCnt++; } endDeferredEmit(e = null) { if ( (this._deferredCnt--, 0 === this._deferredCnt && null !== this._deferredEvent) ) { this._deferredEvent.rawContentChangedEvent.resultingSelection = e; const t = this._deferredEvent; (this._deferredEvent = null), this._fastEmitter.fire(t), this._slowEmitter.fire(t); } } fire(e) { this._deferredCnt > 0 ? this._deferredEvent ? (this._deferredEvent = this._deferredEvent.merge(e)) : (this._deferredEvent = e) : (this._fastEmitter.fire(e), this._slowEmitter.fire(e)); } } }, 77277: (e, t, i) => { 'use strict'; i.d(t, { bc: () => l, iE: () => d, pM: () => u, cM: () => g, sz: () => f, }); var n = i(97295), r = i(59410), s = i(50187), o = i(24314), a = i(84973); class l { constructor(e, t, i, n) { (this.searchString = e), (this.isRegex = t), (this.matchCase = i), (this.wordSeparators = n); } parseSearchRequest() { if ('' === this.searchString) return null; let e; e = this.isRegex ? (function (e) { if (!e || 0 === e.length) return !1; for (let t = 0, i = e.length; t < i; t++) if (92 === e.charCodeAt(t)) { if ((t++, t >= i)) break; const n = e.charCodeAt(t); if (110 === n || 114 === n || 87 === n || 119 === n) return !0; } return !1; })(this.searchString) : this.searchString.indexOf('\n') >= 0; let t = null; try { t = n.GF(this.searchString, this.isRegex, { matchCase: this.matchCase, wholeWord: !1, multiline: e, global: !0, unicode: !0, }); } catch (e) { return null; } if (!t) return null; let i = !this.isRegex && !e; return ( i && this.searchString.toLowerCase() !== this.searchString.toUpperCase() && (i = this.matchCase), new c( t, this.wordSeparators ? (0, r.u)(this.wordSeparators) : null, i ? this.searchString : null ) ); } } class c { constructor(e, t, i) { (this.regex = e), (this.wordSeparators = t), (this.simpleSearch = i); } } function d(e, t, i) { if (!i) return new a.tk(e, null); let n = []; for (let e = 0, i = t.length; e < i; e++) n[e] = t[e]; return new a.tk(e, n); } class h { constructor(e) { let t = [], i = 0; for (let n = 0, r = e.length; n < r; n++) 10 === e.charCodeAt(n) && (t[i++] = n); this._lineFeedsOffsets = t; } findLineFeedCountBeforeOffset(e) { const t = this._lineFeedsOffsets; let i = 0, n = t.length - 1; if (-1 === n) return 0; if (e <= t[0]) return 0; for (; i < n; ) { const r = i + (((n - i) / 2) >> 0); t[r] >= e ? (n = r - 1) : t[r + 1] >= e ? ((i = r), (n = r)) : (i = r + 1); } return i + 1; } } class u { static findMatches(e, t, i, n, r) { const s = t.parseSearchRequest(); return s ? s.regex.multiline ? this._doFindMatchesMultiline( e, i, new f(s.wordSeparators, s.regex), n, r ) : this._doFindMatchesLineByLine(e, i, s, n, r) : []; } static _getMultilineMatchRange(e, t, i, n, r, s) { let a, l, c = 0; if ( (n ? ((c = n.findLineFeedCountBeforeOffset(r)), (a = t + r + c)) : (a = t + r), n) ) { let e = n.findLineFeedCountBeforeOffset(r + s.length) - c; l = a + s.length + e; } else l = a + s.length; const d = e.getPositionAt(a), h = e.getPositionAt(l); return new o.e(d.lineNumber, d.column, h.lineNumber, h.column); } static _doFindMatchesMultiline(e, t, i, n, r) { const s = e.getOffsetAt(t.getStartPosition()), o = e.getValueInRange(t, 1), a = '\r\n' === e.getEOL() ? new h(o) : null, l = []; let c, u = 0; for (i.reset(0); (c = i.next(o)); ) if ( ((l[u++] = d( this._getMultilineMatchRange(e, s, o, a, c.index, c[0]), c, n )), u >= r) ) return l; return l; } static _doFindMatchesLineByLine(e, t, i, n, r) { const s = []; let o = 0; if (t.startLineNumber === t.endLineNumber) { const a = e .getLineContent(t.startLineNumber) .substring(t.startColumn - 1, t.endColumn - 1); return ( (o = this._findMatchesInLine( i, a, t.startLineNumber, t.startColumn - 1, o, s, n, r )), s ); } const a = e .getLineContent(t.startLineNumber) .substring(t.startColumn - 1); o = this._findMatchesInLine( i, a, t.startLineNumber, t.startColumn - 1, o, s, n, r ); for ( let a = t.startLineNumber + 1; a < t.endLineNumber && o < r; a++ ) o = this._findMatchesInLine( i, e.getLineContent(a), a, 0, o, s, n, r ); if (o < r) { const a = e .getLineContent(t.endLineNumber) .substring(0, t.endColumn - 1); o = this._findMatchesInLine(i, a, t.endLineNumber, 0, o, s, n, r); } return s; } static _findMatchesInLine(e, t, i, n, r, s, l, c) { const h = e.wordSeparators; if (!l && e.simpleSearch) { const l = e.simpleSearch, d = l.length, u = t.length; let f = -d; for (; -1 !== (f = t.indexOf(l, f + d)); ) if ( (!h || g(h, t, u, f, d)) && ((s[r++] = new a.tk( new o.e(i, f + 1 + n, i, f + 1 + d + n), null )), r >= c) ) return r; return r; } const u = new f(e.wordSeparators, e.regex); let p; u.reset(0); do { if ( ((p = u.next(t)), p && ((s[r++] = d( new o.e( i, p.index + 1 + n, i, p.index + 1 + p[0].length + n ), p, l )), r >= c)) ) return r; } while (p); return r; } static findNextMatch(e, t, i, n) { const r = t.parseSearchRequest(); if (!r) return null; const s = new f(r.wordSeparators, r.regex); return r.regex.multiline ? this._doFindNextMatchMultiline(e, i, s, n) : this._doFindNextMatchLineByLine(e, i, s, n); } static _doFindNextMatchMultiline(e, t, i, n) { const r = new s.L(t.lineNumber, 1), a = e.getOffsetAt(r), l = e.getLineCount(), c = e.getValueInRange( new o.e(r.lineNumber, r.column, l, e.getLineMaxColumn(l)), 1 ), u = '\r\n' === e.getEOL() ? new h(c) : null; i.reset(t.column - 1); let g = i.next(c); return g ? d(this._getMultilineMatchRange(e, a, c, u, g.index, g[0]), g, n) : 1 !== t.lineNumber || 1 !== t.column ? this._doFindNextMatchMultiline(e, new s.L(1, 1), i, n) : null; } static _doFindNextMatchLineByLine(e, t, i, n) { const r = e.getLineCount(), s = t.lineNumber, o = e.getLineContent(s), a = this._findFirstMatchInLine(i, o, s, t.column, n); if (a) return a; for (let t = 1; t <= r; t++) { const o = (s + t - 1) % r, a = e.getLineContent(o + 1), l = this._findFirstMatchInLine(i, a, o + 1, 1, n); if (l) return l; } return null; } static _findFirstMatchInLine(e, t, i, n, r) { e.reset(n - 1); const s = e.next(t); return s ? d(new o.e(i, s.index + 1, i, s.index + 1 + s[0].length), s, r) : null; } static findPreviousMatch(e, t, i, n) { const r = t.parseSearchRequest(); if (!r) return null; const s = new f(r.wordSeparators, r.regex); return r.regex.multiline ? this._doFindPreviousMatchMultiline(e, i, s, n) : this._doFindPreviousMatchLineByLine(e, i, s, n); } static _doFindPreviousMatchMultiline(e, t, i, n) { const r = this._doFindMatchesMultiline( e, new o.e(1, 1, t.lineNumber, t.column), i, n, 9990 ); if (r.length > 0) return r[r.length - 1]; const a = e.getLineCount(); return t.lineNumber !== a || t.column !== e.getLineMaxColumn(a) ? this._doFindPreviousMatchMultiline( e, new s.L(a, e.getLineMaxColumn(a)), i, n ) : null; } static _doFindPreviousMatchLineByLine(e, t, i, n) { const r = e.getLineCount(), s = t.lineNumber, o = e.getLineContent(s).substring(0, t.column - 1), a = this._findLastMatchInLine(i, o, s, n); if (a) return a; for (let t = 1; t <= r; t++) { const o = (r + s - t - 1) % r, a = e.getLineContent(o + 1), l = this._findLastMatchInLine(i, a, o + 1, n); if (l) return l; } return null; } static _findLastMatchInLine(e, t, i, n) { let r, s = null; for (e.reset(0); (r = e.next(t)); ) s = d( new o.e(i, r.index + 1, i, r.index + 1 + r[0].length), r, n ); return s; } } function g(e, t, i, n, r) { return ( (function (e, t, i, n, r) { if (0 === n) return !0; const s = t.charCodeAt(n - 1); if (0 !== e.get(s)) return !0; if (13 === s || 10 === s) return !0; if (r > 0) { const i = t.charCodeAt(n); if (0 !== e.get(i)) return !0; } return !1; })(e, t, 0, n, r) && (function (e, t, i, n, r) { if (n + r === i) return !0; const s = t.charCodeAt(n + r); if (0 !== e.get(s)) return !0; if (13 === s || 10 === s) return !0; if (r > 0) { const i = t.charCodeAt(n + r - 1); if (0 !== e.get(i)) return !0; } return !1; })(e, t, i, n, r) ); } class f { constructor(e, t) { (this._wordSeparators = e), (this._searchRegex = t), (this._prevMatchStartIndex = -1), (this._prevMatchLength = 0); } reset(e) { (this._searchRegex.lastIndex = e), (this._prevMatchStartIndex = -1), (this._prevMatchLength = 0); } next(e) { const t = e.length; let i; do { if (this._prevMatchStartIndex + this._prevMatchLength === t) return null; if (((i = this._searchRegex.exec(e)), !i)) return null; const r = i.index, s = i[0].length; if ( r === this._prevMatchStartIndex && s === this._prevMatchLength ) { if (0 === s) { n.ZH(e, t, this._searchRegex.lastIndex) > 65535 ? (this._searchRegex.lastIndex += 2) : (this._searchRegex.lastIndex += 1); continue; } return null; } if ( ((this._prevMatchStartIndex = r), (this._prevMatchLength = s), !this._wordSeparators || g(this._wordSeparators, e, t, r, s)) ) return i; } while (i); return null; } } }, 58409: (e, t, i) => { 'use strict'; i.d(t, { QZ: () => l, DA: () => h, OU: () => u, Wz: () => f, cx: () => _, Rl: () => b, }); var n = i(9488), r = i(78411), s = i(50187), o = i(24314), a = i(43775); function l(e) { let t = 0, i = 0, n = 0, r = 0; for (let s = 0, o = e.length; s < o; s++) { const a = e.charCodeAt(s); 13 === a ? (0 === t && (i = s), t++, s + 1 < o && 10 === e.charCodeAt(s + 1) ? ((r |= 2), s++) : (r |= 3), (n = s + 1)) : 10 === a && ((r |= 1), 0 === t && (i = s), t++, (n = s + 1)); } return 0 === t && (i = e.length), [t, i, e.length - n, r]; } function c(e) { return (16384 | (e << 0) | (2 << 23)) >>> 0; } const d = new Uint32Array(0).buffer; class h { constructor() { this.tokens = []; } add(e, t) { if (this.tokens.length > 0) { const i = this.tokens[this.tokens.length - 1]; if (i.startLineNumber + i.tokens.length - 1 + 1 === e) return void i.tokens.push(t); } this.tokens.push(new p(e, [t])); } } class u { constructor(e) { (this._tokens = e), (this._tokenCount = e.length / 4); } toString(e) { let t = []; for (let i = 0; i < this._tokenCount; i++) t.push( `(${this._getDeltaLine(i) + e},${this._getStartCharacter( i )}-${this._getEndCharacter(i)})` ); return `[${t.join(',')}]`; } getMaxDeltaLine() { const e = this._getTokenCount(); return 0 === e ? -1 : this._getDeltaLine(e - 1); } getRange() { const e = this._getTokenCount(); if (0 === e) return null; const t = this._getStartCharacter(0), i = this._getDeltaLine(e - 1), n = this._getEndCharacter(e - 1); return new o.e(0, t + 1, i, n + 1); } _getTokenCount() { return this._tokenCount; } _getDeltaLine(e) { return this._tokens[4 * e]; } _getStartCharacter(e) { return this._tokens[4 * e + 1]; } _getEndCharacter(e) { return this._tokens[4 * e + 2]; } isEmpty() { return 0 === this._getTokenCount(); } getLineTokens(e) { let t = 0, i = this._getTokenCount() - 1; for (; t < i; ) { const n = t + Math.floor((i - t) / 2), r = this._getDeltaLine(n); if (r < e) t = n + 1; else { if (!(r > e)) { let r = n; for (; r > t && this._getDeltaLine(r - 1) === e; ) r--; let s = n; for (; s < i && this._getDeltaLine(s + 1) === e; ) s++; return new g(this._tokens.subarray(4 * r, 4 * s + 4)); } i = n - 1; } } return this._getDeltaLine(t) === e ? new g(this._tokens.subarray(4 * t, 4 * t + 4)) : null; } clear() { this._tokenCount = 0; } removeTokens(e, t, i, n) { const r = this._tokens, s = this._tokenCount; let o = 0, a = !1, l = 0; for (let c = 0; c < s; c++) { const s = 4 * c, d = r[s], h = r[s + 1], u = r[s + 2], g = r[s + 3]; if ( (d > e || (d === e && u >= t)) && (d < i || (d === i && h <= n)) ) a = !0; else { if ((0 === o && (l = d), a)) { const e = 4 * o; (r[e] = d - l), (r[e + 1] = h), (r[e + 2] = u), (r[e + 3] = g); } o++; } } return (this._tokenCount = o), l; } split(e, t, i, n) { const r = this._tokens, s = this._tokenCount; let o = [], a = [], l = o, c = 0, d = 0; for (let o = 0; o < s; o++) { const s = 4 * o, h = r[s], u = r[s + 1], g = r[s + 2], f = r[s + 3]; if (h > e || (h === e && g >= t)) { if (h < i || (h === i && u <= n)) continue; l !== a && ((l = a), (c = 0), (d = h)); } (l[c++] = h - d), (l[c++] = u), (l[c++] = g), (l[c++] = f); } return [new u(new Uint32Array(o)), new u(new Uint32Array(a)), d]; } acceptDeleteRange(e, t, i, n, r) { const s = this._tokens, o = this._tokenCount, a = n - t; let l = 0, c = !1; for (let d = 0; d < o; d++) { const h = 4 * d; let u = s[h], g = s[h + 1], f = s[h + 2]; const p = s[h + 3]; if (u < t || (u === t && f <= i)) { l++; continue; } if (u === t && g < i) u === n && f > r ? (f -= r - i) : (f = i); else if (u === t && g === i) { if (!(u === n && f > r)) { c = !0; continue; } f -= r - i; } else if (u < n || (u === n && g < r)) { if (!(u === n && f > r)) { c = !0; continue; } u === t ? ((g = i), (f = g + (f - r))) : ((g = 0), (f = g + (f - r))); } else if (u > n) { if (0 === a && !c) { l = o; break; } u -= a; } else { if (!(u === n && g >= r)) throw new Error('Not possible!'); e && 0 === u && ((g += e), (f += e)), (u -= a), (g -= r - i), (f -= r - i); } const m = 4 * l; (s[m] = u), (s[m + 1] = g), (s[m + 2] = f), (s[m + 3] = p), l++; } this._tokenCount = l; } acceptInsertText(e, t, i, n, r, s) { const o = 0 === i && 1 === n && ((s >= 48 && s <= 57) || (s >= 65 && s <= 90) || (s >= 97 && s <= 122)), a = this._tokens, l = this._tokenCount; for (let s = 0; s < l; s++) { const l = 4 * s; let c = a[l], d = a[l + 1], h = a[l + 2]; if (!(c < e || (c === e && h < t))) { if (c === e && h === t) { if (!o) continue; h += 1; } else if (c === e && d < t && t < h) 0 === i ? (h += n) : (h = t); else { if (c === e && d === t && o) continue; if (c === e) if (((c += i), 0 === i)) (d += n), (h += n); else { const e = h - d; (d = r + (d - t)), (h = d + e); } else c += i; } (a[l] = c), (a[l + 1] = d), (a[l + 2] = h); } } } } class g { constructor(e) { this._tokens = e; } getCount() { return this._tokens.length / 4; } getStartCharacter(e) { return this._tokens[4 * e + 1]; } getEndCharacter(e) { return this._tokens[4 * e + 2]; } getMetadata(e) { return this._tokens[4 * e + 3]; } } class f { constructor(e, t) { (this.startLineNumber = e), (this.tokens = t), (this.endLineNumber = this.startLineNumber + this.tokens.getMaxDeltaLine()); } toString() { return this.tokens.toString(this.startLineNumber); } _updateEndLineNumber() { this.endLineNumber = this.startLineNumber + this.tokens.getMaxDeltaLine(); } isEmpty() { return this.tokens.isEmpty(); } getLineTokens(e) { return this.startLineNumber <= e && e <= this.endLineNumber ? this.tokens.getLineTokens(e - this.startLineNumber) : null; } getRange() { const e = this.tokens.getRange(); return e ? new o.e( this.startLineNumber + e.startLineNumber, e.startColumn, this.startLineNumber + e.endLineNumber, e.endColumn ) : e; } removeTokens(e) { const t = e.startLineNumber - this.startLineNumber, i = e.endLineNumber - this.startLineNumber; (this.startLineNumber += this.tokens.removeTokens( t, e.startColumn - 1, i, e.endColumn - 1 )), this._updateEndLineNumber(); } split(e) { const t = e.startLineNumber - this.startLineNumber, i = e.endLineNumber - this.startLineNumber, [n, r, s] = this.tokens.split( t, e.startColumn - 1, i, e.endColumn - 1 ); return [ new f(this.startLineNumber, n), new f(this.startLineNumber + s, r), ]; } applyEdit(e, t) { const [i, n, r] = l(t); this.acceptEdit(e, i, n, r, t.length > 0 ? t.charCodeAt(0) : 0); } acceptEdit(e, t, i, n, r) { this._acceptDeleteRange(e), this._acceptInsertText( new s.L(e.startLineNumber, e.startColumn), t, i, n, r ), this._updateEndLineNumber(); } _acceptDeleteRange(e) { if ( e.startLineNumber === e.endLineNumber && e.startColumn === e.endColumn ) return; const t = e.startLineNumber - this.startLineNumber, i = e.endLineNumber - this.startLineNumber; if (i < 0) { const e = i - t; return void (this.startLineNumber -= e); } const n = this.tokens.getMaxDeltaLine(); if (!(t >= n + 1)) { if (t < 0 && i >= n + 1) return (this.startLineNumber = 0), void this.tokens.clear(); if (t < 0) { const n = -t; (this.startLineNumber -= n), this.tokens.acceptDeleteRange( e.startColumn - 1, 0, 0, i, e.endColumn - 1 ); } else this.tokens.acceptDeleteRange( 0, t, e.startColumn - 1, i, e.endColumn - 1 ); } } _acceptInsertText(e, t, i, n, r) { if (0 === t && 0 === i) return; const s = e.lineNumber - this.startLineNumber; s < 0 ? (this.startLineNumber += t) : s >= this.tokens.getMaxDeltaLine() + 1 || this.tokens.acceptInsertText(s, e.column - 1, t, i, n, r); } } class p { constructor(e, t) { (this.startLineNumber = e), (this.tokens = t); } } function m(e) { return e instanceof Uint32Array ? e : new Uint32Array(e); } class _ { constructor() { (this._pieces = []), (this._isComplete = !1); } flush() { (this._pieces = []), (this._isComplete = !1); } set(e, t) { (this._pieces = e || []), (this._isComplete = t); } setPartial(e, t) { let i = e; if (t.length > 0) { const n = t[0].getRange(), r = t[t.length - 1].getRange(); if (!n || !r) return e; i = e.plusRange(n).plusRange(r); } let r = null; for (let e = 0, t = this._pieces.length; e < t; e++) { const n = this._pieces[e]; if (n.endLineNumber < i.startLineNumber) continue; if (n.startLineNumber > i.endLineNumber) { r = r || { index: e }; break; } if ((n.removeTokens(i), n.isEmpty())) { this._pieces.splice(e, 1), e--, t--; continue; } if (n.endLineNumber < i.startLineNumber) continue; if (n.startLineNumber > i.endLineNumber) { r = r || { index: e }; continue; } const [s, o] = n.split(i); s.isEmpty() ? (r = r || { index: e }) : o.isEmpty() || (this._pieces.splice(e, 1, s, o), e++, t++, (r = r || { index: e })); } return ( (r = r || { index: this._pieces.length }), t.length > 0 && (this._pieces = n.Zv(this._pieces, r.index, t)), i ); } isComplete() { return this._isComplete; } addSemanticTokens(e, t) { const i = this._pieces; if (0 === i.length) return t; const n = i[_._findFirstPieceWithLine(i, e)].getLineTokens(e); if (!n) return t; const s = t.getCount(), o = n.getCount(); let a = 0, l = [], c = 0, d = 0; const h = (e, t) => { e !== d && ((d = e), (l[c++] = e), (l[c++] = t)); }; for (let e = 0; e < o; e++) { const i = n.getStartCharacter(e), r = n.getEndCharacter(e), o = n.getMetadata(e), l = ((1 & o ? 2048 : 0) | (2 & o ? 4096 : 0) | (4 & o ? 8192 : 0) | (8 & o ? 8372224 : 0) | (16 & o ? 4286578688 : 0)) >>> 0, c = ~l >>> 0; for (; a < s && t.getEndOffset(a) <= i; ) h(t.getEndOffset(a), t.getMetadata(a)), a++; for ( a < s && t.getStartOffset(a) < i && h(i, t.getMetadata(a)); a < s && t.getEndOffset(a) < r; ) h(t.getEndOffset(a), (t.getMetadata(a) & c) | (o & l)), a++; if (a < s) h(r, (t.getMetadata(a) & c) | (o & l)), t.getEndOffset(a) === r && a++; else { const e = Math.min(Math.max(0, a - 1), s - 1); h(r, (t.getMetadata(e) & c) | (o & l)); } } for (; a < s; ) h(t.getEndOffset(a), t.getMetadata(a)), a++; return new r.A(new Uint32Array(l), t.getLineContent()); } static _findFirstPieceWithLine(e, t) { let i = 0, n = e.length - 1; for (; i < n; ) { let r = i + Math.floor((n - i) / 2); if (e[r].endLineNumber < t) i = r + 1; else { if (!(e[r].startLineNumber > t)) { for ( ; r > i && e[r - 1].startLineNumber <= t && t <= e[r - 1].endLineNumber; ) r--; return r; } n = r - 1; } } return i; } acceptEdit(e, t, i, n, r) { for (const s of this._pieces) s.acceptEdit(e, t, i, n, r); } } class b { constructor() { (this._lineTokens = []), (this._len = 0); } flush() { (this._lineTokens = []), (this._len = 0); } getTokens(e, t, i) { let n = null; if ( (t < this._len && (n = this._lineTokens[t]), null !== n && n !== d) ) return new r.A(m(n), i); let s = new Uint32Array(2); return (s[0] = i.length), (s[1] = c(e)), new r.A(s, i); } static _massageTokens(e, t, i) { const n = i ? m(i) : null; if (0 === t) { let t = !1; if ( (n && n.length > 1 && (t = a.NX.getLanguageId(n[1]) !== e), !t) ) return d; } if (!n || 0 === n.length) { const i = new Uint32Array(2); return (i[0] = t), (i[1] = c(e)), i.buffer; } return ( (n[n.length - 2] = t), 0 === n.byteOffset && n.byteLength === n.buffer.byteLength ? n.buffer : n ); } _ensureLine(e) { for (; e >= this._len; ) (this._lineTokens[this._len] = null), this._len++; } _deleteLines(e, t) { 0 !== t && (e + t > this._len && (t = this._len - e), this._lineTokens.splice(e, t), (this._len -= t)); } _insertLines(e, t) { if (0 === t) return; let i = []; for (let e = 0; e < t; e++) i[e] = null; (this._lineTokens = n.Zv(this._lineTokens, e, i)), (this._len += t); } setTokens(e, t, i, n, r) { const s = b._massageTokens(e, i, n); this._ensureLine(t); const o = this._lineTokens[t]; return (this._lineTokens[t] = s), !!r && !b._equals(o, s); } static _equals(e, t) { if (!e || !t) return !e && !t; const i = m(e), n = m(t); if (i.length !== n.length) return !1; for (let e = 0, t = i.length; e < t; e++) if (i[e] !== n[e]) return !1; return !0; } acceptEdit(e, t, i) { this._acceptDeleteRange(e), this._acceptInsertText( new s.L(e.startLineNumber, e.startColumn), t, i ); } _acceptDeleteRange(e) { const t = e.startLineNumber - 1; if (t >= this._len) return; if (e.startLineNumber === e.endLineNumber) { if (e.startColumn === e.endColumn) return; return void (this._lineTokens[t] = b._delete( this._lineTokens[t], e.startColumn - 1, e.endColumn - 1 )); } this._lineTokens[t] = b._deleteEnding( this._lineTokens[t], e.startColumn - 1 ); const i = e.endLineNumber - 1; let n = null; i < this._len && (n = b._deleteBeginning(this._lineTokens[i], e.endColumn - 1)), (this._lineTokens[t] = b._append(this._lineTokens[t], n)), this._deleteLines( e.startLineNumber, e.endLineNumber - e.startLineNumber ); } _acceptInsertText(e, t, i) { if (0 === t && 0 === i) return; const n = e.lineNumber - 1; n >= this._len || (0 !== t ? ((this._lineTokens[n] = b._deleteEnding( this._lineTokens[n], e.column - 1 )), (this._lineTokens[n] = b._insert( this._lineTokens[n], e.column - 1, i )), this._insertLines(e.lineNumber, t)) : (this._lineTokens[n] = b._insert( this._lineTokens[n], e.column - 1, i ))); } static _deleteBeginning(e, t) { return null === e || e === d ? e : b._delete(e, 0, t); } static _deleteEnding(e, t) { if (null === e || e === d) return e; const i = m(e), n = i[i.length - 2]; return b._delete(e, t, n); } static _delete(e, t, i) { if (null === e || e === d || t === i) return e; const n = m(e), s = n.length >>> 1; if (0 === t && n[n.length - 2] === i) return d; const o = r.A.findIndexInTokensArray(n, t), a = o > 0 ? n[(o - 1) << 1] : 0; if (i < n[o << 1]) { const r = i - t; for (let e = o; e < s; e++) n[e << 1] -= r; return e; } let l, c; a !== t ? ((n[o << 1] = t), (l = (o + 1) << 1), (c = t)) : ((l = o << 1), (c = a)); const h = i - t; for (let e = o + 1; e < s; e++) { const t = n[e << 1] - h; t > c && ((n[l++] = t), (n[l++] = n[1 + (e << 1)]), (c = t)); } if (l === n.length) return e; let u = new Uint32Array(l); return u.set(n.subarray(0, l), 0), u.buffer; } static _append(e, t) { if (t === d) return e; if (e === d) return t; if (null === e) return e; if (null === t) return null; const i = m(e), n = m(t), r = n.length >>> 1; let s = new Uint32Array(i.length + n.length); s.set(i, 0); let o = i.length; const a = i[i.length - 2]; for (let e = 0; e < r; e++) (s[o++] = n[e << 1] + a), (s[o++] = n[1 + (e << 1)]); return s.buffer; } static _insert(e, t, i) { if (null === e || e === d) return e; const n = m(e), s = n.length >>> 1; let o = r.A.findIndexInTokensArray(n, t); o > 0 && n[(o - 1) << 1] === t && o--; for (let e = o; e < s; e++) n[e << 1] += i; return e; } } }, 97461: (e, t, i) => { 'use strict'; i.d(t, { vu: () => n, Af: () => r, eq: () => s, t2: () => a }); const n = '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?', r = (function (e = '') { let t = '(-?\\d*\\.\\d\\w*)|([^'; for (const i of n) e.indexOf(i) >= 0 || (t += '\\' + i); return (t += '\\s]+)'), new RegExp(t, 'g'); })(); function s(e) { let t = r; if (e && e instanceof RegExp) if (e.global) t = e; else { let i = 'g'; e.ignoreCase && (i += 'i'), e.multiline && (i += 'm'), e.unicode && (i += 'u'), (t = new RegExp(e.source, i)); } return (t.lastIndex = 0), t; } const o = { maxLen: 1e3, windowSize: 15, timeBudget: 150 }; function a(e, t, i, n, r = o) { if (i.length > r.maxLen) { let s = e - r.maxLen / 2; return ( s < 0 ? ((n += e), (s = 0)) : (n += s), a(e, t, (i = i.substring(s, e + r.maxLen / 2)), n, r) ); } Date.now(); const s = e - 1 - n; let c = -1, d = null; for (let e = 1; ; e++) { Date.now(), r.timeBudget; const n = s - r.windowSize * e; t.lastIndex = Math.max(0, n); const o = l(t, i, s, c); if (!o && d) break; if (((d = o), n <= 0)) break; c = n; } if (d) { let e = { word: d[0], startColumn: n + 1 + d.index, endColumn: n + 1 + d.index + d[0].length, }; return (t.lastIndex = 0), e; } return null; } function l(e, t, i, n) { let r; for (; (r = e.exec(t)); ) { const t = r.index || 0; if (t <= i && e.lastIndex >= i) return r; if (n > 0 && t > n) return null; } return null; } }, 43775: (e, t, i) => { 'use strict'; i.d(t, { H9: () => P, He: () => R, OH: () => H, KZ: () => x, RN: () => I, Ct: () => T, Az: () => F, MY: () => v, vH: () => N, vN: () => B, K7: () => U, wT: () => z, vJ: () => D, AD: () => C, aC: () => V, xp: () => M, vI: () => O, rl: () => f, pM: () => Y, ln: () => W, jC: () => E, FL: () => S, G0: () => k, AC: () => j, nD: () => L, WW: () => b, uZ: () => y, NX: () => p, RW: () => $, tA: () => A, jr: () => _, Sy: () => m, vx: () => w, }); var n = i(70666), r = i(24314), s = i(4669), o = i(5976), a = i(14118), l = i(88721); function c(e, t, i, n) { if (Array.isArray(e)) { let r = 0; for (const s of e) { const e = c(s, t, i, n); if (10 === e) return e; e > r && (r = e); } return r; } if ('string' == typeof e) return n ? ('*' === e ? 5 : e === i ? 10 : 0) : 0; if (e) { const { language: r, pattern: s, scheme: o, hasAccessToAllModels: c, } = e; if (!n && !c) return 0; let d = 0; if (o) if (o === t.scheme) d = 10; else { if ('*' !== o) return 0; d = 5; } if (r) if (r === i) d = 10; else { if ('*' !== r) return 0; d = Math.max(d, 5); } if (s) { let e; if ( ((e = 'string' == typeof s ? s : Object.assign(Object.assign({}, s), { base: (0, l.Fv)(s.base), })), e !== t.fsPath && !(0, a.EQ)(e, t.fsPath)) ) return 0; d = 10; } return d; } return 0; } var d = i(51200); function h(e) { return ( 'string' != typeof e && (Array.isArray(e) ? e.every(h) : !!e.exclusive) ); } class u { constructor() { (this._clock = 0), (this._entries = []), (this._onDidChange = new s.Q5()); } get onDidChange() { return this._onDidChange.event; } register(e, t) { let i = { selector: e, provider: t, _score: -1, _time: this._clock++, }; return ( this._entries.push(i), (this._lastCandidate = void 0), this._onDidChange.fire(this._entries.length), (0, o.OF)(() => { if (i) { let e = this._entries.indexOf(i); e >= 0 && (this._entries.splice(e, 1), (this._lastCandidate = void 0), this._onDidChange.fire(this._entries.length), (i = void 0)); } }) ); } has(e) { return this.all(e).length > 0; } all(e) { if (!e) return []; this._updateScores(e); const t = []; for (let e of this._entries) e._score > 0 && t.push(e.provider); return t; } ordered(e) { const t = []; return this._orderedForEach(e, (e) => t.push(e.provider)), t; } orderedGroups(e) { const t = []; let i, n; return ( this._orderedForEach(e, (e) => { i && n === e._score ? i.push(e.provider) : ((n = e._score), (i = [e.provider]), t.push(i)); }), t ); } _orderedForEach(e, t) { if (e) { this._updateScores(e); for (const e of this._entries) e._score > 0 && t(e); } } _updateScores(e) { let t = { uri: e.uri.toString(), language: e.getLanguageIdentifier().language, }; if ( !this._lastCandidate || this._lastCandidate.language !== t.language || this._lastCandidate.uri !== t.uri ) { this._lastCandidate = t; for (let t of this._entries) if ( ((t._score = c( t.selector, e.uri, e.getLanguageIdentifier().language, (0, d.p)(e) )), h(t.selector) && t._score > 0) ) { for (let e of this._entries) e._score = 0; t._score = 1e3; break; } this._entries.sort(u._compareByScoreAndTime); } } static _compareByScoreAndTime(e, t) { return e._score < t._score ? 1 : e._score > t._score ? -1 : e._time < t._time ? 1 : e._time > t._time ? -1 : 0; } } var g = i(73046); class f { constructor(e, t) { (this.language = e), (this.id = t); } } class p { static getLanguageId(e) { return (255 & e) >>> 0; } static getTokenType(e) { return (1792 & e) >>> 8; } static getFontStyle(e) { return (14336 & e) >>> 11; } static getForeground(e) { return (8372224 & e) >>> 14; } static getBackground(e) { return (4286578688 & e) >>> 23; } static getClassNameFromMetadata(e) { let t = 'mtk' + this.getForeground(e), i = this.getFontStyle(e); return ( 1 & i && (t += ' mtki'), 2 & i && (t += ' mtkb'), 4 & i && (t += ' mtku'), t ); } static getInlineStyleFromMetadata(e, t) { const i = this.getForeground(e), n = this.getFontStyle(e); let r = `color: ${t[i]};`; return ( 1 & n && (r += 'font-style: italic;'), 2 & n && (r += 'font-weight: bold;'), 4 & n && (r += 'text-decoration: underline;'), r ); } } const m = (function () { let e = Object.create(null); return ( (e[0] = 'symbol-method'), (e[1] = 'symbol-function'), (e[2] = 'symbol-constructor'), (e[3] = 'symbol-field'), (e[4] = 'symbol-variable'), (e[5] = 'symbol-class'), (e[6] = 'symbol-struct'), (e[7] = 'symbol-interface'), (e[8] = 'symbol-module'), (e[9] = 'symbol-property'), (e[10] = 'symbol-event'), (e[11] = 'symbol-operator'), (e[12] = 'symbol-unit'), (e[13] = 'symbol-value'), (e[14] = 'symbol-constant'), (e[15] = 'symbol-enum'), (e[16] = 'symbol-enum-member'), (e[17] = 'symbol-keyword'), (e[27] = 'symbol-snippet'), (e[18] = 'symbol-text'), (e[19] = 'symbol-color'), (e[20] = 'symbol-file'), (e[21] = 'symbol-reference'), (e[22] = 'symbol-customcolor'), (e[23] = 'symbol-folder'), (e[24] = 'symbol-type-parameter'), (e[25] = 'account'), (e[26] = 'issues'), function (t) { const i = e[t]; let n = i && g.fK.get(i); return ( n || (console.info('No codicon found for CompletionItemKind ' + t), (n = g.lA.symbolProperty)), n.classNames ); } ); })(); let _ = (function () { let e = Object.create(null); return ( (e.method = 0), (e.function = 1), (e.constructor = 2), (e.field = 3), (e.variable = 4), (e.class = 5), (e.struct = 6), (e.interface = 7), (e.module = 8), (e.property = 9), (e.event = 10), (e.operator = 11), (e.unit = 12), (e.value = 13), (e.constant = 14), (e.enum = 15), (e['enum-member'] = 16), (e.enumMember = 16), (e.keyword = 17), (e.snippet = 27), (e.text = 18), (e.color = 19), (e.file = 20), (e.reference = 21), (e.customcolor = 22), (e.folder = 23), (e['type-parameter'] = 24), (e.typeParameter = 24), (e.account = 25), (e.issue = 26), function (t, i) { let n = e[t]; return void 0 !== n || i || (n = 9), n; } ); })(); var b, v, y; function w(e) { return ( e && n.o.isUri(e.uri) && r.e.isIRange(e.range) && (r.e.isIRange(e.originSelectionRange) || r.e.isIRange(e.targetSelectionRange)) ); } !(function (e) { (e[(e.Invoke = 1)] = 'Invoke'), (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), (e[(e.ContentChange = 3)] = 'ContentChange'); })(b || (b = {})), (function (e) { (e[(e.Text = 0)] = 'Text'), (e[(e.Read = 1)] = 'Read'), (e[(e.Write = 2)] = 'Write'); })(v || (v = {})), (function (e) { const t = new Map(); t.set('file', 0), t.set('module', 1), t.set('namespace', 2), t.set('package', 3), t.set('class', 4), t.set('method', 5), t.set('property', 6), t.set('field', 7), t.set('constructor', 8), t.set('enum', 9), t.set('interface', 10), t.set('function', 11), t.set('variable', 12), t.set('constant', 13), t.set('string', 14), t.set('number', 15), t.set('boolean', 16), t.set('array', 17), t.set('object', 18), t.set('key', 19), t.set('null', 20), t.set('enum-member', 21), t.set('struct', 22), t.set('event', 23), t.set('operator', 24), t.set('type-parameter', 25); const i = new Map(); i.set(0, 'file'), i.set(1, 'module'), i.set(2, 'namespace'), i.set(3, 'package'), i.set(4, 'class'), i.set(5, 'method'), i.set(6, 'property'), i.set(7, 'field'), i.set(8, 'constructor'), i.set(9, 'enum'), i.set(10, 'interface'), i.set(11, 'function'), i.set(12, 'variable'), i.set(13, 'constant'), i.set(14, 'string'), i.set(15, 'number'), i.set(16, 'boolean'), i.set(17, 'array'), i.set(18, 'object'), i.set(19, 'key'), i.set(20, 'null'), i.set(21, 'enum-member'), i.set(22, 'struct'), i.set(23, 'event'), i.set(24, 'operator'), i.set(25, 'type-parameter'), (e.fromString = function (e) { return t.get(e); }), (e.toString = function (e) { return i.get(e); }), (e.toCssClassName = function (e, t) { const n = i.get(e); let r = n && g.fK.get('symbol-' + n); return ( r || (console.info('No codicon found for SymbolKind ' + e), (r = g.lA.symbolProperty)), `${t ? 'inline' : 'block'} ${r.classNames}` ); }); })(y || (y = {})); class C { constructor(e) { this.value = e; } } (C.Comment = new C('comment')), (C.Imports = new C('imports')), (C.Region = new C('region')); const S = new u(), k = new u(), x = new u(), L = new u(), M = new u(), D = new u(), N = new u(), E = new u(), T = new u(), I = new u(), O = new u(), A = new u(), R = new u(), P = new u(), F = new u(), B = new u(), W = new u(), Y = new u(), H = new u(), j = new u(), V = new u(), z = new u(), U = new u(), $ = new (class { constructor() { (this._map = new Map()), (this._promises = new Map()), (this._onDidChange = new s.Q5()), (this.onDidChange = this._onDidChange.event), (this._colorMap = null); } fire(e) { this._onDidChange.fire({ changedLanguages: e, changedColorMap: !1, }); } register(e, t) { return ( this._map.set(e, t), this.fire([e]), (0, o.OF)(() => { this._map.get(e) === t && (this._map.delete(e), this.fire([e])); }) ); } registerPromise(e, t) { let i = null, n = !1; return ( this._promises.set( e, t.then((t) => { this._promises.delete(e), !n && t && (i = this.register(e, t)); }) ), (0, o.OF)(() => { (n = !0), i && i.dispose(); }) ); } getPromise(e) { const t = this.get(e); if (t) return Promise.resolve(t); const i = this._promises.get(e); return i ? i.then((t) => this.get(e)) : null; } get(e) { return this._map.get(e) || null; } setColorMap(e) { (this._colorMap = e), this._onDidChange.fire({ changedLanguages: Array.from(this._map.keys()), changedColorMap: !0, }); } getColorMap() { return this._colorMap; } getDefaultBackground() { return this._colorMap && this._colorMap.length > 2 ? this._colorMap[2] : null; } })(); }, 97354: (e, t, i) => { 'use strict'; var n; i.d(t, { w: () => n, V: () => r }), (function (e) { (e[(e.None = 0)] = 'None'), (e[(e.Indent = 1)] = 'Indent'), (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), (e[(e.Outdent = 3)] = 'Outdent'); })(n || (n = {})); class r { constructor(e) { if ( ((this.open = e.open), (this.close = e.close), (this._standardTokenMask = 0), Array.isArray(e.notIn)) ) for (let t = 0, i = e.notIn.length; t < i; t++) switch (e.notIn[t]) { case 'string': this._standardTokenMask |= 2; break; case 'comment': this._standardTokenMask |= 1; break; case 'regex': this._standardTokenMask |= 4; } } isOK(e) { return 0 == (this._standardTokenMask & e); } } }, 83831: (e, t, i) => { 'use strict'; i.d(t, { zu: () => _ }); var n = i(4669), r = i(5976), s = i(97295), o = i(97461), a = i(97354), l = i(40764); class c { constructor(e) { if ( (e.autoClosingPairs ? (this._autoClosingPairs = e.autoClosingPairs.map( (e) => new a.V(e) )) : e.brackets ? (this._autoClosingPairs = e.brackets.map( (e) => new a.V({ open: e[0], close: e[1] }) )) : (this._autoClosingPairs = []), e.__electricCharacterSupport && e.__electricCharacterSupport.docComment) ) { const t = e.__electricCharacterSupport.docComment; this._autoClosingPairs.push( new a.V({ open: t.open, close: t.close || '' }) ); } (this._autoCloseBefore = 'string' == typeof e.autoCloseBefore ? e.autoCloseBefore : c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED), (this._surroundingPairs = e.surroundingPairs || this._autoClosingPairs); } getAutoClosingPairs() { return this._autoClosingPairs; } getAutoCloseBeforeSet() { return this._autoCloseBefore; } static shouldAutoClosePair(e, t, i) { if (0 === t.getTokenCount()) return !0; const n = t.findTokenIndexAtOffset(i - 2), r = t.getStandardTokenType(n); return e.isOK(r); } getSurroundingPairs() { return this._surroundingPairs; } } c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED = ';:.,=}])> \n\t'; var d = i(34227); class h { constructor(e) { this._richEditBrackets = e; } getElectricCharacters() { let e = []; if (this._richEditBrackets) for (const t of this._richEditBrackets.brackets) for (const i of t.close) { const t = i.charAt(i.length - 1); e.push(t); } return (e = e.filter((e, t, i) => i.indexOf(e) === t)), e; } onElectricCharacter(e, t, i) { if ( !this._richEditBrackets || 0 === this._richEditBrackets.brackets.length ) return null; const n = t.findTokenIndexAtOffset(i - 1); if ((0, l.Bu)(t.getStandardTokenType(n))) return null; const r = this._richEditBrackets.reversedRegex, s = t.getLineContent().substring(0, i - 1) + e, o = d.Vr.findPrevBracketInRange(r, 1, s, 0, s.length); if (!o) return null; const a = s .substring(o.startColumn - 1, o.endColumn - 1) .toLowerCase(); if (this._richEditBrackets.textIsOpenBracket[a]) return null; const c = t.getActualLineContentBefore(o.startColumn - 1); return /^\s*$/.test(c) ? { matchOpenBracket: a } : null; } } class u { constructor(e) { this._indentationRules = e; } shouldIncrease(e) { return !!( this._indentationRules && this._indentationRules.increaseIndentPattern && this._indentationRules.increaseIndentPattern.test(e) ); } shouldDecrease(e) { return !!( this._indentationRules && this._indentationRules.decreaseIndentPattern && this._indentationRules.decreaseIndentPattern.test(e) ); } shouldIndentNextLine(e) { return !!( this._indentationRules && this._indentationRules.indentNextLinePattern && this._indentationRules.indentNextLinePattern.test(e) ); } shouldIgnore(e) { return !!( this._indentationRules && this._indentationRules.unIndentedLinePattern && this._indentationRules.unIndentedLinePattern.test(e) ); } getIndentMetadata(e) { let t = 0; return ( this.shouldIncrease(e) && (t += 1), this.shouldDecrease(e) && (t += 2), this.shouldIndentNextLine(e) && (t += 4), this.shouldIgnore(e) && (t += 8), t ); } } var g = i(17301); class f { constructor(e) { ((e = e || {}).brackets = e.brackets || [ ['(', ')'], ['{', '}'], ['[', ']'], ]), (this._brackets = []), e.brackets.forEach((e) => { const t = f._createOpenBracketRegExp(e[0]), i = f._createCloseBracketRegExp(e[1]); t && i && this._brackets.push({ open: e[0], openRegExp: t, close: e[1], closeRegExp: i, }); }), (this._regExpRules = e.onEnterRules || []); } onEnter(e, t, i, n) { if (e >= 3) for (let e = 0, r = this._regExpRules.length; e < r; e++) { let r = this._regExpRules[e]; if ( [ { reg: r.beforeText, text: i }, { reg: r.afterText, text: n }, { reg: r.oneLineAboveText, text: t }, ].every((e) => !e.reg || e.reg.test(e.text)) ) return r.action; } if (e >= 2 && i.length > 0 && n.length > 0) for (let e = 0, t = this._brackets.length; e < t; e++) { let t = this._brackets[e]; if (t.openRegExp.test(i) && t.closeRegExp.test(n)) return { indentAction: a.w.IndentOutdent }; } if (e >= 2 && i.length > 0) for (let e = 0, t = this._brackets.length; e < t; e++) if (this._brackets[e].openRegExp.test(i)) return { indentAction: a.w.Indent }; return null; } static _createOpenBracketRegExp(e) { let t = s.ec(e); return ( /\B/.test(t.charAt(0)) || (t = '\\b' + t), (t += '\\s*$'), f._safeRegExp(t) ); } static _createCloseBracketRegExp(e) { let t = s.ec(e); return ( /\B/.test(t.charAt(t.length - 1)) || (t += '\\b'), (t = '^\\s*' + t), f._safeRegExp(t) ); } static _safeRegExp(e) { try { return new RegExp(e); } catch (e) { return (0, g.dL)(e), null; } } } class p { constructor(e, t, i) { (this._languageIdentifier = e), (this._brackets = null), (this._electricCharacter = null); let n = null; t && (n = t._conf), (this._conf = p._mergeConf(n, i)), (this._onEnterSupport = this._conf.brackets || this._conf.indentationRules || this._conf.onEnterRules ? new f(this._conf) : null), (this.comments = p._handleComments(this._conf)), (this.characterPair = new c(this._conf)), (this.wordDefinition = this._conf.wordPattern || o.Af), (this.indentationRules = this._conf.indentationRules), this._conf.indentationRules ? (this.indentRulesSupport = new u(this._conf.indentationRules)) : (this.indentRulesSupport = null), (this.foldingRules = this._conf.folding || {}); } get brackets() { return ( !this._brackets && this._conf.brackets && (this._brackets = new d.EA( this._languageIdentifier, this._conf.brackets )), this._brackets ); } get electricCharacter() { return ( this._electricCharacter || (this._electricCharacter = new h(this.brackets)), this._electricCharacter ); } onEnter(e, t, i, n) { return this._onEnterSupport ? this._onEnterSupport.onEnter(e, t, i, n) : null; } static _mergeConf(e, t) { return { comments: e ? t.comments || e.comments : t.comments, brackets: e ? t.brackets || e.brackets : t.brackets, wordPattern: e ? t.wordPattern || e.wordPattern : t.wordPattern, indentationRules: e ? t.indentationRules || e.indentationRules : t.indentationRules, onEnterRules: e ? t.onEnterRules || e.onEnterRules : t.onEnterRules, autoClosingPairs: e ? t.autoClosingPairs || e.autoClosingPairs : t.autoClosingPairs, surroundingPairs: e ? t.surroundingPairs || e.surroundingPairs : t.surroundingPairs, autoCloseBefore: e ? t.autoCloseBefore || e.autoCloseBefore : t.autoCloseBefore, folding: e ? t.folding || e.folding : t.folding, __electricCharacterSupport: e ? t.__electricCharacterSupport || e.__electricCharacterSupport : t.__electricCharacterSupport, }; } static _handleComments(e) { let t = e.comments; if (!t) return null; let i = {}; if ( (t.lineComment && (i.lineCommentToken = t.lineComment), t.blockComment) ) { let [e, n] = t.blockComment; (i.blockCommentStartToken = e), (i.blockCommentEndToken = n); } return i; } } class m { constructor(e) { this.languageIdentifier = e; } } const _ = new (class { constructor() { (this._entries = new Map()), (this._onDidChange = new n.Q5()), (this.onDidChange = this._onDidChange.event); } register(e, t) { let i = this._getRichEditSupport(e.id), n = new p(e, i, t); return ( this._entries.set(e.id, n), this._onDidChange.fire(new m(e)), (0, r.OF)(() => { this._entries.get(e.id) === n && (this._entries.set(e.id, i), this._onDidChange.fire(new m(e))); }) ); } _getRichEditSupport(e) { return this._entries.get(e); } getIndentationRules(e) { const t = this._entries.get(e); return (t && t.indentationRules) || null; } _getElectricCharacterSupport(e) { let t = this._getRichEditSupport(e); return (t && t.electricCharacter) || null; } getElectricCharacters(e) { let t = this._getElectricCharacterSupport(e); return t ? t.getElectricCharacters() : []; } onElectricCharacter(e, t, i) { let n = (0, l.wH)(t, i - 1), r = this._getElectricCharacterSupport(n.languageId); return r ? r.onElectricCharacter(e, n, i - n.firstCharOffset) : null; } getComments(e) { let t = this._getRichEditSupport(e); return (t && t.comments) || null; } _getCharacterPairSupport(e) { let t = this._getRichEditSupport(e); return (t && t.characterPair) || null; } getAutoClosingPairs(e) { let t = this._getCharacterPairSupport(e); return t ? t.getAutoClosingPairs() : []; } getAutoCloseBeforeSet(e) { let t = this._getCharacterPairSupport(e); return t ? t.getAutoCloseBeforeSet() : c.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED; } getSurroundingPairs(e) { let t = this._getCharacterPairSupport(e); return t ? t.getSurroundingPairs() : []; } shouldAutoClosePair(e, t, i) { const n = (0, l.wH)(t, i - 1); return c.shouldAutoClosePair(e, n, i - n.firstCharOffset); } getWordDefinition(e) { let t = this._getRichEditSupport(e); return t ? (0, o.eq)(t.wordDefinition || null) : (0, o.eq)(null); } getFoldingRules(e) { let t = this._getRichEditSupport(e); return t ? t.foldingRules : {}; } getIndentRulesSupport(e) { let t = this._getRichEditSupport(e); return (t && t.indentRulesSupport) || null; } getPrecedingValidLine(e, t, i) { let n = e.getLanguageIdAtPosition(t, 0); if (t > 1) { let r, s = -1; for (r = t - 1; r >= 1; r--) { if (e.getLanguageIdAtPosition(r, 0) !== n) return s; let t = e.getLineContent(r); if (!i.shouldIgnore(t) && !/^\s+$/.test(t) && '' !== t) return r; s = r; } } return -1; } getInheritIndentForLine(e, t, i, n = !0) { if (e < 4) return null; const r = this.getIndentRulesSupport(t.getLanguageIdentifier().id); if (!r) return null; if (i <= 1) return { indentation: '', action: null }; const o = this.getPrecedingValidLine(t, i, r); if (o < 0) return null; if (o < 1) return { indentation: '', action: null }; const l = t.getLineContent(o); if (r.shouldIncrease(l) || r.shouldIndentNextLine(l)) return { indentation: s.V8(l), action: a.w.Indent, line: o }; if (r.shouldDecrease(l)) return { indentation: s.V8(l), action: null, line: o }; { if (1 === o) return { indentation: s.V8(t.getLineContent(o)), action: null, line: o, }; const e = o - 1, i = r.getIndentMetadata(t.getLineContent(e)); if (!(3 & i) && 4 & i) { let i = 0; for (let n = e - 1; n > 0; n--) if (!r.shouldIndentNextLine(t.getLineContent(n))) { i = n; break; } return { indentation: s.V8(t.getLineContent(i + 1)), action: null, line: i + 1, }; } if (n) return { indentation: s.V8(t.getLineContent(o)), action: null, line: o, }; for (let e = o; e > 0; e--) { const i = t.getLineContent(e); if (r.shouldIncrease(i)) return { indentation: s.V8(i), action: a.w.Indent, line: e }; if (r.shouldIndentNextLine(i)) { let i = 0; for (let n = e - 1; n > 0; n--) if (!r.shouldIndentNextLine(t.getLineContent(e))) { i = n; break; } return { indentation: s.V8(t.getLineContent(i + 1)), action: null, line: i + 1, }; } if (r.shouldDecrease(i)) return { indentation: s.V8(i), action: null, line: e }; } return { indentation: s.V8(t.getLineContent(1)), action: null, line: 1, }; } } getGoodIndentForLine(e, t, i, n, r) { if (e < 4) return null; const o = this._getRichEditSupport(i); if (!o) return null; const l = this.getIndentRulesSupport(i); if (!l) return null; const c = this.getInheritIndentForLine(e, t, n), d = t.getLineContent(n); if (c) { const i = c.line; if (void 0 !== i) { const n = o.onEnter(e, '', t.getLineContent(i), ''); if (n) { let e = s.V8(t.getLineContent(i)); return ( n.removeText && (e = e.substring(0, e.length - n.removeText)), n.indentAction === a.w.Indent || n.indentAction === a.w.IndentOutdent ? (e = r.shiftIndent(e)) : n.indentAction === a.w.Outdent && (e = r.unshiftIndent(e)), l.shouldDecrease(d) && (e = r.unshiftIndent(e)), n.appendText && (e += n.appendText), s.V8(e) ); } } return l.shouldDecrease(d) ? c.action === a.w.Indent ? c.indentation : r.unshiftIndent(c.indentation) : c.action === a.w.Indent ? r.shiftIndent(c.indentation) : c.indentation; } return null; } getIndentForEnter(e, t, i, n) { if (e < 4) return null; t.forceTokenization(i.startLineNumber); const r = t.getLineTokens(i.startLineNumber), o = (0, l.wH)(r, i.startColumn - 1), c = o.getLineContent(); let d, h, u = !1; o.firstCharOffset > 0 && r.getLanguageId(0) !== o.languageId ? ((u = !0), (d = c.substr(0, i.startColumn - 1 - o.firstCharOffset))) : (d = r.getLineContent().substring(0, i.startColumn - 1)), (h = i.isEmpty() ? c.substr(i.startColumn - 1 - o.firstCharOffset) : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) .getLineContent() .substr(i.endColumn - 1 - o.firstCharOffset)); const g = this.getIndentRulesSupport(o.languageId); if (!g) return null; const f = d, p = s.V8(d), m = { getLineTokens: (e) => t.getLineTokens(e), getLanguageIdentifier: () => t.getLanguageIdentifier(), getLanguageIdAtPosition: (e, i) => t.getLanguageIdAtPosition(e, i), getLineContent: (e) => e === i.startLineNumber ? f : t.getLineContent(e), }, _ = s.V8(r.getLineContent()), b = this.getInheritIndentForLine(e, m, i.startLineNumber + 1); if (!b) { const e = u ? _ : p; return { beforeEnter: e, afterEnter: e }; } let v = u ? _ : b.indentation; return ( b.action === a.w.Indent && (v = n.shiftIndent(v)), g.shouldDecrease(h) && (v = n.unshiftIndent(v)), { beforeEnter: u ? _ : p, afterEnter: v } ); } getIndentActionForType(e, t, i, n, r) { if (e < 4) return null; const s = this.getScopedLineTokens( t, i.startLineNumber, i.startColumn ), o = this.getIndentRulesSupport(s.languageId); if (!o) return null; const l = s.getLineContent(), c = l.substr(0, i.startColumn - 1 - s.firstCharOffset); let d; if ( ((d = i.isEmpty() ? l.substr(i.startColumn - 1 - s.firstCharOffset) : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) .getLineContent() .substr(i.endColumn - 1 - s.firstCharOffset)), !o.shouldDecrease(c + d) && o.shouldDecrease(c + n + d)) ) { const n = this.getInheritIndentForLine( e, t, i.startLineNumber, !1 ); if (!n) return null; let s = n.indentation; return n.action !== a.w.Indent && (s = r.unshiftIndent(s)), s; } return null; } getIndentMetadata(e, t) { const i = this.getIndentRulesSupport(e.getLanguageIdentifier().id); return i ? t < 1 || t > e.getLineCount() ? null : i.getIndentMetadata(e.getLineContent(t)) : null; } getEnterAction(e, t, i) { const n = this.getScopedLineTokens( t, i.startLineNumber, i.startColumn ), r = this._getRichEditSupport(n.languageId); if (!r) return null; const s = n.getLineContent(), o = s.substr(0, i.startColumn - 1 - n.firstCharOffset); let l; l = i.isEmpty() ? s.substr(i.startColumn - 1 - n.firstCharOffset) : this.getScopedLineTokens(t, i.endLineNumber, i.endColumn) .getLineContent() .substr(i.endColumn - 1 - n.firstCharOffset); let c = ''; if (i.startLineNumber > 1 && 0 === n.firstCharOffset) { const e = this.getScopedLineTokens(t, i.startLineNumber - 1); e.languageId === n.languageId && (c = e.getLineContent()); } const d = r.onEnter(e, c, o, l); if (!d) return null; const h = d.indentAction; let u = d.appendText; const g = d.removeText || 0; u || (u = h === a.w.Indent || h === a.w.IndentOutdent ? '\t' : ''); let f = this.getIndentationAtPosition( t, i.startLineNumber, i.startColumn ); return ( g && (f = f.substring(0, f.length - g)), { indentAction: h, appendText: u, removeText: g, indentation: f } ); } getIndentationAtPosition(e, t, i) { const n = e.getLineContent(t); let r = s.V8(n); return r.length > i - 1 && (r = r.substring(0, i - 1)), r; } getScopedLineTokens(e, t, i) { e.forceTokenization(t); const n = e.getLineTokens(t), r = void 0 === i ? e.getLineMaxColumn(t) - 1 : i - 1; return (0, l.wH)(n, r); } getBracketsSupport(e) { const t = this._getRichEditSupport(e); return (t && t.brackets) || null; } })(); }, 71144: (e, t, i) => { 'use strict'; i.d(t, { dQ: () => l, XT: () => c, Tb: () => d }); var n = i(63580), r = i(4669), s = i(43775), o = i(83831), a = i(89872); const l = new (class { constructor() { (this._onDidChangeLanguages = new r.Q5()), (this.onDidChangeLanguages = this._onDidChangeLanguages.event), (this._languages = []), (this._dynamicLanguages = []); } registerLanguage(e) { return ( this._languages.push(e), this._onDidChangeLanguages.fire(void 0), { dispose: () => { for (let t = 0, i = this._languages.length; t < i; t++) if (this._languages[t] === e) return void this._languages.splice(t, 1); }, } ); } getLanguages() { return [].concat(this._languages).concat(this._dynamicLanguages); } })(); a.B.add('editor.modesRegistry', l); const c = 'plaintext', d = new s.rl(c, 1); l.registerLanguage({ id: c, extensions: ['.txt'], aliases: [n.N('plainText.alias', 'Plain Text'), 'text'], mimetypes: ['text/plain'], }), o.zu.register(d, { brackets: [ ['(', ')'], ['[', ']'], ['{', '}'], ], surroundingPairs: [ { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, { open: '<', close: '>' }, { open: '"', close: '"' }, { open: "'", close: "'" }, { open: '`', close: '`' }, ], folding: { offSide: !0 }, }); }, 28111: (e, t, i) => { 'use strict'; i.d(t, { nO: () => s, TG: () => o, pA: () => a, Ri: () => l, mh: () => c, }); var n = i(85600), r = i(43775); const s = new (class { clone() { return this; } equals(e) { return this === e; } })(), o = 'vs.editor.nullMode', a = new r.rl(o, 0); function l(e, t, i, r) { return new n.hG([new n.WU(r, '', e)], i); } function c(e, t, i, r) { let o = new Uint32Array(2); return ( (o[0] = r), (o[1] = (16384 | (e << 0) | (2 << 23)) >>> 0), new n.Hi(o, null === i ? s : i) ); } }, 40764: (e, t, i) => { 'use strict'; function n(e, t) { let i = e.getCount(), n = e.findTokenIndexAtOffset(t), s = e.getLanguageId(n), o = n; for (; o + 1 < i && e.getLanguageId(o + 1) === s; ) o++; let a = n; for (; a > 0 && e.getLanguageId(a - 1) === s; ) a--; return new r(e, s, a, o + 1, e.getStartOffset(a), e.getEndOffset(o)); } i.d(t, { wH: () => n, Bu: () => s }); class r { constructor(e, t, i, n, r, s) { (this._actual = e), (this.languageId = t), (this._firstTokenIndex = i), (this._lastTokenIndex = n), (this.firstCharOffset = r), (this._lastCharOffset = s); } getLineContent() { return this._actual .getLineContent() .substring(this.firstCharOffset, this._lastCharOffset); } getActualLineContentBefore(e) { return this._actual .getLineContent() .substring(0, this.firstCharOffset + e); } getTokenCount() { return this._lastTokenIndex - this._firstTokenIndex; } findTokenIndexAtOffset(e) { return ( this._actual.findTokenIndexAtOffset(e + this.firstCharOffset) - this._firstTokenIndex ); } getStandardTokenType(e) { return this._actual.getStandardTokenType(e + this._firstTokenIndex); } } function s(e) { return 0 != (7 & e); } }, 34227: (e, t, i) => { 'use strict'; i.d(t, { EA: () => a, Vr: () => f }); var n = i(97295), r = i(50072), s = i(24314); class o { constructor(e, t, i, n, r, s) { (this.languageIdentifier = e), (this.index = t), (this.open = i), (this.close = n), (this.forwardRegex = r), (this.reversedRegex = s), (this._openSet = o._toSet(this.open)), (this._closeSet = o._toSet(this.close)); } isOpen(e) { return this._openSet.has(e); } isClose(e) { return this._closeSet.has(e); } static _toSet(e) { const t = new Set(); for (const i of e) t.add(i); return t; } } class a { constructor(e, t) { const i = (function (e) { const t = e.length; e = e.map((e) => [e[0].toLowerCase(), e[1].toLowerCase()]); const i = []; for (let e = 0; e < t; e++) i[e] = e; const n = (e, t) => { const [i, n] = e, [r, s] = t; return i === r || i === s || n === r || n === s; }, r = (e, n) => { const r = Math.min(e, n), s = Math.max(e, n); for (let e = 0; e < t; e++) i[e] === s && (i[e] = r); }; for (let s = 0; s < t; s++) { const o = e[s]; for (let a = s + 1; a < t; a++) n(o, e[a]) && r(i[s], i[a]); } const s = []; for (let n = 0; n < t; n++) { let r = [], o = []; for (let s = 0; s < t; s++) if (i[s] === n) { const [t, i] = e[s]; r.push(t), o.push(i); } r.length > 0 && s.push({ open: r, close: o }); } return s; })(t); (this.brackets = i.map( (t, n) => new o( e, n, t.open, t.close, (function (e, t, i, n) { let r = []; (r = r.concat(e)), (r = r.concat(t)); for (let e = 0, t = r.length; e < t; e++) l(r[e], i, n, r); return (r = d(r)), r.sort(c), r.reverse(), u(r); })(t.open, t.close, i, n), (function (e, t, i, n) { let r = []; (r = r.concat(e)), (r = r.concat(t)); for (let e = 0, t = r.length; e < t; e++) l(r[e], i, n, r); return (r = d(r)), r.sort(c), r.reverse(), u(r.map(g)); })(t.open, t.close, i, n) ) )), (this.forwardRegex = (function (e) { let t = []; for (const i of e) { for (const e of i.open) t.push(e); for (const e of i.close) t.push(e); } return (t = d(t)), u(t); })(this.brackets)), (this.reversedRegex = (function (e) { let t = []; for (const i of e) { for (const e of i.open) t.push(e); for (const e of i.close) t.push(e); } return (t = d(t)), u(t.map(g)); })(this.brackets)), (this.textIsBracket = {}), (this.textIsOpenBracket = {}), (this.maxBracketLength = 0); for (const e of this.brackets) { for (const t of e.open) (this.textIsBracket[t] = e), (this.textIsOpenBracket[t] = !0), (this.maxBracketLength = Math.max( this.maxBracketLength, t.length )); for (const t of e.close) (this.textIsBracket[t] = e), (this.textIsOpenBracket[t] = !1), (this.maxBracketLength = Math.max( this.maxBracketLength, t.length )); } } } function l(e, t, i, n) { for (let r = 0, s = t.length; r < s; r++) { if (r === i) continue; const s = t[r]; for (const t of s.open) t.indexOf(e) >= 0 && n.push(t); for (const t of s.close) t.indexOf(e) >= 0 && n.push(t); } } function c(e, t) { return e.length - t.length; } function d(e) { if (e.length <= 1) return e; const t = [], i = new Set(); for (const n of e) i.has(n) || (t.push(n), i.add(n)); return t; } function h(e) { const t = /^[\w ]+$/.test(e); return (e = n.ec(e)), t ? `\\b${e}\\b` : e; } function u(e) { let t = `(${e.map(h).join(')|(')})`; return n.GF(t, !0); } const g = (function () { let e = null, t = null; return function (i) { return ( e !== i && ((e = i), (t = (function (e) { if (r.lZ) { const t = new Uint16Array(e.length); let i = 0; for (let n = e.length - 1; n >= 0; n--) t[i++] = e.charCodeAt(n); return r.oe().decode(t); } { let t = [], i = 0; for (let n = e.length - 1; n >= 0; n--) t[i++] = e.charAt(n); return t.join(''); } })(e))), t ); }; })(); class f { static _findPrevBracketInText(e, t, i, n) { let r = i.match(e); if (!r) return null; let o = i.length - (r.index || 0), a = r[0].length, l = n + o; return new s.e(t, l - a + 1, t, l + 1); } static findPrevBracketInRange(e, t, i, n, r) { const s = g(i).substring(i.length - r, i.length - n); return this._findPrevBracketInText(e, t, s, n); } static findNextBracketInText(e, t, i, n) { let r = i.match(e); if (!r) return null; let o = r.index || 0, a = r[0].length; if (0 === a) return null; let l = n + o; return new s.e(t, l + 1, t, l + 1 + a); } static findNextBracketInRange(e, t, i, n, r) { const s = i.substring(n, r); return this.findNextBracketInText(e, t, s, n); } } }, 55713: (e, t, i) => { 'use strict'; i.d(t, { C: () => a, F: () => l }); var n = i(97295), r = i(78411), s = i(28111); const o = { getInitialState: () => s.nO, tokenize2: (e, t, i) => (0, s.mh)(0, e, t, i), }; function a(e, t = o) { return (function (e, t) { let i = '
    ', s = e.split(/\r\n|\r|\n/), o = t.getInitialState(); for (let e = 0, a = s.length; e < a; e++) { let a = s[e]; e > 0 && (i += '
    '); let l = t.tokenize2(a, o, 0); r.A.convertToEndOffset(l.tokens, a.length); let c = new r.A(l.tokens, a).inflate(), d = 0; for (let e = 0, t = c.getCount(); e < t; e++) { const t = c.getClassName(e), r = c.getEndOffset(e); (i += `${n.YU(a.substring(d, r))}`), (d = r); } o = l.endState; } return (i += '
    '), i; })(e, t || o); } function l(e, t, i, n, r, s, o) { let a = '
    ', l = n, c = 0; for (let d = 0, h = t.getCount(); d < h; d++) { const h = t.getEndOffset(d); if (h <= n) continue; let u = ''; for (; l < h && l < r; l++) { const t = e.charCodeAt(l); switch (t) { case 9: let e = s - ((l + c) % s); for (c += e - 1; e > 0; ) (u += o ? ' ' : ' '), e--; break; case 60: u += '<'; break; case 62: u += '>'; break; case 38: u += '&'; break; case 0: u += '�'; break; case 65279: case 8232: case 8233: case 133: u += '�'; break; case 13: u += '​'; break; case 32: u += o ? ' ' : ' '; break; default: u += String.fromCharCode(t); } } if ( ((a += `${u}`), h > r || l >= r) ) break; } return (a += '
    '), a; } }, 90469: (e, t, i) => { 'use strict'; i.d(t, { p: () => n }); const n = (0, i(72065).yh)('editorWorkerService'); }, 26479: (e, t, i) => { 'use strict'; i.d(t, { i: () => n }); const n = (0, i(72065).yh)('markerDecorationsService'); }, 71531: (e, t, i) => { 'use strict'; i.d(t, { h: () => n }); const n = (0, i(72065).yh)('modeService'); }, 51200: (e, t, i) => { 'use strict'; i.d(t, { q: () => n, p: () => r }); const n = (0, i(72065).yh)('modelService'); function r(e) { return !e.isTooLargeForSyncing() && !e.isForSimpleWidget; } }, 32334: (e, t, i) => { 'use strict'; i.d(t, { BR: () => x, e3: () => L, tw: () => M }); var n = i(4669), r = i(5976), s = i(1432), o = i(17301), a = i(64141), l = i(3411), c = i(43775), d = i(71144), h = i(33187), u = i(33108), g = i(15393), f = i(71050), p = i(97781), m = i(43557), _ = i(64862), b = i(89954), v = i(95215), y = i(65072), w = function (e, t) { return function (i, n) { t(i, n, e); }; }; function C(e) { return e.toString(); } class S { constructor(e, t, i) { (this._modelEventListeners = new r.SL()), (this.model = e), (this._languageSelection = null), (this._languageSelectionListener = null), this._modelEventListeners.add(e.onWillDispose(() => t(e))), this._modelEventListeners.add( e.onDidChangeLanguage((t) => i(e, t)) ); } _disposeLanguageSelection() { this._languageSelectionListener && (this._languageSelectionListener.dispose(), (this._languageSelectionListener = null)), this._languageSelection && (this._languageSelection.dispose(), (this._languageSelection = null)); } dispose() { this._modelEventListeners.dispose(), this._disposeLanguageSelection(); } setLanguage(e) { this._disposeLanguageSelection(), (this._languageSelection = e), (this._languageSelectionListener = this._languageSelection.onDidChange( () => this.model.setMode(e.languageIdentifier) )), this.model.setMode(e.languageIdentifier); } } const k = s.IJ || s.dz ? 1 : 2; let x = class e extends r.JT { constructor(e, t, i, r, s) { super(), (this._configurationService = e), (this._resourcePropertiesService = t), (this._themeService = i), (this._logService = r), (this._undoRedoService = s), (this._onModelAdded = this._register(new n.Q5())), (this.onModelAdded = this._onModelAdded.event), (this._onModelRemoved = this._register(new n.Q5())), (this.onModelRemoved = this._onModelRemoved.event), (this._onModelModeChanged = this._register(new n.Q5())), (this.onModelModeChanged = this._onModelModeChanged.event), (this._modelCreationOptionsByLanguageAndResource = Object.create( null )), (this._models = {}), (this._disposedModels = new Map()), (this._disposedModelsHeapSize = 0), (this._semanticStyling = this._register( new N(this._themeService, this._logService) )), this._register( this._configurationService.onDidChangeConfiguration(() => this._updateModelOptions() ) ), this._updateModelOptions(), this._register( new D( this, this._themeService, this._configurationService, this._semanticStyling ) ); } static _readModelOptions(e, t) { let i = a.DB.tabSize; if (e.editor && void 0 !== e.editor.tabSize) { const t = parseInt(e.editor.tabSize, 10); isNaN(t) || (i = t), i < 1 && (i = 1); } let n = i; if ( e.editor && void 0 !== e.editor.indentSize && 'tabSize' !== e.editor.indentSize ) { const t = parseInt(e.editor.indentSize, 10); isNaN(t) || (n = t), n < 1 && (n = 1); } let r = a.DB.insertSpaces; e.editor && void 0 !== e.editor.insertSpaces && (r = 'false' !== e.editor.insertSpaces && Boolean(e.editor.insertSpaces)); let s = k; const o = e.eol; '\r\n' === o ? (s = 2) : '\n' === o && (s = 1); let l = a.DB.trimAutoWhitespace; e.editor && void 0 !== e.editor.trimAutoWhitespace && (l = 'false' !== e.editor.trimAutoWhitespace && Boolean(e.editor.trimAutoWhitespace)); let c = a.DB.detectIndentation; e.editor && void 0 !== e.editor.detectIndentation && (c = 'false' !== e.editor.detectIndentation && Boolean(e.editor.detectIndentation)); let d = a.DB.largeFileOptimizations; return ( e.editor && void 0 !== e.editor.largeFileOptimizations && (d = 'false' !== e.editor.largeFileOptimizations && Boolean(e.editor.largeFileOptimizations)), { isForSimpleWidget: t, tabSize: i, indentSize: n, insertSpaces: r, detectIndentation: c, defaultEOL: s, trimAutoWhitespace: l, largeFileOptimizations: d, } ); } _getEOL(e, t) { if (e) return this._resourcePropertiesService.getEOL(e, t); const i = this._configurationService.getValue('files.eol', { overrideIdentifier: t, }); return i && 'auto' !== i ? i : 3 === s.OS || 2 === s.OS ? '\n' : '\r\n'; } getCreationOptions(t, i, n) { let r = this._modelCreationOptionsByLanguageAndResource[t + i]; if (!r) { const s = this._configurationService.getValue('editor', { overrideIdentifier: t, resource: i, }), o = this._getEOL(i, t); (r = e._readModelOptions({ editor: s, eol: o }, n)), (this._modelCreationOptionsByLanguageAndResource[t + i] = r); } return r; } _updateModelOptions() { const t = this._modelCreationOptionsByLanguageAndResource; this._modelCreationOptionsByLanguageAndResource = Object.create( null ); const i = Object.keys(this._models); for (let n = 0, r = i.length; n < r; n++) { const r = i[n], s = this._models[r], o = s.model.getLanguageIdentifier().language, a = s.model.uri, l = t[o + a], c = this.getCreationOptions(o, a, s.model.isForSimpleWidget); e._setModelOptionsForModel(s.model, c, l); } } static _setModelOptionsForModel(e, t, i) { i && i.defaultEOL !== t.defaultEOL && 1 === e.getLineCount() && e.setEOL(1 === t.defaultEOL ? 0 : 1), (i && i.detectIndentation === t.detectIndentation && i.insertSpaces === t.insertSpaces && i.tabSize === t.tabSize && i.indentSize === t.indentSize && i.trimAutoWhitespace === t.trimAutoWhitespace) || (t.detectIndentation ? (e.detectIndentation(t.insertSpaces, t.tabSize), e.updateOptions({ trimAutoWhitespace: t.trimAutoWhitespace, })) : e.updateOptions({ insertSpaces: t.insertSpaces, tabSize: t.tabSize, indentSize: t.indentSize, trimAutoWhitespace: t.trimAutoWhitespace, })); } _removeDisposedModel(e) { const t = this._disposedModels.get(C(e)); return ( t && (this._disposedModelsHeapSize -= t.heapSize), this._disposedModels.delete(C(e)), t ); } _createModelData(e, t, i, n) { const r = this.getCreationOptions(t.language, i, n), s = new l.yO(e, r, t, i, this._undoRedoService); if (i && this._disposedModels.has(C(i))) { const e = this._removeDisposedModel(i), t = this._undoRedoService.getElements(i), n = (function (e) { const t = new b.yP(), i = e.createSnapshot(); let n; for (; (n = i.read()); ) t.update(n); return t.digest(); })(s) === e.sha1; if (n || e.sharesUndoRedoStack) { for (const e of t.past) (0, v.e9)(e) && e.matchesResource(i) && e.setModel(s); for (const e of t.future) (0, v.e9)(e) && e.matchesResource(i) && e.setModel(s); this._undoRedoService.setElementsValidFlag( i, !0, (e) => (0, v.e9)(e) && e.matchesResource(i) ), n && (s._overwriteVersionId(e.versionId), s._overwriteAlternativeVersionId(e.alternativeVersionId), s._overwriteInitialUndoRedoSnapshot( e.initialUndoRedoSnapshot )); } else null !== e.initialUndoRedoSnapshot && this._undoRedoService.restoreSnapshot( e.initialUndoRedoSnapshot ); } const o = C(s.uri); if (this._models[o]) throw new Error( 'ModelService: Cannot add model because it already exists!' ); const a = new S( s, (e) => this._onWillDispose(e), (e, t) => this._onDidChangeLanguage(e, t) ); return (this._models[o] = a), a; } createModel(e, t, i, n = !1) { let r; return ( t ? ((r = this._createModelData(e, t.languageIdentifier, i, n)), this.setMode(r.model, t)) : (r = this._createModelData(e, d.Tb, i, n)), this._onModelAdded.fire(r.model), r.model ); } setMode(e, t) { if (!t) return; const i = this._models[C(e.uri)]; i && i.setLanguage(t); } getModels() { const e = [], t = Object.keys(this._models); for (let i = 0, n = t.length; i < n; i++) { const n = t[i]; e.push(this._models[n].model); } return e; } getModel(e) { const t = C(e), i = this._models[t]; return i ? i.model : null; } getSemanticTokensProviderStyling(e) { return this._semanticStyling.get(e); } _onWillDispose(e) { const t = C(e.uri), i = this._models[t]; delete this._models[t], i.dispose(), delete this._modelCreationOptionsByLanguageAndResource[ e.getLanguageIdentifier().language + e.uri ], this._onModelRemoved.fire(e); } _onDidChangeLanguage(t, i) { const n = i.oldLanguage, r = t.getLanguageIdentifier().language, s = this.getCreationOptions(n, t.uri, t.isForSimpleWidget), o = this.getCreationOptions(r, t.uri, t.isForSimpleWidget); e._setModelOptionsForModel(t, o, s), this._onModelModeChanged.fire({ model: t, oldModeId: n }); } }; x = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([w(0, u.Ui), w(1, h.y), w(2, p.XE), w(3, m.VZ), w(4, _.t)], x); const L = 'editor.semanticHighlighting'; function M(e, t, i) { var n; const r = null === (n = i.getValue(L, { overrideIdentifier: e.getLanguageIdentifier().language, resource: e.uri, })) || void 0 === n ? void 0 : n.enabled; return 'boolean' == typeof r ? r : t.getColorTheme().semanticHighlighting; } class D extends r.JT { constructor(e, t, i, n) { super(), (this._watchers = Object.create(null)), (this._semanticStyling = n); const r = (e) => { this._watchers[e.uri.toString()] = new T( e, t, this._semanticStyling ); }, s = (e, t) => { t.dispose(), delete this._watchers[e.uri.toString()]; }, o = () => { for (let n of e.getModels()) { const e = this._watchers[n.uri.toString()]; M(n, t, i) ? e || r(n) : e && s(n, e); } }; this._register( e.onModelAdded((e) => { M(e, t, i) && r(e); }) ), this._register( e.onModelRemoved((e) => { const t = this._watchers[e.uri.toString()]; t && s(e, t); }) ), this._register( i.onDidChangeConfiguration((e) => { e.affectsConfiguration(L) && o(); }) ), this._register(t.onDidColorThemeChange(o)); } } class N extends r.JT { constructor(e, t) { super(), (this._themeService = e), (this._logService = t), (this._caches = new WeakMap()), this._register( this._themeService.onDidColorThemeChange(() => { this._caches = new WeakMap(); }) ); } get(e) { return ( this._caches.has(e) || this._caches.set( e, new y.$(e.getLegend(), this._themeService, this._logService) ), this._caches.get(e) ); } } class E { constructor(e, t, i) { (this._provider = e), (this.resultId = t), (this.data = i); } dispose() { this._provider.releaseDocumentSemanticTokens(this.resultId); } } class T extends r.JT { constructor(e, t, i) { super(), (this._isDisposed = !1), (this._model = e), (this._semanticStyling = i), (this._fetchDocumentSemanticTokens = this._register( new g.pY(() => this._fetchDocumentSemanticTokensNow(), 300) )), (this._currentDocumentResponse = null), (this._currentDocumentRequestCancellationTokenSource = null), (this._documentProvidersChangeListeners = []), this._register( this._model.onDidChangeContent(() => { this._fetchDocumentSemanticTokens.isScheduled() || this._fetchDocumentSemanticTokens.schedule(); }) ); const n = () => { (0, r.B9)(this._documentProvidersChangeListeners), (this._documentProvidersChangeListeners = []); for (const t of c.wT.all(e)) 'function' == typeof t.onDidChange && this._documentProvidersChangeListeners.push( t.onDidChange(() => this._fetchDocumentSemanticTokens.schedule(0) ) ); }; n(), this._register( c.wT.onDidChange(() => { n(), this._fetchDocumentSemanticTokens.schedule(); }) ), this._register( t.onDidColorThemeChange((e) => { this._setDocumentSemanticTokens(null, null, null, []), this._fetchDocumentSemanticTokens.schedule(); }) ), this._fetchDocumentSemanticTokens.schedule(0); } dispose() { this._currentDocumentResponse && (this._currentDocumentResponse.dispose(), (this._currentDocumentResponse = null)), this._currentDocumentRequestCancellationTokenSource && (this._currentDocumentRequestCancellationTokenSource.cancel(), (this._currentDocumentRequestCancellationTokenSource = null)), this._setDocumentSemanticTokens(null, null, null, []), (this._isDisposed = !0), super.dispose(); } _fetchDocumentSemanticTokensNow() { if (this._currentDocumentRequestCancellationTokenSource) return; const e = this._getSemanticColoringProvider(); if (!e) return; this._currentDocumentRequestCancellationTokenSource = new f.A(); const t = [], i = this._model.onDidChangeContent((e) => { t.push(e); }), n = this._semanticStyling.get(e), r = (this._currentDocumentResponse && this._currentDocumentResponse.resultId) || null; Promise.resolve( e.provideDocumentSemanticTokens( this._model, r, this._currentDocumentRequestCancellationTokenSource.token ) ).then( (r) => { (this._currentDocumentRequestCancellationTokenSource = null), i.dispose(), this._setDocumentSemanticTokens(e, r || null, n, t); }, (e) => { (e && 'string' == typeof e.message && -1 !== e.message.indexOf('busy')) || o.dL(e), (this._currentDocumentRequestCancellationTokenSource = null), i.dispose(), t.length > 0 && (this._fetchDocumentSemanticTokens.isScheduled() || this._fetchDocumentSemanticTokens.schedule()); } ); } static _isSemanticTokens(e) { return e && !!e.data; } static _isSemanticTokensEdits(e) { return e && Array.isArray(e.edits); } static _copy(e, t, i, n, r) { for (let s = 0; s < r; s++) i[n + s] = e[t + s]; } _setDocumentSemanticTokens(e, t, i, n) { const r = this._currentDocumentResponse; if ( (this._currentDocumentResponse && (this._currentDocumentResponse.dispose(), (this._currentDocumentResponse = null)), this._isDisposed) ) e && t && e.releaseDocumentSemanticTokens(t.resultId); else if (e && i) if (t) { if (T._isSemanticTokensEdits(t)) { if (!r) return void this._model.setSemanticTokens(null, !0); if (0 === t.edits.length) t = { resultId: t.resultId, data: r.data }; else { let e = 0; for (const i of t.edits) e += (i.data ? i.data.length : 0) - i.deleteCount; const i = r.data, n = new Uint32Array(i.length + e); let s = i.length, o = n.length; for (let e = t.edits.length - 1; e >= 0; e--) { const r = t.edits[e], a = s - (r.start + r.deleteCount); a > 0 && (T._copy(i, s - a, n, o - a, a), (o -= a)), r.data && (T._copy( r.data, 0, n, o - r.data.length, r.data.length ), (o -= r.data.length)), (s = r.start); } s > 0 && T._copy(i, 0, n, 0, s), (t = { resultId: t.resultId, data: n }); } } if (T._isSemanticTokens(t)) { this._currentDocumentResponse = new E(e, t.resultId, t.data); const r = (0, y.h)(t, i, this._model.getLanguageIdentifier()); if (n.length > 0) { for (const e of n) for (const t of r) for (const i of e.changes) t.applyEdit(i.range, i.text); this._fetchDocumentSemanticTokens.isScheduled() || this._fetchDocumentSemanticTokens.schedule(); } this._model.setSemanticTokens(r, !0); } else this._model.setSemanticTokens(null, !0); } else this._model.setSemanticTokens(null, !0); else this._model.setSemanticTokens(null, !1); } _getSemanticColoringProvider() { const e = c.wT.ordered(this._model); return e.length > 0 ? e[0] : null; } } }, 88216: (e, t, i) => { 'use strict'; i.d(t, { S: () => n }); const n = (0, i(72065).yh)('textModelService'); }, 65072: (e, t, i) => { 'use strict'; i.d(t, { $: () => o, h: () => a }); var n = i(43775), r = i(43557), s = i(58409); class o { constructor(e, t, i) { (this._legend = e), (this._themeService = t), (this._logService = i), (this._hashTable = new c()); } getMetadata(e, t, i) { const s = this._hashTable.get(e, t, i.id); let o; if (s) (o = s.metadata), this._logService.getLevel() === r.in.Trace && this._logService.trace( `SemanticTokensProviderStyling [CACHED] ${e} / ${t}: foreground ${n.NX.getForeground( o )}, fontStyle ${n.NX.getFontStyle(o).toString(2)}` ); else { let s = this._legend.tokenTypes[e]; const a = []; if (s) { let e = t; for ( let t = 0; e > 0 && t < this._legend.tokenModifiers.length; t++ ) 1 & e && a.push(this._legend.tokenModifiers[t]), (e >>= 1); e > 0 && this._logService.getLevel() === r.in.Trace && (this._logService.trace( `SemanticTokensProviderStyling: unknown token modifier index: ${t.toString( 2 )} for legend: ${JSON.stringify( this._legend.tokenModifiers )}` ), a.push('not-in-legend')); const n = this._themeService .getColorTheme() .getTokenStyleMetadata(s, a, i.language); void 0 === n ? (o = 2147483647) : ((o = 0), void 0 !== n.italic && (o |= 1 | ((n.italic ? 1 : 0) << 11)), void 0 !== n.bold && (o |= 2 | ((n.bold ? 2 : 0) << 11)), void 0 !== n.underline && (o |= 4 | ((n.underline ? 4 : 0) << 11)), n.foreground && (o |= 8 | (n.foreground << 14)), 0 === o && (o = 2147483647)); } else this._logService.getLevel() === r.in.Trace && this._logService.trace( `SemanticTokensProviderStyling: unknown token type index: ${e} for legend: ${JSON.stringify( this._legend.tokenTypes )}` ), (o = 2147483647), (s = 'not-in-legend'); this._hashTable.add(e, t, i.id, o), this._logService.getLevel() === r.in.Trace && this._logService.trace( `SemanticTokensProviderStyling ${e} (${s}) / ${t} (${a.join( ' ' )}): foreground ${n.NX.getForeground( o )}, fontStyle ${n.NX.getFontStyle(o).toString(2)}` ); } return o; } } function a(e, t, i) { const n = e.data, r = (e.data.length / 5) | 0, o = Math.max(Math.ceil(r / 1024), 400), a = []; let l = 0, c = 1, d = 0; for (; l < r; ) { const e = l; let h = Math.min(e + o, r); if (h < r) { let t = h; for (; t - 1 > e && 0 === n[5 * t]; ) t--; if (t - 1 === e) { let e = h; for (; e + 1 < r && 0 === n[5 * e]; ) e++; h = e; } else h = t; } let u = new Uint32Array(4 * (h - e)), g = 0, f = 0; for (; l < h; ) { const e = 5 * l, r = n[e], s = n[e + 1], o = c + r, a = 0 === r ? d + s : s, h = n[e + 2], p = n[e + 3], m = n[e + 4], _ = t.getMetadata(p, m, i); 2147483647 !== _ && (0 === f && (f = o), (u[g] = o - f), (u[g + 1] = a), (u[g + 2] = a + h), (u[g + 3] = _), (g += 4)), (c = o), (d = a), l++; } g !== u.length && (u = u.subarray(0, g)); const p = new s.Wz(f, new s.OU(u)); a.push(p); } return a; } class l { constructor(e, t, i, n) { (this.tokenTypeIndex = e), (this.tokenModifierSet = t), (this.languageId = i), (this.metadata = n), (this.next = null); } } class c { constructor() { (this._elementsCount = 0), (this._currentLengthIndex = 0), (this._currentLength = c._SIZES[this._currentLengthIndex]), (this._growCount = Math.round( this._currentLengthIndex + 1 < c._SIZES.length ? (2 / 3) * this._currentLength : 0 )), (this._elements = []), c._nullOutEntries(this._elements, this._currentLength); } static _nullOutEntries(e, t) { for (let i = 0; i < t; i++) e[i] = null; } _hash2(e, t) { return ((e << 5) - e + t) | 0; } _hashFunc(e, t, i) { return this._hash2(this._hash2(e, t), i) % this._currentLength; } get(e, t, i) { const n = this._hashFunc(e, t, i); let r = this._elements[n]; for (; r; ) { if ( r.tokenTypeIndex === e && r.tokenModifierSet === t && r.languageId === i ) return r; r = r.next; } return null; } add(e, t, i, n) { if ( (this._elementsCount++, 0 !== this._growCount && this._elementsCount >= this._growCount) ) { const e = this._elements; this._currentLengthIndex++, (this._currentLength = c._SIZES[this._currentLengthIndex]), (this._growCount = Math.round( this._currentLengthIndex + 1 < c._SIZES.length ? (2 / 3) * this._currentLength : 0 )), (this._elements = []), c._nullOutEntries(this._elements, this._currentLength); for (const t of e) { let e = t; for (; e; ) { const t = e.next; (e.next = null), this._add(e), (e = t); } } } this._add(new l(e, t, i, n)); } _add(e) { const t = this._hashFunc( e.tokenTypeIndex, e.tokenModifierSet, e.languageId ); (e.next = this._elements[t]), (this._elements[t] = e); } } c._SIZES = [ 3, 7, 13, 31, 61, 127, 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, 65521, 131071, 262139, 524287, 1048573, 2097143, ]; }, 33187: (e, t, i) => { 'use strict'; i.d(t, { V: () => r, y: () => s }); var n = i(72065); const r = (0, n.yh)('textResourceConfigurationService'), s = (0, n.yh)('textResourcePropertiesService'); }, 20913: (e, t, i) => { 'use strict'; i.d(t, { Oe: () => n, ug: () => r, qq: () => s, ld: () => o, UX: () => a, aq: () => l, B8: () => c, xi: () => d, UL: () => h, }); var n, r, s, o, a, l, c, d, h, u = i(63580); !(function (e) { (e.noSelection = u.N('noSelection', 'No selection')), (e.singleSelectionRange = u.N( 'singleSelectionRange', 'Line {0}, Column {1} ({2} selected)' )), (e.singleSelection = u.N( 'singleSelection', 'Line {0}, Column {1}' )), (e.multiSelectionRange = u.N( 'multiSelectionRange', '{0} selections ({1} characters selected)' )), (e.multiSelection = u.N('multiSelection', '{0} selections')), (e.emergencyConfOn = u.N( 'emergencyConfOn', "Now changing the setting `accessibilitySupport` to 'on'." )), (e.openingDocs = u.N( 'openingDocs', 'Now opening the Editor Accessibility documentation page.' )), (e.readonlyDiffEditor = u.N( 'readonlyDiffEditor', ' in a read-only pane of a diff editor.' )), (e.editableDiffEditor = u.N( 'editableDiffEditor', ' in a pane of a diff editor.' )), (e.readonlyEditor = u.N( 'readonlyEditor', ' in a read-only code editor' )), (e.editableEditor = u.N('editableEditor', ' in a code editor')), (e.changeConfigToOnMac = u.N( 'changeConfigToOnMac', 'To configure the editor to be optimized for usage with a Screen Reader press Command+E now.' )), (e.changeConfigToOnWinLinux = u.N( 'changeConfigToOnWinLinux', 'To configure the editor to be optimized for usage with a Screen Reader press Control+E now.' )), (e.auto_on = u.N( 'auto_on', 'The editor is configured to be optimized for usage with a Screen Reader.' )), (e.auto_off = u.N( 'auto_off', 'The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.' )), (e.tabFocusModeOnMsg = u.N( 'tabFocusModeOnMsg', 'Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.' )), (e.tabFocusModeOnMsgNoKb = u.N( 'tabFocusModeOnMsgNoKb', 'Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.' )), (e.tabFocusModeOffMsg = u.N( 'tabFocusModeOffMsg', 'Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.' )), (e.tabFocusModeOffMsgNoKb = u.N( 'tabFocusModeOffMsgNoKb', 'Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.' )), (e.openDocMac = u.N( 'openDocMac', 'Press Command+H now to open a browser window with more information related to editor accessibility.' )), (e.openDocWinLinux = u.N( 'openDocWinLinux', 'Press Control+H now to open a browser window with more information related to editor accessibility.' )), (e.outroMsg = u.N( 'outroMsg', 'You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.' )), (e.showAccessibilityHelpAction = u.N( 'showAccessibilityHelpAction', 'Show Accessibility Help' )); })(n || (n = {})), (function (e) { e.inspectTokensAction = u.N( 'inspectTokens', 'Developer: Inspect Tokens' ); })(r || (r = {})), (function (e) { e.gotoLineActionLabel = u.N( 'gotoLineActionLabel', 'Go to Line/Column...' ); })(s || (s = {})), (function (e) { e.helpQuickAccessActionLabel = u.N( 'helpQuickAccess', 'Show all Quick Access Providers' ); })(o || (o = {})), (function (e) { (e.quickCommandActionLabel = u.N( 'quickCommandActionLabel', 'Command Palette' )), (e.quickCommandHelp = u.N( 'quickCommandActionHelp', 'Show And Run Commands' )); })(a || (a = {})), (function (e) { (e.quickOutlineActionLabel = u.N( 'quickOutlineActionLabel', 'Go to Symbol...' )), (e.quickOutlineByCategoryActionLabel = u.N( 'quickOutlineByCategoryActionLabel', 'Go to Symbol by Category...' )); })(l || (l = {})), (function (e) { (e.editorViewAccessibleLabel = u.N( 'editorViewAccessibleLabel', 'Editor content' )), (e.accessibilityHelpMessage = u.N( 'accessibilityHelpMessage', 'Press Alt+F1 for Accessibility Options.' )); })(c || (c = {})), (function (e) { e.toggleHighContrast = u.N( 'toggleHighContrast', 'Toggle High Contrast Theme' ); })(d || (d = {})), (function (e) { e.bulkEditServiceSummary = u.N( 'bulkEditServiceSummary', 'Made {0} edits in {1} files' ); })(h || (h = {})); }, 27869: (e, t, i) => { 'use strict'; i.d(t, { Kh: () => a, Mm: () => l, n0: () => g, fY: () => f, tR: () => m, Ym: () => _, hw: () => b, DD: () => y, zk: () => w, Yp: () => C, TC: () => S, Dl: () => k, zw: () => x, e_: () => L, kp: () => D, zu: () => N, m9: () => T, lK: () => I, Re: () => O, eS: () => A, }); var n = i(63580), r = i(41264), s = i(73910), o = i(97781); const a = (0, s.P6)( 'editor.lineHighlightBackground', { dark: null, light: null, hc: null }, n.N( 'lineHighlight', 'Background color for the highlight of line at the cursor position.' ) ), l = (0, s.P6)( 'editor.lineHighlightBorder', { dark: '#282828', light: '#eeeeee', hc: '#f38518' }, n.N( 'lineHighlightBorderBox', 'Background color for the border around the line at the cursor position.' ) ), c = (0, s.P6)( 'editor.rangeHighlightBackground', { dark: '#ffffff0b', light: '#fdff0033', hc: null }, n.N( 'rangeHighlight', 'Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), d = (0, s.P6)( 'editor.rangeHighlightBorder', { dark: null, light: null, hc: s.xL }, n.N( 'rangeHighlightBorder', 'Background color of the border around highlighted ranges.' ), !0 ), h = (0, s.P6)( 'editor.symbolHighlightBackground', { dark: s.MU, light: s.MU, hc: null }, n.N( 'symbolHighlight', 'Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), u = (0, s.P6)( 'editor.symbolHighlightBorder', { dark: null, light: null, hc: s.xL }, n.N( 'symbolHighlightBorder', 'Background color of the border around highlighted symbols.' ), !0 ), g = (0, s.P6)( 'editorCursor.foreground', { dark: '#AEAFAD', light: r.Il.black, hc: r.Il.white }, n.N('caret', 'Color of the editor cursor.') ), f = (0, s.P6)( 'editorCursor.background', null, n.N( 'editorCursorBackground', 'The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.' ) ), p = (0, s.P6)( 'editorWhitespace.foreground', { dark: '#e3e4e229', light: '#33333333', hc: '#e3e4e229' }, n.N( 'editorWhitespaces', 'Color of whitespace characters in the editor.' ) ), m = (0, s.P6)( 'editorIndentGuide.background', { dark: p, light: p, hc: p }, n.N('editorIndentGuides', 'Color of the editor indentation guides.') ), _ = (0, s.P6)( 'editorIndentGuide.activeBackground', { dark: p, light: p, hc: p }, n.N( 'editorActiveIndentGuide', 'Color of the active editor indentation guides.' ) ), b = (0, s.P6)( 'editorLineNumber.foreground', { dark: '#858585', light: '#237893', hc: r.Il.white }, n.N('editorLineNumbers', 'Color of editor line numbers.') ), v = (0, s.P6)( 'editorActiveLineNumber.foreground', { dark: '#c6c6c6', light: '#0B216F', hc: s.xL }, n.N('editorActiveLineNumber', 'Color of editor active line number'), !1, n.N( 'deprecatedEditorActiveLineNumber', "Id is deprecated. Use 'editorLineNumber.activeForeground' instead." ) ), y = (0, s.P6)( 'editorLineNumber.activeForeground', { dark: v, light: v, hc: v }, n.N('editorActiveLineNumber', 'Color of editor active line number') ), w = (0, s.P6)( 'editorRuler.foreground', { dark: '#5A5A5A', light: r.Il.lightgrey, hc: r.Il.white }, n.N('editorRuler', 'Color of the editor rulers.') ), C = (0, s.P6)( 'editorCodeLens.foreground', { dark: '#999999', light: '#999999', hc: '#999999' }, n.N( 'editorCodeLensForeground', 'Foreground color of editor CodeLens' ) ), S = (0, s.P6)( 'editorBracketMatch.background', { dark: '#0064001a', light: '#0064001a', hc: '#0064001a' }, n.N( 'editorBracketMatchBackground', 'Background color behind matching brackets' ) ), k = (0, s.P6)( 'editorBracketMatch.border', { dark: '#888', light: '#B9B9B9', hc: s.lR }, n.N('editorBracketMatchBorder', 'Color for matching brackets boxes') ), x = (0, s.P6)( 'editorOverviewRuler.border', { dark: '#7f7f7f4d', light: '#7f7f7f4d', hc: '#7f7f7f4d' }, n.N( 'editorOverviewRulerBorder', 'Color of the overview ruler border.' ) ), L = (0, s.P6)( 'editorOverviewRuler.background', null, n.N( 'editorOverviewRulerBackground', 'Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.' ) ), M = (0, s.P6)( 'editorGutter.background', { dark: s.cv, light: s.cv, hc: s.cv }, n.N( 'editorGutter', 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.' ) ), D = (0, s.P6)( 'editorUnnecessaryCode.border', { dark: null, light: null, hc: r.Il.fromHex('#fff').transparent(0.8), }, n.N( 'unnecessaryCodeBorder', 'Border color of unnecessary (unused) source code in the editor.' ) ), N = (0, s.P6)( 'editorUnnecessaryCode.opacity', { dark: r.Il.fromHex('#000a'), light: r.Il.fromHex('#0007'), hc: null, }, n.N( 'unnecessaryCodeOpacity', 'Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the \'editorUnnecessaryCode.border\' theme color to underline unnecessary code instead of fading it out.' ) ), E = new r.Il(new r.VS(0, 122, 204, 0.6)), T = (0, s.P6)( 'editorOverviewRuler.rangeHighlightForeground', { dark: E, light: E, hc: E }, n.N( 'overviewRulerRangeHighlight', 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), I = (0, s.P6)( 'editorOverviewRuler.errorForeground', { dark: new r.Il(new r.VS(255, 18, 18, 0.7)), light: new r.Il(new r.VS(255, 18, 18, 0.7)), hc: new r.Il(new r.VS(255, 50, 50, 1)), }, n.N('overviewRuleError', 'Overview ruler marker color for errors.') ), O = (0, s.P6)( 'editorOverviewRuler.warningForeground', { dark: s.uo, light: s.uo, hc: s.pW }, n.N( 'overviewRuleWarning', 'Overview ruler marker color for warnings.' ) ), A = (0, s.P6)( 'editorOverviewRuler.infoForeground', { dark: s.c6, light: s.c6, hc: s.T8 }, n.N('overviewRuleInfo', 'Overview ruler marker color for infos.') ); (0, o.Ic)((e, t) => { const i = e.getColor(s.cv); i && t.addRule( `.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ${i}; }` ); const n = e.getColor(s.NO); n && t.addRule( `.monaco-editor, .monaco-editor .inputarea.ime-input { color: ${n}; }` ); const r = e.getColor(M); r && t.addRule(`.monaco-editor .margin { background-color: ${r}; }`); const o = e.getColor(c); o && t.addRule( `.monaco-editor .rangeHighlight { background-color: ${o}; }` ); const a = e.getColor(d); a && t.addRule( `.monaco-editor .rangeHighlight { border: 1px ${ 'hc' === e.type ? 'dotted' : 'solid' } ${a}; }` ); const l = e.getColor(h); l && t.addRule( `.monaco-editor .symbolHighlight { background-color: ${l}; }` ); const g = e.getColor(u); g && t.addRule( `.monaco-editor .symbolHighlight { border: 1px ${ 'hc' === e.type ? 'dotted' : 'solid' } ${g}; }` ); const f = e.getColor(p); f && (t.addRule(`.monaco-editor .mtkw { color: ${f} !important; }`), t.addRule(`.monaco-editor .mtkz { color: ${f} !important; }`)); }); }, 92003: (e, t, i) => { 'use strict'; i.d(t, { EY: () => r, Tj: () => s }); class n { constructor(e, t, i) { (this.from = 0 | e), (this.to = 0 | t), (this.colorId = 0 | i); } static compare(e, t) { return e.colorId === t.colorId ? e.from === t.from ? e.to - t.to : e.from - t.from : e.colorId - t.colorId; } } class r { constructor(e, t, i) { (this.startLineNumber = e), (this.endLineNumber = t), (this.color = i), (this._colorZone = null); } static compare(e, t) { return e.color === t.color ? e.startLineNumber === t.startLineNumber ? e.endLineNumber - t.endLineNumber : e.startLineNumber - t.startLineNumber : e.color < t.color ? -1 : 1; } setColorZone(e) { this._colorZone = e; } getColorZones() { return this._colorZone; } } class s { constructor(e) { (this._getVerticalOffsetForLine = e), (this._zones = []), (this._colorZonesInvalid = !1), (this._lineHeight = 0), (this._domWidth = 0), (this._domHeight = 0), (this._outerHeight = 0), (this._pixelRatio = 1), (this._lastAssignedId = 0), (this._color2Id = Object.create(null)), (this._id2Color = []); } getId2Color() { return this._id2Color; } setZones(e) { (this._zones = e), this._zones.sort(r.compare); } setLineHeight(e) { return ( this._lineHeight !== e && ((this._lineHeight = e), (this._colorZonesInvalid = !0), !0) ); } setPixelRatio(e) { (this._pixelRatio = e), (this._colorZonesInvalid = !0); } getDOMWidth() { return this._domWidth; } getCanvasWidth() { return this._domWidth * this._pixelRatio; } setDOMWidth(e) { return ( this._domWidth !== e && ((this._domWidth = e), (this._colorZonesInvalid = !0), !0) ); } getDOMHeight() { return this._domHeight; } getCanvasHeight() { return this._domHeight * this._pixelRatio; } setDOMHeight(e) { return ( this._domHeight !== e && ((this._domHeight = e), (this._colorZonesInvalid = !0), !0) ); } getOuterHeight() { return this._outerHeight; } setOuterHeight(e) { return ( this._outerHeight !== e && ((this._outerHeight = e), (this._colorZonesInvalid = !0), !0) ); } resolveColorZones() { const e = this._colorZonesInvalid, t = Math.floor(this._lineHeight), i = Math.floor(this.getCanvasHeight()), r = i / Math.floor(this._outerHeight), s = Math.floor((4 * this._pixelRatio) / 2); let o = []; for (let a = 0, l = this._zones.length; a < l; a++) { const l = this._zones[a]; if (!e) { const e = l.getColorZones(); if (e) { o.push(e); continue; } } const c = Math.floor( r * this._getVerticalOffsetForLine(l.startLineNumber) ), d = Math.floor( r * (this._getVerticalOffsetForLine(l.endLineNumber) + t) ); let h = Math.floor((c + d) / 2), u = d - h; u < s && (u = s), h - u < 0 && (h = u), h + u > i && (h = i - u); const g = l.color; let f = this._color2Id[g]; f || ((f = ++this._lastAssignedId), (this._color2Id[g] = f), (this._id2Color[f] = g)); const p = new n(h - u, h + u, f); l.setColorZone(p), o.push(p); } return (this._colorZonesInvalid = !1), o.sort(n.compare), o; } } }, 92550: (e, t, i) => { 'use strict'; i.d(t, { Kp: () => r, k: () => a }); var n = i(97295); class r { constructor(e, t, i, n) { (this.startColumn = e), (this.endColumn = t), (this.className = i), (this.type = n); } static _equals(e, t) { return ( e.startColumn === t.startColumn && e.endColumn === t.endColumn && e.className === t.className && e.type === t.type ); } static equalsArr(e, t) { const i = e.length; if (i !== t.length) return !1; for (let n = 0; n < i; n++) if (!r._equals(e[n], t[n])) return !1; return !0; } static filter(e, t, i, n) { if (0 === e.length) return []; let s = [], o = 0; for (let a = 0, l = e.length; a < l; a++) { const l = e[a], c = l.range; if (c.endLineNumber < t || c.startLineNumber > t) continue; if (c.isEmpty() && (0 === l.type || 3 === l.type)) continue; const d = c.startLineNumber === t ? c.startColumn : i, h = c.endLineNumber === t ? c.endColumn : n; s[o++] = new r(d, h, l.inlineClassName, l.type); } return s; } static _typeCompare(e, t) { const i = [2, 0, 1, 3]; return i[e] - i[t]; } static compare(e, t) { if (e.startColumn === t.startColumn) { if (e.endColumn === t.endColumn) { const i = r._typeCompare(e.type, t.type); return 0 === i ? e.className < t.className ? -1 : e.className > t.className ? 1 : 0 : i; } return e.endColumn - t.endColumn; } return e.startColumn - t.startColumn; } } class s { constructor(e, t, i, n) { (this.startOffset = e), (this.endOffset = t), (this.className = i), (this.metadata = n); } } class o { constructor() { (this.stopOffsets = []), (this.classNames = []), (this.metadata = []), (this.count = 0); } static _metadata(e) { let t = 0; for (let i = 0, n = e.length; i < n; i++) t |= e[i]; return t; } consumeLowerThan(e, t, i) { for (; this.count > 0 && this.stopOffsets[0] < e; ) { let e = 0; for ( ; e + 1 < this.count && this.stopOffsets[e] === this.stopOffsets[e + 1]; ) e++; i.push( new s( t, this.stopOffsets[e], this.classNames.join(' '), o._metadata(this.metadata) ) ), (t = this.stopOffsets[e] + 1), this.stopOffsets.splice(0, e + 1), this.classNames.splice(0, e + 1), this.metadata.splice(0, e + 1), (this.count -= e + 1); } return ( this.count > 0 && t < e && (i.push( new s( t, e - 1, this.classNames.join(' '), o._metadata(this.metadata) ) ), (t = e)), t ); } insert(e, t, i) { if (0 === this.count || this.stopOffsets[this.count - 1] <= e) this.stopOffsets.push(e), this.classNames.push(t), this.metadata.push(i); else for (let n = 0; n < this.count; n++) if (this.stopOffsets[n] >= e) { this.stopOffsets.splice(n, 0, e), this.classNames.splice(n, 0, t), this.metadata.splice(n, 0, i); break; } this.count++; } } class a { static normalize(e, t) { if (0 === t.length) return []; let i = []; const r = new o(); let s = 0; for (let o = 0, a = t.length; o < a; o++) { const a = t[o]; let l = a.startColumn, c = a.endColumn; const d = a.className, h = 1 === a.type ? 2 : 2 === a.type ? 4 : 0; if (l > 1) { const t = e.charCodeAt(l - 2); n.ZG(t) && l--; } if (c > 1) { const t = e.charCodeAt(c - 2); n.ZG(t) && c--; } const u = l - 1, g = c - 2; (s = r.consumeLowerThan(u, s, i)), 0 === r.count && (s = u), r.insert(g, d, h); } return r.consumeLowerThan(1073741824, s, i), i; } } }, 77736: (e, t, i) => { 'use strict'; i.d(t, { zG: () => a, IJ: () => l, fH: () => c, d1: () => h, tF: () => g, }); var n = i(97295), r = i(50072), s = i(92550); class o { constructor(e, t, i) { (this.endIndex = e), (this.type = t), (this.metadata = i); } isWhitespace() { return !!(1 & this.metadata); } } class a { constructor(e, t) { (this.startOffset = e), (this.endOffset = t); } equals(e) { return ( this.startOffset === e.startOffset && this.endOffset === e.endOffset ); } } class l { constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _, b) { (this.useMonospaceOptimizations = e), (this.canUseHalfwidthRightwardsArrow = t), (this.lineContent = i), (this.continuesWithWrappedLine = n), (this.isBasicASCII = r), (this.containsRTL = s), (this.fauxIndentLength = o), (this.lineTokens = a), (this.lineDecorations = l), (this.tabSize = c), (this.startVisibleColumn = d), (this.spaceWidth = h), (this.stopRenderingLineAfter = f), (this.renderWhitespace = 'all' === p ? 4 : 'boundary' === p ? 1 : 'selection' === p ? 2 : 'trailing' === p ? 3 : 0), (this.renderControlCharacters = m), (this.fontLigatures = _), (this.selectionsOnLine = b && b.sort((e, t) => (e.startOffset < t.startOffset ? -1 : 1))), Math.abs(g - h) < Math.abs(u - h) ? ((this.renderSpaceWidth = g), (this.renderSpaceCharCode = 11825)) : ((this.renderSpaceWidth = u), (this.renderSpaceCharCode = 183)); } sameSelection(e) { if (null === this.selectionsOnLine) return null === e; if (null === e) return !1; if (e.length !== this.selectionsOnLine.length) return !1; for (let t = 0; t < this.selectionsOnLine.length; t++) if (!this.selectionsOnLine[t].equals(e[t])) return !1; return !0; } equals(e) { return ( this.useMonospaceOptimizations === e.useMonospaceOptimizations && this.canUseHalfwidthRightwardsArrow === e.canUseHalfwidthRightwardsArrow && this.lineContent === e.lineContent && this.continuesWithWrappedLine === e.continuesWithWrappedLine && this.isBasicASCII === e.isBasicASCII && this.containsRTL === e.containsRTL && this.fauxIndentLength === e.fauxIndentLength && this.tabSize === e.tabSize && this.startVisibleColumn === e.startVisibleColumn && this.spaceWidth === e.spaceWidth && this.renderSpaceWidth === e.renderSpaceWidth && this.renderSpaceCharCode === e.renderSpaceCharCode && this.stopRenderingLineAfter === e.stopRenderingLineAfter && this.renderWhitespace === e.renderWhitespace && this.renderControlCharacters === e.renderControlCharacters && this.fontLigatures === e.fontLigatures && s.Kp.equalsArr(this.lineDecorations, e.lineDecorations) && this.lineTokens.equals(e.lineTokens) && this.sameSelection(e.selectionsOnLine) ); } } class c { constructor(e, t) { (this.length = e), (this._data = new Uint32Array(this.length)), (this._absoluteOffsets = new Uint32Array(this.length)); } static getPartIndex(e) { return (4294901760 & e) >>> 16; } static getCharIndex(e) { return (65535 & e) >>> 0; } setPartData(e, t, i, n) { let r = ((t << 16) | (i << 0)) >>> 0; (this._data[e] = r), (this._absoluteOffsets[e] = n + i); } getAbsoluteOffsets() { return this._absoluteOffsets; } charOffsetToPartData(e) { return 0 === this.length ? 0 : e < 0 ? this._data[0] : e >= this.length ? this._data[this.length - 1] : this._data[e]; } partDataToCharOffset(e, t, i) { if (0 === this.length) return 0; let n = ((e << 16) | (i << 0)) >>> 0, r = 0, s = this.length - 1; for (; r + 1 < s; ) { let e = (r + s) >>> 1, t = this._data[e]; if (t === n) return e; t > n ? (s = e) : (r = e); } if (r === s) return r; let o = this._data[r], a = this._data[s]; if (o === n) return r; if (a === n) return s; let l, d = c.getPartIndex(o), h = c.getCharIndex(o); return ( (l = d !== c.getPartIndex(a) ? t : c.getCharIndex(a)), i - h <= l - i ? r : s ); } } class d { constructor(e, t, i) { (this.characterMapping = e), (this.containsRTL = t), (this.containsForeignElements = i); } } function h(e, t) { if (0 === e.lineContent.length) { let i = 0, n = ''; if (e.lineDecorations.length > 0) { const t = [], r = []; for (let n = 0, s = e.lineDecorations.length; n < s; n++) { const s = e.lineDecorations[n]; 1 === s.type && (t.push(e.lineDecorations[n].className), (i |= 1)), 2 === s.type && (r.push(e.lineDecorations[n].className), (i |= 2)); } 0 !== i && (n = `${ t.length > 0 ? `` : '' }${ r.length > 0 ? `` : '' }`); } return t.appendASCIIString(n), new d(new c(0, 0), !1, i); } return (function (e, t) { const i = e.fontIsMonospace, r = e.canUseHalfwidthRightwardsArrow, s = e.containsForeignElements, o = e.lineContent, a = e.len, l = e.isOverflowing, h = e.parts, u = e.fauxIndentLength, g = e.tabSize, f = e.startVisibleColumn, p = e.containsRTL, m = e.spaceWidth, _ = e.renderSpaceCharCode, b = e.renderWhitespace, v = e.renderControlCharacters, y = new c(a + 1, h.length); let w = 0, C = f, S = 0, k = 0, x = 0, L = 0; p ? t.appendASCIIString('') : t.appendASCIIString(''); for (let e = 0, a = h.length; e < a; e++) { L += x; const a = h[e], l = a.endIndex, c = a.type, d = 0 !== b && a.isWhitespace(), f = d && !i && ('mtkw' === c || !s), p = w === l && 4 === a.metadata; if ( ((S = 0), t.appendASCIIString(' 1 ? t.write1(8594) : t.write1(65515); for (let e = 2; e <= i; e++) t.write1(160); } else (i = 1), t.write1(_); (S += i), w >= u && (C += i); } x = i; } else { let i = 0; for (t.appendASCII(62); w < l; w++) { y.setPartData(w, e - k, S, L), (k = 0); const r = o.charCodeAt(w); let s = 1, a = 1; switch (r) { case 9: (s = g - (C % g)), (a = s); for (let e = 1; e <= s; e++) t.write1(160); break; case 32: t.write1(160); break; case 60: t.appendASCIIString('<'); break; case 62: t.appendASCIIString('>'); break; case 38: t.appendASCIIString('&'); break; case 0: t.appendASCIIString('�'); break; case 65279: case 8232: case 8233: case 133: t.write1(65533); break; default: n.K7(r) && a++, v && r < 32 ? t.write1(9216 + r) : t.write1(r); } (S += s), (i += s), w >= u && (C += a); } x = i; } p ? k++ : (k = 0), t.appendASCIIString(''); } return ( y.setPartData(a, h.length - 1, S, L), l && t.appendASCIIString(''), t.appendASCIIString(''), new d(y, p, s) ); })( (function (e) { const t = e.lineContent; let i, r; -1 !== e.stopRenderingLineAfter && e.stopRenderingLineAfter < t.length ? ((i = !0), (r = e.stopRenderingLineAfter)) : ((i = !1), (r = t.length)); let a = (function (e, t, i) { let n = [], r = 0; t > 0 && (n[r++] = new o(t, '', 0)); for (let s = 0, a = e.getCount(); s < a; s++) { const a = e.getEndOffset(s); if (a <= t) continue; const l = e.getClassName(s); if (a >= i) { n[r++] = new o(i, l, 0); break; } n[r++] = new o(a, l, 0); } return n; })(e.lineTokens, e.fauxIndentLength, r); (4 === e.renderWhitespace || 1 === e.renderWhitespace || (2 === e.renderWhitespace && e.selectionsOnLine) || 3 === e.renderWhitespace) && (a = (function (e, t, i, r) { const s = e.continuesWithWrappedLine, a = e.fauxIndentLength, l = e.tabSize, c = e.startVisibleColumn, d = e.useMonospaceOptimizations, h = e.selectionsOnLine, u = 1 === e.renderWhitespace, g = 3 === e.renderWhitespace, f = e.renderSpaceWidth !== e.spaceWidth; let p = [], m = 0, _ = 0, b = r[_].type, v = r[_].endIndex; const y = r.length; let w, C = !1, S = n.LC(t); -1 === S ? ((C = !0), (S = i), (w = i)) : (w = n.ow(t)); let k = !1, x = 0, L = h && h[x], M = c % l; for (let e = a; e < i; e++) { const s = t.charCodeAt(e); let c; if ( (L && e >= L.endOffset && (x++, (L = h && h[x])), e < S || e > w) ) c = !0; else if (9 === s) c = !0; else if (32 === s) if (u) if (k) c = !0; else { const n = e + 1 < i ? t.charCodeAt(e + 1) : 0; c = 32 === n || 9 === n; } else c = !0; else c = !1; if ( (c && h && (c = !!L && L.startOffset <= e && L.endOffset > e), c && g && (c = C || e > w), k) ) { if (!c || (!d && M >= l)) { if (f) for ( let t = (m > 0 ? p[m - 1].endIndex : a) + 1; t <= e; t++ ) p[m++] = new o(t, 'mtkw', 1); else p[m++] = new o(e, 'mtkw', 1); M %= l; } } else (e === v || (c && e > a)) && ((p[m++] = new o(e, b, 0)), (M %= l)); for ( 9 === s ? (M = l) : n.K7(s) ? (M += 2) : M++, k = c; e === v; ) _++, _ < y && ((b = r[_].type), (v = r[_].endIndex)); } let D = !1; if (k) if (s && u) { let e = i > 0 ? t.charCodeAt(i - 1) : 0, n = i > 1 ? t.charCodeAt(i - 2) : 0; (32 === e && 32 !== n && 9 !== n) || (D = !0); } else D = !0; if (D) if (f) for ( let e = (m > 0 ? p[m - 1].endIndex : a) + 1; e <= i; e++ ) p[m++] = new o(e, 'mtkw', 1); else p[m++] = new o(i, 'mtkw', 1); else p[m++] = new o(i, b, 0); return p; })(e, t, r, a)); let l = 0; if (e.lineDecorations.length > 0) { for (let t = 0, i = e.lineDecorations.length; t < i; t++) { const i = e.lineDecorations[t]; 3 === i.type || 1 === i.type ? (l |= 1) : 2 === i.type && (l |= 2); } a = (function (e, t, i, n) { n.sort(s.Kp.compare); const r = s.k.normalize(e, n), a = r.length; let l = 0, c = [], d = 0, h = 0; for (let e = 0, t = i.length; e < t; e++) { const t = i[e], n = t.endIndex, s = t.type, u = t.metadata; for (; l < a && r[l].startOffset < n; ) { const e = r[l]; if ( (e.startOffset > h && ((h = e.startOffset), (c[d++] = new o(h, s, u))), !(e.endOffset + 1 <= n)) ) { (h = n), (c[d++] = new o( h, s + ' ' + e.className, u | e.metadata )); break; } (h = e.endOffset + 1), (c[d++] = new o( h, s + ' ' + e.className, u | e.metadata )), l++; } n > h && ((h = n), (c[d++] = new o(h, s, u))); } const u = i[i.length - 1].endIndex; if (l < a && r[l].startOffset === u) { let e = [], t = 0; for (; l < a && r[l].startOffset === u; ) e.push(r[l].className), (t |= r[l].metadata), l++; c[d++] = new o(h, e.join(' '), t); } return c; })(t, 0, a, e.lineDecorations); } return ( e.containsRTL || (a = (function (e, t, i) { let n = 0, r = [], s = 0; if (i) for (let i = 0, a = t.length; i < a; i++) { const a = t[i], l = a.endIndex; if (n + 50 < l) { const t = a.type, i = a.metadata; let c = -1, d = n; for (let a = n; a < l; a++) 32 === e.charCodeAt(a) && (c = a), -1 !== c && a - d >= 50 && ((r[s++] = new o(c + 1, t, i)), (d = c + 1), (c = -1)); d !== l && (r[s++] = new o(l, t, i)); } else r[s++] = a; n = l; } else for (let e = 0, i = t.length; e < i; e++) { const i = t[e], a = i.endIndex; let l = a - n; if (l > 50) { const e = i.type, t = i.metadata, c = Math.ceil(l / 50); for (let i = 1; i < c; i++) { let a = n + 50 * i; r[s++] = new o(a, e, t); } r[s++] = new o(a, e, t); } else r[s++] = i; n = a; } return r; })(t, a, !e.isBasicASCII || e.fontLigatures)), new f( e.useMonospaceOptimizations, e.canUseHalfwidthRightwardsArrow, t, r, i, a, l, e.fauxIndentLength, e.tabSize, e.startVisibleColumn, e.containsRTL, e.spaceWidth, e.renderSpaceCharCode, e.renderWhitespace, e.renderControlCharacters ) ); })(e), t ); } class u { constructor(e, t, i, n) { (this.characterMapping = e), (this.html = t), (this.containsRTL = i), (this.containsForeignElements = n); } } function g(e) { let t = (0, r.l$)(1e4), i = h(e, t); return new u( i.characterMapping, t.build(), i.containsRTL, i.containsForeignElements ); } class f { constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f) { (this.fontIsMonospace = e), (this.canUseHalfwidthRightwardsArrow = t), (this.lineContent = i), (this.len = n), (this.isOverflowing = r), (this.parts = s), (this.containsForeignElements = o), (this.fauxIndentLength = a), (this.tabSize = l), (this.startVisibleColumn = c), (this.containsRTL = d), (this.spaceWidth = h), (this.renderSpaceCharCode = u), (this.renderWhitespace = g), (this.renderControlCharacters = f); } } }, 3544: (e, t, i) => { 'use strict'; i.d(t, { T: () => r, o: () => s }); var n = i(85427); class r { constructor(e, t) { (this.index = e), (this.remainder = t); } } class s { constructor(e) { (this.values = e), (this.prefixSum = new Uint32Array(e.length)), (this.prefixSumValidIndex = new Int32Array(1)), (this.prefixSumValidIndex[0] = -1); } insertValues(e, t) { e = (0, n.A)(e); const i = this.values, r = this.prefixSum, s = t.length; return ( 0 !== s && ((this.values = new Uint32Array(i.length + s)), this.values.set(i.subarray(0, e), 0), this.values.set(i.subarray(e), e + s), 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( r.subarray(0, this.prefixSumValidIndex[0] + 1) ), !0) ); } changeValue(e, t) { return ( (e = (0, n.A)(e)), (t = (0, n.A)(t)), this.values[e] !== t && ((this.values[e] = t), e - 1 < this.prefixSumValidIndex[0] && (this.prefixSumValidIndex[0] = e - 1), !0) ); } removeValues(e, t) { (e = (0, n.A)(e)), (t = (0, n.A)(t)); const i = this.values, r = this.prefixSum; if (e >= i.length) return !1; let s = i.length - e; return ( t >= s && (t = s), 0 !== t && ((this.values = new Uint32Array(i.length - t)), this.values.set(i.subarray(0, e), 0), this.values.set(i.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( r.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 = (0, n.A)(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 i = t; i <= e; i++) this.prefixSum[i] = this.prefixSum[i - 1] + this.values[i]; return ( (this.prefixSumValidIndex[0] = Math.max( this.prefixSumValidIndex[0], e )), this.prefixSum[e] ); } getIndexOf(e) { (e = Math.floor(e)), this.getTotalValue(); let t = 0, i = this.values.length - 1, n = 0, s = 0, o = 0; for (; t <= i; ) if ( ((n = (t + (i - t) / 2) | 0), (s = this.prefixSum[n]), (o = s - this.values[n]), e < o) ) i = n - 1; else { if (!(e >= s)) break; t = n + 1; } return new r(n, e - o); } } }, 13824: (e, t, i) => { 'use strict'; i.d(t, { l_: () => r, ud: () => s, IP: () => o, wA: () => a, $t: () => l, $l: () => c, }); var n = i(97295); class r { constructor(e, t, i, n) { (this.top = 0 | e), (this.left = 0 | t), (this.width = 0 | i), (this.height = 0 | n); } } class s { constructor(e, t) { (this.tabSize = e), (this.data = t); } } class o { constructor(e, t, i, n, r, s) { (this.content = e), (this.continuesWithWrappedLine = t), (this.minColumn = i), (this.maxColumn = n), (this.startVisibleColumn = r), (this.tokens = s); } } class a { constructor(e, t, i, n, r, s, o, l, c, d) { (this.minColumn = e), (this.maxColumn = t), (this.content = i), (this.continuesWithWrappedLine = n), (this.isBasicASCII = a.isBasicASCII(i, s)), (this.containsRTL = a.containsRTL(i, this.isBasicASCII, r)), (this.tokens = o), (this.inlineDecorations = l), (this.tabSize = c), (this.startVisibleColumn = d); } static isBasicASCII(e, t) { return !t || n.$i(e); } static containsRTL(e, t, i) { return !(t || !i) && n.Ut(e); } } class l { constructor(e, t, i) { (this.range = e), (this.inlineClassName = t), (this.type = i); } } class c { constructor(e, t) { (this.range = e), (this.options = t); } } }, 17355: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { SelectionAnchorSet: () => u }); var n = i(16830), r = i(63580), s = i(29102), o = i(3860), a = i(22258), l = i(38819), c = i(59365), d = i(85152), h = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const u = new l.uy('selectionAnchorSet', !1); let g = class e { constructor(e, t) { (this.editor = e), (this.selectionAnchorSetContextKey = u.bindTo(t)), (this.modelChangeListener = e.onDidChangeModel(() => this.selectionAnchorSetContextKey.reset() )); } static get(t) { return t.getContribution(e.ID); } setSelectionAnchor() { if (this.editor.hasModel()) { const e = this.editor.getPosition(), t = this.decorationId ? [this.decorationId] : [], i = this.editor.deltaDecorations(t, [ { range: o.Y.fromPositions(e, e), options: { stickiness: 1, hoverMessage: new c.W5().appendText( (0, r.N)('selectionAnchor', 'Selection Anchor') ), className: 'selection-anchor', }, }, ]); (this.decorationId = i[0]), this.selectionAnchorSetContextKey.set(!!this.decorationId), (0, d.Z9)( (0, r.N)( 'anchorSet', 'Anchor set at {0}:{1}', e.lineNumber, e.column ) ); } } goToSelectionAnchor() { if (this.editor.hasModel() && this.decorationId) { const e = this.editor .getModel() .getDecorationRange(this.decorationId); e && this.editor.setPosition(e.getStartPosition()); } } selectFromAnchorToCursor() { if (this.editor.hasModel() && this.decorationId) { const e = this.editor .getModel() .getDecorationRange(this.decorationId); if (e) { const t = this.editor.getPosition(); this.editor.setSelection( o.Y.fromPositions(e.getStartPosition(), t) ), this.cancelSelectionAnchor(); } } } cancelSelectionAnchor() { this.decorationId && (this.editor.deltaDecorations([this.decorationId], []), (this.decorationId = void 0), this.selectionAnchorSetContextKey.set(!1)); } dispose() { this.cancelSelectionAnchor(), this.modelChangeListener.dispose(); } }; var f, p; (g.ID = 'editor.contrib.selectionAnchorController'), (g = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((f = 1), (p = l.i6), function (e, t) { p(e, t, f); }), ], g )); class m extends n.R6 { constructor() { super({ id: 'editor.action.setSelectionAnchor', label: (0, r.N)('setSelectionAnchor', 'Set Selection Anchor'), alias: 'Set Selection Anchor', precondition: void 0, kbOpts: { kbExpr: s.u.editorTextFocus, primary: (0, a.gx)(2089, 2080), weight: 100, }, }); } run(e, t) { return h(this, void 0, void 0, function* () { g.get(t).setSelectionAnchor(); }); } } class _ extends n.R6 { constructor() { super({ id: 'editor.action.goToSelectionAnchor', label: (0, r.N)('goToSelectionAnchor', 'Go to Selection Anchor'), alias: 'Go to Selection Anchor', precondition: u, }); } run(e, t) { return h(this, void 0, void 0, function* () { g.get(t).goToSelectionAnchor(); }); } } class b extends n.R6 { constructor() { super({ id: 'editor.action.selectFromAnchorToCursor', label: (0, r.N)( 'selectFromAnchorToCursor', 'Select from Anchor to Cursor' ), alias: 'Select from Anchor to Cursor', precondition: u, kbOpts: { kbExpr: s.u.editorTextFocus, primary: (0, a.gx)(2089, 2089), weight: 100, }, }); } run(e, t) { return h(this, void 0, void 0, function* () { g.get(t).selectFromAnchorToCursor(); }); } } class v extends n.R6 { constructor() { super({ id: 'editor.action.cancelSelectionAnchor', label: (0, r.N)( 'cancelSelectionAnchor', 'Cancel Selection Anchor' ), alias: 'Cancel Selection Anchor', precondition: u, kbOpts: { kbExpr: s.u.editorTextFocus, primary: 9, weight: 100 }, }); } run(e, t) { return h(this, void 0, void 0, function* () { g.get(t).cancelSelectionAnchor(); }); } } (0, n._K)(g.ID, g), (0, n.Qr)(m), (0, n.Qr)(_), (0, n.Qr)(b), (0, n.Qr)(v); }, 17084: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { BracketMatchingController: () => w }); var n = i(63580), r = i(15393), s = i(5976), o = i(16830), a = i(50187), l = i(24314), c = i(3860), d = i(29102), h = i(84973), u = i(3411), g = i(27869), f = i(73910), p = i(97781), m = i(84144); const _ = (0, f.P6)( 'editorOverviewRuler.bracketMatchForeground', { dark: '#A0A0A0', light: '#A0A0A0', hc: '#A0A0A0' }, n.N( 'overviewRulerBracketMatchForeground', 'Overview ruler marker color for matching brackets.' ) ); class b extends o.R6 { constructor() { super({ id: 'editor.action.jumpToBracket', label: n.N('smartSelect.jumpBracket', 'Go to Bracket'), alias: 'Go to Bracket', precondition: void 0, kbOpts: { kbExpr: d.u.editorTextFocus, primary: 3160, weight: 100, }, }); } run(e, t) { let i = w.get(t); i && i.jumpToBracket(); } } class v extends o.R6 { constructor() { super({ id: 'editor.action.selectToBracket', label: n.N('smartSelect.selectToBracket', 'Select to Bracket'), alias: 'Select to Bracket', precondition: void 0, description: { description: 'Select to Bracket', args: [ { name: 'args', schema: { type: 'object', properties: { selectBrackets: { type: 'boolean', default: !0 }, }, }, }, ], }, }); } run(e, t, i) { const n = w.get(t); if (!n) return; let r = !0; i && !1 === i.selectBrackets && (r = !1), n.selectToBracket(r); } } class y { constructor(e, t, i) { (this.position = e), (this.brackets = t), (this.options = i); } } class w extends s.JT { constructor(e) { super(), (this._editor = e), (this._lastBracketsData = []), (this._lastVersionId = 0), (this._decorations = []), (this._updateBracketsSoon = this._register( new r.pY(() => this._updateBrackets(), 50) )), (this._matchBrackets = this._editor.getOption(55)), this._updateBracketsSoon.schedule(), this._register( e.onDidChangeCursorPosition((e) => { 'never' !== this._matchBrackets && this._updateBracketsSoon.schedule(); }) ), this._register( e.onDidChangeModelContent((e) => { this._updateBracketsSoon.schedule(); }) ), this._register( e.onDidChangeModel((e) => { (this._lastBracketsData = []), (this._decorations = []), this._updateBracketsSoon.schedule(); }) ), this._register( e.onDidChangeModelLanguageConfiguration((e) => { (this._lastBracketsData = []), this._updateBracketsSoon.schedule(); }) ), this._register( e.onDidChangeConfiguration((e) => { e.hasChanged(55) && ((this._matchBrackets = this._editor.getOption(55)), (this._decorations = this._editor.deltaDecorations( this._decorations, [] )), (this._lastBracketsData = []), (this._lastVersionId = 0), this._updateBracketsSoon.schedule()); }) ); } static get(e) { return e.getContribution(w.ID); } jumpToBracket() { if (!this._editor.hasModel()) return; const e = this._editor.getModel(), t = this._editor.getSelections().map((t) => { const i = t.getStartPosition(), n = e.matchBracket(i); let r = null; if (n) n[0].containsPosition(i) ? (r = n[1].getStartPosition()) : n[1].containsPosition(i) && (r = n[0].getStartPosition()); else { const t = e.findEnclosingBrackets(i); if (t) r = t[0].getStartPosition(); else { const t = e.findNextBracket(i); t && t.range && (r = t.range.getStartPosition()); } } return r ? new c.Y(r.lineNumber, r.column, r.lineNumber, r.column) : new c.Y(i.lineNumber, i.column, i.lineNumber, i.column); }); this._editor.setSelections(t), this._editor.revealRange(t[0]); } selectToBracket(e) { if (!this._editor.hasModel()) return; const t = this._editor.getModel(), i = []; this._editor.getSelections().forEach((n) => { const r = n.getStartPosition(); let s = t.matchBracket(r); if (!s && ((s = t.findEnclosingBrackets(r)), !s)) { const e = t.findNextBracket(r); e && e.range && (s = t.matchBracket(e.range.getStartPosition())); } let o = null, a = null; if (s) { s.sort(l.e.compareRangesUsingStarts); const [t, i] = s; (o = e ? t.getStartPosition() : t.getEndPosition()), (a = e ? i.getEndPosition() : i.getStartPosition()); } o && a && i.push(new c.Y(o.lineNumber, o.column, a.lineNumber, a.column)); }), i.length > 0 && (this._editor.setSelections(i), this._editor.revealRange(i[0])); } _updateBrackets() { if ('never' === this._matchBrackets) return; this._recomputeBrackets(); let e = [], t = 0; for (const i of this._lastBracketsData) { let n = i.brackets; n && ((e[t++] = { range: n[0], options: i.options }), (e[t++] = { range: n[1], options: i.options })); } this._decorations = this._editor.deltaDecorations( this._decorations, e ); } _recomputeBrackets() { if (!this._editor.hasModel()) return ( (this._lastBracketsData = []), void (this._lastVersionId = 0) ); const e = this._editor.getSelections(); if (e.length > 100) return ( (this._lastBracketsData = []), void (this._lastVersionId = 0) ); const t = this._editor.getModel(), i = t.getVersionId(); let n = []; this._lastVersionId === i && (n = this._lastBracketsData); let r = [], s = 0; for (let t = 0, i = e.length; t < i; t++) { let i = e[t]; i.isEmpty() && (r[s++] = i.getStartPosition()); } r.length > 1 && r.sort(a.L.compare); let o = [], l = 0, c = 0, d = n.length; for (let e = 0, i = r.length; e < i; e++) { let i = r[e]; for (; c < d && n[c].position.isBefore(i); ) c++; if (c < d && n[c].position.equals(i)) o[l++] = n[c]; else { let e = t.matchBracket(i), n = w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER; e || 'always' !== this._matchBrackets || ((e = t.findEnclosingBrackets(i, 20)), (n = w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER)), (o[l++] = new y(i, e, n)); } } (this._lastBracketsData = o), (this._lastVersionId = i); } } (w.ID = 'editor.contrib.bracketMatchingController'), (w._DECORATION_OPTIONS_WITH_OVERVIEW_RULER = u.qx.register({ stickiness: 1, className: 'bracket-match', overviewRuler: { color: (0, p.EN)(_), position: h.sh.Center }, })), (w._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = u.qx.register({ stickiness: 1, className: 'bracket-match', })), (0, o._K)(w.ID, w), (0, o.Qr)(v), (0, o.Qr)(b), (0, p.Ic)((e, t) => { const i = e.getColor(g.TC); i && t.addRule( `.monaco-editor .bracket-match { background-color: ${i}; }` ); const n = e.getColor(g.Dl); n && t.addRule( `.monaco-editor .bracket-match { border: 1px solid ${n}; }` ); }), m.BH.appendMenuItem(m.eH.MenubarGoMenu, { group: '5_infile_nav', command: { id: 'editor.action.jumpToBracket', title: n.N( { key: 'miGoToBracket', comment: ['&& denotes a mnemonic'] }, 'Go to &&Bracket' ), }, order: 2, }); }, 84594: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(16830), s = i(29102), o = i(24314), a = i(3860); class l { constructor(e, t) { (this._selection = e), (this._isMovingLeft = t); } getEditOperations(e, t) { if ( this._selection.startLineNumber !== this._selection.endLineNumber || this._selection.isEmpty() ) return; const i = this._selection.startLineNumber, n = this._selection.startColumn, r = this._selection.endColumn; if ( (!this._isMovingLeft || 1 !== n) && (this._isMovingLeft || r !== e.getLineMaxColumn(i)) ) if (this._isMovingLeft) { const s = new o.e(i, n - 1, i, n), a = e.getValueInRange(s); t.addEditOperation(s, null), t.addEditOperation(new o.e(i, r, i, r), a); } else { const s = new o.e(i, r, i, r + 1), a = e.getValueInRange(s); t.addEditOperation(s, null), t.addEditOperation(new o.e(i, n, i, n), a); } } computeCursorState(e, t) { return this._isMovingLeft ? new a.Y( this._selection.startLineNumber, this._selection.startColumn - 1, this._selection.endLineNumber, this._selection.endColumn - 1 ) : new a.Y( this._selection.startLineNumber, this._selection.startColumn + 1, this._selection.endLineNumber, this._selection.endColumn + 1 ); } } class c extends r.R6 { constructor(e, t) { super(t), (this.left = e); } run(e, t) { if (!t.hasModel()) return; let i = [], n = t.getSelections(); for (const e of n) i.push(new l(e, this.left)); t.pushUndoStop(), t.executeCommands(this.id, i), t.pushUndoStop(); } } (0, r.Qr)( class extends c { constructor() { super(!0, { id: 'editor.action.moveCarretLeftAction', label: n.N('caret.moveLeft', 'Move Selected Text Left'), alias: 'Move Selected Text Left', precondition: s.u.writable, }); } } ), (0, r.Qr)( class extends c { constructor() { super(!1, { id: 'editor.action.moveCarretRightAction', label: n.N('caret.moveRight', 'Move Selected Text Right'), alias: 'Move Selected Text Right', precondition: s.u.writable, }); } } ); }, 77847: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(16830), s = i(61329), o = i(24314), a = i(29102), l = i(88784); class c extends r.R6 { constructor() { super({ id: 'editor.action.transposeLetters', label: n.N('transposeLetters.label', 'Transpose Letters'), alias: 'Transpose Letters', precondition: a.u.writable, kbOpts: { kbExpr: a.u.textInputFocus, primary: 0, mac: { primary: 306 }, weight: 100, }, }); } run(e, t) { if (!t.hasModel()) return; let i = t.getModel(), n = [], r = t.getSelections(); for (let e of r) { if (!e.isEmpty()) continue; let t = e.startLineNumber, r = e.startColumn, a = i.getLineMaxColumn(t); if (1 === t && (1 === r || (2 === r && 2 === a))) continue; let c = r === a ? e.getPosition() : l.o.rightPosition( i, e.getPosition().lineNumber, e.getPosition().column ), d = l.o.leftPosition(i, c.lineNumber, c.column), h = l.o.leftPosition(i, d.lineNumber, d.column), u = i.getValueInRange(o.e.fromPositions(h, d)), g = i.getValueInRange(o.e.fromPositions(d, c)), f = o.e.fromPositions(h, c); n.push(new s.T4(f, g + u)); } n.length > 0 && (t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop()); } } (0, r.Qr)(c); }, 62015: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CutAction: () => b, CopyAction: () => v, PasteAction: () => y, }); var n = i(63580), r = i(16268), s = i(1432), o = i(35715), a = i(16830), l = i(11640), c = i(29102), d = i(84144), h = i(84972); const u = '9_cutcopypaste', g = s.tY || document.queryCommandSupported('cut'), f = s.tY || document.queryCommandSupported('copy'), p = f && !r.un, m = !r.vU || document.queryCommandSupported('paste'); function _(e) { return e.register(), e; } const b = g ? _( new a.AJ({ id: 'editor.action.clipboardCutAction', precondition: void 0, kbOpts: s.tY ? { primary: 2102, win: { primary: 2102, secondary: [1044] }, weight: 100, } : void 0, menuOpts: [ { menuId: d.eH.MenubarEditMenu, group: '2_ccp', title: n.N( { key: 'miCut', comment: ['&& denotes a mnemonic'] }, 'Cu&&t' ), order: 1, }, { menuId: d.eH.EditorContext, group: u, title: n.N('actions.clipboard.cutLabel', 'Cut'), when: c.u.writable, order: 1, }, { menuId: d.eH.CommandPalette, group: '', title: n.N('actions.clipboard.cutLabel', 'Cut'), order: 1, }, ], }) ) : void 0, v = f ? _( new a.AJ({ id: 'editor.action.clipboardCopyAction', precondition: void 0, kbOpts: s.tY ? { primary: 2081, win: { primary: 2081, secondary: [2067] }, weight: 100, } : void 0, menuOpts: [ { menuId: d.eH.MenubarEditMenu, group: '2_ccp', title: n.N( { key: 'miCopy', comment: ['&& denotes a mnemonic'] }, '&&Copy' ), order: 2, }, { menuId: d.eH.EditorContext, group: u, title: n.N('actions.clipboard.copyLabel', 'Copy'), order: 2, }, { menuId: d.eH.CommandPalette, group: '', title: n.N('actions.clipboard.copyLabel', 'Copy'), order: 1, }, ], }) ) : void 0, y = m ? _( new a.AJ({ id: 'editor.action.clipboardPasteAction', precondition: void 0, kbOpts: s.tY ? { primary: 2100, win: { primary: 2100, secondary: [1043] }, linux: { primary: 2100, secondary: [1043] }, weight: 100, } : void 0, menuOpts: [ { menuId: d.eH.MenubarEditMenu, group: '2_ccp', title: n.N( { key: 'miPaste', comment: ['&& denotes a mnemonic'] }, '&&Paste' ), order: 3, }, { menuId: d.eH.EditorContext, group: u, title: n.N('actions.clipboard.pasteLabel', 'Paste'), when: c.u.writable, order: 3, }, { menuId: d.eH.CommandPalette, group: '', title: n.N('actions.clipboard.pasteLabel', 'Paste'), order: 1, }, ], }) ) : void 0; class w extends a.R6 { constructor() { super({ id: 'editor.action.clipboardCopyWithSyntaxHighlightingAction', label: n.N( 'actions.clipboard.copyWithSyntaxHighlightingLabel', 'Copy With Syntax Highlighting' ), alias: 'Copy With Syntax Highlighting', precondition: void 0, kbOpts: { kbExpr: c.u.textInputFocus, primary: 0, weight: 100 }, }); } run(e, t) { t.hasModel() && ((!t.getOption(26) && t.getSelection().isEmpty()) || ((o.RA.forceCopyWithSyntaxHighlighting = !0), t.focus(), document.execCommand('copy'), (o.RA.forceCopyWithSyntaxHighlighting = !1))); } } function C(e, t) { e && (e.addImplementation(1e4, (e, i) => { const n = e.get(l.$).getFocusedCodeEditor(); if (n && n.hasTextFocus()) { const e = n.getOption(26), i = n.getSelection(); return (i && i.isEmpty() && !e) || document.execCommand(t), !0; } return !1; }), e.addImplementation(0, (e, i) => (document.execCommand(t), !0))); } C(b, 'cut'), C(v, 'copy'), y && (y.addImplementation(1e4, (e, t) => { const i = e.get(l.$), n = e.get(h.p), r = i.getFocusedCodeEditor(); return ( !(!r || !r.hasTextFocus()) && !( !document.execCommand('paste') && s.$L && ((a = void 0), (c = void 0), (d = void 0), (u = function* () { const e = yield n.readText(); if ('' !== e) { const t = o.Nl.INSTANCE.get(e); let i = !1, n = null, s = null; t && ((i = r.getOption(26) && !!t.isFromEmptySelection), (n = void 0 !== t.multicursorText ? t.multicursorText : null), (s = t.mode)), r.trigger('keyboard', 'paste', { text: e, pasteOnNewLine: i, multicursorText: n, mode: s, }); } }), new (d || (d = Promise))(function (e, t) { function i(e) { try { r(u.next(e)); } catch (e) { t(e); } } function n(e) { try { r(u.throw(e)); } catch (e) { t(e); } } function r(t) { var r; t.done ? e(t.value) : ((r = t.value), r instanceof d ? r : new d(function (e) { e(r); })).then(i, n); } r((u = u.apply(a, c || [])).next()); }), 0) ) ); var a, c, d, u; }), y.addImplementation( 0, (e, t) => (document.execCommand('paste'), !0) )), p && (0, a.Qr)(w); }, 31907: (e, t, i) => { 'use strict'; i.d(t, { RB: () => _, Bb: () => b, MN: () => v, uH: () => y, TM: () => w, aI: () => k, }); var n = i(9488), r = i(71050), s = i(17301), o = i(5976), a = i(70666), l = i(39925), c = i(16830), d = i(24314), h = i(3860), u = i(43775), g = i(51200), f = i(89532), p = i(90535), m = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const _ = 'editor.action.codeAction', b = 'editor.action.refactor', v = 'editor.action.sourceAction', y = 'editor.action.organizeImports', w = 'editor.action.fixAll'; class C extends o.JT { constructor(e, t, i) { super(), (this.documentation = t), this._register(i), (this.allActions = (0, n.qt)([...e], C.codeActionsComparator)), (this.validActions = this.allActions.filter((e) => !e.disabled)); } static codeActionsComparator(e, t) { return e.isPreferred && !t.isPreferred ? -1 : !e.isPreferred && t.isPreferred ? 1 : (0, n.Of)(e.diagnostics) ? (0, n.Of)(t.diagnostics) ? e.diagnostics[0].message.localeCompare( t.diagnostics[0].message ) : -1 : (0, n.Of)(t.diagnostics) ? 1 : 0; } get hasAutoFix() { return this.validActions.some( (e) => !!e.kind && f.yN.QuickFix.contains(new f.yN(e.kind)) && !!e.isPreferred ); } } const S = { actions: [], documentation: void 0 }; function k(e, t, i, r, a) { var c; const d = i.filter || {}, h = { only: null === (c = d.include) || void 0 === c ? void 0 : c.value, trigger: i.type, }, g = new l.YQ(e, a), p = (function (e, t) { return u.H9.all(e).filter( (e) => !e.providedCodeActionKinds || e.providedCodeActionKinds.some((e) => (0, f.EU)(t, new f.yN(e)) ) ); })(e, d), _ = new o.SL(), b = p.map((i) => m(this, void 0, void 0, function* () { try { r.report(i); const n = yield i.provideCodeActions(e, t, h, g.token); if ((n && _.add(n), g.token.isCancellationRequested)) return S; const s = ((null == n ? void 0 : n.actions) || []).filter( (e) => e && (0, f.Yl)(d, e) ); return { actions: s, documentation: (function (e, t, i) { if (!e.documentation) return; const n = e.documentation.map((e) => ({ kind: new f.yN(e.kind), command: e.command, })); if (i) { let e; for (const t of n) t.kind.contains(i) && (e ? e.kind.contains(t.kind) && (e = t) : (e = t)); if (e) return null == e ? void 0 : e.command; } for (const e of t) if (e.kind) for (const t of n) if (t.kind.contains(new f.yN(e.kind))) return t.command; })(i, s, d.include), }; } catch (e) { if ((0, s.VV)(e)) throw e; return (0, s.Cp)(e), S; } }) ), v = u.H9.onDidChange(() => { const t = u.H9.all(e); (0, n.fS)(t, p) || g.cancel(); }); return Promise.all(b) .then((e) => { const t = (0, n.xH)(e.map((e) => e.actions)), i = (0, n.kX)(e.map((e) => e.documentation)); return new C(t, i, _); }) .finally(() => { v.dispose(), g.dispose(); }); } (0, c._h)('_executeCodeActionProvider', function (e, t) { return m(this, void 0, void 0, function* () { const { resource: i, rangeOrSelection: n, kind: o } = t; if (!(i instanceof a.o)) throw (0, s.b1)(); const l = e.get(g.q).getModel(i); if (!l) throw (0, s.b1)(); const c = h.Y.isISelection(n) ? h.Y.liftSelection(n) : d.e.isIRange(n) ? l.validateRange(n) : void 0; if (!c) throw (0, s.b1)(); const u = yield k( l, c, { type: 2, filter: { includeSourceActions: !0, include: o && o.value ? new f.yN(o.value) : void 0, }, }, p.E.None, r.T.None ); return setTimeout(() => u.dispose(), 100), u.validActions; }); }); }, 23674: (e, t, i) => { 'use strict'; i.d(t, { S5: () => de, dW: () => se, Hv: () => ce, o$: () => le, E7: () => re, pY: () => te, Eb: () => oe, VQ: () => ae, }); class n { constructor(e) { (this.executor = e), (this._didRun = !1); } getValue() { if (!this._didRun) try { this._value = this.executor(); } catch (e) { this._error = e; } finally { this._didRun = !0; } if (this._error) throw this._error; return this._value; } get rawValue() { return this._value; } } var r = i(5976), s = i(97295), o = i(16830), a = i(66007), l = i(29102), c = i(31907), d = i(17301), h = i(82276), u = i(72065), g = i(65321), f = i(74741), p = i(50187), m = i(43775), _ = i(89532), b = i(5606), v = i(91847), y = function (e, t) { return function (i, n) { t(i, n, e); }; }; class w extends f.aU { constructor(e, t) { super( e.command ? e.command.id : e.title, e.title, void 0, !e.disabled, t ), (this.action = e); } } let C = class extends r.JT { constructor(e, t, i, n) { super(), (this._editor = e), (this._delegate = t), (this._contextMenuService = i), (this._visible = !1), (this._showingActions = this._register(new r.XK())), (this._keybindingResolver = new S({ getKeybindings: () => n.getKeybindings(), })); } get isVisible() { return this._visible; } show(e, t, i, n) { return ( (r = this), (s = void 0), (a = function* () { const r = n.includeDisabledActions ? t.allActions : t.validActions; if (!r.length) return void (this._visible = !1); if (!this._editor.getDomNode()) throw ((this._visible = !1), (0, d.F0)()); (this._visible = !0), (this._showingActions.value = t); const s = this.getMenuActions(e, r, t.documentation), o = p.L.isIPosition(i) ? this._toCoords(i) : i || { x: 0, y: 0 }, a = this._keybindingResolver.getResolver(); this._contextMenuService.showContextMenu({ domForShadowRoot: this._editor.getDomNode(), getAnchor: () => o, getActions: () => s, onHide: () => { (this._visible = !1), this._editor.focus(); }, autoSelectFirstItem: !0, getKeyBinding: (e) => (e instanceof w ? a(e.action) : void 0), }); }), new ((o = void 0) || (o = Promise))(function (e, t) { function i(e) { try { l(a.next(e)); } catch (e) { t(e); } } function n(e) { try { l(a.throw(e)); } catch (e) { t(e); } } function l(t) { var r; t.done ? e(t.value) : ((r = t.value), r instanceof o ? r : new o(function (e) { e(r); })).then(i, n); } l((a = a.apply(r, s || [])).next()); }) ); var r, s, o, a; } getMenuActions(e, t, i) { var n, r; const s = (e) => new w(e, () => this._delegate.onSelectCodeAction(e)), o = t.map(s), a = [...i], l = this._editor.getModel(); if (l && o.length) for (const i of m.H9.all(l)) i._getAdditionalMenuItems && a.push( ...i._getAdditionalMenuItems( { trigger: e.type, only: null === (r = null === (n = e.filter) || void 0 === n ? void 0 : n.include) || void 0 === r ? void 0 : r.value, }, t ) ); return ( a.length && o.push( new f.Z0(), ...a.map((e) => s({ title: e.title, command: e })) ), o ); } _toCoords(e) { if (!this._editor.hasModel()) return { x: 0, y: 0 }; this._editor.revealPosition(e, 1), this._editor.render(); const t = this._editor.getScrolledVisiblePosition(e), i = (0, g.i)(this._editor.getDomNode()); return { x: i.left + t.left, y: i.top + t.top + t.height }; } }; C = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([y(2, b.i), y(3, v.d)], C); class S { constructor(e) { this._keybindingProvider = e; } getResolver() { const e = new n(() => this._keybindingProvider .getKeybindings() .filter((e) => S.codeActionCommands.indexOf(e.command) >= 0) .filter((e) => e.resolvedKeybinding) .map((e) => { let t = e.commandArgs; return ( e.command === c.uH ? (t = { kind: _.yN.SourceOrganizeImports.value }) : e.command === c.TM && (t = { kind: _.yN.SourceFixAll.value }), Object.assign( { resolvedKeybinding: e.resolvedKeybinding }, _.wZ.fromUser(t, { kind: _.yN.None, apply: 'never' }) ) ); }) ); return (t) => { if (t.kind) { const i = this.bestKeybindingForCodeAction(t, e.getValue()); return null == i ? void 0 : i.resolvedKeybinding; } }; } bestKeybindingForCodeAction(e, t) { if (!e.kind) return; const i = new _.yN(e.kind); return t .filter((e) => e.kind.contains(i)) .filter((t) => !t.preferred || e.isPreferred) .reduceRight( (e, t) => (e ? (e.kind.contains(t.kind) ? t : e) : t), void 0 ); } } S.codeActionCommands = [c.Bb, c.RB, c.MN, c.uH, c.TM]; var k, x = i(57974), L = i(4669), M = i(3411), D = i(63580), N = i(97781), E = i(73910), T = i(10553), I = i(73046); !(function (e) { (e.Hidden = { type: 0 }), (e.Showing = class { constructor(e, t, i, n) { (this.actions = e), (this.trigger = t), (this.editorPosition = i), (this.widgetPosition = n), (this.type = 1); } }); })(k || (k = {})); let O = class e extends r.JT { constructor(e, t, i, n) { super(), (this._editor = e), (this._quickFixActionId = t), (this._preferredFixActionId = i), (this._keybindingService = n), (this._onClick = this._register(new L.Q5())), (this.onClick = this._onClick.event), (this._state = k.Hidden), (this._domNode = document.createElement('div')), (this._domNode.className = I.lA.lightBulb.classNames), this._editor.addContentWidget(this), this._register( this._editor.onDidChangeModelContent((e) => { const t = this._editor.getModel(); (1 !== this.state.type || !t || this.state.editorPosition.lineNumber >= t.getLineCount()) && this.hide(); }) ), T.o.ignoreTarget(this._domNode), this._register( g.Gw(this._domNode, (e) => { if (1 !== this.state.type) return; this._editor.focus(), e.preventDefault(); const { top: t, height: i } = g.i(this._domNode), n = this._editor.getOption(51); let r = Math.floor(n / 3); null !== this.state.widgetPosition.position && this.state.widgetPosition.position.lineNumber < this.state.editorPosition.lineNumber && (r += n), this._onClick.fire({ x: e.posx, y: t + i + r, actions: this.state.actions, trigger: this.state.trigger, }); }) ), this._register( g.nm(this._domNode, 'mouseenter', (e) => { if (1 != (1 & e.buttons)) return; this.hide(); const t = new x.Z(); t.startMonitoring( e.target, e.buttons, x.e, () => {}, () => { t.dispose(); } ); }) ), this._register( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(49) && !this._editor.getOption(49).enabled && this.hide(); }) ), this._updateLightBulbTitleAndIcon(), this._register( this._keybindingService.onDidUpdateKeybindings( this._updateLightBulbTitleAndIcon, this ) ); } dispose() { super.dispose(), this._editor.removeContentWidget(this); } getId() { return 'LightBulbWidget'; } getDomNode() { return this._domNode; } getPosition() { return 1 === this._state.type ? this._state.widgetPosition : null; } update(t, i, n) { if (t.validActions.length <= 0) return this.hide(); const r = this._editor.getOptions(); if (!r.get(49).enabled) return this.hide(); const s = this._editor.getModel(); if (!s) return this.hide(); const { lineNumber: o, column: a } = s.validatePosition(n), l = s.getOptions().tabSize, c = r.get(36), d = s.getLineContent(o), h = M.yO.computeIndentLevel(d, l), u = (e) => e > 2 && this._editor.getTopForLineNumber(e) === this._editor.getTopForLineNumber(e - 1); let g = o; if (!(c.spaceWidth * h > 22)) if (o > 1 && !u(o - 1)) g -= 1; else if (u(o + 1)) { if (a * c.spaceWidth < 22) return this.hide(); } else g += 1; (this.state = new k.Showing(t, i, n, { position: { lineNumber: g, column: 1 }, preference: e._posPref, })), this._editor.layoutContentWidget(this); } hide() { (this.state = k.Hidden), this._editor.layoutContentWidget(this); } get state() { return this._state; } set state(e) { (this._state = e), this._updateLightBulbTitleAndIcon(); } _updateLightBulbTitleAndIcon() { if (1 === this.state.type && this.state.actions.hasAutoFix) { g.GK(this._domNode, I.lA.lightBulb.classNames), g.PT(this._domNode, I.lA.lightbulbAutofix.classNames); const e = this._keybindingService.lookupKeybinding( this._preferredFixActionId ); if (e) return void (this.title = D.N( 'prefferedQuickFixWithKb', 'Show Fixes. Preferred Fix Available ({0})', e.getLabel() )); } g.GK(this._domNode, I.lA.lightbulbAutofix.classNames), g.PT(this._domNode, I.lA.lightBulb.classNames); const e = this._keybindingService.lookupKeybinding( this._quickFixActionId ); this.title = e ? D.N('quickFixWithKb', 'Show Fixes ({0})', e.getLabel()) : D.N('quickFix', 'Show Fixes'); } set title(e) { this._domNode.title = e; } }; var A, R; (O._posPref = [0]), (O = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((A = 3), (R = v.d), function (e, t) { R(e, t, A); }), ], O )), (0, N.Ic)((e, t) => { const i = e.getColor(E.Fu); i && t.addRule( `\n\t\t.monaco-editor .contentWidgets ${I.lA.lightBulb.cssSelector} {\n\t\t\tcolor: ${i};\n\t\t}` ); const n = e.getColor(E.sK); n && t.addRule( `\n\t\t.monaco-editor .contentWidgets ${I.lA.lightbulbAutofix.cssSelector} {\n\t\t\tcolor: ${n};\n\t\t}` ); }); var P = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; let F = class extends r.JT { constructor(e, t, i, s, o) { super(), (this._editor = e), (this.delegate = s), (this._activeCodeActions = this._register(new r.XK())), (this._codeActionWidget = new n(() => this._register( o.createInstance(C, this._editor, { onSelectCodeAction: (e) => P(this, void 0, void 0, function* () { this.delegate.applyCodeAction(e, !0); }), }) ) )), (this._lightBulbWidget = new n(() => { const e = this._register( o.createInstance(O, this._editor, t, i) ); return ( this._register( e.onClick((e) => this.showCodeActionList(e.trigger, e.actions, e, { includeDisabledActions: !1, }) ) ), e ); })); } update(e) { var t, i, n; return P(this, void 0, void 0, function* () { if (1 !== e.type) return void ( null === (t = this._lightBulbWidget.rawValue) || void 0 === t || t.hide() ); let r; try { r = yield e.actions; } catch (e) { return void (0, d.dL)(e); } if ( (this._lightBulbWidget .getValue() .update(r, e.trigger, e.position), 2 === e.trigger.type) ) { if ( null === (i = e.trigger.filter) || void 0 === i ? void 0 : i.include ) { const t = this.tryGetValidActionToApply(e.trigger, r); if (t) { try { yield this.delegate.applyCodeAction(t, !1); } finally { r.dispose(); } return; } if (e.trigger.context) { const t = this.getInvalidActionThatWouldHaveBeenApplied( e.trigger, r ); if (t && t.disabled) return ( h.O.get(this._editor).showMessage( t.disabled, e.trigger.context.position ), void r.dispose() ); } } const t = !!(null === (n = e.trigger.filter) || void 0 === n ? void 0 : n.include); if ( e.trigger.context && (!r.allActions.length || (!t && !r.validActions.length)) ) return ( h.O.get(this._editor).showMessage( e.trigger.context.notAvailableMessage, e.trigger.context.position ), (this._activeCodeActions.value = r), void r.dispose() ); (this._activeCodeActions.value = r), this._codeActionWidget .getValue() .show(e.trigger, r, e.position, { includeDisabledActions: t, }); } else this._codeActionWidget.getValue().isVisible ? r.dispose() : (this._activeCodeActions.value = r); }); } getInvalidActionThatWouldHaveBeenApplied(e, t) { if (t.allActions.length) return ('first' === e.autoApply && 0 === t.validActions.length) || ('ifSingle' === e.autoApply && 1 === t.allActions.length) ? t.allActions.find((e) => e.disabled) : void 0; } tryGetValidActionToApply(e, t) { if (t.validActions.length) return ('first' === e.autoApply && t.validActions.length > 0) || ('ifSingle' === e.autoApply && 1 === t.validActions.length) ? t.validActions[0] : void 0; } showCodeActionList(e, t, i, n) { return P(this, void 0, void 0, function* () { this._codeActionWidget.getValue().show(e, t, i, n); }); } }; F = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ (function (e, t) { return function (i, n) { t(i, n, e); }; })(4, u.TG), ], F ); var B = i(94565), W = i(38819), Y = i(98674), H = i(59422), j = i(90535), V = i(10829), z = i(15393), U = i(24314), $ = i(95935); const K = new W.uy('supportedCodeAction', ''); class q extends r.JT { constructor(e, t, i, n = 250) { super(), (this._editor = e), (this._markerService = t), (this._signalChange = i), (this._delay = n), (this._autoTriggerTimer = this._register(new z._F())), this._register( this._markerService.onMarkerChanged((e) => this._onMarkerChanges(e) ) ), this._register( this._editor.onDidChangeCursorPosition(() => this._onCursorChange() ) ); } trigger(e) { const t = this._getRangeOfSelectionUnlessWhitespaceEnclosed(e); return this._createEventAndSignalChange(e, t); } _onMarkerChanges(e) { const t = this._editor.getModel(); t && e.some((e) => (0, $.Xy)(e, t.uri)) && this._autoTriggerTimer.cancelAndSet(() => { this.trigger({ type: 1 }); }, this._delay); } _onCursorChange() { this._autoTriggerTimer.cancelAndSet(() => { this.trigger({ type: 1 }); }, this._delay); } _getRangeOfMarker(e) { const t = this._editor.getModel(); if (t) for (const i of this._markerService.read({ resource: t.uri })) { const n = t.validateRange(i); if (U.e.intersectRanges(n, e)) return U.e.lift(n); } } _getRangeOfSelectionUnlessWhitespaceEnclosed(e) { if (!this._editor.hasModel()) return; const t = this._editor.getModel(), i = this._editor.getSelection(); if (i.isEmpty() && 1 === e.type) { const { lineNumber: e, column: n } = i.getPosition(), r = t.getLineContent(e); if (0 === r.length) return; if (1 === n) { if (/\s/.test(r[0])) return; } else if (n === t.getLineMaxColumn(e)) { if (/\s/.test(r[r.length - 1])) return; } else if (/\s/.test(r[n - 2]) && /\s/.test(r[n - 1])) return; } return i; } _createEventAndSignalChange(e, t) { const i = this._editor.getModel(); if (!t || !i) return void this._signalChange(void 0); const n = this._getRangeOfMarker(t), r = n ? n.getStartPosition() : t.getStartPosition(), s = { trigger: e, selection: t, position: r }; return this._signalChange(s), s; } } var G; !(function (e) { (e.Empty = { type: 0 }), (e.Triggered = class { constructor(e, t, i, n) { (this.trigger = e), (this.rangeOrSelection = t), (this.position = i), (this.actions = n), (this.type = 1); } }); })(G || (G = {})); class Z extends r.JT { constructor(e, t, i, n) { super(), (this._editor = e), (this._markerService = t), (this._progressService = n), (this._codeActionOracle = this._register(new r.XK())), (this._state = G.Empty), (this._onDidChangeState = this._register(new L.Q5())), (this.onDidChangeState = this._onDidChangeState.event), (this._supportedCodeActions = K.bindTo(i)), this._register( this._editor.onDidChangeModel(() => this._update()) ), this._register( this._editor.onDidChangeModelLanguage(() => this._update()) ), this._register(m.H9.onDidChange(() => this._update())), this._update(); } dispose() { super.dispose(), this.setState(G.Empty, !0); } _update() { (this._codeActionOracle.value = void 0), this.setState(G.Empty); const e = this._editor.getModel(); if (e && m.H9.has(e) && !this._editor.getOption(72)) { const t = []; for (const i of m.H9.all(e)) Array.isArray(i.providedCodeActionKinds) && t.push(...i.providedCodeActionKinds); this._supportedCodeActions.set(t.join(' ')), (this._codeActionOracle.value = new q( this._editor, this._markerService, (t) => { var i; if (!t) return void this.setState(G.Empty); const n = (0, z.PG)((i) => (0, c.aI)(e, t.selection, t.trigger, j.E.None, i) ); 2 === t.trigger.type && (null === (i = this._progressService) || void 0 === i || i.showWhile(n, 250)), this.setState( new G.Triggered(t.trigger, t.selection, t.position, n) ); }, void 0 )), this._codeActionOracle.value.trigger({ type: 1 }); } else this._supportedCodeActions.reset(); } trigger(e) { this._codeActionOracle.value && this._codeActionOracle.value.trigger(e); } setState(e, t) { e !== this._state && (1 === this._state.type && this._state.actions.cancel(), (this._state = e), t || this._onDidChangeState.fire(e)); } } var J = function (e, t) { return function (i, n) { t(i, n, e); }; }, Q = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function X(e) { return W.Ao.regex( K.keys()[0], new RegExp('(\\s|^)' + (0, s.ec)(e.value) + '\\b') ); } const ee = { type: 'object', defaultSnippets: [{ body: { kind: '' } }], properties: { kind: { type: 'string', description: D.N( 'args.schema.kind', 'Kind of the code action to run.' ), }, apply: { type: 'string', description: D.N( 'args.schema.apply', 'Controls when the returned actions are applied.' ), default: 'ifSingle', enum: ['first', 'ifSingle', 'never'], enumDescriptions: [ D.N( 'args.schema.apply.first', 'Always apply the first returned code action.' ), D.N( 'args.schema.apply.ifSingle', 'Apply the first returned code action if it is the only one.' ), D.N( 'args.schema.apply.never', 'Do not apply the returned code actions.' ), ], }, preferred: { type: 'boolean', default: !1, description: D.N( 'args.schema.preferred', 'Controls if only preferred code actions should be returned.' ), }, }, }; let te = class e extends r.JT { constructor(e, t, i, r, s) { super(), (this._instantiationService = s), (this._editor = e), (this._model = this._register(new Z(this._editor, t, i, r))), this._register( this._model.onDidChangeState((e) => this.update(e)) ), (this._ui = new n(() => this._register( new F( e, re.Id, de.Id, { applyCodeAction: (e, t) => Q(this, void 0, void 0, function* () { try { yield this._applyCodeAction(e); } finally { t && this._trigger({ type: 1, filter: {} }); } }), }, this._instantiationService ) ) )); } static get(t) { return t.getContribution(e.ID); } update(e) { this._ui.getValue().update(e); } showCodeActions(e, t, i) { return this._ui .getValue() .showCodeActionList(e, t, i, { includeDisabledActions: !1 }); } manualTriggerAtCurrentPosition(e, t, i) { if (!this._editor.hasModel()) return; h.O.get(this._editor).closeMessage(); const n = this._editor.getPosition(); this._trigger({ type: 2, filter: t, autoApply: i, context: { notAvailableMessage: e, position: n }, }); } _trigger(e) { return this._model.trigger(e); } _applyCodeAction(e) { return this._instantiationService.invokeFunction( ie, e, this._editor ); } }; function ie(e, t, i) { return Q(this, void 0, void 0, function* () { const n = e.get(a.vu), r = e.get(B.H), s = e.get(V.b), o = e.get(H.lT); if ( (s.publicLog2('codeAction.applyCodeAction', { codeActionTitle: t.title, codeActionKind: t.kind, codeActionIsPreferred: !!t.isPreferred, }), t.edit && (yield n.apply(a.fo.convert(t.edit), { editor: i, label: t.title, })), t.command) ) try { yield r.executeCommand( t.command.id, ...(t.command.arguments || []) ); } catch (e) { const t = (function (e) { return 'string' == typeof e ? e : e instanceof Error && 'string' == typeof e.message ? e.message : void 0; })(e); o.error( 'string' == typeof t ? t : D.N( 'applyCodeActionFailed', 'An unknown error occurred while applying the code action' ) ); } }); } function ne(e, t, i, n) { if (e.hasModel()) { const r = te.get(e); r && r.manualTriggerAtCurrentPosition(t, i, n); } } (te.ID = 'editor.contrib.quickFixController'), (te = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([J(1, Y.lT), J(2, W.i6), J(3, j.e), J(4, u.TG)], te)); class re extends o.R6 { constructor() { super({ id: re.Id, label: D.N('quickfix.trigger.label', 'Quick Fix...'), alias: 'Quick Fix...', precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), kbOpts: { kbExpr: l.u.editorTextFocus, primary: 2132, weight: 100, }, }); } run(e, t) { return ne( t, D.N( 'editor.action.quickFix.noneMessage', 'No code actions available' ), void 0, void 0 ); } } re.Id = 'editor.action.quickFix'; class se extends o._l { constructor() { super({ id: c.RB, precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), description: { description: 'Trigger a code action', args: [{ name: 'args', schema: ee }], }, }); } runEditorCommand(e, t, i) { const n = _.wZ.fromUser(i, { kind: _.yN.Empty, apply: 'ifSingle' }); return ne( t, 'string' == typeof (null == i ? void 0 : i.kind) ? n.preferred ? D.N( 'editor.action.codeAction.noneMessage.preferred.kind', "No preferred code actions for '{0}' available", i.kind ) : D.N( 'editor.action.codeAction.noneMessage.kind', "No code actions for '{0}' available", i.kind ) : n.preferred ? D.N( 'editor.action.codeAction.noneMessage.preferred', 'No preferred code actions available' ) : D.N( 'editor.action.codeAction.noneMessage', 'No code actions available' ), { include: n.kind, includeSourceActions: !0, onlyIncludePreferredActions: n.preferred, }, n.apply ); } } class oe extends o.R6 { constructor() { super({ id: c.Bb, label: D.N('refactor.label', 'Refactor...'), alias: 'Refactor...', precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), kbOpts: { kbExpr: l.u.editorTextFocus, primary: 3120, mac: { primary: 1328 }, weight: 100, }, contextMenuOpts: { group: '1_modification', order: 2, when: W.Ao.and(l.u.writable, X(_.yN.Refactor)), }, description: { description: 'Refactor...', args: [{ name: 'args', schema: ee }], }, }); } run(e, t, i) { const n = _.wZ.fromUser(i, { kind: _.yN.Refactor, apply: 'never' }); return ne( t, 'string' == typeof (null == i ? void 0 : i.kind) ? n.preferred ? D.N( 'editor.action.refactor.noneMessage.preferred.kind', "No preferred refactorings for '{0}' available", i.kind ) : D.N( 'editor.action.refactor.noneMessage.kind', "No refactorings for '{0}' available", i.kind ) : n.preferred ? D.N( 'editor.action.refactor.noneMessage.preferred', 'No preferred refactorings available' ) : D.N( 'editor.action.refactor.noneMessage', 'No refactorings available' ), { include: _.yN.Refactor.contains(n.kind) ? n.kind : _.yN.None, onlyIncludePreferredActions: n.preferred, }, n.apply ); } } class ae extends o.R6 { constructor() { super({ id: c.MN, label: D.N('source.label', 'Source Action...'), alias: 'Source Action...', precondition: W.Ao.and(l.u.writable, l.u.hasCodeActionsProvider), contextMenuOpts: { group: '1_modification', order: 2.1, when: W.Ao.and(l.u.writable, X(_.yN.Source)), }, description: { description: 'Source Action...', args: [{ name: 'args', schema: ee }], }, }); } run(e, t, i) { const n = _.wZ.fromUser(i, { kind: _.yN.Source, apply: 'never' }); return ne( t, 'string' == typeof (null == i ? void 0 : i.kind) ? n.preferred ? D.N( 'editor.action.source.noneMessage.preferred.kind', "No preferred source actions for '{0}' available", i.kind ) : D.N( 'editor.action.source.noneMessage.kind', "No source actions for '{0}' available", i.kind ) : n.preferred ? D.N( 'editor.action.source.noneMessage.preferred', 'No preferred source actions available' ) : D.N( 'editor.action.source.noneMessage', 'No source actions available' ), { include: _.yN.Source.contains(n.kind) ? n.kind : _.yN.None, includeSourceActions: !0, onlyIncludePreferredActions: n.preferred, }, n.apply ); } } class le extends o.R6 { constructor() { super({ id: c.uH, label: D.N('organizeImports.label', 'Organize Imports'), alias: 'Organize Imports', precondition: W.Ao.and( l.u.writable, X(_.yN.SourceOrganizeImports) ), kbOpts: { kbExpr: l.u.editorTextFocus, primary: 1581, weight: 100, }, }); } run(e, t) { return ne( t, D.N( 'editor.action.organize.noneMessage', 'No organize imports action available' ), { include: _.yN.SourceOrganizeImports, includeSourceActions: !0 }, 'ifSingle' ); } } class ce extends o.R6 { constructor() { super({ id: c.TM, label: D.N('fixAll.label', 'Fix All'), alias: 'Fix All', precondition: W.Ao.and(l.u.writable, X(_.yN.SourceFixAll)), }); } run(e, t) { return ne( t, D.N('fixAll.noneMessage', 'No fix all action available'), { include: _.yN.SourceFixAll, includeSourceActions: !0 }, 'ifSingle' ); } } class de extends o.R6 { constructor() { super({ id: de.Id, label: D.N('autoFix.label', 'Auto Fix...'), alias: 'Auto Fix...', precondition: W.Ao.and(l.u.writable, X(_.yN.QuickFix)), kbOpts: { kbExpr: l.u.editorTextFocus, primary: 1620, mac: { primary: 2644 }, weight: 100, }, }); } run(e, t) { return ne( t, D.N( 'editor.action.autoFix.noneMessage', 'No auto fixes available' ), { include: _.yN.QuickFix, onlyIncludePreferredActions: !0 }, 'ifSingle' ); } } de.Id = 'editor.action.autoFix'; }, 9093: (e, t, i) => { 'use strict'; i.r(t); var n = i(16830), r = i(23674); (0, n._K)(r.pY.ID, r.pY), (0, n.Qr)(r.E7), (0, n.Qr)(r.Eb), (0, n.Qr)(r.VQ), (0, n.Qr)(r.o$), (0, n.Qr)(r.S5), (0, n.Qr)(r.Hv), (0, n.fK)(new r.dW()); }, 89532: (e, t, i) => { 'use strict'; i.d(t, { yN: () => r, EU: () => s, Yl: () => o, wZ: () => l }); var n = i(97295); class r { constructor(e) { this.value = e; } equals(e) { return this.value === e.value; } contains(e) { return ( this.equals(e) || '' === this.value || (0, n.Ny)(e.value, this.value + r.sep) ); } intersects(e) { return this.contains(e) || e.contains(this); } append(e) { return new r(this.value + r.sep + e); } } function s(e, t) { return !( (e.include && !e.include.intersects(t)) || (e.excludes && e.excludes.some((i) => a(t, i, e.include))) || (!e.includeSourceActions && r.Source.contains(t)) ); } function o(e, t) { const i = t.kind ? new r(t.kind) : void 0; return !( !(!e.include || (i && e.include.contains(i))) || (e.excludes && i && e.excludes.some((t) => a(i, t, e.include))) || (!e.includeSourceActions && i && r.Source.contains(i)) || (e.onlyIncludePreferredActions && !t.isPreferred) ); } function a(e, t, i) { return !(!t.contains(e) || (i && t.contains(i))); } (r.sep = '.'), (r.None = new r('@@none@@')), (r.Empty = new r('')), (r.QuickFix = new r('quickfix')), (r.Refactor = new r('refactor')), (r.Source = new r('source')), (r.SourceOrganizeImports = r.Source.append('organizeImports')), (r.SourceFixAll = r.Source.append('fixAll')); class l { constructor(e, t, i) { (this.kind = e), (this.apply = t), (this.preferred = i); } static fromUser(e, t) { return e && 'object' == typeof e ? new l( l.getKindFromUser(e, t.kind), l.getApplyFromUser(e, t.apply), l.getPreferredUser(e) ) : new l(t.kind, t.apply, !1); } static getApplyFromUser(e, t) { switch ('string' == typeof e.apply ? e.apply.toLowerCase() : '') { case 'first': return 'first'; case 'never': return 'never'; case 'ifsingle': return 'ifSingle'; default: return t; } } static getKindFromUser(e, t) { return 'string' == typeof e.kind ? new r(e.kind) : t; } static getPreferredUser(e) { return 'boolean' == typeof e.preferred && e.preferred; } } }, 53832: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CodeLensContribution: () => z }); var n = i(15393), r = i(17301), s = i(5976), o = i(39925), a = i(16830), l = i(43775), c = i(9488), d = i(71050), h = i(70666), u = i(51200); class g { constructor() { (this.lenses = []), (this._disposables = new s.SL()); } dispose() { this._disposables.dispose(); } add(e, t) { this._disposables.add(e); for (const i of e.lenses) this.lenses.push({ symbol: i, provider: t }); } } function f(e, t) { const i = l.He.ordered(e), n = new Map(), s = new g(), o = i.map( (i, o) => ( n.set(i, o), Promise.resolve(i.provideCodeLenses(e, t)) .then((e) => e && s.add(e, i)) .catch(r.Cp) ) ); return Promise.all(o).then( () => ( (s.lenses = (0, c.qt)(s.lenses, (e, t) => e.symbol.range.startLineNumber < t.symbol.range.startLineNumber ? -1 : e.symbol.range.startLineNumber > t.symbol.range.startLineNumber ? 1 : n.get(e.provider) < n.get(t.provider) ? -1 : n.get(e.provider) > n.get(t.provider) ? 1 : e.symbol.range.startColumn < t.symbol.range.startColumn ? -1 : e.symbol.range.startColumn > t.symbol.range.startColumn ? 1 : 0 )), s ) ); } (0, a._h)('_executeCodeLensProvider', function (e, t) { let { resource: i, itemResolveCount: n } = t; if (!(i instanceof h.o)) throw (0, r.b1)(); const o = e.get(u.q).getModel(i); if (!o) throw (0, r.b1)(); const a = [], l = new s.SL(); return f(o, d.T.None) .then((e) => { l.add(e); let t = []; for (const i of e.lenses) void 0 === n || Boolean(i.symbol.command) ? a.push(i.symbol) : n-- > 0 && i.provider.resolveCodeLens && t.push( Promise.resolve( i.provider.resolveCodeLens(o, i.symbol, d.T.None) ).then((e) => a.push(e || i.symbol)) ); return Promise.all(t); }) .then(() => a) .finally(() => { setTimeout(() => l.dispose(), 100); }); }); var p = i(73046), m = i(97295), _ = i(24314), b = i(3411), v = i(27869), y = i(73910), w = i(97781); class C { constructor(e, t) { (this.afterLineNumber = e), (this._onHeight = t), (this.heightInLines = 1), (this.suppressMouseDown = !0), (this.domNode = document.createElement('div')); } onComputedHeight(e) { void 0 === this._lastHeight ? (this._lastHeight = e) : this._lastHeight !== e && ((this._lastHeight = e), this._onHeight()); } } class S { constructor(e, t, i) { (this.allowEditorOverflow = !1), (this.suppressMouseDown = !0), (this._commands = new Map()), (this._isEmpty = !0), (this._editor = e), (this._id = 'codelens.widget-' + S._idPool++), this.updatePosition(i), (this._domNode = document.createElement('span')), (this._domNode.className = `codelens-decoration ${t}`); } withCommands(e, t) { this._commands.clear(); let i = '', n = !1; for (let t = 0; t < e.length; t++) { const r = e[t]; if (r && ((n = !0), r.command)) { const n = (0, p.Mi)((0, m.YU)(r.command.title)); r.command.id ? ((i += `${n}`), this._commands.set(String(t), r.command)) : (i += `${n}`), t + 1 < e.length && (i += ' | '); } } n ? (i || (i = ' '), (this._domNode.innerHTML = i), this._isEmpty && t && this._domNode.classList.add('fadein'), (this._isEmpty = !1)) : (this._domNode.innerHTML = 'no commands'); } getCommand(e) { return e.parentElement === this._domNode ? this._commands.get(e.id) : void 0; } getId() { return this._id; } getDomNode() { return this._domNode; } updatePosition(e) { const t = this._editor .getModel() .getLineFirstNonWhitespaceColumn(e); this._widgetPosition = { position: { lineNumber: e, column: t }, preference: [1], }; } getPosition() { return this._widgetPosition || null; } } S._idPool = 0; class k { constructor() { (this._removeDecorations = []), (this._addDecorations = []), (this._addDecorationsCallbacks = []); } addDecoration(e, t) { this._addDecorations.push(e), this._addDecorationsCallbacks.push(t); } removeDecoration(e) { this._removeDecorations.push(e); } commit(e) { let t = e.deltaDecorations( this._removeDecorations, this._addDecorations ); for (let e = 0, i = t.length; e < i; e++) this._addDecorationsCallbacks[e](t[e]); } } class x { constructor(e, t, i, n, r, s) { let o; (this._isDisposed = !1), (this._editor = t), (this._className = i), (this._data = e), (this._decorationIds = []); let a = []; this._data.forEach((e, t) => { e.symbol.command && a.push(e.symbol), n.addDecoration( { range: e.symbol.range, options: b.qx.EMPTY }, (e) => (this._decorationIds[t] = e) ), (o = o ? _.e.plusRange(o, e.symbol.range) : _.e.lift(e.symbol.range)); }), (this._viewZone = new C(o.startLineNumber - 1, s)), (this._viewZoneId = r.addZone(this._viewZone)), a.length > 0 && (this._createContentWidgetIfNecessary(), this._contentWidget.withCommands(a, !1)); } _createContentWidgetIfNecessary() { this._contentWidget || ((this._contentWidget = new S( this._editor, this._className, this._viewZone.afterLineNumber + 1 )), this._editor.addContentWidget(this._contentWidget)); } dispose(e, t) { this._decorationIds.forEach(e.removeDecoration, e), (this._decorationIds = []), t && t.removeZone(this._viewZoneId), this._contentWidget && (this._editor.removeContentWidget(this._contentWidget), (this._contentWidget = void 0)), (this._isDisposed = !0); } isDisposed() { return this._isDisposed; } isValid() { return this._decorationIds.some((e, t) => { const i = this._editor.getModel().getDecorationRange(e), n = this._data[t].symbol; return !(!i || _.e.isEmpty(n.range) !== i.isEmpty()); }); } updateCodeLensSymbols(e, t) { this._decorationIds.forEach(t.removeDecoration, t), (this._decorationIds = []), (this._data = e), this._data.forEach((e, i) => { t.addDecoration( { range: e.symbol.range, options: b.qx.EMPTY }, (e) => (this._decorationIds[i] = e) ); }); } computeIfNecessary(e) { if ( !this._viewZone.domNode.hasAttribute('monaco-visible-view-zone') ) return null; for (let t = 0; t < this._decorationIds.length; t++) { const i = e.getDecorationRange(this._decorationIds[t]); i && (this._data[t].symbol.range = i); } return this._data; } updateCommands(e) { this._createContentWidgetIfNecessary(), this._contentWidget.withCommands(e, !0); for (let t = 0; t < this._data.length; t++) { const i = e[t]; if (i) { const { symbol: e } = this._data[t]; e.command = i.command || e.command; } } } getCommand(e) { var t; return null === (t = this._contentWidget) || void 0 === t ? void 0 : t.getCommand(e); } getLineNumber() { const e = this._editor .getModel() .getDecorationRange(this._decorationIds[0]); return e ? e.startLineNumber : -1; } update(e) { if (this.isValid()) { const t = this._editor .getModel() .getDecorationRange(this._decorationIds[0]); t && ((this._viewZone.afterLineNumber = t.startLineNumber - 1), e.layoutZone(this._viewZoneId), this._contentWidget && (this._contentWidget.updatePosition(t.startLineNumber), this._editor.layoutContentWidget(this._contentWidget))); } } getItems() { return this._data; } } (0, w.Ic)((e, t) => { const i = e.getColor(v.Yp); i && (t.addRule(`.monaco-editor .codelens-decoration { color: ${i}; }`), t.addRule( `.monaco-editor .codelens-decoration .codicon { color: ${i}; }` )); const n = e.getColor(y._Y); n && (t.addRule( `.monaco-editor .codelens-decoration > a:hover { color: ${n} !important; }` ), t.addRule( `.monaco-editor .codelens-decoration > a:hover .codicon { color: ${n} !important; }` )); }); var L = i(94565), M = i(59422), D = i(72065), N = i(65026), E = i(43702), T = i(52365), I = i(88289); const O = (0, D.yh)('ICodeLensCache'); class A { constructor(e, t) { (this.lineCount = e), (this.data = t); } } let R = class { constructor(e) { (this._fakeProvider = new (class { provideCodeLenses() { throw new Error('not supported'); } })()), (this._cache = new E.z6(20, 0.75)), (0, n.To)(() => e.remove('codelens/cache', 1)); const t = 'codelens/cache2', i = e.get(t, 1, '{}'); this._deserialize(i), (0, I.I)(e.onWillSaveState)((i) => { i.reason === T.fk.SHUTDOWN && e.store(t, this._serialize(), 1); }); } put(e, t) { const i = t.lenses.map((e) => { var t; return { range: e.symbol.range, command: e.symbol.command && { id: '', title: null === (t = e.symbol.command) || void 0 === t ? void 0 : t.title, }, }; }), n = new g(); n.add({ lenses: i, dispose: () => {} }, this._fakeProvider); const r = new A(e.getLineCount(), n); this._cache.set(e.uri.toString(), r); } get(e) { const t = this._cache.get(e.uri.toString()); return t && t.lineCount === e.getLineCount() ? t.data : void 0; } delete(e) { this._cache.delete(e.uri.toString()); } _serialize() { const e = Object.create(null); for (const [t, i] of this._cache) { const n = new Set(); for (const e of i.data.lenses) n.add(e.symbol.range.startLineNumber); e[t] = { lineCount: i.lineCount, lines: [...n.values()] }; } return JSON.stringify(e); } _deserialize(e) { try { const t = JSON.parse(e); for (const e in t) { const i = t[e], n = []; for (const e of i.lines) n.push({ range: new _.e(e, 1, e, 11) }); const r = new g(); r.add({ lenses: n, dispose() {} }, this._fakeProvider), this._cache.set(e, new A(i.lineCount, r)); } } catch (e) {} } }; var P, F; (R = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((P = 0), (F = T.Uy), function (e, t) { F(e, t, P); }), ], R )), (0, N.z)(O, R); var B = i(65321), W = i(89954), Y = i(41157), H = i(63580), j = i(29102), V = function (e, t) { return function (i, n) { t(i, n, e); }; }; let z = class { constructor(e, t, i, n) { (this._editor = e), (this._commandService = t), (this._notificationService = i), (this._codeLensCache = n), (this._globalToDispose = new s.SL()), (this._localToDispose = new s.SL()), (this._lenses = []), (this._oldCodeLensModels = new s.SL()), (this._modelChangeCounter = 0), (this._isEnabled = this._editor.getOption(11)), this._globalToDispose.add( this._editor.onDidChangeModel(() => this._onModelChange()) ), this._globalToDispose.add( this._editor.onDidChangeModelLanguage(() => this._onModelChange() ) ), this._globalToDispose.add( this._editor.onDidChangeConfiguration(() => { const e = this._isEnabled; (this._isEnabled = this._editor.getOption(11)), e !== this._isEnabled && this._onModelChange(); }) ), this._globalToDispose.add( l.He.onDidChange(this._onModelChange, this) ), this._globalToDispose.add( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(36) && this._updateLensStyle(); }) ), this._onModelChange(), (this._styleClassName = '_' + (0, W.vp)(this._editor.getId()).toString(16)), (this._styleElement = B.dS( B.OO(this._editor.getContainerDomNode()) ? this._editor.getContainerDomNode() : void 0 )), this._updateLensStyle(); } dispose() { this._localDispose(), this._globalToDispose.dispose(), this._oldCodeLensModels.dispose(), (0, s.B9)(this._currentCodeLensModel); } _updateLensStyle() { const e = this._editor.getOptions(), t = e.get(36), i = e.get(51), n = Math.round(1.1 * i), r = Math.round(0.9 * t.fontSize), s = `\n\t\t.monaco-editor .codelens-decoration.${ this._styleClassName } { height: ${n}px; line-height: ${i}px; font-size: ${r}px; padding-right: ${Math.round( 0.45 * t.fontSize )}px;}\n\t\t.monaco-editor .codelens-decoration.${ this._styleClassName } > a > .codicon { line-height: ${i}px; font-size: ${r}px; }\n\t\t`; this._styleElement.textContent = s; } _localDispose() { this._currentFindCodeLensSymbolsPromise && (this._currentFindCodeLensSymbolsPromise.cancel(), (this._currentFindCodeLensSymbolsPromise = void 0), this._modelChangeCounter++), this._currentResolveCodeLensSymbolsPromise && (this._currentResolveCodeLensSymbolsPromise.cancel(), (this._currentResolveCodeLensSymbolsPromise = void 0)), this._localToDispose.clear(), this._oldCodeLensModels.clear(), (0, s.B9)(this._currentCodeLensModel); } _onModelChange() { this._localDispose(); const e = this._editor.getModel(); if (!e) return; if (!this._isEnabled) return; const t = this._codeLensCache.get(e); if ((t && this._renderCodeLensSymbols(t), !l.He.has(e))) return void ( t && this._localToDispose.add( (0, n.Vg)(() => { const i = this._codeLensCache.get(e); t === i && (this._codeLensCache.delete(e), this._onModelChange()); }, 3e4) ) ); for (const t of l.He.all(e)) if ('function' == typeof t.onDidChange) { let e = t.onDidChange(() => a.schedule()); this._localToDispose.add(e); } const i = (this._detectVisibleLenses = new n.pY( () => this._onViewportChanged(), 250 )), a = new n.pY(() => { const t = ++this._modelChangeCounter; this._currentFindCodeLensSymbolsPromise && this._currentFindCodeLensSymbolsPromise.cancel(), (this._currentFindCodeLensSymbolsPromise = (0, n.PG)((t) => f(e, t) )), this._currentFindCodeLensSymbolsPromise.then((n) => { t === this._modelChangeCounter && (this._currentCodeLensModel && this._oldCodeLensModels.add(this._currentCodeLensModel), (this._currentCodeLensModel = n), this._codeLensCache.put(e, n), this._renderCodeLensSymbols(n), i.schedule()); }, r.dL); }, 250); this._localToDispose.add(a), this._localToDispose.add(i), this._localToDispose.add( this._editor.onDidChangeModelContent(() => { this._editor.changeDecorations((e) => { this._editor.changeViewZones((t) => { let i = [], n = -1; this._lenses.forEach((e) => { e.isValid() && n !== e.getLineNumber() ? (e.update(t), (n = e.getLineNumber())) : i.push(e); }); let r = new k(); i.forEach((e) => { e.dispose(r, t), this._lenses.splice(this._lenses.indexOf(e), 1); }), r.commit(e); }); }), i.schedule(), a.schedule(); }) ), this._localToDispose.add( this._editor.onDidScrollChange((e) => { e.scrollTopChanged && this._lenses.length > 0 && i.schedule(); }) ), this._localToDispose.add( this._editor.onDidLayoutChange(() => { i.schedule(); }) ), this._localToDispose.add( (0, s.OF)(() => { if (this._editor.getModel()) { const e = o.ZF.capture(this._editor); this._editor.changeDecorations((e) => { this._editor.changeViewZones((t) => { this._disposeAllLenses(e, t); }); }), e.restore(this._editor); } else this._disposeAllLenses(void 0, void 0); }) ), this._localToDispose.add( this._editor.onMouseUp((e) => { if (9 !== e.target.type) return; let t = e.target.element; if ( ('SPAN' === (null == t ? void 0 : t.tagName) && (t = t.parentElement), 'A' === (null == t ? void 0 : t.tagName)) ) for (const e of this._lenses) { let i = e.getCommand(t); if (i) { this._commandService .executeCommand(i.id, ...(i.arguments || [])) .catch((e) => this._notificationService.error(e)); break; } } }) ), a.schedule(); } _disposeAllLenses(e, t) { const i = new k(); for (const e of this._lenses) e.dispose(i, t); e && i.commit(e), (this._lenses = []); } _renderCodeLensSymbols(e) { if (!this._editor.hasModel()) return; let t, i = this._editor.getModel().getLineCount(), n = []; for (let r of e.lenses) { let e = r.symbol.range.startLineNumber; e < 1 || e > i || (t && t[t.length - 1].symbol.range.startLineNumber === e ? t.push(r) : ((t = [r]), n.push(t))); } const r = o.ZF.capture(this._editor); this._editor.changeDecorations((e) => { this._editor.changeViewZones((t) => { const i = new k(); let r = 0, s = 0; for (; s < n.length && r < this._lenses.length; ) { let e = n[s][0].symbol.range.startLineNumber, o = this._lenses[r].getLineNumber(); o < e ? (this._lenses[r].dispose(i, t), this._lenses.splice(r, 1)) : o === e ? (this._lenses[r].updateCodeLensSymbols(n[s], i), s++, r++) : (this._lenses.splice( r, 0, new x( n[s], this._editor, this._styleClassName, i, t, () => this._detectVisibleLenses && this._detectVisibleLenses.schedule() ) ), r++, s++); } for (; r < this._lenses.length; ) this._lenses[r].dispose(i, t), this._lenses.splice(r, 1); for (; s < n.length; ) this._lenses.push( new x( n[s], this._editor, this._styleClassName, i, t, () => this._detectVisibleLenses && this._detectVisibleLenses.schedule() ) ), s++; i.commit(e); }); }), r.restore(this._editor); } _onViewportChanged() { this._currentResolveCodeLensSymbolsPromise && (this._currentResolveCodeLensSymbolsPromise.cancel(), (this._currentResolveCodeLensSymbolsPromise = void 0)); const e = this._editor.getModel(); if (!e) return; const t = [], i = []; if ( (this._lenses.forEach((n) => { const r = n.computeIfNecessary(e); r && (t.push(r), i.push(n)); }), 0 === t.length) ) return; const s = (0, n.PG)((n) => { const s = t.map((t, s) => { const o = new Array(t.length), a = t.map((t, i) => t.symbol.command || 'function' != typeof t.provider.resolveCodeLens ? ((o[i] = t.symbol), Promise.resolve(void 0)) : Promise.resolve( t.provider.resolveCodeLens(e, t.symbol, n) ).then((e) => { o[i] = e; }, r.Cp) ); return Promise.all(a).then(() => { n.isCancellationRequested || i[s].isDisposed() || i[s].updateCommands(o); }); }); return Promise.all(s); }); (this._currentResolveCodeLensSymbolsPromise = s), this._currentResolveCodeLensSymbolsPromise.then( () => { this._currentCodeLensModel && this._codeLensCache.put(e, this._currentCodeLensModel), this._oldCodeLensModels.clear(), s === this._currentResolveCodeLensSymbolsPromise && (this._currentResolveCodeLensSymbolsPromise = void 0); }, (e) => { (0, r.dL)(e), s === this._currentResolveCodeLensSymbolsPromise && (this._currentResolveCodeLensSymbolsPromise = void 0); } ); } getLenses() { return this._lenses; } }; (z.ID = 'css.editor.codeLens'), (z = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([V(1, L.H), V(2, M.lT), V(3, O)], z)), (0, a._K)(z.ID, z), (0, a.Qr)( class extends a.R6 { constructor() { super({ id: 'codelens.showLensesInCurrentLine', precondition: j.u.hasCodeLensProvider, label: (0, H.N)( 'showLensOnLine', 'Show CodeLens Commands For Current Line' ), alias: 'Show CodeLens Commands For Current Line', }); } run(e, t) { return ( (i = this), (n = void 0), (s = function* () { if (!t.hasModel()) return; const i = e.get(Y.eJ), n = e.get(L.H), r = e.get(M.lT), s = t.getSelection().positionLineNumber, o = t.getContribution(z.ID), a = []; for (let e of o.getLenses()) if (e.getLineNumber() === s) for (let t of e.getItems()) { const { command: e } = t.symbol; e && a.push({ label: e.title, command: e }); } if (0 === a.length) return; const l = yield i.pick(a, { canPickMany: !1 }); if (l) try { yield n.executeCommand( l.command.id, ...(l.command.arguments || []) ); } catch (e) { r.error(e); } }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } } ); }, 83308: (e, t, i) => { 'use strict'; i.d(t, { E: () => d, R: () => h }); var n = i(71050), r = i(17301), s = i(70666), o = i(16830), a = i(24314), l = i(43775), c = i(51200); function d(e, t) { const i = [], n = l.OH.ordered(e) .reverse() .map((n) => Promise.resolve(n.provideDocumentColors(e, t)).then((e) => { if (Array.isArray(e)) for (let t of e) i.push({ colorInfo: t, provider: n }); }) ); return Promise.all(n).then(() => i); } function h(e, t, i, n) { return Promise.resolve(i.provideColorPresentations(e, t, n)); } (0, o._h)('_executeDocumentColorProvider', function (e, t) { const { resource: i } = t; if (!(i instanceof s.o)) throw (0, r.b1)(); const o = e.get(c.q).getModel(i); if (!o) throw (0, r.b1)(); const a = [], d = l.OH.ordered(o) .reverse() .map((e) => Promise.resolve(e.provideDocumentColors(o, n.T.None)).then( (e) => { if (Array.isArray(e)) for (let t of e) a.push({ range: t.range, color: [ t.color.red, t.color.green, t.color.blue, t.color.alpha, ], }); } ) ); return Promise.all(d).then(() => a); }), (0, o._h)('_executeColorPresentationProvider', function (e, t) { const { resource: i, color: o, range: d } = t; if ( !( i instanceof s.o && Array.isArray(o) && 4 === o.length && a.e.isIRange(d) ) ) throw (0, r.b1)(); const [h, u, g, f] = o, p = e.get(c.q).getModel(i); if (!p) throw (0, r.b1)(); const m = { range: d, color: { red: h, green: u, blue: g, alpha: f }, }, _ = [], b = l.OH.ordered(p) .reverse() .map((e) => Promise.resolve( e.provideColorPresentations(p, m, n.T.None) ).then((e) => { Array.isArray(e) && _.push(...e); }) ); return Promise.all(b).then(() => _); }); }, 64494: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { ColorDetector: () => m }); var n = i(15393), r = i(41264), s = i(17301), o = i(89954), a = i(5976), l = i(16830), c = i(11640), d = i(24314), h = i(3411), u = i(43775), g = i(83308), f = i(33108), p = function (e, t) { return function (i, n) { t(i, n, e); }; }; let m = class e extends a.JT { constructor(e, t, i) { super(), (this._editor = e), (this._codeEditorService = t), (this._configurationService = i), (this._localToDispose = this._register(new a.SL())), (this._decorationsIds = []), (this._colorDatas = new Map()), (this._colorDecoratorIds = []), (this._decorationsTypes = new Set()), this._register( e.onDidChangeModel((e) => { (this._isEnabled = this.isEnabled()), this.onModelChanged(); }) ), this._register( e.onDidChangeModelLanguage((e) => this.onModelChanged()) ), this._register(u.OH.onDidChange((e) => this.onModelChanged())), this._register( e.onDidChangeConfiguration((e) => { let t = this._isEnabled; (this._isEnabled = this.isEnabled()), t !== this._isEnabled && (this._isEnabled ? this.onModelChanged() : this.removeAllDecorations()); }) ), (this._timeoutTimer = null), (this._computePromise = null), (this._isEnabled = this.isEnabled()), this.onModelChanged(); } isEnabled() { const e = this._editor.getModel(); if (!e) return !1; const t = e.getLanguageIdentifier(), i = this._configurationService.getValue(t.language); if (i) { const e = i.colorDecorators; if (e && void 0 !== e.enable && !e.enable) return e.enable; } return this._editor.getOption(12); } static get(e) { return e.getContribution(this.ID); } dispose() { this.stop(), this.removeAllDecorations(), super.dispose(); } onModelChanged() { if ((this.stop(), !this._isEnabled)) return; const t = this._editor.getModel(); t && u.OH.has(t) && (this._localToDispose.add( this._editor.onDidChangeModelContent((t) => { this._timeoutTimer || ((this._timeoutTimer = new n._F()), this._timeoutTimer.cancelAndSet(() => { (this._timeoutTimer = null), this.beginCompute(); }, e.RECOMPUTE_TIME)); }) ), this.beginCompute()); } beginCompute() { (this._computePromise = (0, n.PG)((e) => { const t = this._editor.getModel(); return t ? (0, g.E)(t, e) : Promise.resolve([]); })), this._computePromise.then((e) => { this.updateDecorations(e), this.updateColorDecorators(e), (this._computePromise = null); }, s.dL); } stop() { this._timeoutTimer && (this._timeoutTimer.cancel(), (this._timeoutTimer = null)), this._computePromise && (this._computePromise.cancel(), (this._computePromise = null)), this._localToDispose.clear(); } updateDecorations(e) { const t = e.map((e) => ({ range: { startLineNumber: e.colorInfo.range.startLineNumber, startColumn: e.colorInfo.range.startColumn, endLineNumber: e.colorInfo.range.endLineNumber, endColumn: e.colorInfo.range.endColumn, }, options: h.qx.EMPTY, })); (this._decorationsIds = this._editor.deltaDecorations( this._decorationsIds, t )), (this._colorDatas = new Map()), this._decorationsIds.forEach((t, i) => this._colorDatas.set(t, e[i]) ); } updateColorDecorators(e) { let t = [], i = {}; for (let n = 0; n < e.length && t.length < 500; n++) { const { red: s, green: a, blue: l, alpha: c } = e[ n ].colorInfo.color, d = new r.VS( Math.round(255 * s), Math.round(255 * a), Math.round(255 * l), c ); let h = (0, o.vp)(`rgba(${d.r},${d.g},${d.b},${d.a})`).toString( 16 ), u = `rgba(${d.r}, ${d.g}, ${d.b}, ${d.a})`, g = 'colorBox-' + h; this._decorationsTypes.has(g) || i[g] || this._codeEditorService.registerDecorationType( g, { before: { contentText: ' ', border: 'solid 0.1em #000', margin: '0.1em 0.2em 0 0.2em', width: '0.8em', height: '0.8em', backgroundColor: u, }, dark: { before: { border: 'solid 0.1em #eee' } }, }, void 0, this._editor ), (i[g] = !0), t.push({ range: { startLineNumber: e[n].colorInfo.range.startLineNumber, startColumn: e[n].colorInfo.range.startColumn, endLineNumber: e[n].colorInfo.range.endLineNumber, endColumn: e[n].colorInfo.range.endColumn, }, options: this._codeEditorService.resolveDecorationOptions( g, !0 ), }); } this._decorationsTypes.forEach((e) => { i[e] || this._codeEditorService.removeDecorationType(e); }), (this._colorDecoratorIds = this._editor.deltaDecorations( this._colorDecoratorIds, t )); } removeAllDecorations() { (this._decorationsIds = this._editor.deltaDecorations( this._decorationsIds, [] )), (this._colorDecoratorIds = this._editor.deltaDecorations( this._colorDecoratorIds, [] )), this._decorationsTypes.forEach((e) => { this._codeEditorService.removeDecorationType(e); }); } getColorData(e) { const t = this._editor.getModel(); if (!t) return null; const i = t .getDecorationsInRange(d.e.fromPositions(e, e)) .filter((e) => this._colorDatas.has(e.id)); return 0 === i.length ? null : this._colorDatas.get(i[0].id); } }; (m.ID = 'editor.contrib.colorDetector'), (m.RECOMPUTE_TIME = 1e3), (m = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([p(1, c.$), p(2, f.Ui)], m)), (0, l._K)(m.ID, m); }, 89098: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(22258), s = i(16830), o = i(29102), a = i(69386), l = i(50187), c = i(24314), d = i(3860), h = i(83831); class u { constructor(e, t) { (this._selection = e), (this._insertSpace = t), (this._usedEndToken = null); } static _haystackHasNeedleAtOffset(e, t, i) { if (i < 0) return !1; const n = t.length; if (i + n > e.length) return !1; for (let r = 0; r < n; r++) { const n = e.charCodeAt(i + r), s = t.charCodeAt(r); if ( n !== s && !( (n >= 65 && n <= 90 && n + 32 === s) || (s >= 65 && s <= 90 && s + 32 === n) ) ) return !1; } return !0; } _createOperationsForBlockComment(e, t, i, n, r, s) { const o = e.startLineNumber, a = e.startColumn, l = e.endLineNumber, d = e.endColumn, h = r.getLineContent(o), g = r.getLineContent(l); let f, p = h.lastIndexOf(t, a - 1 + t.length), m = g.indexOf(i, d - 1 - i.length); if (-1 !== p && -1 !== m) if (o === l) h.substring(p + t.length, m).indexOf(i) >= 0 && ((p = -1), (m = -1)); else { const e = h.substring(p + t.length), n = g.substring(0, m); (e.indexOf(i) >= 0 || n.indexOf(i) >= 0) && ((p = -1), (m = -1)); } -1 !== p && -1 !== m ? (n && p + t.length < h.length && 32 === h.charCodeAt(p + t.length) && (t += ' '), n && m > 0 && 32 === g.charCodeAt(m - 1) && ((i = ' ' + i), (m -= 1)), (f = u._createRemoveBlockCommentOperations( new c.e(o, p + t.length + 1, l, m + 1), t, i ))) : ((f = u._createAddBlockCommentOperations( e, t, i, this._insertSpace )), (this._usedEndToken = 1 === f.length ? i : null)); for (const e of f) s.addTrackedEditOperation(e.range, e.text); } static _createRemoveBlockCommentOperations(e, t, i) { let n = []; return ( c.e.isEmpty(e) ? n.push( a.h.delete( new c.e( e.startLineNumber, e.startColumn - t.length, e.endLineNumber, e.endColumn + i.length ) ) ) : (n.push( a.h.delete( new c.e( e.startLineNumber, e.startColumn - t.length, e.startLineNumber, e.startColumn ) ) ), n.push( a.h.delete( new c.e( e.endLineNumber, e.endColumn, e.endLineNumber, e.endColumn + i.length ) ) )), n ); } static _createAddBlockCommentOperations(e, t, i, n) { let r = []; return ( c.e.isEmpty(e) ? r.push( a.h.replace( new c.e( e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn ), t + ' ' + i ) ) : (r.push( a.h.insert( new l.L(e.startLineNumber, e.startColumn), t + (n ? ' ' : '') ) ), r.push( a.h.insert( new l.L(e.endLineNumber, e.endColumn), (n ? ' ' : '') + i ) )), r ); } getEditOperations(e, t) { const i = this._selection.startLineNumber, n = this._selection.startColumn; e.tokenizeIfCheap(i); const r = e.getLanguageIdAtPosition(i, n), s = h.zu.getComments(r); s && s.blockCommentStartToken && s.blockCommentEndToken && this._createOperationsForBlockComment( this._selection, s.blockCommentStartToken, s.blockCommentEndToken, this._insertSpace, e, t ); } computeCursorState(e, t) { const i = t.getInverseEditOperations(); if (2 === i.length) { const e = i[0], t = i[1]; return new d.Y( e.range.endLineNumber, e.range.endColumn, t.range.startLineNumber, t.range.startColumn ); } { const e = i[0].range, t = this._usedEndToken ? -this._usedEndToken.length - 1 : 0; return new d.Y( e.endLineNumber, e.endColumn + t, e.endLineNumber, e.endColumn + t ); } } } var g = i(97295); class f { constructor(e, t, i, n, r) { (this._selection = e), (this._tabSize = t), (this._type = i), (this._insertSpace = n), (this._selectionId = null), (this._deltaColumn = 0), (this._moveEndPositionDown = !1), (this._ignoreEmptyLines = r); } static _gatherPreflightCommentStrings(e, t, i) { e.tokenizeIfCheap(t); const n = e.getLanguageIdAtPosition(t, 1), r = h.zu.getComments(n), s = r ? r.lineCommentToken : null; if (!s) return null; let o = []; for (let e = 0, n = i - t + 1; e < n; e++) o[e] = { ignore: !1, commentStr: s, commentStrOffset: 0, commentStrLength: s.length, }; return o; } static _analyzeLines(e, t, i, n, r, s) { let o, a = !0; o = 0 === e || 1 !== e; for (let l = 0, c = n.length; l < c; l++) { const c = n[l], d = r + l, h = i.getLineContent(d), f = g.LC(h); if (-1 !== f) { if ( ((a = !1), (c.ignore = !1), (c.commentStrOffset = f), o && !u._haystackHasNeedleAtOffset(h, c.commentStr, f) && (0 === e ? (o = !1) : 1 === e || (c.ignore = !0)), o && t) ) { const e = f + c.commentStrLength; e < h.length && 32 === h.charCodeAt(e) && (c.commentStrLength += 1); } } else (c.ignore = s), (c.commentStrOffset = h.length); } if (0 === e && a) { o = !1; for (let e = 0, t = n.length; e < t; e++) n[e].ignore = !1; } return { supported: !0, shouldRemoveComments: o, lines: n }; } static _gatherPreflightData(e, t, i, n, r, s) { const o = f._gatherPreflightCommentStrings(i, n, r); return null === o ? { supported: !1 } : f._analyzeLines(e, t, i, o, n, s); } _executeLineComments(e, t, i, n) { let r; i.shouldRemoveComments ? (r = f._createRemoveLineCommentsOperations( i.lines, n.startLineNumber )) : (f._normalizeInsertionPoint( e, i.lines, n.startLineNumber, this._tabSize ), (r = this._createAddLineCommentsOperations( i.lines, n.startLineNumber ))); const s = new l.L(n.positionLineNumber, n.positionColumn); for (let i = 0, n = r.length; i < n; i++) t.addEditOperation(r[i].range, r[i].text), c.e.isEmpty(r[i].range) && c.e.getStartPosition(r[i].range).equals(s) && e.getLineContent(s.lineNumber).length + 1 === s.column && (this._deltaColumn = (r[i].text || '').length); this._selectionId = t.trackSelection(n); } _attemptRemoveBlockComment(e, t, i, n) { let r = t.startLineNumber, s = t.endLineNumber, o = n.length + Math.max( e.getLineFirstNonWhitespaceColumn(t.startLineNumber), t.startColumn ), a = e.getLineContent(r).lastIndexOf(i, o - 1), l = e.getLineContent(s).indexOf(n, t.endColumn - 1 - i.length); return ( -1 !== a && -1 === l && ((l = e.getLineContent(r).indexOf(n, a + i.length)), (s = r)), -1 === a && -1 !== l && ((a = e.getLineContent(s).lastIndexOf(i, l)), (r = s)), !t.isEmpty() || (-1 !== a && -1 !== l) || ((a = e.getLineContent(r).indexOf(i)), -1 !== a && (l = e.getLineContent(r).indexOf(n, a + i.length))), -1 !== a && 32 === e.getLineContent(r).charCodeAt(a + i.length) && (i += ' '), -1 !== l && 32 === e.getLineContent(s).charCodeAt(l - 1) && ((n = ' ' + n), (l -= 1)), -1 !== a && -1 !== l ? u._createRemoveBlockCommentOperations( new c.e(r, a + i.length + 1, s, l + 1), i, n ) : null ); } _executeBlockComment(e, t, i) { e.tokenizeIfCheap(i.startLineNumber); let n = e.getLanguageIdAtPosition(i.startLineNumber, 1), r = h.zu.getComments(n); if (!r || !r.blockCommentStartToken || !r.blockCommentEndToken) return; const s = r.blockCommentStartToken, o = r.blockCommentEndToken; let a = this._attemptRemoveBlockComment(e, i, s, o); if (!a) { if (i.isEmpty()) { const t = e.getLineContent(i.startLineNumber); let n = g.LC(t); -1 === n && (n = t.length), (a = u._createAddBlockCommentOperations( new c.e( i.startLineNumber, n + 1, i.startLineNumber, t.length + 1 ), s, o, this._insertSpace )); } else a = u._createAddBlockCommentOperations( new c.e( i.startLineNumber, e.getLineFirstNonWhitespaceColumn(i.startLineNumber), i.endLineNumber, e.getLineMaxColumn(i.endLineNumber) ), s, o, this._insertSpace ); 1 === a.length && (this._deltaColumn = s.length + 1); } this._selectionId = t.trackSelection(i); for (const e of a) t.addEditOperation(e.range, e.text); } getEditOperations(e, t) { let i = this._selection; (this._moveEndPositionDown = !1), i.startLineNumber < i.endLineNumber && 1 === i.endColumn && ((this._moveEndPositionDown = !0), (i = i.setEndPosition( i.endLineNumber - 1, e.getLineMaxColumn(i.endLineNumber - 1) ))); const n = f._gatherPreflightData( this._type, this._insertSpace, e, i.startLineNumber, i.endLineNumber, this._ignoreEmptyLines ); return n.supported ? this._executeLineComments(e, t, n, i) : this._executeBlockComment(e, t, i); } computeCursorState(e, t) { let i = t.getTrackedSelection(this._selectionId); return ( this._moveEndPositionDown && (i = i.setEndPosition(i.endLineNumber + 1, 1)), new d.Y( i.selectionStartLineNumber, i.selectionStartColumn + this._deltaColumn, i.positionLineNumber, i.positionColumn + this._deltaColumn ) ); } static _createRemoveLineCommentsOperations(e, t) { let i = []; for (let n = 0, r = e.length; n < r; n++) { const r = e[n]; r.ignore || i.push( a.h.delete( new c.e( t + n, r.commentStrOffset + 1, t + n, r.commentStrOffset + r.commentStrLength + 1 ) ) ); } return i; } _createAddLineCommentsOperations(e, t) { let i = []; const n = this._insertSpace ? ' ' : ''; for (let r = 0, s = e.length; r < s; r++) { const s = e[r]; s.ignore || i.push( a.h.insert( new l.L(t + r, s.commentStrOffset + 1), s.commentStr + n ) ); } return i; } static nextVisibleColumn(e, t, i, n) { return i ? e + (t - (e % t)) : e + n; } static _normalizeInsertionPoint(e, t, i, n) { let r, s, o = 1073741824; for (let r = 0, s = t.length; r < s; r++) { if (t[r].ignore) continue; const s = e.getLineContent(i + r); let a = 0; for (let e = 0, i = t[r].commentStrOffset; a < o && e < i; e++) a = f.nextVisibleColumn(a, n, 9 === s.charCodeAt(e), 1); a < o && (o = a); } o = Math.floor(o / n) * n; for (let a = 0, l = t.length; a < l; a++) { if (t[a].ignore) continue; const l = e.getLineContent(i + a); let c = 0; for (r = 0, s = t[a].commentStrOffset; c < o && r < s; r++) c = f.nextVisibleColumn(c, n, 9 === l.charCodeAt(r), 1); t[a].commentStrOffset = c > o ? r - 1 : r; } } } var p = i(84144); class m extends s.R6 { constructor(e, t) { super(t), (this._type = e); } run(e, t) { if (!t.hasModel()) return; const i = t.getModel(), n = [], r = t.getSelections(), s = i.getOptions(), o = t.getOption(14); for (const e of r) n.push( new f( e, s.tabSize, this._type, o.insertSpace, o.ignoreEmptyLines ) ); t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); } } class _ extends s.R6 { constructor() { super({ id: 'editor.action.blockComment', label: n.N('comment.block', 'Toggle Block Comment'), alias: 'Toggle Block Comment', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: 1567, linux: { primary: 3103 }, weight: 100, }, menuOpts: { menuId: p.eH.MenubarEditMenu, group: '5_insert', title: n.N( { key: 'miToggleBlockComment', comment: ['&& denotes a mnemonic'], }, 'Toggle &&Block Comment' ), order: 2, }, }); } run(e, t) { if (!t.hasModel()) return; const i = t.getOption(14), n = [], r = t.getSelections(); for (const e of r) n.push(new u(e, i.insertSpace)); t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); } } (0, s.Qr)( class extends m { constructor() { super(0, { id: 'editor.action.commentLine', label: n.N('comment.line', 'Toggle Line Comment'), alias: 'Toggle Line Comment', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: 2133, weight: 100, }, menuOpts: { menuId: p.eH.MenubarEditMenu, group: '5_insert', title: n.N( { key: 'miToggleLineComment', comment: ['&& denotes a mnemonic'], }, '&&Toggle Line Comment' ), order: 1, }, }); } } ), (0, s.Qr)( class extends m { constructor() { super(1, { id: 'editor.action.addCommentLine', label: n.N('comment.line.add', 'Add Line Comment'), alias: 'Add Line Comment', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: (0, r.gx)(2089, 2081), weight: 100, }, }); } } ), (0, s.Qr)( class extends m { constructor() { super(2, { id: 'editor.action.removeCommentLine', label: n.N('comment.line.remove', 'Remove Line Comment'), alias: 'Remove Line Comment', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: (0, r.gx)(2089, 2099), weight: 100, }, }); } } ), (0, s.Qr)(_); }, 76522: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { ContextMenuController: () => p }); var n = i(63580), r = i(65321), s = i(74741), o = i(5976), a = i(16830), l = i(29102), c = i(84144), d = i(38819), h = i(5606), u = i(91847), g = i(76033), f = function (e, t) { return function (i, n) { t(i, n, e); }; }; let p = class e { constructor(e, t, i, n, s, a) { (this._contextMenuService = t), (this._contextViewService = i), (this._contextKeyService = n), (this._keybindingService = s), (this._menuService = a), (this._toDispose = new o.SL()), (this._contextMenuIsBeingShownCount = 0), (this._editor = e), this._toDispose.add( this._editor.onContextMenu((e) => this._onContextMenu(e)) ), this._toDispose.add( this._editor.onMouseWheel((e) => { if (this._contextMenuIsBeingShownCount > 0) { const t = this._contextViewService.getContextViewElement(), i = e.srcElement; (i.shadowRoot && r.Ay(t) === i.shadowRoot) || this._contextViewService.hideContextView(); } }) ), this._toDispose.add( this._editor.onKeyDown((e) => { 58 === e.keyCode && (e.preventDefault(), e.stopPropagation(), this.showContextMenu()); }) ); } static get(t) { return t.getContribution(e.ID); } _onContextMenu(e) { if (!this._editor.hasModel()) return; if (!this._editor.getOption(15)) return ( this._editor.focus(), void ( e.target.position && !this._editor .getSelection() .containsPosition(e.target.position) && this._editor.setPosition(e.target.position) ) ); if (12 === e.target.type) return; if ( (e.event.preventDefault(), 6 !== e.target.type && 7 !== e.target.type && 1 !== e.target.type) ) return; if ((this._editor.focus(), e.target.position)) { let t = !1; for (const i of this._editor.getSelections()) if (i.containsPosition(e.target.position)) { t = !0; break; } t || this._editor.setPosition(e.target.position); } let t = null; 1 !== e.target.type && (t = { x: e.event.posx - 1, width: 2, y: e.event.posy - 1, height: 2, }), this.showContextMenu(t); } showContextMenu(e) { if (!this._editor.getOption(15)) return; if (!this._editor.hasModel()) return; if (!this._contextMenuService) return void this._editor.focus(); const t = this._getMenuActions( this._editor.getModel(), c.eH.EditorContext ); t.length > 0 && this._doShowContextMenu(t, e); } _getMenuActions(e, t) { const i = [], n = this._menuService.createMenu(t, this._contextKeyService), r = n.getActions({ arg: e.uri }); n.dispose(); for (let t of r) { const [, n] = t; let r = 0; for (const t of n) if (t instanceof c.NZ) { const n = this._getMenuActions(e, t.item.submenu); n.length > 0 && (i.push(new s.wY(t.id, t.label, n)), r++); } else i.push(t), r++; r && i.push(new s.Z0()); } return i.length && i.pop(), i; } _doShowContextMenu(e, t = null) { if (!this._editor.hasModel()) return; const i = this._editor.getOption(46); if ((this._editor.updateOptions({ hover: { enabled: !1 } }), !t)) { this._editor.revealPosition(this._editor.getPosition(), 1), this._editor.render(); const e = this._editor.getScrolledVisiblePosition( this._editor.getPosition() ), i = r.i(this._editor.getDomNode()), n = i.left + e.left, s = i.top + e.top + e.height; t = { x: n, y: s }; } this._contextMenuIsBeingShownCount++, this._contextMenuService.showContextMenu({ domForShadowRoot: this._editor.getDomNode(), getAnchor: () => t, getActions: () => e, getActionViewItem: (e) => { const t = this._keybindingFor(e); if (t) return new g.g(e, e, { label: !0, keybinding: t.getLabel(), isMenu: !0, }); const i = e; return 'function' == typeof i.getActionViewItem ? i.getActionViewItem() : new g.g(e, e, { icon: !0, label: !0, isMenu: !0 }); }, getKeyBinding: (e) => this._keybindingFor(e), onHide: (e) => { this._contextMenuIsBeingShownCount--, this._editor.focus(), this._editor.updateOptions({ hover: i }); }, }); } _keybindingFor(e) { return this._keybindingService.lookupKeybinding(e.id); } dispose() { this._contextMenuIsBeingShownCount > 0 && this._contextViewService.hideContextView(), this._toDispose.dispose(); } }; (p.ID = 'editor.contrib.contextmenu'), (p = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([f(1, h.i), f(2, h.u), f(3, d.i6), f(4, u.d), f(5, c.co)], p)); class m extends a.R6 { constructor() { super({ id: 'editor.action.showContextMenu', label: n.N( 'action.showContextMenu.label', 'Show Editor Context Menu' ), alias: 'Show Editor Context Menu', precondition: void 0, kbOpts: { kbExpr: l.u.textInputFocus, primary: 1092, weight: 100, }, }); } run(e, t) { p.get(t).showContextMenu(); } } (0, a._K)(p.ID, p), (0, a.Qr)(m); }, 42834: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CursorUndoRedoController: () => c, CursorUndo: () => d, CursorRedo: () => h, }); var n = i(63580), r = i(5976), s = i(16830), o = i(29102); class a { constructor(e) { this.selections = e; } equals(e) { const t = this.selections.length; if (t !== e.selections.length) return !1; for (let i = 0; i < t; i++) if (!this.selections[i].equalsSelection(e.selections[i])) return !1; return !0; } } class l { constructor(e, t, i) { (this.cursorState = e), (this.scrollTop = t), (this.scrollLeft = i); } } class c extends r.JT { constructor(e) { super(), (this._editor = e), (this._isCursorUndoRedo = !1), (this._undoStack = []), (this._redoStack = []), this._register( e.onDidChangeModel((e) => { (this._undoStack = []), (this._redoStack = []); }) ), this._register( e.onDidChangeModelContent((e) => { (this._undoStack = []), (this._redoStack = []); }) ), this._register( e.onDidChangeCursorSelection((t) => { if (this._isCursorUndoRedo) return; if (!t.oldSelections) return; if (t.oldModelVersionId !== t.modelVersionId) return; const i = new a(t.oldSelections); (this._undoStack.length > 0 && this._undoStack[ this._undoStack.length - 1 ].cursorState.equals(i)) || (this._undoStack.push( new l(i, e.getScrollTop(), e.getScrollLeft()) ), (this._redoStack = []), this._undoStack.length > 50 && this._undoStack.shift()); }) ); } static get(e) { return e.getContribution(c.ID); } cursorUndo() { this._editor.hasModel() && 0 !== this._undoStack.length && (this._redoStack.push( new l( new a(this._editor.getSelections()), this._editor.getScrollTop(), this._editor.getScrollLeft() ) ), this._applyState(this._undoStack.pop())); } cursorRedo() { this._editor.hasModel() && 0 !== this._redoStack.length && (this._undoStack.push( new l( new a(this._editor.getSelections()), this._editor.getScrollTop(), this._editor.getScrollLeft() ) ), this._applyState(this._redoStack.pop())); } _applyState(e) { (this._isCursorUndoRedo = !0), this._editor.setSelections(e.cursorState.selections), this._editor.setScrollPosition({ scrollTop: e.scrollTop, scrollLeft: e.scrollLeft, }), (this._isCursorUndoRedo = !1); } } c.ID = 'editor.contrib.cursorUndoRedoController'; class d extends s.R6 { constructor() { super({ id: 'cursorUndo', label: n.N('cursor.undo', 'Cursor Undo'), alias: 'Cursor Undo', precondition: void 0, kbOpts: { kbExpr: o.u.textInputFocus, primary: 2099, weight: 100, }, }); } run(e, t, i) { c.get(t).cursorUndo(); } } class h extends s.R6 { constructor() { super({ id: 'cursorRedo', label: n.N('cursor.redo', 'Cursor Redo'), alias: 'Cursor Redo', precondition: void 0, }); } run(e, t, i) { c.get(t).cursorRedo(); } } (0, s._K)(c.ID, c), (0, s.Qr)(d), (0, s.Qr)(h); }, 7441: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { DragAndDropController: () => u }); var n = i(5976), r = i(1432), s = i(16830), o = i(50187), a = i(24314), l = i(3860); class c { constructor(e, t, i) { (this.selection = e), (this.targetPosition = t), (this.copy = i), (this.targetSelection = null); } getEditOperations(e, t) { let i = e.getValueInRange(this.selection); this.copy || t.addEditOperation(this.selection, null), t.addEditOperation( new a.e( this.targetPosition.lineNumber, this.targetPosition.column, this.targetPosition.lineNumber, this.targetPosition.column ), i ), !this.selection.containsPosition(this.targetPosition) || (this.copy && (this.selection.getEndPosition().equals(this.targetPosition) || this.selection .getStartPosition() .equals(this.targetPosition))) ? this.copy ? (this.targetSelection = new l.Y( this.targetPosition.lineNumber, this.targetPosition.column, this.selection.endLineNumber - this.selection.startLineNumber + this.targetPosition.lineNumber, this.selection.startLineNumber === this.selection.endLineNumber ? this.targetPosition.column + this.selection.endColumn - this.selection.startColumn : this.selection.endColumn )) : this.targetPosition.lineNumber > this.selection.endLineNumber ? (this.targetSelection = new l.Y( this.targetPosition.lineNumber - this.selection.endLineNumber + this.selection.startLineNumber, this.targetPosition.column, this.targetPosition.lineNumber, this.selection.startLineNumber === this.selection.endLineNumber ? this.targetPosition.column + this.selection.endColumn - this.selection.startColumn : this.selection.endColumn )) : this.targetPosition.lineNumber < this.selection.endLineNumber ? (this.targetSelection = new l.Y( this.targetPosition.lineNumber, this.targetPosition.column, this.targetPosition.lineNumber + this.selection.endLineNumber - this.selection.startLineNumber, this.selection.startLineNumber === this.selection.endLineNumber ? this.targetPosition.column + this.selection.endColumn - this.selection.startColumn : this.selection.endColumn )) : this.selection.endColumn <= this.targetPosition.column ? (this.targetSelection = new l.Y( this.targetPosition.lineNumber - this.selection.endLineNumber + this.selection.startLineNumber, (this.selection.startLineNumber, this.selection.endLineNumber, this.targetPosition.column - this.selection.endColumn + this.selection.startColumn), this.targetPosition.lineNumber, this.selection.startLineNumber === this.selection.endLineNumber ? this.targetPosition.column : this.selection.endColumn )) : (this.targetSelection = new l.Y( this.targetPosition.lineNumber - this.selection.endLineNumber + this.selection.startLineNumber, this.targetPosition.column, this.targetPosition.lineNumber, this.targetPosition.column + this.selection.endColumn - this.selection.startColumn )) : (this.targetSelection = this.selection); } computeCursorState(e, t) { return this.targetSelection; } } var d = i(3411); function h(e) { return r.dz ? e.altKey : e.ctrlKey; } class u extends n.JT { constructor(e) { super(), (this._editor = e), this._register( this._editor.onMouseDown((e) => this._onEditorMouseDown(e)) ), this._register( this._editor.onMouseUp((e) => this._onEditorMouseUp(e)) ), this._register( this._editor.onMouseDrag((e) => this._onEditorMouseDrag(e)) ), this._register( this._editor.onMouseDrop((e) => this._onEditorMouseDrop(e)) ), this._register( this._editor.onKeyDown((e) => this.onEditorKeyDown(e)) ), this._register( this._editor.onKeyUp((e) => this.onEditorKeyUp(e)) ), this._register( this._editor.onDidBlurEditorWidget(() => this.onEditorBlur()) ), this._register( this._editor.onDidBlurEditorText(() => this.onEditorBlur()) ), (this._dndDecorationIds = []), (this._mouseDown = !1), (this._modifierPressed = !1), (this._dragSelection = null); } onEditorBlur() { this._removeDecoration(), (this._dragSelection = null), (this._mouseDown = !1), (this._modifierPressed = !1); } onEditorKeyDown(e) { this._editor.getOption(25) && !this._editor.getOption(13) && (h(e) && (this._modifierPressed = !0), this._mouseDown && h(e) && this._editor.updateOptions({ mouseStyle: 'copy' })); } onEditorKeyUp(e) { this._editor.getOption(25) && !this._editor.getOption(13) && (h(e) && (this._modifierPressed = !1), this._mouseDown && e.keyCode === u.TRIGGER_KEY_VALUE && this._editor.updateOptions({ mouseStyle: 'default' })); } _onEditorMouseDown(e) { this._mouseDown = !0; } _onEditorMouseUp(e) { (this._mouseDown = !1), this._editor.updateOptions({ mouseStyle: 'text' }); } _onEditorMouseDrag(e) { let t = e.target; if (null === this._dragSelection) { let e = (this._editor.getSelections() || []).filter( (e) => t.position && e.containsPosition(t.position) ); if (1 !== e.length) return; this._dragSelection = e[0]; } h(e.event) ? this._editor.updateOptions({ mouseStyle: 'copy' }) : this._editor.updateOptions({ mouseStyle: 'default' }), t.position && (this._dragSelection.containsPosition(t.position) ? this._removeDecoration() : this.showAt(t.position)); } _onEditorMouseDrop(e) { if ( e.target && (this._hitContent(e.target) || this._hitMargin(e.target)) && e.target.position ) { let t = new o.L( e.target.position.lineNumber, e.target.position.column ); if (null === this._dragSelection) { let i = null; if (e.event.shiftKey) { let e = this._editor.getSelection(); if (e) { const { selectionStartLineNumber: n, selectionStartColumn: r, } = e; i = [new l.Y(n, r, t.lineNumber, t.column)]; } } else i = (this._editor.getSelections() || []).map((e) => e.containsPosition(t) ? new l.Y(t.lineNumber, t.column, t.lineNumber, t.column) : e ); this._editor.setSelections(i || [], 'mouse'); } else (!this._dragSelection.containsPosition(t) || ((h(e.event) || this._modifierPressed) && (this._dragSelection.getEndPosition().equals(t) || this._dragSelection.getStartPosition().equals(t)))) && (this._editor.pushUndoStop(), this._editor.executeCommand( u.ID, new c( this._dragSelection, t, h(e.event) || this._modifierPressed ) ), this._editor.pushUndoStop()); } this._editor.updateOptions({ mouseStyle: 'text' }), this._removeDecoration(), (this._dragSelection = null), (this._mouseDown = !1); } showAt(e) { let t = [ { range: new a.e(e.lineNumber, e.column, e.lineNumber, e.column), options: u._DECORATION_OPTIONS, }, ]; (this._dndDecorationIds = this._editor.deltaDecorations( this._dndDecorationIds, t )), this._editor.revealPosition(e, 1); } _removeDecoration() { this._dndDecorationIds = this._editor.deltaDecorations( this._dndDecorationIds, [] ); } _hitContent(e) { return 6 === e.type || 7 === e.type; } _hitMargin(e) { return 2 === e.type || 3 === e.type || 4 === e.type; } dispose() { this._removeDecoration(), (this._dragSelection = null), (this._mouseDown = !1), (this._modifierPressed = !1), super.dispose(); } } (u.ID = 'editor.contrib.dragAndDrop'), (u.TRIGGER_KEY_VALUE = r.dz ? 6 : 5), (u._DECORATION_OPTIONS = d.qx.register({ className: 'dnd-target' })), (0, s._K)(u.ID, u); }, 86895: (e, t, i) => { 'use strict'; i.d(t, { sT: () => h, C3: () => g }); var n = i(9488), r = i(71050), s = i(17301), o = i(43702), a = i(43775), l = i(53725), c = i(59870); class d { remove() { this.parent && this.parent.children.delete(this.id); } static findId(e, t) { let i; 'string' == typeof e ? (i = `${t.id}/${e}`) : ((i = `${t.id}/${e.name}`), void 0 !== t.children.get(i) && (i = `${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`)); let n = i; for (let e = 0; void 0 !== t.children.get(n); e++) n = `${i}_${e}`; return n; } static empty(e) { return 0 === e.children.size; } } class h extends d { constructor(e, t, i) { super(), (this.id = e), (this.parent = t), (this.symbol = i), (this.children = new Map()); } } class u extends d { constructor(e, t, i, n) { super(), (this.id = e), (this.parent = t), (this.label = i), (this.order = n), (this.children = new Map()); } } class g extends d { constructor(e) { super(), (this.uri = e), (this.id = 'root'), (this.parent = void 0), (this._groups = new Map()), (this.children = new Map()), (this.id = 'root'), (this.parent = void 0); } static create(e, t) { let i = this._keys.for(e, !0), n = g._requests.get(i); if (!n) { let t = new r.A(); (n = { promiseCnt: 0, source: t, promise: g._create(e, t.token), model: void 0, }), g._requests.set(i, n); const s = Date.now(); n.promise.then(() => { let t = this._keys.for(e, !1), i = this._requestDurations.get(t); i || ((i = new c.n()), this._requestDurations.set(t, i)), i.update(Date.now() - s); }); } return n.model ? Promise.resolve(n.model) : ((n.promiseCnt += 1), t.onCancellationRequested(() => { 0 == --n.promiseCnt && (n.source.cancel(), g._requests.delete(i)); }), new Promise((e, t) => { n.promise.then( (t) => { (n.model = t), e(t); }, (e) => { g._requests.delete(i), t(e); } ); })); } static _create(e, t) { const i = new r.A(t), o = new g(e.uri), l = a.vJ.ordered(e), c = l.map((t, n) => { var r; let a = d.findId(`provider_${n}`, o), l = new u( a, o, null !== (r = t.displayName) && void 0 !== r ? r : 'Unknown Outline Provider', n ); return Promise.resolve(t.provideDocumentSymbols(e, i.token)) .then( (e) => { for (const t of e || []) g._makeOutlineElement(t, l); return l; }, (e) => ((0, s.Cp)(e), l) ) .then((e) => { d.empty(e) ? e.remove() : o._groups.set(a, e); }); }), h = a.vJ.onDidChange(() => { const t = a.vJ.ordered(e); (0, n.fS)(t, l) || i.cancel(); }); return Promise.all(c) .then(() => i.token.isCancellationRequested && !t.isCancellationRequested ? g._create(e, t) : o._compact() ) .finally(() => { h.dispose(); }); } static _makeOutlineElement(e, t) { let i = d.findId(e, t), n = new h(i, t, e); if (e.children) for (const t of e.children) g._makeOutlineElement(t, n); t.children.set(n.id, n); } _compact() { let e = 0; for (const [t, i] of this._groups) 0 === i.children.size ? this._groups.delete(t) : (e += 1); if (1 !== e) this.children = this._groups; else { let e = l.$.first(this._groups.values()); for (let [, t] of e.children) (t.parent = this), this.children.set(t.id, t); } return this; } } (g._requestDurations = new o.z6(50, 0.7)), (g._requests = new o.z6(9, 0.75)), (g._keys = new (class { constructor() { (this._counter = 1), (this._data = new WeakMap()); } for(e, t) { return `${e.id}/${t ? e.getVersionId() : ''}/${this._hash( a.vJ.all(e) )}`; } _hash(e) { let t = ''; for (const i of e) { let e = this._data.get(i); void 0 === e && ((e = this._counter++), this._data.set(i, e)), (t += e); } return t; } })()); }, 93391: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CommonFindController: () => bt, EditorStartFindAction: () => Tt, EditorStartFindReplaceAction: () => It, FindController: () => vt, MatchFindAction: () => Ct, NextMatchFindAction: () => St, NextMatchFindAction2: () => kt, NextSelectionMatchFindAction: () => Dt, PreviousMatchFindAction: () => xt, PreviousMatchFindAction2: () => Lt, PreviousSelectionMatchFindAction: () => Nt, SelectionMatchFindAction: () => Mt, StartFindAction: () => yt, StartFindReplaceAction: () => Et, StartFindWithSelectionAction: () => wt, getSelectionSearchString: () => _t, }); var n = i(63580), r = i(15393), s = i(5976), o = i(97295), a = i(16830), l = i(29102), c = i(61329), d = i(50187), h = i(24314), u = i(3860), g = i(77277), f = i(84973), p = i(3411), m = i(73910), _ = i(97781); class b { constructor(e) { (this._editor = e), (this._decorations = []), (this._overviewRulerApproximateDecorations = []), (this._findScopeDecorationIds = []), (this._rangeHighlightDecorationId = null), (this._highlightedDecorationId = null), (this._startPosition = this._editor.getPosition()); } dispose() { this._editor.deltaDecorations(this._allDecorations(), []), (this._decorations = []), (this._overviewRulerApproximateDecorations = []), (this._findScopeDecorationIds = []), (this._rangeHighlightDecorationId = null), (this._highlightedDecorationId = null); } reset() { (this._decorations = []), (this._overviewRulerApproximateDecorations = []), (this._findScopeDecorationIds = []), (this._rangeHighlightDecorationId = null), (this._highlightedDecorationId = null); } getCount() { return this._decorations.length; } getFindScope() { return this._findScopeDecorationIds[0] ? this._editor .getModel() .getDecorationRange(this._findScopeDecorationIds[0]) : null; } getFindScopes() { if (this._findScopeDecorationIds.length) { const e = this._findScopeDecorationIds .map((e) => this._editor.getModel().getDecorationRange(e)) .filter((e) => !!e); if (e.length) return e; } return null; } getStartPosition() { return this._startPosition; } setStartPosition(e) { (this._startPosition = e), this.setCurrentFindMatch(null); } _getDecorationIndex(e) { const t = this._decorations.indexOf(e); return t >= 0 ? t + 1 : 1; } getCurrentMatchesPosition(e) { let t = this._editor.getModel().getDecorationsInRange(e); for (const e of t) { const t = e.options; if ( t === b._FIND_MATCH_DECORATION || t === b._CURRENT_FIND_MATCH_DECORATION ) return this._getDecorationIndex(e.id); } return 0; } setCurrentFindMatch(e) { let t = null, i = 0; if (e) for (let n = 0, r = this._decorations.length; n < r; n++) { let r = this._editor .getModel() .getDecorationRange(this._decorations[n]); if (e.equalsRange(r)) { (t = this._decorations[n]), (i = n + 1); break; } } return ( (null === this._highlightedDecorationId && null === t) || this._editor.changeDecorations((e) => { if ( (null !== this._highlightedDecorationId && (e.changeDecorationOptions( this._highlightedDecorationId, b._FIND_MATCH_DECORATION ), (this._highlightedDecorationId = null)), null !== t && ((this._highlightedDecorationId = t), e.changeDecorationOptions( this._highlightedDecorationId, b._CURRENT_FIND_MATCH_DECORATION )), null !== this._rangeHighlightDecorationId && (e.removeDecoration(this._rangeHighlightDecorationId), (this._rangeHighlightDecorationId = null)), null !== t) ) { let i = this._editor.getModel().getDecorationRange(t); if ( i.startLineNumber !== i.endLineNumber && 1 === i.endColumn ) { let e = i.endLineNumber - 1, t = this._editor.getModel().getLineMaxColumn(e); i = new h.e(i.startLineNumber, i.startColumn, e, t); } this._rangeHighlightDecorationId = e.addDecoration( i, b._RANGE_HIGHLIGHT_DECORATION ); } }), i ); } set(e, t) { this._editor.changeDecorations((i) => { let n = b._FIND_MATCH_DECORATION, r = []; if (e.length > 1e3) { n = b._FIND_MATCH_NO_OVERVIEW_DECORATION; const t = this._editor.getModel().getLineCount(), i = this._editor.getLayoutInfo().height / t, s = Math.max(2, Math.ceil(3 / i)); let o = e[0].range.startLineNumber, a = e[0].range.endLineNumber; for (let t = 1, i = e.length; t < i; t++) { const i = e[t].range; a + s >= i.startLineNumber ? i.endLineNumber > a && (a = i.endLineNumber) : (r.push({ range: new h.e(o, 1, a, 1), options: b._FIND_MATCH_ONLY_OVERVIEW_DECORATION, }), (o = i.startLineNumber), (a = i.endLineNumber)); } r.push({ range: new h.e(o, 1, a, 1), options: b._FIND_MATCH_ONLY_OVERVIEW_DECORATION, }); } let s = new Array(e.length); for (let t = 0, i = e.length; t < i; t++) s[t] = { range: e[t].range, options: n }; (this._decorations = i.deltaDecorations(this._decorations, s)), (this._overviewRulerApproximateDecorations = i.deltaDecorations( this._overviewRulerApproximateDecorations, r )), this._rangeHighlightDecorationId && (i.removeDecoration(this._rangeHighlightDecorationId), (this._rangeHighlightDecorationId = null)), this._findScopeDecorationIds.length && (this._findScopeDecorationIds.forEach((e) => i.removeDecoration(e) ), (this._findScopeDecorationIds = [])), (null == t ? void 0 : t.length) && (this._findScopeDecorationIds = t.map((e) => i.addDecoration(e, b._FIND_SCOPE_DECORATION) )); }); } matchBeforePosition(e) { if (0 === this._decorations.length) return null; for (let t = this._decorations.length - 1; t >= 0; t--) { let i = this._decorations[t], n = this._editor.getModel().getDecorationRange(i); if (n && !(n.endLineNumber > e.lineNumber)) { if (n.endLineNumber < e.lineNumber) return n; if (!(n.endColumn > e.column)) return n; } } return this._editor .getModel() .getDecorationRange( this._decorations[this._decorations.length - 1] ); } matchAfterPosition(e) { if (0 === this._decorations.length) return null; for (let t = 0, i = this._decorations.length; t < i; t++) { let i = this._decorations[t], n = this._editor.getModel().getDecorationRange(i); if (n && !(n.startLineNumber < e.lineNumber)) { if (n.startLineNumber > e.lineNumber) return n; if (!(n.startColumn < e.column)) return n; } } return this._editor .getModel() .getDecorationRange(this._decorations[0]); } _allDecorations() { let e = []; return ( (e = e.concat(this._decorations)), (e = e.concat(this._overviewRulerApproximateDecorations)), this._findScopeDecorationIds.length && e.push(...this._findScopeDecorationIds), this._rangeHighlightDecorationId && e.push(this._rangeHighlightDecorationId), e ); } } (b._CURRENT_FIND_MATCH_DECORATION = p.qx.register({ stickiness: 1, zIndex: 13, className: 'currentFindMatch', showIfCollapsed: !0, overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, minimap: { color: (0, _.EN)(m.KT), position: f.F5.Inline }, })), (b._FIND_MATCH_DECORATION = p.qx.register({ stickiness: 1, className: 'findMatch', showIfCollapsed: !0, overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, minimap: { color: (0, _.EN)(m.KT), position: f.F5.Inline }, })), (b._FIND_MATCH_NO_OVERVIEW_DECORATION = p.qx.register({ stickiness: 1, className: 'findMatch', showIfCollapsed: !0, })), (b._FIND_MATCH_ONLY_OVERVIEW_DECORATION = p.qx.register({ stickiness: 1, overviewRuler: { color: (0, _.EN)(m.Fm), position: f.sh.Center }, })), (b._RANGE_HIGHLIGHT_DECORATION = p.qx.register({ stickiness: 1, className: 'rangeHighlight', isWholeLine: !0, })), (b._FIND_SCOPE_DECORATION = p.qx.register({ className: 'findScope', isWholeLine: !0, })); class v { constructor(e, t, i) { (this._editorSelection = e), (this._ranges = t), (this._replaceStrings = i), (this._trackedEditorSelectionId = null); } getEditOperations(e, t) { if (this._ranges.length > 0) { let e = []; for (let t = 0; t < this._ranges.length; t++) e.push({ range: this._ranges[t], text: this._replaceStrings[t], }); e.sort((e, t) => h.e.compareRangesUsingStarts(e.range, t.range)); let i = [], n = e[0]; for (let t = 1; t < e.length; t++) n.range.endLineNumber === e[t].range.startLineNumber && n.range.endColumn === e[t].range.startColumn ? ((n.range = n.range.plusRange(e[t].range)), (n.text = n.text + e[t].text)) : (i.push(n), (n = e[t])); i.push(n); for (const e of i) t.addEditOperation(e.range, e.text); } this._trackedEditorSelectionId = t.trackSelection( this._editorSelection ); } computeCursorState(e, t) { return t.getTrackedSelection(this._trackedEditorSelectionId); } } function y(e, t) { if (e && '' !== e[0]) { const i = w(e, t, '-'), n = w(e, t, '_'); return i && !n ? C(e, t, '-') : !i && n ? C(e, t, '_') : e[0].toUpperCase() === e[0] ? t.toUpperCase() : e[0].toLowerCase() === e[0] ? t.toLowerCase() : o.Kw(e[0][0]) && t.length > 0 ? t[0].toUpperCase() + t.substr(1) : t; } return t; } function w(e, t, i) { return ( -1 !== e[0].indexOf(i) && -1 !== t.indexOf(i) && e[0].split(i).length === t.split(i).length ); } function C(e, t, i) { const n = t.split(i), r = e[0].split(i); let s = ''; return ( n.forEach((e, t) => { s += y([r[t]], e) + i; }), s.slice(0, -1) ); } class S { constructor(e) { (this.staticValue = e), (this.kind = 0); } } class k { constructor(e) { (this.pieces = e), (this.kind = 1); } } class x { constructor(e) { e && 0 !== e.length ? 1 === e.length && null !== e[0].staticValue ? (this._state = new S(e[0].staticValue)) : (this._state = new k(e)) : (this._state = new S('')); } static fromStaticValue(e) { return new x([L.staticValue(e)]); } get hasReplacementPatterns() { return 1 === this._state.kind; } buildReplaceString(e, t) { if (0 === this._state.kind) return t ? y(e, this._state.staticValue) : this._state.staticValue; let i = ''; for (let t = 0, n = this._state.pieces.length; t < n; t++) { let n = this._state.pieces[t]; if (null !== n.staticValue) { i += n.staticValue; continue; } let r = x._substitute(n.matchIndex, e); if (null !== n.caseOps && n.caseOps.length > 0) { let e = [], t = n.caseOps.length, i = 0; for (let s = 0, o = r.length; s < o; s++) { if (i >= t) { e.push(r.slice(s)); break; } switch (n.caseOps[i]) { case 'U': e.push(r[s].toUpperCase()); break; case 'u': e.push(r[s].toUpperCase()), i++; break; case 'L': e.push(r[s].toLowerCase()); break; case 'l': e.push(r[s].toLowerCase()), i++; break; default: e.push(r[s]); } } r = e.join(''); } i += r; } return i; } static _substitute(e, t) { if (null === t) return ''; if (0 === e) return t[0]; let i = ''; for (; e > 0; ) { if (e < t.length) return (t[e] || '') + i; (i = String(e % 10) + i), (e = Math.floor(e / 10)); } return '$' + i; } } class L { constructor(e, t, i) { (this.staticValue = e), (this.matchIndex = t), i && 0 !== i.length ? (this.caseOps = i.slice(0)) : (this.caseOps = null); } static staticValue(e) { return new L(e, -1, null); } static caseOps(e, t) { return new L(null, e, t); } } class M { constructor(e) { (this._source = e), (this._lastCharIndex = 0), (this._result = []), (this._resultLen = 0), (this._currentStaticPiece = ''); } emitUnchanged(e) { this._emitStatic(this._source.substring(this._lastCharIndex, e)), (this._lastCharIndex = e); } emitStatic(e, t) { this._emitStatic(e), (this._lastCharIndex = t); } _emitStatic(e) { 0 !== e.length && (this._currentStaticPiece += e); } emitMatchIndex(e, t, i) { 0 !== this._currentStaticPiece.length && ((this._result[this._resultLen++] = L.staticValue( this._currentStaticPiece )), (this._currentStaticPiece = '')), (this._result[this._resultLen++] = L.caseOps(e, i)), (this._lastCharIndex = t); } finalize() { return ( this.emitUnchanged(this._source.length), 0 !== this._currentStaticPiece.length && ((this._result[this._resultLen++] = L.staticValue( this._currentStaticPiece )), (this._currentStaticPiece = '')), new x(this._result) ); } } var D = i(38819), N = i(9488); const E = new D.uy('findWidgetVisible', !1), T = new D.uy('findInputFocussed', !1), I = new D.uy('replaceInputFocussed', !1), O = { primary: 545, mac: { primary: 2593 } }, A = { primary: 565, mac: { primary: 2613 } }, R = { primary: 560, mac: { primary: 2608 } }, P = { primary: 554, mac: { primary: 2602 } }, F = 'editor.action.nextMatchFindAction', B = 'editor.action.previousMatchFindAction', W = 'closeFindWidget', Y = 'toggleFindCaseSensitive', H = 'toggleFindWholeWord', j = 'toggleFindRegex', V = 'toggleFindInSelection', z = 'editor.action.replaceOne', U = 'editor.action.replaceAll', $ = 19999; class K { constructor(e, t) { (this._toDispose = new s.SL()), (this._editor = e), (this._state = t), (this._isDisposed = !1), (this._startSearchingTimer = new r._F()), (this._decorations = new b(e)), this._toDispose.add(this._decorations), (this._updateDecorationsScheduler = new r.pY( () => this.research(!1), 100 )), this._toDispose.add(this._updateDecorationsScheduler), this._toDispose.add( this._editor.onDidChangeCursorPosition((e) => { (3 !== e.reason && 5 !== e.reason && 6 !== e.reason) || this._decorations.setStartPosition( this._editor.getPosition() ); }) ), (this._ignoreModelContentChanged = !1), this._toDispose.add( this._editor.onDidChangeModelContent((e) => { this._ignoreModelContentChanged || (e.isFlush && this._decorations.reset(), this._decorations.setStartPosition( this._editor.getPosition() ), this._updateDecorationsScheduler.schedule()); }) ), this._toDispose.add( this._state.onFindReplaceStateChange((e) => this._onStateChanged(e) ) ), this.research(!1, this._state.searchScope); } dispose() { (this._isDisposed = !0), (0, s.B9)(this._startSearchingTimer), this._toDispose.dispose(); } _onStateChanged(e) { !this._isDisposed && this._editor.hasModel() && (e.searchString || e.isReplaceRevealed || e.isRegex || e.wholeWord || e.matchCase || e.searchScope) && (this._editor.getModel().isTooLargeForSyncing() ? (this._startSearchingTimer.cancel(), this._startSearchingTimer.setIfNotSet(() => { e.searchScope ? this.research(e.moveCursor, this._state.searchScope) : this.research(e.moveCursor); }, 240)) : e.searchScope ? this.research(e.moveCursor, this._state.searchScope) : this.research(e.moveCursor)); } static _getSearchRange(e, t) { return t || e.getFullModelRange(); } research(e, t) { let i = null; void 0 !== t ? null !== t && (i = Array.isArray(t) ? t : [t]) : (i = this._decorations.getFindScopes()), null !== i && (i = i.map((e) => { if (e.startLineNumber !== e.endLineNumber) { let t = e.endLineNumber; return ( 1 === e.endColumn && (t -= 1), new h.e( e.startLineNumber, 1, t, this._editor.getModel().getLineMaxColumn(t) ) ); } return e; })); let n = this._findMatches(i, !1, $); this._decorations.set(n, i); const r = this._editor.getSelection(); let s = this._decorations.getCurrentMatchesPosition(r); if (0 === s && n.length > 0) { const e = (0, N.lG)( n.map((e) => e.range), (e) => h.e.compareRangesUsingStarts(e, r) >= 0 ); s = e > 0 ? e - 1 + 1 : s; } this._state.changeMatchInfo( s, this._decorations.getCount(), void 0 ), e && this._editor.getOption(29).cursorMoveOnType && this._moveToNextMatch(this._decorations.getStartPosition()); } _hasMatches() { return this._state.matchesCount > 0; } _cannotFind() { if (!this._hasMatches()) { let e = this._decorations.getFindScope(); return ( e && this._editor.revealRangeInCenterIfOutsideViewport(e, 0), !0 ); } return !1; } _setCurrentFindMatch(e) { let t = this._decorations.setCurrentFindMatch(e); this._state.changeMatchInfo(t, this._decorations.getCount(), e), this._editor.setSelection(e), this._editor.revealRangeInCenterIfOutsideViewport(e, 0); } _prevSearchPosition(e) { let t = this._state.isRegex && (this._state.searchString.indexOf('^') >= 0 || this._state.searchString.indexOf('$') >= 0), { lineNumber: i, column: n } = e, r = this._editor.getModel(); return ( t || 1 === n ? (1 === i ? (i = r.getLineCount()) : i--, (n = r.getLineMaxColumn(i))) : n--, new d.L(i, n) ); } _moveToPrevMatch(e, t = !1) { if (!this._state.canNavigateBack()) { const t = this._decorations.matchAfterPosition(e); return void (t && this._setCurrentFindMatch(t)); } if (this._decorations.getCount() < $) { let t = this._decorations.matchBeforePosition(e); return ( t && t.isEmpty() && t.getStartPosition().equals(e) && ((e = this._prevSearchPosition(e)), (t = this._decorations.matchBeforePosition(e))), void (t && this._setCurrentFindMatch(t)) ); } if (this._cannotFind()) return; let i = this._decorations.getFindScope(), n = K._getSearchRange(this._editor.getModel(), i); n.getEndPosition().isBefore(e) && (e = n.getEndPosition()), e.isBefore(n.getStartPosition()) && (e = n.getEndPosition()); let { lineNumber: r, column: s } = e, o = this._editor.getModel(), a = new d.L(r, s), l = o.findPreviousMatch( this._state.searchString, a, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null, !1 ); return ( l && l.range.isEmpty() && l.range.getStartPosition().equals(a) && ((a = this._prevSearchPosition(a)), (l = o.findPreviousMatch( this._state.searchString, a, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null, !1 ))), l ? t || n.containsRange(l.range) ? void this._setCurrentFindMatch(l.range) : this._moveToPrevMatch(l.range.getStartPosition(), !0) : void 0 ); } moveToPrevMatch() { this._moveToPrevMatch( this._editor.getSelection().getStartPosition() ); } _nextSearchPosition(e) { let t = this._state.isRegex && (this._state.searchString.indexOf('^') >= 0 || this._state.searchString.indexOf('$') >= 0), { lineNumber: i, column: n } = e, r = this._editor.getModel(); return ( t || n === r.getLineMaxColumn(i) ? (i === r.getLineCount() ? (i = 1) : i++, (n = 1)) : n++, new d.L(i, n) ); } _moveToNextMatch(e) { if (!this._state.canNavigateForward()) { const t = this._decorations.matchBeforePosition(e); return void (t && this._setCurrentFindMatch(t)); } if (this._decorations.getCount() < $) { let t = this._decorations.matchAfterPosition(e); return ( t && t.isEmpty() && t.getStartPosition().equals(e) && ((e = this._nextSearchPosition(e)), (t = this._decorations.matchAfterPosition(e))), void (t && this._setCurrentFindMatch(t)) ); } let t = this._getNextMatch(e, !1, !0); t && this._setCurrentFindMatch(t.range); } _getNextMatch(e, t, i, n = !1) { if (this._cannotFind()) return null; let r = this._decorations.getFindScope(), s = K._getSearchRange(this._editor.getModel(), r); s.getEndPosition().isBefore(e) && (e = s.getStartPosition()), e.isBefore(s.getStartPosition()) && (e = s.getStartPosition()); let { lineNumber: o, column: a } = e, l = this._editor.getModel(), c = new d.L(o, a), h = l.findNextMatch( this._state.searchString, c, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null, t ); return ( i && h && h.range.isEmpty() && h.range.getStartPosition().equals(c) && ((c = this._nextSearchPosition(c)), (h = l.findNextMatch( this._state.searchString, c, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null, t ))), h ? n || s.containsRange(h.range) ? h : this._getNextMatch(h.range.getEndPosition(), t, i, !0) : null ); } moveToNextMatch() { this._moveToNextMatch(this._editor.getSelection().getEndPosition()); } _getReplacePattern() { return this._state.isRegex ? (function (e) { if (!e || 0 === e.length) return new x(null); let t = [], i = new M(e); for (let n = 0, r = e.length; n < r; n++) { let s = e.charCodeAt(n); if (92 !== s) { if (36 === s) { if ((n++, n >= r)) break; let s = e.charCodeAt(n); if (36 === s) { i.emitUnchanged(n - 1), i.emitStatic('$', n + 1); continue; } if (48 === s || 38 === s) { i.emitUnchanged(n - 1), i.emitMatchIndex(0, n + 1, t), (t.length = 0); continue; } if (49 <= s && s <= 57) { let o = s - 48; if (n + 1 < r) { let r = e.charCodeAt(n + 1); if (48 <= r && r <= 57) { n++, (o = 10 * o + (r - 48)), i.emitUnchanged(n - 2), i.emitMatchIndex(o, n + 1, t), (t.length = 0); continue; } } i.emitUnchanged(n - 1), i.emitMatchIndex(o, n + 1, t), (t.length = 0); continue; } } } else { if ((n++, n >= r)) break; let s = e.charCodeAt(n); switch (s) { case 92: i.emitUnchanged(n - 1), i.emitStatic('\\', n + 1); break; case 110: i.emitUnchanged(n - 1), i.emitStatic('\n', n + 1); break; case 116: i.emitUnchanged(n - 1), i.emitStatic('\t', n + 1); break; case 117: case 85: case 108: case 76: i.emitUnchanged(n - 1), i.emitStatic('', n + 1), t.push(String.fromCharCode(s)); } } } return i.finalize(); })(this._state.replaceString) : x.fromStaticValue(this._state.replaceString); } replace() { if (!this._hasMatches()) return; let e = this._getReplacePattern(), t = this._editor.getSelection(), i = this._getNextMatch(t.getStartPosition(), !0, !1); if (i) if (t.equalsRange(i.range)) { let n = e.buildReplaceString( i.matches, this._state.preserveCase ), r = new c.T4(t, n); this._executeEditorCommand('replace', r), this._decorations.setStartPosition( new d.L(t.startLineNumber, t.startColumn + n.length) ), this.research(!0); } else this._decorations.setStartPosition(this._editor.getPosition()), this._setCurrentFindMatch(i.range); } _findMatches(e, t, i) { const n = (e || [null]).map((e) => K._getSearchRange(this._editor.getModel(), e) ); return this._editor .getModel() .findMatches( this._state.searchString, n, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null, t, i ); } replaceAll() { if (!this._hasMatches()) return; const e = this._decorations.getFindScopes(); null === e && this._state.matchesCount >= $ ? this._largeReplaceAll() : this._regularReplaceAll(e), this.research(!1); } _largeReplaceAll() { const e = new g.bc( this._state.searchString, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(105) : null ).parseSearchRequest(); if (!e) return; let t = e.regex; if (!t.multiline) { let e = 'mu'; t.ignoreCase && (e += 'i'), t.global && (e += 'g'), (t = new RegExp(t.source, e)); } const i = this._editor.getModel(), n = i.getValue(1), r = i.getFullModelRange(), s = this._getReplacePattern(); let o; const a = this._state.preserveCase; o = s.hasReplacementPatterns || a ? n.replace(t, function () { return s.buildReplaceString(arguments, a); }) : n.replace(t, s.buildReplaceString(null, a)); let l = new c.hP(r, o, this._editor.getSelection()); this._executeEditorCommand('replaceAll', l); } _regularReplaceAll(e) { const t = this._getReplacePattern(); let i = this._findMatches( e, t.hasReplacementPatterns || this._state.preserveCase, 1073741824 ), n = []; for (let e = 0, r = i.length; e < r; e++) n[e] = t.buildReplaceString( i[e].matches, this._state.preserveCase ); let r = new v( this._editor.getSelection(), i.map((e) => e.range), n ); this._executeEditorCommand('replaceAll', r); } selectAllMatches() { if (!this._hasMatches()) return; let e = this._decorations.getFindScopes(), t = this._findMatches(e, !1, 1073741824).map( (e) => new u.Y( e.range.startLineNumber, e.range.startColumn, e.range.endLineNumber, e.range.endColumn ) ), i = this._editor.getSelection(); for (let e = 0, n = t.length; e < n; e++) if (t[e].equalsRange(i)) { t = [i].concat(t.slice(0, e)).concat(t.slice(e + 1)); break; } this._editor.setSelections(t); } _executeEditorCommand(e, t) { try { (this._ignoreModelContentChanged = !0), this._editor.pushUndoStop(), this._editor.executeCommand(e, t), this._editor.pushUndoStop(); } finally { this._ignoreModelContentChanged = !1; } } } var q = i(65321), G = i(93794), Z = i(41264), J = i(4669); const Q = { inputActiveOptionBorder: Z.Il.fromHex('#007ACC00'), inputActiveOptionForeground: Z.Il.fromHex('#FFFFFF'), inputActiveOptionBackground: Z.Il.fromHex('#0E639C50'), }; class X extends G.$ { constructor(e) { super(), (this._onChange = this._register(new J.Q5())), (this.onChange = this._onChange.event), (this._onKeyDown = this._register(new J.Q5())), (this.onKeyDown = this._onKeyDown.event), (this._opts = Object.assign(Object.assign({}, Q), e)), (this._checked = this._opts.isChecked); const t = ['monaco-custom-checkbox']; this._opts.icon ? t.push(this._opts.icon.classNames) : t.push('codicon'), this._opts.actionClassName && t.push(this._opts.actionClassName), t.push(this._checked ? 'checked' : 'unchecked'), (this.domNode = document.createElement('div')), (this.domNode.title = this._opts.title), (this.domNode.className = t.join(' ')), (this.domNode.tabIndex = 0), this.domNode.setAttribute('role', 'checkbox'), this.domNode.setAttribute('aria-checked', String(this._checked)), this.domNode.setAttribute('aria-label', this._opts.title), this.applyStyles(), this.onclick(this.domNode, (e) => { (this.checked = !this._checked), this._onChange.fire(!1), e.preventDefault(); }), this.ignoreGesture(this.domNode), this.onkeydown(this.domNode, (e) => { if (10 === e.keyCode || 3 === e.keyCode) return ( (this.checked = !this._checked), this._onChange.fire(!0), void e.preventDefault() ); this._onKeyDown.fire(e); }); } get enabled() { return 'true' !== this.domNode.getAttribute('aria-disabled'); } focus() { this.domNode.focus(); } get checked() { return this._checked; } set checked(e) { (this._checked = e), this.domNode.setAttribute('aria-checked', String(this._checked)), this._checked ? this.domNode.classList.add('checked') : this.domNode.classList.remove('checked'), this.applyStyles(); } width() { return 22; } style(e) { e.inputActiveOptionBorder && (this._opts.inputActiveOptionBorder = e.inputActiveOptionBorder), e.inputActiveOptionForeground && (this._opts.inputActiveOptionForeground = e.inputActiveOptionForeground), e.inputActiveOptionBackground && (this._opts.inputActiveOptionBackground = e.inputActiveOptionBackground), this.applyStyles(); } applyStyles() { this.domNode && ((this.domNode.style.borderColor = this._checked && this._opts.inputActiveOptionBorder ? this._opts.inputActiveOptionBorder.toString() : 'transparent'), (this.domNode.style.color = this._checked && this._opts.inputActiveOptionForeground ? this._opts.inputActiveOptionForeground.toString() : 'inherit'), (this.domNode.style.backgroundColor = this._checked && this._opts.inputActiveOptionBackground ? this._opts.inputActiveOptionBackground.toString() : 'transparent')); } enable() { (this.domNode.tabIndex = 0), this.domNode.setAttribute('aria-disabled', String(!1)); } disable() { q.eJ(this.domNode), this.domNode.setAttribute('aria-disabled', String(!0)); } } var ee = i(73046); const te = n.N('caseDescription', 'Match Case'), ie = n.N('wordsDescription', 'Match Whole Word'), ne = n.N('regexDescription', 'Use Regular Expression'); class re extends X { constructor(e) { super({ icon: ee.lA.caseSensitive, title: te + e.appendTitle, isChecked: e.isChecked, inputActiveOptionBorder: e.inputActiveOptionBorder, inputActiveOptionForeground: e.inputActiveOptionForeground, inputActiveOptionBackground: e.inputActiveOptionBackground, }); } } class se extends X { constructor(e) { super({ icon: ee.lA.wholeWord, title: ie + e.appendTitle, isChecked: e.isChecked, inputActiveOptionBorder: e.inputActiveOptionBorder, inputActiveOptionForeground: e.inputActiveOptionForeground, inputActiveOptionBackground: e.inputActiveOptionBackground, }); } } class oe extends X { constructor(e) { super({ icon: ee.lA.regex, title: ne + e.appendTitle, isChecked: e.isChecked, inputActiveOptionBorder: e.inputActiveOptionBorder, inputActiveOptionForeground: e.inputActiveOptionForeground, inputActiveOptionBackground: e.inputActiveOptionBackground, }); } } class ae extends G.$ { constructor(e, t, i, n) { super(), (this._hideSoon = this._register( new r.pY(() => this._hide(), 2e3) )), (this._isVisible = !1), (this._editor = e), (this._state = t), (this._keybindingService = i), (this._domNode = document.createElement('div')), (this._domNode.className = 'findOptionsWidget'), (this._domNode.style.display = 'none'), (this._domNode.style.top = '10px'), this._domNode.setAttribute('role', 'presentation'), this._domNode.setAttribute('aria-hidden', 'true'); const s = n.getColorTheme().getColor(m.PR), o = n.getColorTheme().getColor(m.Pv), a = n.getColorTheme().getColor(m.XE); (this.caseSensitive = this._register( new re({ appendTitle: this._keybindingLabelFor(Y), isChecked: this._state.matchCase, inputActiveOptionBorder: s, inputActiveOptionForeground: o, inputActiveOptionBackground: a, }) )), this._domNode.appendChild(this.caseSensitive.domNode), this._register( this.caseSensitive.onChange(() => { this._state.change( { matchCase: this.caseSensitive.checked }, !1 ); }) ), (this.wholeWords = this._register( new se({ appendTitle: this._keybindingLabelFor(H), isChecked: this._state.wholeWord, inputActiveOptionBorder: s, inputActiveOptionForeground: o, inputActiveOptionBackground: a, }) )), this._domNode.appendChild(this.wholeWords.domNode), this._register( this.wholeWords.onChange(() => { this._state.change( { wholeWord: this.wholeWords.checked }, !1 ); }) ), (this.regex = this._register( new oe({ appendTitle: this._keybindingLabelFor(j), isChecked: this._state.isRegex, inputActiveOptionBorder: s, inputActiveOptionForeground: o, inputActiveOptionBackground: a, }) )), this._domNode.appendChild(this.regex.domNode), this._register( this.regex.onChange(() => { this._state.change({ isRegex: this.regex.checked }, !1); }) ), this._editor.addOverlayWidget(this), this._register( this._state.onFindReplaceStateChange((e) => { let t = !1; e.isRegex && ((this.regex.checked = this._state.isRegex), (t = !0)), e.wholeWord && ((this.wholeWords.checked = this._state.wholeWord), (t = !0)), e.matchCase && ((this.caseSensitive.checked = this._state.matchCase), (t = !0)), !this._state.isRevealed && t && this._revealTemporarily(); }) ), this._register(q.j_(this._domNode, (e) => this._onMouseOut())), this._register( q.nm(this._domNode, 'mouseover', (e) => this._onMouseOver()) ), this._applyTheme(n.getColorTheme()), this._register( n.onDidColorThemeChange(this._applyTheme.bind(this)) ); } _keybindingLabelFor(e) { let t = this._keybindingService.lookupKeybinding(e); return t ? ` (${t.getLabel()})` : ''; } dispose() { this._editor.removeOverlayWidget(this), super.dispose(); } getId() { return ae.ID; } getDomNode() { return this._domNode; } getPosition() { return { preference: 0 }; } highlightFindOptions() { this._revealTemporarily(); } _revealTemporarily() { this._show(), this._hideSoon.schedule(); } _onMouseOut() { this._hideSoon.schedule(); } _onMouseOver() { this._hideSoon.cancel(); } _show() { this._isVisible || ((this._isVisible = !0), (this._domNode.style.display = 'block')); } _hide() { this._isVisible && ((this._isVisible = !1), (this._domNode.style.display = 'none')); } _applyTheme(e) { let t = { inputActiveOptionBorder: e.getColor(m.PR), inputActiveOptionForeground: e.getColor(m.Pv), inputActiveOptionBackground: e.getColor(m.XE), }; this.caseSensitive.style(t), this.wholeWords.style(t), this.regex.style(t); } } function le(e, t) { return 1 === e || (2 !== e && t); } (ae.ID = 'editor.contrib.findOptionsWidget'), (0, _.Ic)((e, t) => { const i = e.getColor(m.D0); i && t.addRule( `.monaco-editor .findOptionsWidget { background-color: ${i}; }` ); const n = e.getColor(m.Hf); n && t.addRule(`.monaco-editor .findOptionsWidget { color: ${n}; }`); const r = e.getColor(m.rh); r && t.addRule( `.monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px ${r}; }` ); const s = e.getColor(m.lR); s && t.addRule( `.monaco-editor .findOptionsWidget { border: 2px solid ${s}; }` ); }); class ce extends s.JT { constructor() { super(), (this._onFindReplaceStateChange = this._register(new J.Q5())), (this.onFindReplaceStateChange = this._onFindReplaceStateChange.event), (this._searchString = ''), (this._replaceString = ''), (this._isRevealed = !1), (this._isReplaceRevealed = !1), (this._isRegex = !1), (this._isRegexOverride = 0), (this._wholeWord = !1), (this._wholeWordOverride = 0), (this._matchCase = !1), (this._matchCaseOverride = 0), (this._preserveCase = !1), (this._preserveCaseOverride = 0), (this._searchScope = null), (this._matchesPosition = 0), (this._matchesCount = 0), (this._currentMatch = null), (this._loop = !0); } get searchString() { return this._searchString; } get replaceString() { return this._replaceString; } get isRevealed() { return this._isRevealed; } get isReplaceRevealed() { return this._isReplaceRevealed; } get isRegex() { return le(this._isRegexOverride, this._isRegex); } get wholeWord() { return le(this._wholeWordOverride, this._wholeWord); } get matchCase() { return le(this._matchCaseOverride, this._matchCase); } get preserveCase() { return le(this._preserveCaseOverride, this._preserveCase); } get actualIsRegex() { return this._isRegex; } get actualWholeWord() { return this._wholeWord; } get actualMatchCase() { return this._matchCase; } get actualPreserveCase() { return this._preserveCase; } get searchScope() { return this._searchScope; } get matchesPosition() { return this._matchesPosition; } get matchesCount() { return this._matchesCount; } get currentMatch() { return this._currentMatch; } changeMatchInfo(e, t, i) { let n = { moveCursor: !1, updateHistory: !1, searchString: !1, replaceString: !1, isRevealed: !1, isReplaceRevealed: !1, isRegex: !1, wholeWord: !1, matchCase: !1, preserveCase: !1, searchScope: !1, matchesPosition: !1, matchesCount: !1, currentMatch: !1, loop: !1, }, r = !1; 0 === t && (e = 0), e > t && (e = t), this._matchesPosition !== e && ((this._matchesPosition = e), (n.matchesPosition = !0), (r = !0)), this._matchesCount !== t && ((this._matchesCount = t), (n.matchesCount = !0), (r = !0)), void 0 !== i && (h.e.equalsRange(this._currentMatch, i) || ((this._currentMatch = i), (n.currentMatch = !0), (r = !0))), r && this._onFindReplaceStateChange.fire(n); } change(e, t, i = !0) { var n; let r = { moveCursor: t, updateHistory: i, searchString: !1, replaceString: !1, isRevealed: !1, isReplaceRevealed: !1, isRegex: !1, wholeWord: !1, matchCase: !1, preserveCase: !1, searchScope: !1, matchesPosition: !1, matchesCount: !1, currentMatch: !1, loop: !1, }, s = !1; const o = this.isRegex, a = this.wholeWord, l = this.matchCase, c = this.preserveCase; void 0 !== e.searchString && this._searchString !== e.searchString && ((this._searchString = e.searchString), (r.searchString = !0), (s = !0)), void 0 !== e.replaceString && this._replaceString !== e.replaceString && ((this._replaceString = e.replaceString), (r.replaceString = !0), (s = !0)), void 0 !== e.isRevealed && this._isRevealed !== e.isRevealed && ((this._isRevealed = e.isRevealed), (r.isRevealed = !0), (s = !0)), void 0 !== e.isReplaceRevealed && this._isReplaceRevealed !== e.isReplaceRevealed && ((this._isReplaceRevealed = e.isReplaceRevealed), (r.isReplaceRevealed = !0), (s = !0)), void 0 !== e.isRegex && (this._isRegex = e.isRegex), void 0 !== e.wholeWord && (this._wholeWord = e.wholeWord), void 0 !== e.matchCase && (this._matchCase = e.matchCase), void 0 !== e.preserveCase && (this._preserveCase = e.preserveCase), void 0 !== e.searchScope && ((null === (n = e.searchScope) || void 0 === n ? void 0 : n.every((e) => { var t; return null === (t = this._searchScope) || void 0 === t ? void 0 : t.some((t) => !h.e.equalsRange(t, e)); })) || ((this._searchScope = e.searchScope), (r.searchScope = !0), (s = !0))), void 0 !== e.loop && this._loop !== e.loop && ((this._loop = e.loop), (r.loop = !0), (s = !0)), (this._isRegexOverride = void 0 !== e.isRegexOverride ? e.isRegexOverride : 0), (this._wholeWordOverride = void 0 !== e.wholeWordOverride ? e.wholeWordOverride : 0), (this._matchCaseOverride = void 0 !== e.matchCaseOverride ? e.matchCaseOverride : 0), (this._preserveCaseOverride = void 0 !== e.preserveCaseOverride ? e.preserveCaseOverride : 0), o !== this.isRegex && ((s = !0), (r.isRegex = !0)), a !== this.wholeWord && ((s = !0), (r.wholeWord = !0)), l !== this.matchCase && ((s = !0), (r.matchCase = !0)), c !== this.preserveCase && ((s = !0), (r.preserveCase = !0)), s && this._onFindReplaceStateChange.fire(r); } canNavigateBack() { return this.canNavigateInLoop() || 1 !== this.matchesPosition; } canNavigateForward() { return ( this.canNavigateInLoop() || this.matchesPosition < this.matchesCount ); } canNavigateInLoop() { return this._loop || this.matchesCount >= $; } } var de = i(85152), he = i(73098), ue = i(17301), ge = i(1432), fe = i(77927); const pe = n.N('defaultLabel', 'input'); class me extends G.$ { constructor(e, t, i, n) { super(), (this._showOptionButtons = i), (this.fixFocusOnOptionClickEnabled = !0), (this._onDidOptionChange = this._register(new J.Q5())), (this.onDidOptionChange = this._onDidOptionChange.event), (this._onKeyDown = this._register(new J.Q5())), (this.onKeyDown = this._onKeyDown.event), (this._onMouseDown = this._register(new J.Q5())), (this.onMouseDown = this._onMouseDown.event), (this._onInput = this._register(new J.Q5())), (this._onKeyUp = this._register(new J.Q5())), (this._onCaseSensitiveKeyDown = this._register(new J.Q5())), (this.onCaseSensitiveKeyDown = this._onCaseSensitiveKeyDown.event), (this._onRegexKeyDown = this._register(new J.Q5())), (this.onRegexKeyDown = this._onRegexKeyDown.event), (this._lastHighlightFindOptions = 0), (this.contextViewProvider = t), (this.placeholder = n.placeholder || ''), (this.validation = n.validation), (this.label = n.label || pe), (this.inputActiveOptionBorder = n.inputActiveOptionBorder), (this.inputActiveOptionForeground = n.inputActiveOptionForeground), (this.inputActiveOptionBackground = n.inputActiveOptionBackground), (this.inputBackground = n.inputBackground), (this.inputForeground = n.inputForeground), (this.inputBorder = n.inputBorder), (this.inputValidationInfoBorder = n.inputValidationInfoBorder), (this.inputValidationInfoBackground = n.inputValidationInfoBackground), (this.inputValidationInfoForeground = n.inputValidationInfoForeground), (this.inputValidationWarningBorder = n.inputValidationWarningBorder), (this.inputValidationWarningBackground = n.inputValidationWarningBackground), (this.inputValidationWarningForeground = n.inputValidationWarningForeground), (this.inputValidationErrorBorder = n.inputValidationErrorBorder), (this.inputValidationErrorBackground = n.inputValidationErrorBackground), (this.inputValidationErrorForeground = n.inputValidationErrorForeground); const r = n.appendCaseSensitiveLabel || '', s = n.appendWholeWordsLabel || '', o = n.appendRegexLabel || '', a = n.history || [], l = !!n.flexibleHeight, c = !!n.flexibleWidth, d = n.flexibleMaxHeight; (this.domNode = document.createElement('div')), q.cn(this.domNode, 'monaco-findInput'), (this.inputBox = this._register( new fe.p(this.domNode, this.contextViewProvider, { placeholder: this.placeholder || '', ariaLabel: this.label || '', validationOptions: { validation: this.validation }, inputBackground: this.inputBackground, inputForeground: this.inputForeground, inputBorder: this.inputBorder, inputValidationInfoBackground: this .inputValidationInfoBackground, inputValidationInfoForeground: this .inputValidationInfoForeground, inputValidationInfoBorder: this.inputValidationInfoBorder, inputValidationWarningBackground: this .inputValidationWarningBackground, inputValidationWarningForeground: this .inputValidationWarningForeground, inputValidationWarningBorder: this .inputValidationWarningBorder, inputValidationErrorBackground: this .inputValidationErrorBackground, inputValidationErrorForeground: this .inputValidationErrorForeground, inputValidationErrorBorder: this.inputValidationErrorBorder, history: a, flexibleHeight: l, flexibleWidth: c, flexibleMaxHeight: d, }) )), (this.regex = this._register( new oe({ appendTitle: o, isChecked: !1, inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }) )), this._register( this.regex.onChange((e) => { this._onDidOptionChange.fire(e), !e && this.fixFocusOnOptionClickEnabled && this.inputBox.focus(), this.validate(); }) ), this._register( this.regex.onKeyDown((e) => { this._onRegexKeyDown.fire(e); }) ), (this.wholeWords = this._register( new se({ appendTitle: s, isChecked: !1, inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }) )), this._register( this.wholeWords.onChange((e) => { this._onDidOptionChange.fire(e), !e && this.fixFocusOnOptionClickEnabled && this.inputBox.focus(), this.validate(); }) ), (this.caseSensitive = this._register( new re({ appendTitle: r, isChecked: !1, inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }) )), this._register( this.caseSensitive.onChange((e) => { this._onDidOptionChange.fire(e), !e && this.fixFocusOnOptionClickEnabled && this.inputBox.focus(), this.validate(); }) ), this._register( this.caseSensitive.onKeyDown((e) => { this._onCaseSensitiveKeyDown.fire(e); }) ), this._showOptionButtons && (this.inputBox.paddingRight = this.caseSensitive.width() + this.wholeWords.width() + this.regex.width()); let h = [ this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode, ]; this.onkeydown(this.domNode, (e) => { if (e.equals(15) || e.equals(17) || e.equals(9)) { let t = h.indexOf(document.activeElement); if (t >= 0) { let i = -1; e.equals(17) ? (i = (t + 1) % h.length) : e.equals(15) && (i = 0 === t ? h.length - 1 : t - 1), e.equals(9) ? h[t].blur() : i >= 0 && h[i].focus(), q.zB.stop(e, !0); } } }); let u = document.createElement('div'); (u.className = 'controls'), (u.style.display = this._showOptionButtons ? 'block' : 'none'), u.appendChild(this.caseSensitive.domNode), u.appendChild(this.wholeWords.domNode), u.appendChild(this.regex.domNode), this.domNode.appendChild(u), e && e.appendChild(this.domNode), this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e) ), this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e) ), this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire() ), this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e) ); } enable() { q.IV(this.domNode, 'disabled'), this.inputBox.enable(), this.regex.enable(), this.wholeWords.enable(), this.caseSensitive.enable(); } disable() { q.cn(this.domNode, 'disabled'), this.inputBox.disable(), this.regex.disable(), this.wholeWords.disable(), this.caseSensitive.disable(); } setFocusInputOnOptionClick(e) { this.fixFocusOnOptionClickEnabled = e; } setEnabled(e) { e ? this.enable() : this.disable(); } getValue() { return this.inputBox.value; } setValue(e) { this.inputBox.value !== e && (this.inputBox.value = e); } style(e) { (this.inputActiveOptionBorder = e.inputActiveOptionBorder), (this.inputActiveOptionForeground = e.inputActiveOptionForeground), (this.inputActiveOptionBackground = e.inputActiveOptionBackground), (this.inputBackground = e.inputBackground), (this.inputForeground = e.inputForeground), (this.inputBorder = e.inputBorder), (this.inputValidationInfoBackground = e.inputValidationInfoBackground), (this.inputValidationInfoForeground = e.inputValidationInfoForeground), (this.inputValidationInfoBorder = e.inputValidationInfoBorder), (this.inputValidationWarningBackground = e.inputValidationWarningBackground), (this.inputValidationWarningForeground = e.inputValidationWarningForeground), (this.inputValidationWarningBorder = e.inputValidationWarningBorder), (this.inputValidationErrorBackground = e.inputValidationErrorBackground), (this.inputValidationErrorForeground = e.inputValidationErrorForeground), (this.inputValidationErrorBorder = e.inputValidationErrorBorder), this.applyStyles(); } applyStyles() { if (this.domNode) { const e = { inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }; this.regex.style(e), this.wholeWords.style(e), this.caseSensitive.style(e); const t = { inputBackground: this.inputBackground, inputForeground: this.inputForeground, inputBorder: this.inputBorder, inputValidationInfoBackground: this .inputValidationInfoBackground, inputValidationInfoForeground: this .inputValidationInfoForeground, inputValidationInfoBorder: this.inputValidationInfoBorder, inputValidationWarningBackground: this .inputValidationWarningBackground, inputValidationWarningForeground: this .inputValidationWarningForeground, inputValidationWarningBorder: this.inputValidationWarningBorder, inputValidationErrorBackground: this .inputValidationErrorBackground, inputValidationErrorForeground: this .inputValidationErrorForeground, inputValidationErrorBorder: this.inputValidationErrorBorder, }; this.inputBox.style(t); } } select() { this.inputBox.select(); } focus() { this.inputBox.focus(); } getCaseSensitive() { return this.caseSensitive.checked; } setCaseSensitive(e) { this.caseSensitive.checked = e; } getWholeWords() { return this.wholeWords.checked; } setWholeWords(e) { this.wholeWords.checked = e; } getRegex() { return this.regex.checked; } setRegex(e) { (this.regex.checked = e), this.validate(); } focusOnCaseSensitive() { this.caseSensitive.focus(); } highlightFindOptions() { q.IV(this.domNode, 'highlight-' + this._lastHighlightFindOptions), (this._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions), q.cn(this.domNode, 'highlight-' + this._lastHighlightFindOptions); } validate() { this.inputBox.validate(); } clearMessage() { this.inputBox.hideMessage(); } } var _e = i(49989); const be = n.N('defaultLabel', 'input'), ve = n.N('label.preserveCaseCheckbox', 'Preserve Case'); class ye extends X { constructor(e) { super({ icon: ee.lA.preserveCase, title: ve + e.appendTitle, isChecked: e.isChecked, inputActiveOptionBorder: e.inputActiveOptionBorder, inputActiveOptionForeground: e.inputActiveOptionForeground, inputActiveOptionBackground: e.inputActiveOptionBackground, }); } } class we extends G.$ { constructor(e, t, i, n) { super(), (this._showOptionButtons = i), (this.fixFocusOnOptionClickEnabled = !0), (this.cachedOptionsWidth = 0), (this._onDidOptionChange = this._register(new J.Q5())), (this.onDidOptionChange = this._onDidOptionChange.event), (this._onKeyDown = this._register(new J.Q5())), (this.onKeyDown = this._onKeyDown.event), (this._onMouseDown = this._register(new J.Q5())), (this._onInput = this._register(new J.Q5())), (this._onKeyUp = this._register(new J.Q5())), (this._onPreserveCaseKeyDown = this._register(new J.Q5())), (this.onPreserveCaseKeyDown = this._onPreserveCaseKeyDown.event), (this.contextViewProvider = t), (this.placeholder = n.placeholder || ''), (this.validation = n.validation), (this.label = n.label || be), (this.inputActiveOptionBorder = n.inputActiveOptionBorder), (this.inputActiveOptionForeground = n.inputActiveOptionForeground), (this.inputActiveOptionBackground = n.inputActiveOptionBackground), (this.inputBackground = n.inputBackground), (this.inputForeground = n.inputForeground), (this.inputBorder = n.inputBorder), (this.inputValidationInfoBorder = n.inputValidationInfoBorder), (this.inputValidationInfoBackground = n.inputValidationInfoBackground), (this.inputValidationInfoForeground = n.inputValidationInfoForeground), (this.inputValidationWarningBorder = n.inputValidationWarningBorder), (this.inputValidationWarningBackground = n.inputValidationWarningBackground), (this.inputValidationWarningForeground = n.inputValidationWarningForeground), (this.inputValidationErrorBorder = n.inputValidationErrorBorder), (this.inputValidationErrorBackground = n.inputValidationErrorBackground), (this.inputValidationErrorForeground = n.inputValidationErrorForeground); const r = n.history || [], s = !!n.flexibleHeight, o = !!n.flexibleWidth, a = n.flexibleMaxHeight; (this.domNode = document.createElement('div')), q.cn(this.domNode, 'monaco-findInput'), (this.inputBox = this._register( new fe.p(this.domNode, this.contextViewProvider, { ariaLabel: this.label || '', placeholder: this.placeholder || '', validationOptions: { validation: this.validation }, inputBackground: this.inputBackground, inputForeground: this.inputForeground, inputBorder: this.inputBorder, inputValidationInfoBackground: this .inputValidationInfoBackground, inputValidationInfoForeground: this .inputValidationInfoForeground, inputValidationInfoBorder: this.inputValidationInfoBorder, inputValidationWarningBackground: this .inputValidationWarningBackground, inputValidationWarningForeground: this .inputValidationWarningForeground, inputValidationWarningBorder: this .inputValidationWarningBorder, inputValidationErrorBackground: this .inputValidationErrorBackground, inputValidationErrorForeground: this .inputValidationErrorForeground, inputValidationErrorBorder: this.inputValidationErrorBorder, history: r, flexibleHeight: s, flexibleWidth: o, flexibleMaxHeight: a, }) )), (this.preserveCase = this._register( new ye({ appendTitle: '', isChecked: !1, inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }) )), this._register( this.preserveCase.onChange((e) => { this._onDidOptionChange.fire(e), !e && this.fixFocusOnOptionClickEnabled && this.inputBox.focus(), this.validate(); }) ), this._register( this.preserveCase.onKeyDown((e) => { this._onPreserveCaseKeyDown.fire(e); }) ), this._showOptionButtons ? (this.cachedOptionsWidth = this.preserveCase.width()) : (this.cachedOptionsWidth = 0); let l = [this.preserveCase.domNode]; this.onkeydown(this.domNode, (e) => { if (e.equals(15) || e.equals(17) || e.equals(9)) { let t = l.indexOf(document.activeElement); if (t >= 0) { let i = -1; e.equals(17) ? (i = (t + 1) % l.length) : e.equals(15) && (i = 0 === t ? l.length - 1 : t - 1), e.equals(9) ? l[t].blur() : i >= 0 && l[i].focus(), q.zB.stop(e, !0); } } }); let c = document.createElement('div'); (c.className = 'controls'), (c.style.display = this._showOptionButtons ? 'block' : 'none'), c.appendChild(this.preserveCase.domNode), this.domNode.appendChild(c), e && e.appendChild(this.domNode), this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e) ), this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e) ), this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire() ), this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e) ); } enable() { q.IV(this.domNode, 'disabled'), this.inputBox.enable(), this.preserveCase.enable(); } disable() { q.cn(this.domNode, 'disabled'), this.inputBox.disable(), this.preserveCase.disable(); } setEnabled(e) { e ? this.enable() : this.disable(); } style(e) { (this.inputActiveOptionBorder = e.inputActiveOptionBorder), (this.inputActiveOptionForeground = e.inputActiveOptionForeground), (this.inputActiveOptionBackground = e.inputActiveOptionBackground), (this.inputBackground = e.inputBackground), (this.inputForeground = e.inputForeground), (this.inputBorder = e.inputBorder), (this.inputValidationInfoBackground = e.inputValidationInfoBackground), (this.inputValidationInfoForeground = e.inputValidationInfoForeground), (this.inputValidationInfoBorder = e.inputValidationInfoBorder), (this.inputValidationWarningBackground = e.inputValidationWarningBackground), (this.inputValidationWarningForeground = e.inputValidationWarningForeground), (this.inputValidationWarningBorder = e.inputValidationWarningBorder), (this.inputValidationErrorBackground = e.inputValidationErrorBackground), (this.inputValidationErrorForeground = e.inputValidationErrorForeground), (this.inputValidationErrorBorder = e.inputValidationErrorBorder), this.applyStyles(); } applyStyles() { if (this.domNode) { const e = { inputActiveOptionBorder: this.inputActiveOptionBorder, inputActiveOptionForeground: this.inputActiveOptionForeground, inputActiveOptionBackground: this.inputActiveOptionBackground, }; this.preserveCase.style(e); const t = { inputBackground: this.inputBackground, inputForeground: this.inputForeground, inputBorder: this.inputBorder, inputValidationInfoBackground: this .inputValidationInfoBackground, inputValidationInfoForeground: this .inputValidationInfoForeground, inputValidationInfoBorder: this.inputValidationInfoBorder, inputValidationWarningBackground: this .inputValidationWarningBackground, inputValidationWarningForeground: this .inputValidationWarningForeground, inputValidationWarningBorder: this.inputValidationWarningBorder, inputValidationErrorBackground: this .inputValidationErrorBackground, inputValidationErrorForeground: this .inputValidationErrorForeground, inputValidationErrorBorder: this.inputValidationErrorBorder, }; this.inputBox.style(t); } } select() { this.inputBox.select(); } focus() { this.inputBox.focus(); } getPreserveCase() { return this.preserveCase.checked; } setPreserveCase(e) { this.preserveCase.checked = e; } focusOnPreserve() { this.preserveCase.focus(); } validate() { this.inputBox && this.inputBox.validate(); } set width(e) { (this.inputBox.paddingRight = this.cachedOptionsWidth), (this.inputBox.width = e), (this.domNode.style.width = e + 'px'); } dispose() { super.dispose(); } } var Ce = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, Se = function (e, t) { return function (i, n) { t(i, n, e); }; }; const ke = 'historyNavigationWidget', xe = 'historyNavigationEnabled'; function Le(e, t) { return e.getContext(document.activeElement).getValue(t); } function Me(e, t) { const i = (function (e, t) { return e.createScoped(t.target); })(e, t); return ( (function (e, t, i) { new D.uy('historyNavigationWidget', t).bindTo(e); })(i, t), { scopedContextKeyService: i, historyNavigationEnablement: new D.uy(xe, !0).bindTo(i), } ); } let De = class extends me { constructor(e, t, i, n, r = !1) { super(e, t, r, i), this._register( Me(n, { target: this.inputBox.element, historyNavigator: this.inputBox, }).scopedContextKeyService ); } }; De = Ce([Se(3, D.i6)], De); let Ne = class extends we { constructor(e, t, i, n, r = !1) { super(e, t, r, i), this._register( Me(n, { target: this.inputBox.element, historyNavigator: this.inputBox, }).scopedContextKeyService ); } }; (Ne = Ce([Se(3, D.i6)], Ne)), _e.W.registerCommandAndKeybindingRule({ id: 'history.showPrevious', weight: 200, when: D.Ao.and(D.Ao.has(ke), D.Ao.equals(xe, !0)), primary: 16, secondary: [528], handler: (e, t) => { const i = Le(e.get(D.i6), ke); i && i.historyNavigator.showPreviousValue(); }, }), _e.W.registerCommandAndKeybindingRule({ id: 'history.showNext', weight: 200, when: D.Ao.and(D.Ao.has(ke), D.Ao.equals(xe, !0)), primary: 18, secondary: [530], handler: (e, t) => { const i = Le(e.get(D.i6), ke); i && i.historyNavigator.showNextValue(); }, }); const Ee = (0, ee.q5)('find-selection', ee.lA.selection), Te = (0, ee.q5)('find-collapsed', ee.lA.chevronRight), Ie = (0, ee.q5)('find-expanded', ee.lA.chevronDown), Oe = (0, ee.q5)('find-close', ee.lA.close), Ae = (0, ee.q5)('find-replace', ee.lA.replace), Re = (0, ee.q5)('find-replace-all', ee.lA.replaceAll), Pe = (0, ee.q5)('find-previous-match', ee.lA.arrowUp), Fe = (0, ee.q5)('find-next-match', ee.lA.arrowDown), Be = n.N('label.find', 'Find'), We = n.N('placeholder.find', 'Find'), Ye = n.N('label.previousMatchButton', 'Previous match'), He = n.N('label.nextMatchButton', 'Next match'), je = n.N('label.toggleSelectionFind', 'Find in selection'), Ve = n.N('label.closeButton', 'Close'), ze = n.N('label.replace', 'Replace'), Ue = n.N('placeholder.replace', 'Replace'), $e = n.N('label.replaceButton', 'Replace'), Ke = n.N('label.replaceAllButton', 'Replace All'), qe = n.N('label.toggleReplaceButton', 'Toggle Replace mode'), Ge = n.N( 'title.matchesCountLimit', 'Only the first {0} results are highlighted, but all find operations work on the entire text.', $ ), Ze = n.N('label.matchesLocation', '{0} of {1}'), Je = n.N('label.noResults', 'No results'), Qe = 419; let Xe = 69; const et = 'ctrlEnterReplaceAll.windows.donotask', tt = ge.dz ? 256 : 2048; class it { constructor(e) { (this.afterLineNumber = e), (this.heightInPx = 33), (this.suppressMouseDown = !1), (this.domNode = document.createElement('div')), (this.domNode.className = 'dock-find-viewzone'); } } function nt(e, t, i) { const n = !!t.match(/\n/); i && n && i.selectionStart > 0 && e.stopPropagation(); } function rt(e, t, i) { const n = !!t.match(/\n/); i && n && i.selectionEnd < i.value.length && e.stopPropagation(); } class st extends G.$ { constructor(e, t, i, n, o, a, l, c, d, h) { super(), (this._cachedHeight = null), (this._codeEditor = e), (this._controller = t), (this._state = i), (this._contextViewProvider = n), (this._keybindingService = o), (this._contextKeyService = a), (this._storageService = c), (this._notificationService = d), h.registerStorageKey({ key: et, version: 1 }), (this._ctrlEnterReplaceAllWarningPrompted = !!c.getBoolean( et, 0 )), (this._isVisible = !1), (this._isReplaceVisible = !1), (this._ignoreChangeEvent = !1), (this._updateHistoryDelayer = new r.vp(500)), this._register( (0, s.OF)(() => this._updateHistoryDelayer.cancel()) ), this._register( this._state.onFindReplaceStateChange((e) => this._onStateChanged(e) ) ), this._buildDomNode(), this._updateButtons(), this._tryUpdateWidgetWidth(), this._findInput.inputBox.layout(), this._register( this._codeEditor.onDidChangeConfiguration((e) => { if ( (e.hasChanged(72) && (this._codeEditor.getOption(72) && this._state.change({ isReplaceRevealed: !1 }, !1), this._updateButtons()), e.hasChanged(117) && this._tryUpdateWidgetWidth(), e.hasChanged(2) && this.updateAccessibilitySupport(), e.hasChanged(29)) ) { const e = this._codeEditor.getOption(29).addExtraSpaceOnTop; e && !this._viewZone && ((this._viewZone = new it(0)), this._showViewZone()), !e && this._viewZone && this._removeViewZone(); } }) ), this.updateAccessibilitySupport(), this._register( this._codeEditor.onDidChangeCursorSelection(() => { this._isVisible && this._updateToggleSelectionFindButton(); }) ), this._register( this._codeEditor.onDidFocusEditorWidget(() => { return ( (e = this), (t = void 0), (n = function* () { if (this._isVisible) { let e = yield this._controller.getGlobalBufferTerm(); e && e !== this._state.searchString && (this._state.change({ searchString: e }, !0), this._findInput.select()); } }), new ((i = void 0) || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }) ); var e, t, i, n; }) ), (this._findInputFocused = T.bindTo(a)), (this._findFocusTracker = this._register( q.go(this._findInput.inputBox.inputElement) )), this._register( this._findFocusTracker.onDidFocus(() => { this._findInputFocused.set(!0), this._updateSearchScope(); }) ), this._register( this._findFocusTracker.onDidBlur(() => { this._findInputFocused.set(!1); }) ), (this._replaceInputFocused = I.bindTo(a)), (this._replaceFocusTracker = this._register( q.go(this._replaceInput.inputBox.inputElement) )), this._register( this._replaceFocusTracker.onDidFocus(() => { this._replaceInputFocused.set(!0), this._updateSearchScope(); }) ), this._register( this._replaceFocusTracker.onDidBlur(() => { this._replaceInputFocused.set(!1); }) ), this._codeEditor.addOverlayWidget(this), this._codeEditor.getOption(29).addExtraSpaceOnTop && (this._viewZone = new it(0)), this._applyTheme(l.getColorTheme()), this._register( l.onDidColorThemeChange(this._applyTheme.bind(this)) ), this._register( this._codeEditor.onDidChangeModel(() => { this._isVisible && (this._viewZoneId = void 0); }) ), this._register( this._codeEditor.onDidScrollChange((e) => { e.scrollTopChanged ? this._layoutViewZone() : setTimeout(() => { this._layoutViewZone(); }, 0); }) ); } getId() { return st.ID; } getDomNode() { return this._domNode; } getPosition() { return this._isVisible ? { preference: 0 } : null; } _onStateChanged(e) { if (e.searchString) { try { (this._ignoreChangeEvent = !0), this._findInput.setValue(this._state.searchString); } finally { this._ignoreChangeEvent = !1; } this._updateButtons(); } if ( (e.replaceString && (this._replaceInput.inputBox.value = this._state.replaceString), e.isRevealed && (this._state.isRevealed ? this._reveal() : this._hide(!0)), e.isReplaceRevealed && (this._state.isReplaceRevealed ? this._codeEditor.getOption(72) || this._isReplaceVisible || ((this._isReplaceVisible = !0), (this._replaceInput.width = q.w(this._findInput.domNode)), this._updateButtons(), this._replaceInput.inputBox.layout()) : this._isReplaceVisible && ((this._isReplaceVisible = !1), this._updateButtons())), (e.isRevealed || e.isReplaceRevealed) && (this._state.isRevealed || this._state.isReplaceRevealed) && this._tryUpdateHeight() && this._showViewZone(), e.isRegex && this._findInput.setRegex(this._state.isRegex), e.wholeWord && this._findInput.setWholeWords(this._state.wholeWord), e.matchCase && this._findInput.setCaseSensitive(this._state.matchCase), e.searchScope && (this._state.searchScope ? (this._toggleSelectionFind.checked = !0) : (this._toggleSelectionFind.checked = !1), this._updateToggleSelectionFindButton()), e.searchString || e.matchesCount || e.matchesPosition) ) { let e = this._state.searchString.length > 0 && 0 === this._state.matchesCount; q.og(this._domNode, 'no-results', e), this._updateMatchesCount(), this._updateButtons(); } (e.searchString || e.currentMatch) && this._layoutViewZone(), e.updateHistory && this._delayedUpdateHistory(), e.loop && this._updateButtons(); } _delayedUpdateHistory() { this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)); } _updateHistory() { this._state.searchString && this._findInput.inputBox.addToHistory(), this._state.replaceString && this._replaceInput.inputBox.addToHistory(); } _updateMatchesCount() { let e; if ( ((this._matchesCount.style.minWidth = Xe + 'px'), this._state.matchesCount >= $ ? (this._matchesCount.title = Ge) : (this._matchesCount.title = ''), this._matchesCount.firstChild && this._matchesCount.removeChild(this._matchesCount.firstChild), this._state.matchesCount > 0) ) { let t = String(this._state.matchesCount); this._state.matchesCount >= $ && (t += '+'); let i = String(this._state.matchesPosition); '0' === i && (i = '?'), (e = o.WU(Ze, i, t)); } else e = Je; this._matchesCount.appendChild(document.createTextNode(e)), (0, de.Z9)( this._getAriaLabel( e, this._state.currentMatch, this._state.searchString ) ), (Xe = Math.max(Xe, this._matchesCount.clientWidth)); } _getAriaLabel(e, t, i) { if (e === Je) return '' === i ? n.N('ariaSearchNoResultEmpty', '{0} found', e) : n.N('ariaSearchNoResult', "{0} found for '{1}'", e, i); if (t) { const r = n.N( 'ariaSearchNoResultWithLineNum', "{0} found for '{1}', at {2}", e, i, t.startLineNumber + ':' + t.startColumn ), s = this._codeEditor.getModel(); return s && t.startLineNumber <= s.getLineCount() && t.startLineNumber >= 1 ? `${s.getLineContent(t.startLineNumber)}, ${r}` : r; } return n.N( 'ariaSearchNoResultWithLineNumNoCurrentMatch', "{0} found for '{1}'", e, i ); } _updateToggleSelectionFindButton() { let e = this._codeEditor.getSelection(), t = !!e && (e.startLineNumber !== e.endLineNumber || e.startColumn !== e.endColumn), i = this._toggleSelectionFind.checked; this._isVisible && (i || t) ? this._toggleSelectionFind.enable() : this._toggleSelectionFind.disable(); } _updateButtons() { this._findInput.setEnabled(this._isVisible), this._replaceInput.setEnabled( this._isVisible && this._isReplaceVisible ), this._updateToggleSelectionFindButton(), this._closeBtn.setEnabled(this._isVisible); let e = this._state.searchString.length > 0, t = !!this._state.matchesCount; this._prevBtn.setEnabled( this._isVisible && e && t && this._state.canNavigateBack() ), this._nextBtn.setEnabled( this._isVisible && e && t && this._state.canNavigateForward() ), this._replaceBtn.setEnabled( this._isVisible && this._isReplaceVisible && e ), this._replaceAllBtn.setEnabled( this._isVisible && this._isReplaceVisible && e ), q.og(this._domNode, 'replaceToggled', this._isReplaceVisible), this._toggleReplaceBtn.setExpanded(this._isReplaceVisible); let i = !this._codeEditor.getOption(72); this._toggleReplaceBtn.setEnabled(this._isVisible && i); } _reveal() { if (!this._isVisible) { this._isVisible = !0; const e = this._codeEditor.getSelection(); switch (this._codeEditor.getOption(29).autoFindInSelection) { case 'always': this._toggleSelectionFind.checked = !0; break; case 'never': this._toggleSelectionFind.checked = !1; break; case 'multiline': const t = !!e && e.startLineNumber !== e.endLineNumber; this._toggleSelectionFind.checked = t; } this._tryUpdateWidgetWidth(), this._updateButtons(), setTimeout(() => { q.cn(this._domNode, 'visible'), this._domNode.setAttribute('aria-hidden', 'false'); }, 0), setTimeout(() => { this._findInput.validate(); }, 200), this._codeEditor.layoutOverlayWidget(this); let t = !0; if ( this._codeEditor.getOption(29).seedSearchStringFromSelection && e ) { const i = this._codeEditor.getDomNode(); if (i) { const n = q.i(i), r = this._codeEditor.getScrolledVisiblePosition( e.getStartPosition() ), s = n.left + (r ? r.left : 0), o = r ? r.top : 0; if (this._viewZone && o < this._viewZone.heightInPx) { e.endLineNumber > e.startLineNumber && (t = !1); const i = q.xQ(this._domNode).left; s > i && (t = !1); const r = this._codeEditor.getScrolledVisiblePosition( e.getEndPosition() ); n.left + (r ? r.left : 0) > i && (t = !1); } } } this._showViewZone(t); } } _hide(e) { this._isVisible && ((this._isVisible = !1), this._updateButtons(), q.IV(this._domNode, 'visible'), this._domNode.setAttribute('aria-hidden', 'true'), this._findInput.clearMessage(), e && this._codeEditor.focus(), this._codeEditor.layoutOverlayWidget(this), this._removeViewZone()); } _layoutViewZone() { if (!this._codeEditor.getOption(29).addExtraSpaceOnTop) return void this._removeViewZone(); if (!this._isVisible) return; const e = this._viewZone; void 0 === this._viewZoneId && e && this._codeEditor.changeViewZones((t) => { (e.heightInPx = this._getHeight()), (this._viewZoneId = t.addZone(e)), this._codeEditor.setScrollTop( this._codeEditor.getScrollTop() + e.heightInPx ); }); } _showViewZone(e = !0) { if (!this._isVisible) return; if (!this._codeEditor.getOption(29).addExtraSpaceOnTop) return; void 0 === this._viewZone && (this._viewZone = new it(0)); const t = this._viewZone; this._codeEditor.changeViewZones((i) => { if (void 0 !== this._viewZoneId) { const n = this._getHeight(); if (n === t.heightInPx) return; let r = n - t.heightInPx; return ( (t.heightInPx = n), i.layoutZone(this._viewZoneId), void ( e && this._codeEditor.setScrollTop( this._codeEditor.getScrollTop() + r ) ) ); } { let n = this._getHeight(); if (((n -= this._codeEditor.getOption(66).top), n <= 0)) return; (t.heightInPx = n), (this._viewZoneId = i.addZone(t)), e && this._codeEditor.setScrollTop( this._codeEditor.getScrollTop() + n ); } }); } _removeViewZone() { this._codeEditor.changeViewZones((e) => { void 0 !== this._viewZoneId && (e.removeZone(this._viewZoneId), (this._viewZoneId = void 0), this._viewZone && (this._codeEditor.setScrollTop( this._codeEditor.getScrollTop() - this._viewZone.heightInPx ), (this._viewZone = void 0))); }); } _applyTheme(e) { let t = { inputActiveOptionBorder: e.getColor(m.PR), inputActiveOptionBackground: e.getColor(m.XE), inputActiveOptionForeground: e.getColor(m.Pv), inputBackground: e.getColor(m.sE), inputForeground: e.getColor(m.zJ), inputBorder: e.getColor(m.dt), inputValidationInfoBackground: e.getColor(m._l), inputValidationInfoForeground: e.getColor(m.YI), inputValidationInfoBorder: e.getColor(m.EP), inputValidationWarningBackground: e.getColor(m.RV), inputValidationWarningForeground: e.getColor(m.SU), inputValidationWarningBorder: e.getColor(m.C3), inputValidationErrorBackground: e.getColor(m.p), inputValidationErrorForeground: e.getColor(m._t), inputValidationErrorBorder: e.getColor(m.OZ), }; this._findInput.style(t), this._replaceInput.style(t), this._toggleSelectionFind.style(t); } _tryUpdateWidgetWidth() { if (!this._isVisible) return; if (!q.Uw(this._domNode)) return; const e = this._codeEditor.getLayoutInfo(); if (e.contentWidth <= 0) return void q.cn(this._domNode, 'hiddenEditor'); q.pv(this._domNode, 'hiddenEditor') && q.IV(this._domNode, 'hiddenEditor'); const t = e.width, i = e.minimap.minimapWidth; let n = !1, r = !1, s = !1; if (this._resized && q.w(this._domNode) > Qe) return ( (this._domNode.style.maxWidth = t - 28 - i - 15 + 'px'), void (this._replaceInput.width = q.w(this._findInput.domNode)) ); if ( (447 + i >= t && (r = !0), 447 + i - Xe >= t && (s = !0), 447 + i - Xe >= t + 50 && (n = !0), q.og(this._domNode, 'collapsed-find-widget', n), q.og(this._domNode, 'narrow-find-widget', s), q.og(this._domNode, 'reduced-find-widget', r), s || n || (this._domNode.style.maxWidth = t - 28 - i - 15 + 'px'), this._resized) ) { this._findInput.inputBox.layout(); let e = this._findInput.inputBox.element.clientWidth; e > 0 && (this._replaceInput.width = e); } else this._isReplaceVisible && (this._replaceInput.width = q.w(this._findInput.domNode)); } _getHeight() { let e = 0; return ( (e += 4), (e += this._findInput.inputBox.height + 2), this._isReplaceVisible && ((e += 4), (e += this._replaceInput.inputBox.height + 2)), (e += 4), e ); } _tryUpdateHeight() { const e = this._getHeight(); return ( (null === this._cachedHeight || this._cachedHeight !== e) && ((this._cachedHeight = e), (this._domNode.style.height = `${e}px`), !0) ); } focusFindInput() { this._findInput.select(), this._findInput.focus(); } focusReplaceInput() { this._replaceInput.select(), this._replaceInput.focus(); } highlightFindOptions() { this._findInput.highlightFindOptions(); } _updateSearchScope() { if ( this._codeEditor.hasModel() && this._toggleSelectionFind.checked ) { let e = this._codeEditor.getSelections(); e .map((e) => { 1 === e.endColumn && e.endLineNumber > e.startLineNumber && (e = e.setEndPosition( e.endLineNumber - 1, this._codeEditor .getModel() .getLineMaxColumn(e.endLineNumber - 1) )); const t = this._state.currentMatch; return e.startLineNumber === e.endLineNumber || h.e.equalsRange(e, t) ? null : e; }) .filter((e) => !!e), e.length && this._state.change({ searchScope: e }, !0); } } _onFindInputMouseDown(e) { e.middleButton && e.stopPropagation(); } _onFindInputKeyDown(e) { return e.equals(3 | tt) ? (this._findInput.inputBox.insertAtCursor('\n'), void e.preventDefault()) : e.equals(2) ? (this._isReplaceVisible ? this._replaceInput.focus() : this._findInput.focusOnCaseSensitive(), void e.preventDefault()) : e.equals(2066) ? (this._codeEditor.focus(), void e.preventDefault()) : e.equals(16) ? nt( e, this._findInput.getValue(), this._findInput.domNode.querySelector('textarea') ) : e.equals(18) ? rt( e, this._findInput.getValue(), this._findInput.domNode.querySelector('textarea') ) : void 0; } _onReplaceInputKeyDown(e) { return e.equals(3 | tt) ? (ge.ED && ge.tY && !this._ctrlEnterReplaceAllWarningPrompted && (this._notificationService.info( n.N( 'ctrlEnter.keybindingChanged', 'Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.' ) ), (this._ctrlEnterReplaceAllWarningPrompted = !0), this._storageService.store(et, !0, 0)), this._replaceInput.inputBox.insertAtCursor('\n'), void e.preventDefault()) : e.equals(2) ? (this._findInput.focusOnCaseSensitive(), void e.preventDefault()) : e.equals(1026) ? (this._findInput.focus(), void e.preventDefault()) : e.equals(2066) ? (this._codeEditor.focus(), void e.preventDefault()) : e.equals(16) ? nt( e, this._replaceInput.inputBox.value, this._replaceInput.inputBox.element.querySelector('textarea') ) : e.equals(18) ? rt( e, this._replaceInput.inputBox.value, this._replaceInput.inputBox.element.querySelector('textarea') ) : void 0; } getVerticalSashLeft(e) { return 0; } _keybindingLabelFor(e) { let t = this._keybindingService.lookupKeybinding(e); return t ? ` (${t.getLabel()})` : ''; } _buildDomNode() { (this._findInput = this._register( new De( null, this._contextViewProvider, { width: 221, label: Be, placeholder: We, appendCaseSensitiveLabel: this._keybindingLabelFor(Y), appendWholeWordsLabel: this._keybindingLabelFor(H), appendRegexLabel: this._keybindingLabelFor(j), validation: (e) => { if (0 === e.length || !this._findInput.getRegex()) return null; try { return new RegExp(e, 'gu'), null; } catch (e) { return { content: e.message }; } }, flexibleHeight: !0, flexibleWidth: !0, flexibleMaxHeight: 118, }, this._contextKeyService, !0 ) )), this._findInput.setRegex(!!this._state.isRegex), this._findInput.setCaseSensitive(!!this._state.matchCase), this._findInput.setWholeWords(!!this._state.wholeWord), this._register( this._findInput.onKeyDown((e) => this._onFindInputKeyDown(e)) ), this._register( this._findInput.inputBox.onDidChange(() => { this._ignoreChangeEvent || this._state.change( { searchString: this._findInput.getValue() }, !0 ); }) ), this._register( this._findInput.onDidOptionChange(() => { this._state.change( { isRegex: this._findInput.getRegex(), wholeWord: this._findInput.getWholeWords(), matchCase: this._findInput.getCaseSensitive(), }, !0 ); }) ), this._register( this._findInput.onCaseSensitiveKeyDown((e) => { e.equals(1026) && this._isReplaceVisible && (this._replaceInput.focus(), e.preventDefault()); }) ), this._register( this._findInput.onRegexKeyDown((e) => { e.equals(2) && this._isReplaceVisible && (this._replaceInput.focusOnPreserve(), e.preventDefault()); }) ), this._register( this._findInput.inputBox.onDidHeightChange((e) => { this._tryUpdateHeight() && this._showViewZone(); }) ), ge.IJ && this._register( this._findInput.onMouseDown((e) => this._onFindInputMouseDown(e) ) ), (this._matchesCount = document.createElement('div')), (this._matchesCount.className = 'matchesCount'), this._updateMatchesCount(), (this._prevBtn = this._register( new ot({ label: Ye + this._keybindingLabelFor(B), className: Pe.classNames, onTrigger: () => { this._codeEditor .getAction(B) .run() .then(void 0, ue.dL); }, }) )), (this._nextBtn = this._register( new ot({ label: He + this._keybindingLabelFor(F), className: Fe.classNames, onTrigger: () => { this._codeEditor .getAction(F) .run() .then(void 0, ue.dL); }, }) )); let e = document.createElement('div'); (e.className = 'find-part'), e.appendChild(this._findInput.domNode); const t = document.createElement('div'); (t.className = 'find-actions'), e.appendChild(t), t.appendChild(this._matchesCount), t.appendChild(this._prevBtn.domNode), t.appendChild(this._nextBtn.domNode), (this._toggleSelectionFind = this._register( new X({ icon: Ee, title: je + this._keybindingLabelFor(V), isChecked: !1, }) )), this._register( this._toggleSelectionFind.onChange(() => { if (this._toggleSelectionFind.checked) { if (this._codeEditor.hasModel()) { let e = this._codeEditor.getSelections(); e .map( (e) => ( 1 === e.endColumn && e.endLineNumber > e.startLineNumber && (e = e.setEndPosition( e.endLineNumber - 1, this._codeEditor .getModel() .getLineMaxColumn(e.endLineNumber - 1) )), e.isEmpty() ? null : e ) ) .filter((e) => !!e), e.length && this._state.change({ searchScope: e }, !0); } } else this._state.change({ searchScope: null }, !0); }) ), t.appendChild(this._toggleSelectionFind.domNode), (this._closeBtn = this._register( new ot({ label: Ve + this._keybindingLabelFor(W), className: Oe.classNames, onTrigger: () => { this._state.change( { isRevealed: !1, searchScope: null }, !1 ); }, onKeyDown: (e) => { e.equals(2) && this._isReplaceVisible && (this._replaceBtn.isEnabled() ? this._replaceBtn.focus() : this._codeEditor.focus(), e.preventDefault()); }, }) )), t.appendChild(this._closeBtn.domNode), (this._replaceInput = this._register( new Ne( null, void 0, { label: ze, placeholder: Ue, history: [], flexibleHeight: !0, flexibleWidth: !0, flexibleMaxHeight: 118, }, this._contextKeyService, !0 ) )), this._replaceInput.setPreserveCase(!!this._state.preserveCase), this._register( this._replaceInput.onKeyDown((e) => this._onReplaceInputKeyDown(e) ) ), this._register( this._replaceInput.inputBox.onDidChange(() => { this._state.change( { replaceString: this._replaceInput.inputBox.value }, !1 ); }) ), this._register( this._replaceInput.inputBox.onDidHeightChange((e) => { this._isReplaceVisible && this._tryUpdateHeight() && this._showViewZone(); }) ), this._register( this._replaceInput.onDidOptionChange(() => { this._state.change( { preserveCase: this._replaceInput.getPreserveCase() }, !0 ); }) ), this._register( this._replaceInput.onPreserveCaseKeyDown((e) => { e.equals(2) && (this._prevBtn.isEnabled() ? this._prevBtn.focus() : this._nextBtn.isEnabled() ? this._nextBtn.focus() : this._toggleSelectionFind.enabled ? this._toggleSelectionFind.focus() : this._closeBtn.isEnabled() && this._closeBtn.focus(), e.preventDefault()); }) ), (this._replaceBtn = this._register( new ot({ label: $e + this._keybindingLabelFor(z), className: Ae.classNames, onTrigger: () => { this._controller.replace(); }, onKeyDown: (e) => { e.equals(1026) && (this._closeBtn.focus(), e.preventDefault()); }, }) )), (this._replaceAllBtn = this._register( new ot({ label: Ke + this._keybindingLabelFor(U), className: Re.classNames, onTrigger: () => { this._controller.replaceAll(); }, }) )); let i = document.createElement('div'); (i.className = 'replace-part'), i.appendChild(this._replaceInput.domNode); const n = document.createElement('div'); (n.className = 'replace-actions'), i.appendChild(n), n.appendChild(this._replaceBtn.domNode), n.appendChild(this._replaceAllBtn.domNode), (this._toggleReplaceBtn = this._register( new ot({ label: qe, className: 'codicon toggle left', onTrigger: () => { this._state.change( { isReplaceRevealed: !this._isReplaceVisible }, !1 ), this._isReplaceVisible && ((this._replaceInput.width = q.w( this._findInput.domNode )), this._replaceInput.inputBox.layout()), this._showViewZone(); }, }) )), this._toggleReplaceBtn.setExpanded(this._isReplaceVisible), (this._domNode = document.createElement('div')), (this._domNode.className = 'editor-widget find-widget'), this._domNode.setAttribute('aria-hidden', 'true'), (this._domNode.style.width = '419px'), this._domNode.appendChild(this._toggleReplaceBtn.domNode), this._domNode.appendChild(e), this._domNode.appendChild(i), (this._resizeSash = new he.g(this._domNode, this, { orientation: 0, size: 2, })), (this._resized = !1); let r = Qe; this._register( this._resizeSash.onDidStart(() => { r = q.w(this._domNode); }) ), this._register( this._resizeSash.onDidChange((e) => { this._resized = !0; let t = r + e.startX - e.currentX; t < Qe || t > (parseFloat(q.Dx(this._domNode).maxWidth) || 0) || ((this._domNode.style.width = `${t}px`), this._isReplaceVisible && (this._replaceInput.width = q.w(this._findInput.domNode)), this._findInput.inputBox.layout(), this._tryUpdateHeight()); }) ), this._register( this._resizeSash.onDidReset(() => { const e = q.w(this._domNode); if (e < Qe) return; let t = Qe; if (!this._resized || e === Qe) { const e = this._codeEditor.getLayoutInfo(); (t = e.width - 28 - e.minimap.minimapWidth - 15), (this._resized = !0); } (this._domNode.style.width = `${t}px`), this._isReplaceVisible && (this._replaceInput.width = q.w(this._findInput.domNode)), this._findInput.inputBox.layout(); }) ); } updateAccessibilitySupport() { const e = this._codeEditor.getOption(2); this._findInput.setFocusInputOnOptionClick(2 !== e); } } st.ID = 'editor.contrib.findWidget'; class ot extends G.$ { constructor(e) { super(), (this._opts = e), (this._domNode = document.createElement('div')), (this._domNode.title = this._opts.label), (this._domNode.tabIndex = 0), (this._domNode.className = 'button ' + this._opts.className), this._domNode.setAttribute('role', 'button'), this._domNode.setAttribute('aria-label', this._opts.label), this.onclick(this._domNode, (e) => { this._opts.onTrigger(), e.preventDefault(); }), this.onkeydown(this._domNode, (e) => { if (e.equals(10) || e.equals(3)) return this._opts.onTrigger(), void e.preventDefault(); this._opts.onKeyDown && this._opts.onKeyDown(e); }); } get domNode() { return this._domNode; } isEnabled() { return this._domNode.tabIndex >= 0; } focus() { this._domNode.focus(); } setEnabled(e) { q.og(this._domNode, 'disabled', !e), this._domNode.setAttribute('aria-disabled', String(!e)), (this._domNode.tabIndex = e ? 0 : -1); } setExpanded(e) { this._domNode.setAttribute('aria-expanded', String(!!e)), e ? (q.GK(this._domNode, Te.classNames), q.PT(this._domNode, Ie.classNames)) : (q.GK(this._domNode, Ie.classNames), q.PT(this._domNode, Te.classNames)); } } (0, _.Ic)((e, t) => { const i = (e, i) => { i && t.addRule(`.monaco-editor ${e} { background-color: ${i}; }`); }; i('.findMatch', e.getColor(m.MU)), i('.currentFindMatch', e.getColor(m.ny)), i('.findScope', e.getColor(m.jU)), i('.find-widget', e.getColor(m.D0)); const n = e.getColor(m.rh); n && t.addRule( `.monaco-editor .find-widget { box-shadow: 0 2px 8px ${n}; }` ); const r = e.getColor(m.Ei); r && t.addRule( `.monaco-editor .findMatch { border: 1px ${ 'hc' === e.type ? 'dotted' : 'solid' } ${r}; box-sizing: border-box; }` ); const s = e.getColor(m.pn); s && t.addRule( `.monaco-editor .currentFindMatch { border: 2px solid ${s}; padding: 1px; box-sizing: border-box; }` ); const o = e.getColor(m.gk); o && t.addRule( `.monaco-editor .findScope { border: 1px ${ 'hc' === e.type ? 'dashed' : 'solid' } ${o}; }` ); const a = e.getColor(m.lR); a && t.addRule( `.monaco-editor .find-widget { border: 1px solid ${a}; }` ); const l = e.getColor(m.Hf); l && t.addRule(`.monaco-editor .find-widget { color: ${l}; }`); const c = e.getColor(m.Id); c && t.addRule( `.monaco-editor .find-widget.no-results .matchesCount { color: ${c}; }` ); const d = e.getColor(m.Ng); if (d) t.addRule( `.monaco-editor .find-widget .monaco-sash { background-color: ${d}; }` ); else { const i = e.getColor(m.D1); i && t.addRule( `.monaco-editor .find-widget .monaco-sash { background-color: ${i}; }` ); } const h = e.getColor(m.R8); h && t.addRule( `.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${h}; }` ); }); var at = i(84144), lt = i(84972), ct = i(5606), dt = i(91847), ht = i(52365), ut = i(59422), gt = i(37280), ft = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, pt = function (e, t) { return function (i, n) { t(i, n, e); }; }, mt = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function _t(e) { if (!e.hasModel()) return null; const t = e.getSelection(); if (t.startLineNumber === t.endLineNumber) if (t.isEmpty()) { const i = e.getConfiguredWordAtPosition(t.getStartPosition()); if (i) return i.word; } else if (e.getModel().getValueLengthInRange(t) < 524288) return e.getModel().getValueInRange(t); return null; } let bt = class e extends s.JT { constructor(e, t, i, n) { super(), (this._editor = e), (this._findWidgetVisible = E.bindTo(t)), (this._contextKeyService = t), (this._storageService = i), (this._clipboardService = n), (this._updateHistoryDelayer = new r.vp(500)), (this._state = this._register(new ce())), this.loadQueryState(), this._register( this._state.onFindReplaceStateChange((e) => this._onStateChanged(e) ) ), (this._model = null), this._register( this._editor.onDidChangeModel(() => { let e = this._editor.getModel() && this._state.isRevealed; this.disposeModel(), this._state.change( { searchScope: null, matchCase: this._storageService.getBoolean( 'editor.matchCase', 1, !1 ), wholeWord: this._storageService.getBoolean( 'editor.wholeWord', 1, !1 ), isRegex: this._storageService.getBoolean( 'editor.isRegex', 1, !1 ), preserveCase: this._storageService.getBoolean( 'editor.preserveCase', 1, !1 ), }, !1 ), e && this._start({ forceRevealReplace: !1, seedSearchStringFromSelection: !1, seedSearchStringFromGlobalClipboard: !1, shouldFocus: 0, shouldAnimate: !1, updateSearchScope: !1, loop: this._editor.getOption(29).loop, }); }) ); } static get(t) { return t.getContribution(e.ID); } dispose() { this.disposeModel(), super.dispose(); } disposeModel() { this._model && (this._model.dispose(), (this._model = null)); } _onStateChanged(e) { this.saveQueryState(e), e.isRevealed && (this._state.isRevealed ? this._findWidgetVisible.set(!0) : (this._findWidgetVisible.reset(), this.disposeModel())), e.searchString && this.setGlobalBufferTerm(this._state.searchString); } saveQueryState(e) { e.isRegex && this._storageService.store( 'editor.isRegex', this._state.actualIsRegex, 1 ), e.wholeWord && this._storageService.store( 'editor.wholeWord', this._state.actualWholeWord, 1 ), e.matchCase && this._storageService.store( 'editor.matchCase', this._state.actualMatchCase, 1 ), e.preserveCase && this._storageService.store( 'editor.preserveCase', this._state.actualPreserveCase, 1 ); } loadQueryState() { this._state.change( { matchCase: this._storageService.getBoolean( 'editor.matchCase', 1, this._state.matchCase ), wholeWord: this._storageService.getBoolean( 'editor.wholeWord', 1, this._state.wholeWord ), isRegex: this._storageService.getBoolean( 'editor.isRegex', 1, this._state.isRegex ), preserveCase: this._storageService.getBoolean( 'editor.preserveCase', 1, this._state.preserveCase ), }, !1 ); } isFindInputFocused() { return !!T.getValue(this._contextKeyService); } getState() { return this._state; } closeFindWidget() { this._state.change({ isRevealed: !1, searchScope: null }, !1), this._editor.focus(); } toggleCaseSensitive() { this._state.change({ matchCase: !this._state.matchCase }, !1), this._state.isRevealed || this.highlightFindOptions(); } toggleWholeWords() { this._state.change({ wholeWord: !this._state.wholeWord }, !1), this._state.isRevealed || this.highlightFindOptions(); } toggleRegex() { this._state.change({ isRegex: !this._state.isRegex }, !1), this._state.isRevealed || this.highlightFindOptions(); } toggleSearchScope() { if (this._state.searchScope) this._state.change({ searchScope: null }, !0); else if (this._editor.hasModel()) { let e = this._editor.getSelections(); e .map( (e) => ( 1 === e.endColumn && e.endLineNumber > e.startLineNumber && (e = e.setEndPosition( e.endLineNumber - 1, this._editor .getModel() .getLineMaxColumn(e.endLineNumber - 1) )), e.isEmpty() ? null : e ) ) .filter((e) => !!e), e.length && this._state.change({ searchScope: e }, !0); } } setSearchString(e) { this._state.isRegex && (e = o.ec(e)), this._state.change({ searchString: e }, !1); } highlightFindOptions() {} _start(e) { return mt(this, void 0, void 0, function* () { if ((this.disposeModel(), !this._editor.hasModel())) return; let t = { isRevealed: !0 }; if (e.seedSearchStringFromSelection) { let e = _t(this._editor); e && (this._state.isRegex ? (t.searchString = o.ec(e)) : (t.searchString = e)); } if (!t.searchString && e.seedSearchStringFromGlobalClipboard) { let e = yield this.getGlobalBufferTerm(); if (!this._editor.hasModel()) return; e && (t.searchString = e); } if ( (e.forceRevealReplace ? (t.isReplaceRevealed = !0) : this._findWidgetVisible.get() || (t.isReplaceRevealed = !1), e.updateSearchScope) ) { let e = this._editor.getSelections(); e.some((e) => !e.isEmpty()) && (t.searchScope = e); } (t.loop = e.loop), this._state.change(t, !1), this._model || (this._model = new K(this._editor, this._state)); }); } start(e) { return this._start(e); } moveToNextMatch() { return !!this._model && (this._model.moveToNextMatch(), !0); } moveToPrevMatch() { return !!this._model && (this._model.moveToPrevMatch(), !0); } replace() { return !!this._model && (this._model.replace(), !0); } replaceAll() { return !!this._model && (this._model.replaceAll(), !0); } selectAllMatches() { return ( !!this._model && (this._model.selectAllMatches(), this._editor.focus(), !0) ); } getGlobalBufferTerm() { return mt(this, void 0, void 0, function* () { return this._editor.getOption(29).globalFindClipboard && this._editor.hasModel() && !this._editor.getModel().isTooLargeForSyncing() ? this._clipboardService.readFindText() : ''; }); } setGlobalBufferTerm(e) { this._editor.getOption(29).globalFindClipboard && this._editor.hasModel() && !this._editor.getModel().isTooLargeForSyncing() && this._clipboardService.writeFindText(e); } }; (bt.ID = 'editor.contrib.findController'), (bt = ft([pt(1, D.i6), pt(2, ht.Uy), pt(3, lt.p)], bt)); let vt = class extends bt { constructor(e, t, i, n, r, s, o, a, l) { super(e, i, o, l), (this._contextViewService = t), (this._keybindingService = n), (this._themeService = r), (this._notificationService = s), (this._storageKeysSyncRegistryService = a), (this._widget = null), (this._findOptionsWidget = null); } _start(e) { const t = Object.create(null, { _start: { get: () => super._start }, }); return mt(this, void 0, void 0, function* () { this._widget || this._createFindWidget(); const i = this._editor.getSelection(); let n = !1; switch (this._editor.getOption(29).autoFindInSelection) { case 'always': n = !0; break; case 'never': n = !1; break; case 'multiline': n = !!i && i.startLineNumber !== i.endLineNumber; } (e.updateSearchScope = n), yield t._start.call(this, e), this._widget && (2 === e.shouldFocus ? this._widget.focusReplaceInput() : 1 === e.shouldFocus && this._widget.focusFindInput()); }); } highlightFindOptions() { this._widget || this._createFindWidget(), this._state.isRevealed ? this._widget.highlightFindOptions() : this._findOptionsWidget.highlightFindOptions(); } _createFindWidget() { (this._widget = this._register( new st( this._editor, this, this._state, this._contextViewService, this._keybindingService, this._contextKeyService, this._themeService, this._storageService, this._notificationService, this._storageKeysSyncRegistryService ) )), (this._findOptionsWidget = this._register( new ae( this._editor, this._state, this._keybindingService, this._themeService ) )); } }; vt = ft( [ pt(1, ct.u), pt(2, D.i6), pt(3, dt.d), pt(4, _.XE), pt(5, ut.lT), pt(6, ht.Uy), pt(7, gt.u), pt(8, lt.p), ], vt ); class yt extends a.jY { constructor() { super({ id: 'actions.find', label: n.N('startFindAction', 'Find'), alias: 'Find', precondition: void 0, kbOpts: { kbExpr: null, primary: 2084, weight: 100 }, menuOpts: { menuId: at.eH.MenubarEditMenu, group: '3_find', title: n.N( { key: 'miFind', comment: ['&& denotes a mnemonic'] }, '&&Find' ), order: 1, }, }); } run(e, t) { return mt(this, void 0, void 0, function* () { let e = bt.get(t); e && (yield e.start({ forceRevealReplace: !1, seedSearchStringFromSelection: t.getOption(29) .seedSearchStringFromSelection, seedSearchStringFromGlobalClipboard: t.getOption(29) .globalFindClipboard, shouldFocus: 1, shouldAnimate: !0, updateSearchScope: !1, loop: t.getOption(29).loop, })); }); } } class wt extends a.R6 { constructor() { super({ id: 'actions.findWithSelection', label: n.N('startFindWithSelectionAction', 'Find With Selection'), alias: 'Find With Selection', precondition: void 0, kbOpts: { kbExpr: null, primary: 0, mac: { primary: 2083 }, weight: 100, }, }); } run(e, t) { return mt(this, void 0, void 0, function* () { let e = bt.get(t); e && (yield e.start({ forceRevealReplace: !1, seedSearchStringFromSelection: !0, seedSearchStringFromGlobalClipboard: !1, shouldFocus: 0, shouldAnimate: !0, updateSearchScope: !1, loop: t.getOption(29).loop, }), e.setGlobalBufferTerm(e.getState().searchString)); }); } } class Ct extends a.R6 { run(e, t) { return mt(this, void 0, void 0, function* () { let e = bt.get(t); e && !this._run(e) && (yield e.start({ forceRevealReplace: !1, seedSearchStringFromSelection: 0 === e.getState().searchString.length && t.getOption(29).seedSearchStringFromSelection, seedSearchStringFromGlobalClipboard: !0, shouldFocus: 0, shouldAnimate: !0, updateSearchScope: !1, loop: t.getOption(29).loop, }), this._run(e)); }); } } class St extends Ct { constructor() { super({ id: F, label: n.N('findNextMatchAction', 'Find Next'), alias: 'Find Next', precondition: void 0, kbOpts: { kbExpr: l.u.focus, primary: 61, mac: { primary: 2085, secondary: [61] }, weight: 100, }, }); } _run(e) { return e.moveToNextMatch(); } } class kt extends Ct { constructor() { super({ id: F, label: n.N('findNextMatchAction', 'Find Next'), alias: 'Find Next', precondition: void 0, kbOpts: { kbExpr: D.Ao.and(l.u.focus, T), primary: 3, weight: 100, }, }); } _run(e) { return e.moveToNextMatch(); } } class xt extends Ct { constructor() { super({ id: B, label: n.N('findPreviousMatchAction', 'Find Previous'), alias: 'Find Previous', precondition: void 0, kbOpts: { kbExpr: l.u.focus, primary: 1085, mac: { primary: 3109, secondary: [1085] }, weight: 100, }, }); } _run(e) { return e.moveToPrevMatch(); } } class Lt extends Ct { constructor() { super({ id: B, label: n.N('findPreviousMatchAction', 'Find Previous'), alias: 'Find Previous', precondition: void 0, kbOpts: { kbExpr: D.Ao.and(l.u.focus, T), primary: 1027, weight: 100, }, }); } _run(e) { return e.moveToPrevMatch(); } } class Mt extends a.R6 { run(e, t) { return mt(this, void 0, void 0, function* () { let e = bt.get(t); if (!e) return; let i = _t(t); i && e.setSearchString(i), this._run(e) || (yield e.start({ forceRevealReplace: !1, seedSearchStringFromSelection: t.getOption(29) .seedSearchStringFromSelection, seedSearchStringFromGlobalClipboard: !1, shouldFocus: 0, shouldAnimate: !0, updateSearchScope: !1, loop: t.getOption(29).loop, }), this._run(e)); }); } } class Dt extends Mt { constructor() { super({ id: 'editor.action.nextSelectionMatchFindAction', label: n.N('nextSelectionMatchFindAction', 'Find Next Selection'), alias: 'Find Next Selection', precondition: void 0, kbOpts: { kbExpr: l.u.focus, primary: 2109, weight: 100 }, }); } _run(e) { return e.moveToNextMatch(); } } class Nt extends Mt { constructor() { super({ id: 'editor.action.previousSelectionMatchFindAction', label: n.N( 'previousSelectionMatchFindAction', 'Find Previous Selection' ), alias: 'Find Previous Selection', precondition: void 0, kbOpts: { kbExpr: l.u.focus, primary: 3133, weight: 100 }, }); } _run(e) { return e.moveToPrevMatch(); } } class Et extends a.jY { constructor() { super({ id: 'editor.action.startFindReplaceAction', label: n.N('startReplace', 'Replace'), alias: 'Replace', precondition: void 0, kbOpts: { kbExpr: null, primary: 2086, mac: { primary: 2596 }, weight: 100, }, menuOpts: { menuId: at.eH.MenubarEditMenu, group: '3_find', title: n.N( { key: 'miReplace', comment: ['&& denotes a mnemonic'] }, '&&Replace' ), order: 2, }, }); } run(e, t) { return mt(this, void 0, void 0, function* () { if (!t.hasModel() || t.getOption(72)) return; let e = bt.get(t), i = t.getSelection(), n = e.isFindInputFocused(), r = !i.isEmpty() && i.startLineNumber === i.endLineNumber && t.getOption(29).seedSearchStringFromSelection && !n, s = n || r ? 2 : 1; e && (yield e.start({ forceRevealReplace: !0, seedSearchStringFromSelection: r, seedSearchStringFromGlobalClipboard: t.getOption(29) .seedSearchStringFromSelection, shouldFocus: s, shouldAnimate: !0, updateSearchScope: !1, loop: t.getOption(29).loop, })); }); } } (0, a._K)(bt.ID, vt); const Tt = new yt(); (0, a.rn)(Tt), (0, a.Qr)(wt), (0, a.Qr)(St), (0, a.Qr)(kt), (0, a.Qr)(xt), (0, a.Qr)(Lt), (0, a.Qr)(Dt), (0, a.Qr)(Nt); const It = new Et(); (0, a.rn)(It); const Ot = a._l.bindToContribution(bt.get); (0, a.fK)( new Ot({ id: W, precondition: E, handler: (e) => e.closeFindWidget(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 9, secondary: [1033], }, }) ), (0, a.fK)( new Ot({ id: Y, precondition: void 0, handler: (e) => e.toggleCaseSensitive(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: O.primary, mac: O.mac, win: O.win, linux: O.linux, }, }) ), (0, a.fK)( new Ot({ id: H, precondition: void 0, handler: (e) => e.toggleWholeWords(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: A.primary, mac: A.mac, win: A.win, linux: A.linux, }, }) ), (0, a.fK)( new Ot({ id: j, precondition: void 0, handler: (e) => e.toggleRegex(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: R.primary, mac: R.mac, win: R.win, linux: R.linux, }, }) ), (0, a.fK)( new Ot({ id: V, precondition: void 0, handler: (e) => e.toggleSearchScope(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: P.primary, mac: P.mac, win: P.win, linux: P.linux, }, }) ), (0, a.fK)( new Ot({ id: z, precondition: E, handler: (e) => e.replace(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 3094 }, }) ), (0, a.fK)( new Ot({ id: z, precondition: E, handler: (e) => e.replace(), kbOpts: { weight: 105, kbExpr: D.Ao.and(l.u.focus, I), primary: 3, }, }) ), (0, a.fK)( new Ot({ id: U, precondition: E, handler: (e) => e.replaceAll(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 2563 }, }) ), (0, a.fK)( new Ot({ id: U, precondition: E, handler: (e) => e.replaceAll(), kbOpts: { weight: 105, kbExpr: D.Ao.and(l.u.focus, I), primary: void 0, mac: { primary: 2051 }, }, }) ), (0, a.fK)( new Ot({ id: 'editor.action.selectAllMatches', precondition: E, handler: (e) => e.selectAllMatches(), kbOpts: { weight: 105, kbExpr: l.u.focus, primary: 515 }, }) ); }, 62943: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { FoldingController: () => $, editorFoldForeground: () => X, foldBackgroundBackground: () => Q, }); var n = i(63580), r = i(98401), s = i(97295), o = i(15393), a = i(22258), l = i(5976), c = i(16830), d = i(4669); const h = 16777215, u = 4278190080; class g { constructor(e, t, i) { if (e.length !== t.length || e.length > 65535) throw new Error('invalid startIndexes or endIndexes size'); (this._startIndexes = e), (this._endIndexes = t), (this._collapseStates = new Uint32Array( Math.ceil(e.length / 32) )), (this._types = i), (this._parentsComputed = !1); } ensureParentIndices() { if (!this._parentsComputed) { this._parentsComputed = !0; let e = [], t = (t, i) => { let n = e[e.length - 1]; return ( this.getStartLineNumber(n) <= t && this.getEndLineNumber(n) >= i ); }; for (let i = 0, n = this._startIndexes.length; i < n; i++) { let n = this._startIndexes[i], r = this._endIndexes[i]; if (n > h || r > h) throw new Error( 'startLineNumber or endLineNumber must not exceed 16777215' ); for (; e.length > 0 && !t(n, r); ) e.pop(); let s = e.length > 0 ? e[e.length - 1] : -1; e.push(i), (this._startIndexes[i] = n + ((255 & s) << 24)), (this._endIndexes[i] = r + ((65280 & s) << 16)); } } } get length() { return this._startIndexes.length; } getStartLineNumber(e) { return this._startIndexes[e] & h; } getEndLineNumber(e) { return this._endIndexes[e] & h; } getType(e) { return this._types ? this._types[e] : void 0; } hasTypes() { return !!this._types; } isCollapsed(e) { let t = (e / 32) | 0, i = e % 32; return 0 != (this._collapseStates[t] & (1 << i)); } setCollapsed(e, t) { let i = (e / 32) | 0, n = e % 32, r = this._collapseStates[i]; this._collapseStates[i] = t ? r | (1 << n) : r & ~(1 << n); } toRegion(e) { return new f(this, e); } getParentIndex(e) { this.ensureParentIndices(); let t = ((this._startIndexes[e] & u) >>> 24) + ((this._endIndexes[e] & u) >>> 16); return 65535 === t ? -1 : t; } contains(e, t) { return ( this.getStartLineNumber(e) <= t && this.getEndLineNumber(e) >= t ); } findIndex(e) { let t = 0, i = this._startIndexes.length; if (0 === i) return -1; for (; t < i; ) { let n = Math.floor((t + i) / 2); e < this.getStartLineNumber(n) ? (i = n) : (t = n + 1); } return t - 1; } findRange(e) { let t = this.findIndex(e); if (t >= 0) { if (this.getEndLineNumber(t) >= e) return t; for (t = this.getParentIndex(t); -1 !== t; ) { if (this.contains(t, e)) return t; t = this.getParentIndex(t); } } return -1; } toString() { let e = []; for (let t = 0; t < this.length; t++) e[t] = `[${ this.isCollapsed(t) ? '+' : '-' }] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`; return e.join(', '); } } class f { constructor(e, t) { (this.ranges = e), (this.index = t); } get startLineNumber() { return this.ranges.getStartLineNumber(this.index); } get endLineNumber() { return this.ranges.getEndLineNumber(this.index); } get regionIndex() { return this.index; } get parentIndex() { return this.ranges.getParentIndex(this.index); } get isCollapsed() { return this.ranges.isCollapsed(this.index); } containedBy(e) { return ( e.startLineNumber <= this.startLineNumber && e.endLineNumber >= this.endLineNumber ); } containsLine(e) { return this.startLineNumber <= e && e <= this.endLineNumber; } } class p { constructor(e, t) { (this._updateEventEmitter = new d.Q5()), (this.onDidChange = this._updateEventEmitter.event), (this._textModel = e), (this._decorationProvider = t), (this._regions = new g(new Uint32Array(0), new Uint32Array(0))), (this._editorDecorationIds = []), (this._isInitialized = !1); } get regions() { return this._regions; } get textModel() { return this._textModel; } get isInitialized() { return this._isInitialized; } toggleCollapseState(e) { if (!e.length) return; e = e.sort((e, t) => e.regionIndex - t.regionIndex); const t = {}; this._decorationProvider.changeDecorations((i) => { let n = 0, r = -1, s = -1; const o = (e) => { for (; n < e; ) { const e = this._regions.getEndLineNumber(n), t = this._regions.isCollapsed(n); e <= r && i.changeDecorationOptions( this._editorDecorationIds[n], this._decorationProvider.getDecorationOption(t, e <= s) ), t && e > s && (s = e), n++; } }; for (let i of e) { let e = i.regionIndex, n = this._editorDecorationIds[e]; if (n && !t[n]) { (t[n] = !0), o(e); let i = !this._regions.isCollapsed(e); this._regions.setCollapsed(e, i), (r = Math.max(r, this._regions.getEndLineNumber(e))); } } o(this._regions.length); }), this._updateEventEmitter.fire({ model: this, collapseStateChanged: e, }); } update(e, t = []) { let i = [], n = -1, r = (r, s) => { const o = e.getStartLineNumber(r), a = e.getEndLineNumber(r); s && ((e, i) => { for (let n of t) if (e < n && n <= i) return !0; return !1; })(o, a) && (s = !1), e.setCollapsed(r, s); const l = this._textModel.getLineMaxColumn(o), c = { startLineNumber: o, startColumn: l, endLineNumber: o, endColumn: l, }; i.push({ range: c, options: this._decorationProvider.getDecorationOption( s, a <= n ), }), s && a > n && (n = a); }, s = 0, o = () => { for (; s < this._regions.length; ) { let e = this._regions.isCollapsed(s); if ((s++, e)) return s - 1; } return -1; }, a = 0, l = o(); for (; -1 !== l && a < e.length; ) { let t = this._textModel.getDecorationRange( this._editorDecorationIds[l] ); if (t) { let i = t.startLineNumber; if (this._textModel.getLineMaxColumn(i) === t.startColumn) for (; a < e.length; ) { let t = e.getStartLineNumber(a); if (!(i >= t)) break; r(a, i === t), a++; } } l = o(); } for (; a < e.length; ) r(a, !1), a++; (this._editorDecorationIds = this._decorationProvider.deltaDecorations( this._editorDecorationIds, i )), (this._regions = e), (this._isInitialized = !0), this._updateEventEmitter.fire({ model: this }); } getMemento() { let e = []; for (let t = 0; t < this._regions.length; t++) if (this._regions.isCollapsed(t)) { let i = this._textModel.getDecorationRange( this._editorDecorationIds[t] ); if (i) { let n = i.startLineNumber, r = i.endLineNumber + this._regions.getEndLineNumber(t) - this._regions.getStartLineNumber(t); e.push({ startLineNumber: n, endLineNumber: r }); } } if (e.length > 0) return e; } applyMemento(e) { if (!Array.isArray(e)) return; let t = []; for (let i of e) { let e = this.getRegionAtLine(i.startLineNumber); e && !e.isCollapsed && t.push(e); } this.toggleCollapseState(t); } dispose() { this._decorationProvider.deltaDecorations( this._editorDecorationIds, [] ); } getAllRegionsAtLine(e, t) { let i = []; if (this._regions) { let n = this._regions.findRange(e), r = 1; for (; n >= 0; ) { let e = this._regions.toRegion(n); (t && !t(e, r)) || i.push(e), r++, (n = e.parentIndex); } } return i; } getRegionAtLine(e) { if (this._regions) { let t = this._regions.findRange(e); if (t >= 0) return this._regions.toRegion(t); } return null; } getRegionsInside(e, t) { let i = [], n = e ? e.regionIndex + 1 : 0, r = e ? e.endLineNumber : Number.MAX_VALUE; if (t && 2 === t.length) { const e = []; for (let s = n, o = this._regions.length; s < o; s++) { let n = this._regions.toRegion(s); if (!(this._regions.getStartLineNumber(s) < r)) break; for (; e.length > 0 && !n.containedBy(e[e.length - 1]); ) e.pop(); e.push(n), t(n, e.length) && i.push(n); } } else for (let e = n, s = this._regions.length; e < s; e++) { let n = this._regions.toRegion(e); if (!(this._regions.getStartLineNumber(e) < r)) break; (t && !t(n)) || i.push(n); } return i; } } function m(e, t, i = Number.MAX_VALUE, n) { let r = []; if (n && n.length > 0) for (let s of n) { let n = e.getRegionAtLine(s); if (n && (n.isCollapsed !== t && r.push(n), i > 1)) { let s = e.getRegionsInside( n, (e, n) => e.isCollapsed !== t && n < i ); r.push(...s); } } else { let n = e.getRegionsInside( null, (e, n) => e.isCollapsed !== t && n < i ); r.push(...n); } e.toggleCollapseState(r); } function _(e, t, i, n) { let r = []; for (let s of n) { let n = e.getAllRegionsAtLine( s, (e, n) => e.isCollapsed !== t && n <= i ); r.push(...n); } e.toggleCollapseState(r); } function b(e, t, i) { let n = e.textModel, r = e.regions, s = []; for (let e = r.length - 1; e >= 0; e--) if (i !== r.isCollapsed(e)) { let i = r.getStartLineNumber(e); t.test(n.getLineContent(i)) && s.push(r.toRegion(e)); } e.toggleCollapseState(s); } function v(e, t, i) { let n = e.regions, r = []; for (let e = n.length - 1; e >= 0; e--) i !== n.isCollapsed(e) && t === n.getType(e) && r.push(n.toRegion(e)); e.toggleCollapseState(r); } var y = i(3411), w = i(73046); const C = (0, w.q5)('folding-expanded', w.lA.chevronDown), S = (0, w.q5)('folding-collapsed', w.lA.chevronRight); class k { constructor(e) { (this.editor = e), (this.autoHideFoldingControls = !0), (this.showFoldingHighlights = !0); } getDecorationOption(e, t) { return t ? k.HIDDEN_RANGE_DECORATION : e ? this.showFoldingHighlights ? k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION : k.COLLAPSED_VISUAL_DECORATION : this.autoHideFoldingControls ? k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION : k.EXPANDED_VISUAL_DECORATION; } deltaDecorations(e, t) { return this.editor.deltaDecorations(e, t); } changeDecorations(e) { return this.editor.changeDecorations(e); } } (k.COLLAPSED_VISUAL_DECORATION = y.qx.register({ stickiness: 1, afterContentClassName: 'inline-folded', isWholeLine: !0, firstLineDecorationClassName: S.classNames, })), (k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = y.qx.register({ stickiness: 1, afterContentClassName: 'inline-folded', className: 'folded-background', isWholeLine: !0, firstLineDecorationClassName: S.classNames, })), (k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION = y.qx.register({ stickiness: 1, isWholeLine: !0, firstLineDecorationClassName: C.classNames, })), (k.EXPANDED_VISUAL_DECORATION = y.qx.register({ stickiness: 1, isWholeLine: !0, firstLineDecorationClassName: 'alwaysShowFoldIcons ' + C.classNames, })), (k.HIDDEN_RANGE_DECORATION = y.qx.register({ stickiness: 1 })); var x = i(29102), L = i(24314), M = i(9488); class D { constructor(e) { (this._updateEventEmitter = new d.Q5()), (this._foldingModel = e), (this._foldingModelListener = e.onDidChange((e) => this.updateHiddenRanges() )), (this._hiddenRanges = []), e.regions.length && this.updateHiddenRanges(); } get onDidChange() { return this._updateEventEmitter.event; } get hiddenRanges() { return this._hiddenRanges; } updateHiddenRanges() { let e = !1, t = [], i = 0, n = 0, r = Number.MAX_VALUE, s = -1, o = this._foldingModel.regions; for (; i < o.length; i++) { if (!o.isCollapsed(i)) continue; let a = o.getStartLineNumber(i) + 1, l = o.getEndLineNumber(i); (r <= a && l <= s) || (!e && n < this._hiddenRanges.length && this._hiddenRanges[n].startLineNumber === a && this._hiddenRanges[n].endLineNumber === l ? (t.push(this._hiddenRanges[n]), n++) : ((e = !0), t.push(new L.e(a, 1, l, 1))), (r = a), (s = l)); } (e || n < this._hiddenRanges.length) && this.applyHiddenRanges(t); } applyMemento(e) { if (!Array.isArray(e) || 0 === e.length) return !1; let t = []; for (let i of e) { if (!i.startLineNumber || !i.endLineNumber) return !1; t.push(new L.e(i.startLineNumber + 1, 1, i.endLineNumber, 1)); } return this.applyHiddenRanges(t), !0; } getMemento() { return this._hiddenRanges.map((e) => ({ startLineNumber: e.startLineNumber - 1, endLineNumber: e.endLineNumber, })); } applyHiddenRanges(e) { (this._hiddenRanges = e), this._updateEventEmitter.fire(e); } hasRanges() { return this._hiddenRanges.length > 0; } isHidden(e) { return null !== N(this._hiddenRanges, e); } adjustSelections(e) { let t = !1, i = this._foldingModel.textModel, n = null, r = (e) => ( (n && (function (e, t) { return e >= t.startLineNumber && e <= t.endLineNumber; })(e, n)) || (n = N(this._hiddenRanges, e)), n ? n.startLineNumber - 1 : null ); for (let n = 0, s = e.length; n < s; n++) { let s = e[n], o = r(s.startLineNumber); o && ((s = s.setStartPosition(o, i.getLineMaxColumn(o))), (t = !0)); let a = r(s.endLineNumber); a && ((s = s.setEndPosition(a, i.getLineMaxColumn(a))), (t = !0)), (e[n] = s); } return t; } dispose() { this.hiddenRanges.length > 0 && ((this._hiddenRanges = []), this._updateEventEmitter.fire(this._hiddenRanges)), this._foldingModelListener && (this._foldingModelListener.dispose(), (this._foldingModelListener = null)); } } function N(e, t) { let i = (0, M.lG)(e, (e) => t < e.startLineNumber) - 1; return i >= 0 && e[i].endLineNumber >= t ? e[i] : null; } var E = i(83831); class T { constructor(e) { (this.editorModel = e), (this.id = 'indent'); } dispose() {} compute(e) { let t = E.zu.getFoldingRules( this.editorModel.getLanguageIdentifier().id ), i = t && !!t.offSide, n = t && t.markers; return Promise.resolve( (function (e, t, i, n = 5e3) { const r = e.getOptions().tabSize; let s, o = new I(n); i && (s = new RegExp(`(${i.start.source})|(?:${i.end.source})`)); let a = [], l = e.getLineCount() + 1; a.push({ indent: -1, endAbove: l, line: l }); for (let i = e.getLineCount(); i > 0; i--) { let n, l = e.getLineContent(i), c = y.yO.computeIndentLevel(l, r), d = a[a.length - 1]; if (-1 !== c) { if (s && (n = l.match(s))) { if (!n[1]) { a.push({ indent: -2, endAbove: i, line: i }); continue; } { let e = a.length - 1; for (; e > 0 && -2 !== a[e].indent; ) e--; if (e > 0) { (a.length = e + 1), (d = a[e]), o.insertFirst(i, d.line, c), (d.line = i), (d.indent = c), (d.endAbove = i); continue; } } } if (d.indent > c) { do { a.pop(), (d = a[a.length - 1]); } while (d.indent > c); let e = d.endAbove - 1; e - i >= 1 && o.insertFirst(i, e, c); } d.indent === c ? (d.endAbove = i) : a.push({ indent: c, endAbove: i, line: i }); } else t && (d.endAbove = i); } return o.toIndentRanges(e); })(this.editorModel, i, n) ); } } class I { constructor(e) { (this._startIndexes = []), (this._endIndexes = []), (this._indentOccurrences = []), (this._length = 0), (this._foldingRangesLimit = e); } insertFirst(e, t, i) { if (e > h || t > h) return; let n = this._length; (this._startIndexes[n] = e), (this._endIndexes[n] = t), this._length++, i < 1e3 && (this._indentOccurrences[i] = (this._indentOccurrences[i] || 0) + 1); } toIndentRanges(e) { if (this._length <= this._foldingRangesLimit) { let e = new Uint32Array(this._length), t = new Uint32Array(this._length); for (let i = this._length - 1, n = 0; i >= 0; i--, n++) (e[n] = this._startIndexes[i]), (t[n] = this._endIndexes[i]); return new g(e, t); } { let t = 0, i = this._indentOccurrences.length; for (let e = 0; e < this._indentOccurrences.length; e++) { let n = this._indentOccurrences[e]; if (n) { if (n + t > this._foldingRangesLimit) { i = e; break; } t += n; } } const n = e.getOptions().tabSize; let r = new Uint32Array(this._foldingRangesLimit), s = new Uint32Array(this._foldingRangesLimit); for (let o = this._length - 1, a = 0; o >= 0; o--) { let l = this._startIndexes[o], c = e.getLineContent(l), d = y.yO.computeIndentLevel(c, n); (d < i || (d === i && t++ < this._foldingRangesLimit)) && ((r[a] = l), (s[a] = this._endIndexes[o]), a++); } return new g(r, s); } } } var O = i(43775), A = i(17301); const R = {}, P = 'syntax'; class F { constructor(e, t, i = 5e3) { (this.editorModel = e), (this.providers = t), (this.limit = i), (this.id = P); } compute(e) { return (function (e, t, i) { let n = null, r = e.map((e, r) => Promise.resolve(e.provideFoldingRanges(t, R, i)).then((e) => { if (!i.isCancellationRequested && Array.isArray(e)) { Array.isArray(n) || (n = []); let i = t.getLineCount(); for (let t of e) t.start > 0 && t.end > t.start && t.end <= i && n.push({ start: t.start, end: t.end, rank: r, kind: t.kind, }); } }, A.Cp) ); return Promise.all(r).then((e) => n); })(this.providers, this.editorModel, e).then((e) => e ? W(e, this.limit) : null ); } dispose() {} } class B { constructor(e) { (this._startIndexes = []), (this._endIndexes = []), (this._nestingLevels = []), (this._nestingLevelCounts = []), (this._types = []), (this._length = 0), (this._foldingRangesLimit = e); } add(e, t, i, n) { if (e > h || t > h) return; let r = this._length; (this._startIndexes[r] = e), (this._endIndexes[r] = t), (this._nestingLevels[r] = n), (this._types[r] = i), this._length++, n < 30 && (this._nestingLevelCounts[n] = (this._nestingLevelCounts[n] || 0) + 1); } toIndentRanges() { if (this._length <= this._foldingRangesLimit) { let e = new Uint32Array(this._length), t = new Uint32Array(this._length); for (let i = 0; i < this._length; i++) (e[i] = this._startIndexes[i]), (t[i] = this._endIndexes[i]); return new g(e, t, this._types); } { let e = 0, t = this._nestingLevelCounts.length; for (let i = 0; i < this._nestingLevelCounts.length; i++) { let n = this._nestingLevelCounts[i]; if (n) { if (n + e > this._foldingRangesLimit) { t = i; break; } e += n; } } let i = new Uint32Array(this._foldingRangesLimit), n = new Uint32Array(this._foldingRangesLimit), r = []; for (let s = 0, o = 0; s < this._length; s++) { let a = this._nestingLevels[s]; (a < t || (a === t && e++ < this._foldingRangesLimit)) && ((i[o] = this._startIndexes[s]), (n[o] = this._endIndexes[s]), (r[o] = this._types[s]), o++); } return new g(i, n, r); } } } function W(e, t) { let i, n = e.sort((e, t) => { let i = e.start - t.start; return 0 === i && (i = e.rank - t.rank), i; }), r = new B(t), s = []; for (let e of n) if (i) { if (e.start > i.start) if (e.end <= i.end) s.push(i), (i = e), r.add(e.start, e.end, e.kind && e.kind.value, s.length); else { if (e.start > i.end) { do { i = s.pop(); } while (i && e.start > i.end); i && s.push(i), (i = e); } r.add(e.start, e.end, e.kind && e.kind.value, s.length); } } else (i = e), r.add(e.start, e.end, e.kind && e.kind.value, s.length); return r.toIndentRanges(); } const Y = 'init'; class H { constructor(e, t, i, n) { if (((this.editorModel = e), (this.id = Y), t.length)) { let r = (t) => ({ range: { startLineNumber: t.startLineNumber, startColumn: 0, endLineNumber: t.endLineNumber, endColumn: e.getLineLength(t.endLineNumber), }, options: { stickiness: 1 }, }); (this.decorationIds = e.deltaDecorations([], t.map(r))), (this.timeout = setTimeout(i, n)); } } dispose() { this.decorationIds && (this.editorModel.deltaDecorations(this.decorationIds, []), (this.decorationIds = void 0)), 'number' == typeof this.timeout && (clearTimeout(this.timeout), (this.timeout = void 0)); } compute(e) { let t = []; if (this.decorationIds) for (let e of this.decorationIds) { let i = this.editorModel.getDecorationRange(e); i && t.push({ start: i.startLineNumber, end: i.endLineNumber, rank: 1, }); } return Promise.resolve(W(t, Number.MAX_VALUE)); } } var j = i(38819), V = i(97781), z = i(73910); const U = new j.uy('foldingEnabled', !1); let $ = class e extends l.JT { constructor(e, t) { super(), (this.contextKeyService = t), (this.localToDispose = this._register(new l.SL())), (this.editor = e); const i = this.editor.getOptions(); (this._isEnabled = i.get(31)), (this._useFoldingProviders = 'indentation' !== i.get(32)), (this._unfoldOnClickAfterEndOfLine = i.get(34)), (this.foldingModel = null), (this.hiddenRangeModel = null), (this.rangeProvider = null), (this.foldingRegionPromise = null), (this.foldingStateMemento = null), (this.foldingModelPromise = null), (this.updateScheduler = null), (this.cursorChangedScheduler = null), (this.mouseDownInfo = null), (this.foldingDecorationProvider = new k(e)), (this.foldingDecorationProvider.autoHideFoldingControls = 'mouseover' === i.get(91)), (this.foldingDecorationProvider.showFoldingHighlights = i.get( 33 )), (this.foldingEnabled = U.bindTo(this.contextKeyService)), this.foldingEnabled.set(this._isEnabled), this._register( this.editor.onDidChangeModel(() => this.onModelChanged()) ), this._register( this.editor.onDidChangeConfiguration((e) => { if ( (e.hasChanged(31) && ((this._isEnabled = this.editor.getOptions().get(31)), this.foldingEnabled.set(this._isEnabled), this.onModelChanged()), e.hasChanged(91) || e.hasChanged(33)) ) { const e = this.editor.getOptions(); (this.foldingDecorationProvider.autoHideFoldingControls = 'mouseover' === e.get(91)), (this.foldingDecorationProvider.showFoldingHighlights = e.get( 33 )), this.onModelContentChanged(); } e.hasChanged(32) && ((this._useFoldingProviders = 'indentation' !== this.editor.getOptions().get(32)), this.onFoldingStrategyChanged()), e.hasChanged(34) && (this._unfoldOnClickAfterEndOfLine = this.editor .getOptions() .get(34)); }) ), this.onModelChanged(); } static get(t) { return t.getContribution(e.ID); } saveViewState() { let e = this.editor.getModel(); if (!e || !this._isEnabled || e.isTooLargeForTokenization()) return {}; if (this.foldingModel) { let t = this.foldingModel.isInitialized ? this.foldingModel.getMemento() : this.hiddenRangeModel.getMemento(), i = this.rangeProvider ? this.rangeProvider.id : void 0; return { collapsedRegions: t, lineCount: e.getLineCount(), provider: i, }; } } restoreViewState(e) { let t = this.editor.getModel(); if ( !t || !this._isEnabled || t.isTooLargeForTokenization() || !this.hiddenRangeModel ) return; if (!e || !e.collapsedRegions || e.lineCount !== t.getLineCount()) return; (e.provider !== P && e.provider !== Y) || (this.foldingStateMemento = e); const i = e.collapsedRegions; if (this.hiddenRangeModel.applyMemento(i)) { const e = this.getFoldingModel(); e && e .then((e) => { e && e.applyMemento(i); }) .then(void 0, A.dL); } } onModelChanged() { this.localToDispose.clear(); let e = this.editor.getModel(); this._isEnabled && e && !e.isTooLargeForTokenization() && ((this.foldingModel = new p(e, this.foldingDecorationProvider)), this.localToDispose.add(this.foldingModel), (this.hiddenRangeModel = new D(this.foldingModel)), this.localToDispose.add(this.hiddenRangeModel), this.localToDispose.add( this.hiddenRangeModel.onDidChange((e) => this.onHiddenRangesChanges(e) ) ), (this.updateScheduler = new o.vp(200)), (this.cursorChangedScheduler = new o.pY( () => this.revealCursor(), 200 )), this.localToDispose.add(this.cursorChangedScheduler), this.localToDispose.add( O.aC.onDidChange(() => this.onFoldingStrategyChanged()) ), this.localToDispose.add( this.editor.onDidChangeModelLanguageConfiguration(() => this.onFoldingStrategyChanged() ) ), this.localToDispose.add( this.editor.onDidChangeModelContent(() => this.onModelContentChanged() ) ), this.localToDispose.add( this.editor.onDidChangeCursorPosition(() => this.onCursorPositionChanged() ) ), this.localToDispose.add( this.editor.onMouseDown((e) => this.onEditorMouseDown(e)) ), this.localToDispose.add( this.editor.onMouseUp((e) => this.onEditorMouseUp(e)) ), this.localToDispose.add({ dispose: () => { this.foldingRegionPromise && (this.foldingRegionPromise.cancel(), (this.foldingRegionPromise = null)), this.updateScheduler && this.updateScheduler.cancel(), (this.updateScheduler = null), (this.foldingModel = null), (this.foldingModelPromise = null), (this.hiddenRangeModel = null), (this.cursorChangedScheduler = null), (this.foldingStateMemento = null), this.rangeProvider && this.rangeProvider.dispose(), (this.rangeProvider = null); }, }), this.onModelContentChanged()); } onFoldingStrategyChanged() { this.rangeProvider && this.rangeProvider.dispose(), (this.rangeProvider = null), this.onModelContentChanged(); } getRangeProvider(e) { if (this.rangeProvider) return this.rangeProvider; if ( ((this.rangeProvider = new T(e)), this._useFoldingProviders && this.foldingModel) ) { let t = O.aC.ordered(this.foldingModel.textModel); if ( 0 === t.length && this.foldingStateMemento && this.foldingStateMemento.collapsedRegions ) return (this.rangeProvider = new H( e, this.foldingStateMemento.collapsedRegions, () => { (this.foldingStateMemento = null), this.onFoldingStrategyChanged(); }, 3e4 )); t.length > 0 && (this.rangeProvider = new F(e, t)); } return (this.foldingStateMemento = null), this.rangeProvider; } getFoldingModel() { return this.foldingModelPromise; } onModelContentChanged() { this.updateScheduler && (this.foldingRegionPromise && (this.foldingRegionPromise.cancel(), (this.foldingRegionPromise = null)), (this.foldingModelPromise = this.updateScheduler .trigger(() => { const e = this.foldingModel; if (!e) return null; let t = (this.foldingRegionPromise = (0, o.PG)((t) => this.getRangeProvider(e.textModel).compute(t) )); return t.then((i) => { if (i && t === this.foldingRegionPromise) { let t = this.editor.getSelections(), n = t ? t.map((e) => e.startLineNumber) : []; e.update(i, n); } return e; }); }) .then(void 0, (e) => ((0, A.dL)(e), null)))); } onHiddenRangesChanges(e) { if (this.hiddenRangeModel && e.length) { let e = this.editor.getSelections(); e && this.hiddenRangeModel.adjustSelections(e) && this.editor.setSelections(e); } this.editor.setHiddenAreas(e); } onCursorPositionChanged() { this.hiddenRangeModel && this.hiddenRangeModel.hasRanges() && this.cursorChangedScheduler.schedule(); } revealCursor() { const e = this.getFoldingModel(); e && e .then((e) => { if (e) { let t = this.editor.getSelections(); if (t && t.length > 0) { let i = []; for (let n of t) { let t = n.selectionStartLineNumber; this.hiddenRangeModel && this.hiddenRangeModel.isHidden(t) && i.push( ...e.getAllRegionsAtLine( t, (e) => e.isCollapsed && t > e.startLineNumber ) ); } i.length && (e.toggleCollapseState(i), this.reveal(t[0].getPosition())); } } }) .then(void 0, A.dL); } onEditorMouseDown(e) { if ( ((this.mouseDownInfo = null), !this.hiddenRangeModel || !e.target || !e.target.range) ) return; if (!e.event.leftButton && !e.event.middleButton) return; const t = e.target.range; let i = !1; switch (e.target.type) { case 4: const n = e.target.detail, r = e.target.element.offsetLeft; if (n.offsetX - r < 5) return; i = !0; break; case 7: if ( this._unfoldOnClickAfterEndOfLine && this.hiddenRangeModel.hasRanges() && !e.target.detail.isAfterLines ) break; return; case 6: if (this.hiddenRangeModel.hasRanges()) { let e = this.editor.getModel(); if ( e && t.startColumn === e.getLineMaxColumn(t.startLineNumber) ) break; } return; default: return; } this.mouseDownInfo = { lineNumber: t.startLineNumber, iconClicked: i, }; } onEditorMouseUp(e) { const t = this.getFoldingModel(); if (!t || !this.mouseDownInfo || !e.target) return; let i = this.mouseDownInfo.lineNumber, n = this.mouseDownInfo.iconClicked, r = e.target.range; if (r && r.startLineNumber === i) { if (n) { if (4 !== e.target.type) return; } else { let e = this.editor.getModel(); if (!e || r.startColumn !== e.getLineMaxColumn(i)) return; } t.then((t) => { if (t) { let r = t.getRegionAtLine(i); if (r && r.startLineNumber === i) { let s = r.isCollapsed; if (n || s) { let n = [], o = e.event.middleButton || e.event.shiftKey; if (o) for (const e of t.getRegionsInside(r)) e.isCollapsed === s && n.push(e); (!s && o && 0 !== n.length) || n.push(r), t.toggleCollapseState(n), this.reveal({ lineNumber: i, column: 1 }); } } } }).then(void 0, A.dL); } } reveal(e) { this.editor.revealPositionInCenterIfOutsideViewport(e, 0); } }; var K, q; ($.ID = 'editor.contrib.folding'), ($ = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((K = 1), (q = j.i6), function (e, t) { q(e, t, K); }), ], $ )); class G extends c.R6 { runEditorCommand(e, t, i) { let n = $.get(t); if (!n) return; let r = n.getFoldingModel(); return r ? (this.reportTelemetry(e, t), r.then((e) => { if (e) { this.invoke(n, e, t, i); const r = t.getSelection(); r && n.reveal(r.getStartPosition()); } })) : void 0; } getSelectedLines(e) { let t = e.getSelections(); return t ? t.map((e) => e.startLineNumber) : []; } getLineNumbers(e, t) { return e && e.selectionLines ? e.selectionLines.map((e) => e + 1) : this.getSelectedLines(t); } run(e, t) {} } function Z(e) { if (!r.o8(e)) { if (!r.Kn(e)) return !1; const t = e; if (!r.o8(t.levels) && !r.hj(t.levels)) return !1; if (!r.o8(t.direction) && !r.HD(t.direction)) return !1; if ( !( r.o8(t.selectionLines) || (r.kJ(t.selectionLines) && t.selectionLines.every(r.hj)) ) ) return !1; } return !0; } class J extends G { getFoldingLevel() { return parseInt(this.id.substr(J.ID_PREFIX.length)); } invoke(e, t, i) { !(function (e, t, i, n) { let r = e.getRegionsInside( null, (e, i) => i === t && true !== e.isCollapsed && !n.some((t) => e.containsLine(t)) ); e.toggleCollapseState(r); })(t, this.getFoldingLevel(), 0, this.getSelectedLines(i)); } } (J.ID_PREFIX = 'editor.foldLevel'), (J.ID = (e) => J.ID_PREFIX + e), (0, c._K)($.ID, $), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.unfold', label: n.N('unfoldAction.label', 'Unfold'), alias: 'Unfold', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: 3161, mac: { primary: 2649 }, weight: 100, }, description: { description: 'Unfold the content in the editor', args: [ { name: 'Unfold editor argument', description: "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t", constraint: Z, schema: { type: 'object', properties: { levels: { type: 'number', default: 1 }, direction: { type: 'string', enum: ['up', 'down'], default: 'down', }, selectionLines: { type: 'array', items: { type: 'number' }, }, }, }, }, ], }, }); } invoke(e, t, i, n) { let r = (n && n.levels) || 1, s = this.getLineNumbers(n, i); n && 'up' === n.direction ? _(t, !1, r, s) : m(t, !1, r, s); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.unfoldRecursively', label: n.N( 'unFoldRecursivelyAction.label', 'Unfold Recursively' ), alias: 'Unfold Recursively', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2137), weight: 100, }, }); } invoke(e, t, i, n) { m(t, !1, Number.MAX_VALUE, this.getSelectedLines(i)); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.fold', label: n.N('foldAction.label', 'Fold'), alias: 'Fold', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: 3159, mac: { primary: 2647 }, weight: 100, }, description: { description: 'Fold the content in the editor', args: [ { name: 'Fold editor argument', description: "Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t", constraint: Z, schema: { type: 'object', properties: { levels: { type: 'number' }, direction: { type: 'string', enum: ['up', 'down'] }, selectionLines: { type: 'array', items: { type: 'number' }, }, }, }, }, ], }, }); } invoke(e, t, i, n) { let r = this.getLineNumbers(n, i); const s = n && n.levels, o = n && n.direction; 'number' != typeof s && 'string' != typeof o ? (function (e, t, i) { let n = []; for (let t of i) { let i = e.getAllRegionsAtLine( t, (e) => true !== e.isCollapsed ); i.length > 0 && n.push(i[0]); } e.toggleCollapseState(n); })(t, 0, r) : 'up' === o ? _(t, !0, s || 1, r) : m(t, !0, s || 1, r); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.foldRecursively', label: n.N('foldRecursivelyAction.label', 'Fold Recursively'), alias: 'Fold Recursively', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2135), weight: 100, }, }); } invoke(e, t, i) { let n = this.getSelectedLines(i); m(t, !0, Number.MAX_VALUE, n); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.foldAll', label: n.N('foldAllAction.label', 'Fold All'), alias: 'Fold All', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2069), weight: 100, }, }); } invoke(e, t, i) { m(t, !0); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.unfoldAll', label: n.N('unfoldAllAction.label', 'Unfold All'), alias: 'Unfold All', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2088), weight: 100, }, }); } invoke(e, t, i) { m(t, !1); } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.foldAllBlockComments', label: n.N( 'foldAllBlockComments.label', 'Fold All Block Comments' ), alias: 'Fold All Block Comments', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2133), weight: 100, }, }); } invoke(e, t, i) { if (t.regions.hasTypes()) v(t, O.AD.Comment.value, !0); else { const e = i.getModel(); if (!e) return; let n = E.zu.getComments(e.getLanguageIdentifier().id); n && n.blockCommentStartToken && b( t, new RegExp('^\\s*' + (0, s.ec)(n.blockCommentStartToken)), !0 ); } } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.foldAllMarkerRegions', label: n.N('foldAllMarkerRegions.label', 'Fold All Regions'), alias: 'Fold All Regions', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2077), weight: 100, }, }); } invoke(e, t, i) { if (t.regions.hasTypes()) v(t, O.AD.Region.value, !0); else { const e = i.getModel(); if (!e) return; let n = E.zu.getFoldingRules(e.getLanguageIdentifier().id); n && n.markers && n.markers.start && b(t, new RegExp(n.markers.start), !0); } } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.unfoldAllMarkerRegions', label: n.N( 'unfoldAllMarkerRegions.label', 'Unfold All Regions' ), alias: 'Unfold All Regions', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2078), weight: 100, }, }); } invoke(e, t, i) { if (t.regions.hasTypes()) v(t, O.AD.Region.value, !1); else { const e = i.getModel(); if (!e) return; let n = E.zu.getFoldingRules(e.getLanguageIdentifier().id); n && n.markers && n.markers.start && b(t, new RegExp(n.markers.start), !1); } } } ), (0, c.Qr)( class extends G { constructor() { super({ id: 'editor.toggleFold', label: n.N('toggleFoldAction.label', 'Toggle Fold'), alias: 'Toggle Fold', precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2090), weight: 100, }, }); } invoke(e, t, i) { !(function (e, t, i) { let n = []; for (let t of i) { let i = e.getRegionAtLine(t); if (i) { i.isCollapsed; n.push(i), 0; } } e.toggleCollapseState(n); })(t, 0, this.getSelectedLines(i)); } } ); for (let e = 1; e <= 7; e++) (0, c.QG)( new J({ id: J.ID(e), label: n.N('foldLevelAction.label', 'Fold Level {0}', e), alias: `Fold Level ${e}`, precondition: U, kbOpts: { kbExpr: x.u.editorTextFocus, primary: (0, a.gx)(2089, 2048 | (21 + e)), weight: 100, }, }) ); const Q = (0, z.P6)( 'editor.foldBackground', { light: (0, z.Zn)(z.hE, 0.3), dark: (0, z.Zn)(z.hE, 0.3), hc: null, }, n.N( 'foldBackgroundBackground', 'Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), X = (0, z.P6)( 'editorGutter.foldingControlForeground', { dark: z.XZ, light: z.XZ, hc: z.XZ }, n.N( 'editorGutter.foldingControlForeground', 'Color of the folding control in the editor gutter.' ) ); (0, V.Ic)((e, t) => { const i = e.getColor(Q); i && t.addRule( `.monaco-editor .folded-background { background-color: ${i}; }` ); const n = e.getColor(X); n && t.addRule( `\n\t\t.monaco-editor .cldr${C.cssSelector},\n\t\t.monaco-editor .cldr${S.cssSelector} {\n\t\t\tcolor: ${n} !important;\n\t\t}\n\t\t` ); }); }, 23111: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(16830), s = i(82334); class o extends r.R6 { constructor() { super({ id: 'editor.action.fontZoomIn', label: n.N('EditorFontZoomIn.label', 'Editor Font Zoom In'), alias: 'Editor Font Zoom In', precondition: void 0, }); } run(e, t) { s.C.setZoomLevel(s.C.getZoomLevel() + 1); } } class a extends r.R6 { constructor() { super({ id: 'editor.action.fontZoomOut', label: n.N('EditorFontZoomOut.label', 'Editor Font Zoom Out'), alias: 'Editor Font Zoom Out', precondition: void 0, }); } run(e, t) { s.C.setZoomLevel(s.C.getZoomLevel() - 1); } } class l extends r.R6 { constructor() { super({ id: 'editor.action.fontZoomReset', label: n.N('EditorFontZoomReset.label', 'Editor Font Zoom Reset'), alias: 'Editor Font Zoom Reset', precondition: void 0, }); } run(e, t) { s.C.setZoomLevel(0); } } (0, r.Qr)(o), (0, r.Qr)(a), (0, r.Qr)(l); }, 76798: (e, t, i) => { 'use strict'; i.r(t); var n = i(9488), r = i(71050), s = i(22258), o = i(5976), a = i(16830), l = i(11640), c = i(44906), d = i(24314), h = i(29102), u = i(43775), g = i(90469), f = i(85152), p = i(17301), m = i(70666), _ = i(39925), b = i(65520), v = i(50187), y = i(3860), w = i(51200), C = i(69386); class S { static _handleEolEdits(e, t) { let i, n = []; for (let e of t) 'number' == typeof e.eol && (i = e.eol), e.range && 'string' == typeof e.text && n.push(e); return ( 'number' == typeof i && e.hasModel() && e.getModel().pushEOL(i), n ); } static _isFullModelReplaceEdit(e, t) { if (!e.hasModel()) return !1; const i = e.getModel(), n = i.validateRange(t.range); return i.getFullModelRange().equalsRange(n); } static execute(e, t, i) { i && e.pushUndoStop(); const n = S._handleEolEdits(e, t); 1 === n.length && S._isFullModelReplaceEdit(e, n[0]) ? e.executeEdits( 'formatEditsCommand', n.map((e) => C.h.replace(d.e.lift(e.range), e.text)) ) : e.executeEdits( 'formatEditsCommand', n.map((e) => C.h.replaceMove(d.e.lift(e.range), e.text)) ), i && e.pushUndoStop(); } } var k = i(63580); class x { constructor(e) { (this.value = e), (this._lower = e.toLowerCase()); } static toKey(e) { return 'string' == typeof e ? e.toLowerCase() : e._lower; } } var L = i(72065), M = i(91741), D = i(94565), N = i(98401), E = i(53725), T = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function I(e) { if (!(e = e.filter((e) => e.range)).length) return; let { range: t } = e[0]; for (let i = 1; i < e.length; i++) t = d.e.plusRange(t, e[i].range); const { startLineNumber: i, endLineNumber: n } = t; i === n ? 1 === e.length ? (0, f.Z9)( k.N('hint11', 'Made 1 formatting edit on line {0}', i) ) : (0, f.Z9)( k.N( 'hintn1', 'Made {0} formatting edits on line {1}', e.length, i ) ) : 1 === e.length ? (0, f.Z9)( k.N( 'hint1n', 'Made 1 formatting edit between lines {0} and {1}', i, n ) ) : (0, f.Z9)( k.N( 'hintnn', 'Made {0} formatting edits between lines {1} and {2}', e.length, i, n ) ); } function O(e) { const t = [], i = new Set(), n = u.Az.ordered(e); for (const e of n) t.push(e), e.extensionId && i.add(x.toKey(e.extensionId)); const r = u.vN.ordered(e); for (const e of r) { if (e.extensionId) { if (i.has(x.toKey(e.extensionId))) continue; i.add(x.toKey(e.extensionId)); } t.push({ displayName: e.displayName, extensionId: e.extensionId, provideDocumentFormattingEdits: (t, i, n) => e.provideDocumentRangeFormattingEdits( t, t.getFullModelRange(), i, n ), }); } return t; } class A { static select(e, t, i) { return T(this, void 0, void 0, function* () { if (0 === e.length) return; const n = E.$.first(A._selectors); return n ? yield n(e, t, i) : e[0]; }); } } function R(e, t, i, n, r, s) { return T(this, void 0, void 0, function* () { const o = e.get(L.TG), a = (0, b.CL)(t) ? t.getModel() : t, l = u.vN.ordered(a), c = yield A.select(l, a, n); c && (r.report(c), yield o.invokeFunction(P, c, t, i, s)); }); } function P(e, t, i, r, s) { return T(this, void 0, void 0, function* () { const o = e.get(g.p); let a, l; (0, b.CL)(i) ? ((a = i.getModel()), (l = new _.Dl(i, 5, void 0, s))) : ((a = i), (l = new _.YQ(i, s))); let c = [], h = 0; for (let e of (0, n._2)(r).sort(d.e.compareRangesUsingStarts)) h > 0 && d.e.areIntersectingOrTouching(c[h - 1], e) ? (c[h - 1] = d.e.fromPositions( c[h - 1].getStartPosition(), e.getEndPosition() )) : (h = c.push(e)); const u = []; for (let e of c) try { const i = yield t.provideDocumentRangeFormattingEdits( a, e, a.getFormattingOptions(), l.token ), n = yield o.computeMoreMinimalEdits(a.uri, i); if ((n && u.push(...n), l.token.isCancellationRequested)) return !0; } finally { l.dispose(); } if (0 === u.length) return !1; if ((0, b.CL)(i)) S.execute(i, u, !0), I(u), i.revealPositionInCenterIfOutsideViewport(i.getPosition(), 1); else { const [{ range: e }] = u, t = new y.Y( e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn ); a.pushEditOperations( [t], u.map((e) => ({ text: e.text, range: d.e.lift(e.range), forceMoveMarkers: !0, })), (e) => { for (const { range: i } of e) if (d.e.areIntersectingOrTouching(i, t)) return [ new y.Y( i.startLineNumber, i.startColumn, i.endLineNumber, i.endColumn ), ]; return null; } ); } return !0; }); } function F(e, t, i, n, r) { return T(this, void 0, void 0, function* () { const s = e.get(L.TG), o = (0, b.CL)(t) ? t.getModel() : t, a = O(o), l = yield A.select(a, o, i); l && (n.report(l), yield s.invokeFunction(B, l, t, i, r)); }); } function B(e, t, i, n, r) { return T(this, void 0, void 0, function* () { const s = e.get(g.p); let o, a, l; (0, b.CL)(i) ? ((o = i.getModel()), (a = new _.Dl(i, 5, void 0, r))) : ((o = i), (a = new _.YQ(i, r))); try { const e = yield t.provideDocumentFormattingEdits( o, o.getFormattingOptions(), a.token ); if ( ((l = yield s.computeMoreMinimalEdits(o.uri, e)), a.token.isCancellationRequested) ) return !0; } finally { a.dispose(); } if (!l || 0 === l.length) return !1; if ((0, b.CL)(i)) S.execute(i, l, 2 !== n), 2 !== n && (I(l), i.revealPositionInCenterIfOutsideViewport( i.getPosition(), 1 )); else { const [{ range: e }] = l, t = new y.Y( e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn ); o.pushEditOperations( [t], l.map((e) => ({ text: e.text, range: d.e.lift(e.range), forceMoveMarkers: !0, })), (e) => { for (const { range: i } of e) if (d.e.areIntersectingOrTouching(i, t)) return [ new y.Y( i.startLineNumber, i.startColumn, i.endLineNumber, i.endColumn ), ]; return null; } ); } return !0; }); } function W(e, t, i, n, s) { const o = u.ln.ordered(t); return 0 === o.length || o[0].autoFormatTriggerCharacters.indexOf(n) < 0 ? Promise.resolve(void 0) : Promise.resolve( o[0].provideOnTypeFormattingEdits(t, i, n, s, r.T.None) ) .catch(p.Cp) .then((i) => e.computeMoreMinimalEdits(t.uri, i)); } (A._selectors = new M.S()), D.P.registerCommand( '_executeFormatRangeProvider', function (e, ...t) { const [i, s, o] = t; (0, N.p_)(m.o.isUri(i)), (0, N.p_)(d.e.isIRange(s)); const a = e.get(w.q).getModel(i); if (!a) throw (0, p.b1)('resource'); return (function (e, t, i, r, s) { return T(this, void 0, void 0, function* () { const o = u.vN.ordered(t); for (const a of o) { let o = yield Promise.resolve( a.provideDocumentRangeFormattingEdits(t, i, r, s) ).catch(p.Cp); if ((0, n.Of)(o)) return yield e.computeMoreMinimalEdits(t.uri, o); } }); })(e.get(g.p), a, d.e.lift(s), o, r.T.None); } ), D.P.registerCommand( '_executeFormatDocumentProvider', function (e, ...t) { const [i, s] = t; (0, N.p_)(m.o.isUri(i)); const o = e.get(w.q).getModel(i); if (!o) throw (0, p.b1)('resource'); return (function (e, t, i, r) { return T(this, void 0, void 0, function* () { const s = O(t); for (const o of s) { let s = yield Promise.resolve( o.provideDocumentFormattingEdits(t, i, r) ).catch(p.Cp); if ((0, n.Of)(s)) return yield e.computeMoreMinimalEdits(t.uri, s); } }); })(e.get(g.p), o, s, r.T.None); } ), D.P.registerCommand( '_executeFormatOnTypeProvider', function (e, ...t) { const [i, n, r, s] = t; (0, N.p_)(m.o.isUri(i)), (0, N.p_)(v.L.isIPosition(n)), (0, N.p_)('string' == typeof r); const o = e.get(w.q).getModel(i); if (!o) throw (0, p.b1)('resource'); return W(e.get(g.p), o, v.L.lift(n), r, s); } ); var Y = i(38819), H = i(90535), j = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, V = function (e, t) { return function (i, n) { t(i, n, e); }; }, z = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; let U = class { constructor(e, t) { (this._workerService = t), (this._callOnDispose = new o.SL()), (this._callOnModel = new o.SL()), (this._editor = e), this._callOnDispose.add( e.onDidChangeConfiguration(() => this._update()) ), this._callOnDispose.add(e.onDidChangeModel(() => this._update())), this._callOnDispose.add( e.onDidChangeModelLanguage(() => this._update()) ), this._callOnDispose.add(u.ln.onDidChange(this._update, this)); } dispose() { this._callOnDispose.dispose(), this._callOnModel.dispose(); } _update() { if ((this._callOnModel.clear(), !this._editor.getOption(41))) return; if (!this._editor.hasModel()) return; const e = this._editor.getModel(), [t] = u.ln.ordered(e); if (!t || !t.autoFormatTriggerCharacters) return; let i = new c.q(); for (let e of t.autoFormatTriggerCharacters) i.add(e.charCodeAt(0)); this._callOnModel.add( this._editor.onDidType((e) => { let t = e.charCodeAt(e.length - 1); i.has(t) && this._trigger(String.fromCharCode(t)); }) ); } _trigger(e) { if (!this._editor.hasModel()) return; if (this._editor.getSelections().length > 1) return; const t = this._editor.getModel(), i = this._editor.getPosition(); let r = !1; const s = this._editor.onDidChangeModelContent((e) => { if (e.isFlush) return (r = !0), void s.dispose(); for (let t = 0, n = e.changes.length; t < n; t++) if (e.changes[t].range.endLineNumber <= i.lineNumber) return (r = !0), void s.dispose(); }); W(this._workerService, t, i, e, t.getFormattingOptions()).then( (e) => { s.dispose(), r || ((0, n.Of)(e) && (S.execute(this._editor, e, !0), I(e))); }, (e) => { throw (s.dispose(), e); } ); } }; (U.ID = 'editor.contrib.autoFormat'), (U = j([V(1, g.p)], U)); let $ = class { constructor(e, t) { (this.editor = e), (this._instantiationService = t), (this._callOnDispose = new o.SL()), (this._callOnModel = new o.SL()), this._callOnDispose.add( e.onDidChangeConfiguration(() => this._update()) ), this._callOnDispose.add(e.onDidChangeModel(() => this._update())), this._callOnDispose.add( e.onDidChangeModelLanguage(() => this._update()) ), this._callOnDispose.add(u.vN.onDidChange(this._update, this)); } dispose() { this._callOnDispose.dispose(), this._callOnModel.dispose(); } _update() { this._callOnModel.clear(), this.editor.getOption(40) && this.editor.hasModel() && u.vN.has(this.editor.getModel()) && this._callOnModel.add( this.editor.onDidPaste(({ range: e }) => this._trigger(e)) ); } _trigger(e) { this.editor.hasModel() && (this.editor.getSelections().length > 1 || this._instantiationService .invokeFunction(R, this.editor, e, 2, H.E.None, r.T.None) .catch(p.dL)); } }; ($.ID = 'editor.contrib.formatOnPaste'), ($ = j([V(1, L.TG)], $)); class K extends a.R6 { constructor() { super({ id: 'editor.action.formatDocument', label: k.N('formatDocument.label', 'Format Document'), alias: 'Format Document', precondition: Y.Ao.and( h.u.notInCompositeEditor, h.u.writable, h.u.hasDocumentFormattingProvider ), kbOpts: { kbExpr: Y.Ao.and( h.u.editorTextFocus, h.u.hasDocumentFormattingProvider ), primary: 1572, linux: { primary: 3111 }, weight: 100, }, contextMenuOpts: { when: h.u.hasDocumentFormattingProvider, group: '1_modification', order: 1.3, }, }); } run(e, t) { return z(this, void 0, void 0, function* () { if (t.hasModel()) { const i = e.get(L.TG), n = e.get(H.e); yield n.showWhile( i.invokeFunction(F, t, 1, H.E.None, r.T.None), 250 ); } }); } } class q extends a.R6 { constructor() { super({ id: 'editor.action.formatSelection', label: k.N('formatSelection.label', 'Format Selection'), alias: 'Format Selection', precondition: Y.Ao.and( h.u.writable, h.u.hasDocumentSelectionFormattingProvider ), kbOpts: { kbExpr: Y.Ao.and( h.u.editorTextFocus, h.u.hasDocumentSelectionFormattingProvider ), primary: (0, s.gx)(2089, 2084), weight: 100, }, contextMenuOpts: { when: Y.Ao.and( h.u.hasDocumentSelectionFormattingProvider, h.u.hasNonEmptySelection ), group: '1_modification', order: 1.31, }, }); } run(e, t) { return z(this, void 0, void 0, function* () { if (!t.hasModel()) return; const i = e.get(L.TG), n = t.getModel(), s = t .getSelections() .map((e) => e.isEmpty() ? new d.e( e.startLineNumber, 1, e.startLineNumber, n.getLineMaxColumn(e.startLineNumber) ) : e ), o = e.get(H.e); yield o.showWhile( i.invokeFunction(R, t, s, 1, H.E.None, r.T.None), 250 ); }); } } (0, a._K)(U.ID, U), (0, a._K)($.ID, $), (0, a.Qr)(K), (0, a.Qr)(q), D.P.registerCommand('editor.action.format', (e) => z(void 0, void 0, void 0, function* () { const t = e.get(l.$).getFocusedCodeEditor(); if (!t || !t.hasModel()) return; const i = e.get(D.H); t.getSelection().isEmpty() ? yield i.executeCommand('editor.action.formatDocument') : yield i.executeCommand('editor.action.formatSelection'); }) ); }, 42698: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { MarkerController: () => J, NextMarkerAction: () => X }); var n, r = i(63580), s = i(5976), o = i(38819), a = i(50187), l = i(24314), c = i(16830), d = i(29102), h = i(65321), u = i(98674), g = i(73910), f = i(97781), p = i(41264), m = i(9802), _ = i(68843), b = i(9488), v = i(4669), y = i(22043), w = i(95935), C = i(14603), S = i(73046); !(function (e) { e.className = function (e) { switch (e) { case C.Z.Ignore: return 'severity-ignore ' + S.lA.info.classNames; case C.Z.Info: return S.lA.info.classNames; case C.Z.Warning: return S.lA.warning.classNames; case C.Z.Error: return S.lA.error.classNames; default: return ''; } }; })(n || (n = {})), (0, f.Ic)((e, t) => { const i = e.getColor(g.Jp); if (i) { const e = S.lA.error.cssSelector; t.addRule( `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e} {\n\t\t\t\tcolor: ${i};\n\t\t\t}\n\t\t` ); } const n = e.getColor(g.BO); if (n) { const e = S.lA.warning.cssSelector; t.addRule( `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e},\n\t\t\t.extension-editor ${e} {\n\t\t\t\tcolor: ${n};\n\t\t\t}\n\t\t` ); } const r = e.getColor(g.OL); if (r) { const e = S.lA.info.cssSelector; t.addRule( `\n\t\t\t.monaco-editor .zone-widget ${e},\n\t\t\t.markers-panel .marker-icon${e},\n\t\t\t.extensions-viewlet > .extensions ${e},\n\t\t\t.extension-editor ${e} {\n\t\t\t\tcolor: ${r};\n\t\t\t}\n\t\t` ); } }); var k = i(50988), x = i(84144), L = i(58335), M = i(72065), D = function (e, t) { return function (i, n) { t(i, n, e); }; }; class N { constructor(e, t, i, n) { (this._openerService = n), (this._lines = 0), (this._longestLineLength = 0), (this._relatedDiagnostics = new WeakMap()), (this._disposables = new s.SL()), (this._editor = t); const r = document.createElement('div'); (r.className = 'descriptioncontainer'), (this._messageBlock = document.createElement('div')), h.cn(this._messageBlock, 'message'), this._messageBlock.setAttribute('aria-live', 'assertive'), this._messageBlock.setAttribute('role', 'alert'), r.appendChild(this._messageBlock), (this._relatedBlock = document.createElement('div')), r.appendChild(this._relatedBlock), this._disposables.add( h.mu(this._relatedBlock, 'click', (e) => { e.preventDefault(); const t = this._relatedDiagnostics.get(e.target); t && i(t); }) ), (this._scrollable = new m.NB(r, { horizontal: 1, vertical: 1, useShadows: !1, horizontalScrollbarSize: 3, verticalScrollbarSize: 3, })), e.appendChild(this._scrollable.getDomNode()), this._disposables.add( this._scrollable.onScroll((e) => { (r.style.left = `-${e.scrollLeft}px`), (r.style.top = `-${e.scrollTop}px`); }) ), this._disposables.add(this._scrollable); } dispose() { (0, s.B9)(this._disposables); } update(e) { const { source: t, message: i, relatedInformation: n, code: r } = e; let s = ((null == t ? void 0 : t.length) || 0) + '()'.length; r && (s += 'string' == typeof r ? r.length : r.value.length); const o = i.split(/\r\n|\r|\n/g); (this._lines = o.length), (this._longestLineLength = 0); for (const e of o) this._longestLineLength = Math.max( e.length + s, this._longestLineLength ); h.PO(this._messageBlock), this._messageBlock.setAttribute( 'aria-label', this.getAriaLabel(e) ), this._editor.applyFontInfo(this._messageBlock); let a = this._messageBlock; for (const e of o) (a = document.createElement('div')), (a.innerText = e), '' === e && (a.style.height = this._messageBlock.style.lineHeight), this._messageBlock.appendChild(a); if (t || r) { const e = document.createElement('span'); if ((h.cn(e, 'details'), a.appendChild(e), t)) { const i = document.createElement('span'); (i.innerText = t), h.cn(i, 'source'), e.appendChild(i); } if (r) if ('string' == typeof r) { const t = document.createElement('span'); (t.innerText = `(${r})`), h.cn(t, 'code'), e.appendChild(t); } else (this._codeLink = h.$('a.code-link')), this._codeLink.setAttribute( 'href', `${r.target.toString()}` ), (this._codeLink.onclick = (e) => { this._openerService.open(r.target), e.preventDefault(), e.stopPropagation(); }), (h.R3(this._codeLink, h.$('span')).innerText = r.value), e.appendChild(this._codeLink); } if ( (h.PO(this._relatedBlock), this._editor.applyFontInfo(this._relatedBlock), (0, b.Of)(n)) ) { const e = this._relatedBlock.appendChild( document.createElement('div') ); (e.style.paddingTop = `${Math.floor( 0.66 * this._editor.getOption(51) )}px`), (this._lines += 1); for (const t of n) { let i = document.createElement('div'), n = document.createElement('a'); h.cn(n, 'filename'), (n.innerText = `${(0, _.pP)(t.resource)}(${ t.startLineNumber }, ${t.startColumn}): `), (n.title = (0, _.kz)(t.resource, void 0)), this._relatedDiagnostics.set(n, t); let r = document.createElement('span'); (r.innerText = t.message), i.appendChild(n), i.appendChild(r), (this._lines += 1), e.appendChild(i); } } const l = this._editor.getOption(36), c = Math.ceil( l.typicalFullwidthCharacterWidth * this._longestLineLength * 0.75 ), d = l.lineHeight * this._lines; this._scrollable.setScrollDimensions({ scrollWidth: c, scrollHeight: d, }); } layout(e, t) { (this._scrollable.getDomNode().style.height = `${e}px`), (this._scrollable.getDomNode().style.width = `${t}px`), this._scrollable.setScrollDimensions({ width: t, height: e }); } getHeightInLines() { return Math.min(17, this._lines); } getAriaLabel(e) { let t = ''; switch (e.severity) { case u.ZL.Error: t = r.N('Error', 'Error'); break; case u.ZL.Warning: t = r.N('Warning', 'Warning'); break; case u.ZL.Info: t = r.N('Info', 'Info'); break; case u.ZL.Hint: t = r.N('Hint', 'Hint'); } let i = r.N( 'marker aria', '{0} at {1}. ', t, e.startLineNumber + ':' + e.startColumn ); const n = this._editor.getModel(); return ( n && e.startLineNumber <= n.getLineCount() && e.startLineNumber >= 1 && (i = `${n.getLineContent(e.startLineNumber)}, ${i}`), i ); } } let E = class e extends y.vk { constructor(e, t, i, n, r, o) { super(e, { showArrow: !0, showFrame: !0, isAccessible: !0 }, r), (this._themeService = t), (this._openerService = i), (this._menuService = n), (this._contextKeyService = o), (this._callOnDispose = new s.SL()), (this._onDidSelectRelatedInformation = new v.Q5()), (this.onDidSelectRelatedInformation = this._onDidSelectRelatedInformation.event), (this._severity = u.ZL.Warning), (this._backgroundColor = p.Il.white), this._applyTheme(t.getColorTheme()), this._callOnDispose.add( t.onDidColorThemeChange(this._applyTheme.bind(this)) ), this.create(); } _applyTheme(e) { this._backgroundColor = e.getColor(F); let t = A; this._severity === u.ZL.Warning ? (t = R) : this._severity === u.ZL.Info && (t = P); const i = e.getColor(t); this.style({ arrowColor: i, frameColor: i, headerBackgroundColor: this._backgroundColor, primaryHeadingColor: e.getColor(y.IH), secondaryHeadingColor: e.getColor(y.R7), }); } _applyStyles() { this._parentContainer && (this._parentContainer.style.backgroundColor = this ._backgroundColor ? this._backgroundColor.toString() : ''), super._applyStyles(); } dispose() { this._callOnDispose.dispose(), super.dispose(); } _fillHead(t) { super._fillHead(t), this._disposables.add( this._actionbarWidget.actionRunner.onDidBeforeRun((e) => this.editor.focus() ) ); const i = [], n = this._menuService.createMenu( e.TitleMenu, this._contextKeyService ); (0, L.vr)(n, void 0, i), this._actionbarWidget.push(i, { label: !1, icon: !0, index: 0 }), n.dispose(); } _fillTitleIcon(e) { this._icon = h.R3(e, h.$('')); } _getActionBarOptions() { return Object.assign( Object.assign({}, super._getActionBarOptions()), { orientation: 0 } ); } _fillBody(e) { (this._parentContainer = e), h.cn(e, 'marker-widget'), (this._parentContainer.tabIndex = 0), this._parentContainer.setAttribute('role', 'tooltip'), (this._container = document.createElement('div')), e.appendChild(this._container), (this._message = new N( this._container, this.editor, (e) => this._onDidSelectRelatedInformation.fire(e), this._openerService )), this._disposables.add(this._message); } show() { throw new Error('call showAtMarker'); } showAtMarker(e, t, i) { this._container.classList.remove('stale'), this._message.update(e), (this._severity = e.severity), this._applyTheme(this._themeService.getColorTheme()); let s = l.e.lift(e); const o = this.editor.getPosition(); let a = o && s.containsPosition(o) ? o : s.getStartPosition(); super.show(a, this.computeRequiredHeight()); const c = this.editor.getModel(); if (c) { const e = i > 1 ? r.N('problems', '{0} of {1} problems', t, i) : r.N('change', '{0} of {1} problem', t, i); this.setTitle((0, w.EZ)(c.uri), e); } (this._icon.className = `codicon ${n.className( u.ZL.toSeverity(this._severity) )}`), this.editor.revealPositionNearTop(a, 0), this.editor.focus(); } updateMarker(e) { this._container.classList.remove('stale'), this._message.update(e); } showStale() { this._container.classList.add('stale'), this._relayout(); } _doLayoutBody(e, t) { super._doLayoutBody(e, t), (this._heightInPixel = e), this._message.layout(e, t), (this._container.style.height = `${e}px`); } _onWidth(e) { this._message.layout(this._heightInPixel, e); } _relayout() { super._relayout(this.computeRequiredHeight()); } computeRequiredHeight() { return 3 + this._message.getHeightInLines(); } }; (E.TitleMenu = new x.eH('gotoErrorTitleMenu')), (E = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([D(1, f.XE), D(2, k.v4), D(3, x.co), D(4, M.TG), D(5, o.i6)], E)); let T = (0, g.kw)(g.lX, g.b6), I = (0, g.kw)(g.uo, g.pW), O = (0, g.kw)(g.c6, g.T8); const A = (0, g.P6)( 'editorMarkerNavigationError.background', { dark: T, light: T, hc: T }, r.N( 'editorMarkerNavigationError', 'Editor marker navigation widget error color.' ) ), R = (0, g.P6)( 'editorMarkerNavigationWarning.background', { dark: I, light: I, hc: I }, r.N( 'editorMarkerNavigationWarning', 'Editor marker navigation widget warning color.' ) ), P = (0, g.P6)( 'editorMarkerNavigationInfo.background', { dark: O, light: O, hc: O }, r.N( 'editorMarkerNavigationInfo', 'Editor marker navigation widget info color.' ) ), F = (0, g.P6)( 'editorMarkerNavigation.background', { dark: '#2D2D30', light: p.Il.white, hc: '#0C141F' }, r.N( 'editorMarkerNavigationBackground', 'Editor marker navigation widget background.' ) ); (0, f.Ic)((e, t) => { const i = e.getColor(g.ur); i && (t.addRule(`.monaco-editor .marker-widget a { color: ${i}; }`), t.addRule( `.monaco-editor .marker-widget a.code-link span:hover { color: ${i}; }` )); }); var B = i(11640), W = i(70666), Y = i(97295), H = i(65026), j = i(91741), V = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, z = function (e, t) { return function (i, n) { t(i, n, e); }; }; class U { constructor(e, t, i) { (this.marker = e), (this.index = t), (this.total = i); } } let $ = class e { constructor(t, i) { (this._markerService = i), (this._onDidChange = new v.Q5()), (this.onDidChange = this._onDidChange.event), (this._dispoables = new s.SL()), (this._markers = []), (this._nextIdx = -1), W.o.isUri(t) ? (this._resourceFilter = (e) => e.toString() === t.toString()) : t && (this._resourceFilter = t); const n = () => { (this._markers = this._markerService.read({ resource: W.o.isUri(t) ? t : void 0, severities: u.ZL.Error | u.ZL.Warning | u.ZL.Info, })), 'function' == typeof t && (this._markers = this._markers.filter((e) => this._resourceFilter(e.resource) )), this._markers.sort(e._compareMarker); }; n(), this._dispoables.add( i.onMarkerChanged((e) => { (this._resourceFilter && !e.some((e) => this._resourceFilter(e))) || (n(), (this._nextIdx = -1), this._onDidChange.fire()); }) ); } dispose() { this._dispoables.dispose(), this._onDidChange.dispose(); } matches(e) { return ( (!this._resourceFilter && !e) || (!(!this._resourceFilter || !e) && this._resourceFilter(e)) ); } get selected() { const e = this._markers[this._nextIdx]; return e && new U(e, this._nextIdx + 1, this._markers.length); } _initIdx(e, t, i) { let n = !1, r = this._markers.findIndex( (t) => t.resource.toString() === e.uri.toString() ); r < 0 && ((r = (0, b.ry)(this._markers, { resource: e.uri }, (e, t) => (0, Y.qu)(e.resource.toString(), t.resource.toString()) )), r < 0 && (r = ~r)); for (let i = r; i < this._markers.length; i++) { let r = l.e.lift(this._markers[i]); if (r.isEmpty()) { const t = e.getWordAtPosition(r.getStartPosition()); t && (r = new l.e( r.startLineNumber, t.startColumn, r.startLineNumber, t.endColumn )); } if ( t && (r.containsPosition(t) || t.isBeforeOrEqual(r.getStartPosition())) ) { (this._nextIdx = i), (n = !0); break; } if (this._markers[i].resource.toString() !== e.uri.toString()) break; } n || (this._nextIdx = i ? 0 : this._markers.length - 1), this._nextIdx < 0 && (this._nextIdx = this._markers.length - 1); } resetIndex() { this._nextIdx = -1; } move(e, t, i) { if (0 === this._markers.length) return !1; let n = this._nextIdx; return ( -1 === this._nextIdx ? this._initIdx(t, i, e) : e ? (this._nextIdx = (this._nextIdx + 1) % this._markers.length) : e || (this._nextIdx = (this._nextIdx - 1 + this._markers.length) % this._markers.length), n !== this._nextIdx ); } find(e, t) { let i = this._markers.findIndex( (t) => t.resource.toString() === e.toString() ); if (!(i < 0)) for (; i < this._markers.length; i++) if (l.e.containsPosition(this._markers[i], t)) return new U(this._markers[i], i + 1, this._markers.length); } static _compareMarker(e, t) { let i = (0, Y.qu)(e.resource.toString(), t.resource.toString()); return ( 0 === i && (i = u.ZL.compare(e.severity, t.severity)), 0 === i && (i = l.e.compareRangesUsingStarts(e, t)), i ); } }; $ = V([z(1, u.lT)], $); const K = (0, M.yh)('IMarkerNavigationService'); let q = class { constructor(e) { (this._markerService = e), (this._provider = new j.S()); } getMarkerList(e) { for (let t of this._provider) { const i = t.getMarkerList(e); if (i) return i; } return new $(e, this._markerService); } }; (q = V([z(0, u.lT)], q)), (0, H.z)(K, q, !0); var G = function (e, t) { return function (i, n) { t(i, n, e); }; }, Z = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; let J = class e { constructor(e, t, i, n, r) { (this._markerNavigationService = t), (this._contextKeyService = i), (this._editorService = n), (this._instantiationService = r), (this._sessionDispoables = new s.SL()), (this._editor = e), (this._widgetVisible = te.bindTo(this._contextKeyService)); } static get(t) { return t.getContribution(e.ID); } dispose() { this._cleanUp(), this._sessionDispoables.dispose(); } _cleanUp() { this._widgetVisible.reset(), this._sessionDispoables.clear(), (this._widget = void 0), (this._model = void 0); } _getOrCreateModel(e) { if (this._model && this._model.matches(e)) return this._model; let t = !1; return ( this._model && ((t = !0), this._cleanUp()), (this._model = this._markerNavigationService.getMarkerList(e)), t && this._model.move( !0, this._editor.getModel(), this._editor.getPosition() ), (this._widget = this._instantiationService.createInstance( E, this._editor )), this._widget.onDidClose( () => this.close(), this, this._sessionDispoables ), this._widgetVisible.set(!0), this._sessionDispoables.add(this._model), this._sessionDispoables.add(this._widget), this._sessionDispoables.add( this._editor.onDidChangeCursorPosition((e) => { var t, i, n; ((null === (t = this._model) || void 0 === t ? void 0 : t.selected) && l.e.containsPosition( null === (i = this._model) || void 0 === i ? void 0 : i.selected.marker, e.position )) || null === (n = this._model) || void 0 === n || n.resetIndex(); }) ), this._sessionDispoables.add( this._model.onDidChange(() => { if (!this._widget || !this._widget.position || !this._model) return; const e = this._model.find( this._editor.getModel().uri, this._widget.position ); e ? this._widget.updateMarker(e.marker) : this._widget.showStale(); }) ), this._sessionDispoables.add( this._widget.onDidSelectRelatedInformation((e) => { this._editorService.openCodeEditor( { resource: e.resource, options: { pinned: !0, revealIfOpened: !0, selection: l.e.lift(e).collapseToStart(), }, }, this._editor ), this.close(!1); }) ), this._sessionDispoables.add( this._editor.onDidChangeModel(() => this._cleanUp()) ), this._model ); } close(e = !0) { this._cleanUp(), e && this._editor.focus(); } showAtMarker(e) { if (this._editor.hasModel()) { const t = this._getOrCreateModel(this._editor.getModel().uri); t.resetIndex(), t.move( !0, this._editor.getModel(), new a.L(e.startLineNumber, e.startColumn) ), t.selected && this._widget.showAtMarker( t.selected.marker, t.selected.index, t.selected.total ); } } nagivate(t, i) { return Z(this, void 0, void 0, function* () { if (this._editor.hasModel()) { const n = this._getOrCreateModel( i ? void 0 : this._editor.getModel().uri ); if ( (n.move( t, this._editor.getModel(), this._editor.getPosition() ), !n.selected) ) return; if ( n.selected.marker.resource.toString() !== this._editor.getModel().uri.toString() ) { this._cleanUp(); const r = yield this._editorService.openCodeEditor( { resource: n.selected.marker.resource, options: { pinned: !1, revealIfOpened: !0, selectionRevealType: 2, selection: n.selected.marker, }, }, this._editor ); r && (e.get(r).close(), e.get(r).nagivate(t, i)); } else this._widget.showAtMarker( n.selected.marker, n.selected.index, n.selected.total ); } }); } }; (J.ID = 'editor.contrib.markerController'), (J = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([G(1, K), G(2, o.i6), G(3, B.$), G(4, M.TG)], J)); class Q extends c.R6 { constructor(e, t, i) { super(i), (this._next = e), (this._multiFile = t); } run(e, t) { return Z(this, void 0, void 0, function* () { t.hasModel() && J.get(t).nagivate(this._next, this._multiFile); }); } } class X extends Q { constructor() { super(!0, !1, { id: X.ID, label: X.LABEL, alias: 'Go to Next Problem (Error, Warning, Info)', precondition: void 0, kbOpts: { kbExpr: d.u.focus, primary: 578, weight: 100 }, menuOpts: { menuId: E.TitleMenu, title: X.LABEL, icon: (0, S.q5)('marker-navigation-next', S.lA.chevronDown), group: 'navigation', order: 1, }, }); } } (X.ID = 'editor.action.marker.next'), (X.LABEL = r.N( 'markerAction.next.label', 'Go to Next Problem (Error, Warning, Info)' )); class ee extends Q { constructor() { super(!1, !1, { id: ee.ID, label: ee.LABEL, alias: 'Go to Previous Problem (Error, Warning, Info)', precondition: void 0, kbOpts: { kbExpr: d.u.focus, primary: 1602, weight: 100 }, menuOpts: { menuId: E.TitleMenu, title: X.LABEL, icon: (0, S.q5)('marker-navigation-previous', S.lA.chevronUp), group: 'navigation', order: 2, }, }); } } (ee.ID = 'editor.action.marker.prev'), (ee.LABEL = r.N( 'markerAction.previous.label', 'Go to Previous Problem (Error, Warning, Info)' )), (0, c._K)(J.ID, J), (0, c.Qr)(X), (0, c.Qr)(ee), (0, c.Qr)( class extends Q { constructor() { super(!0, !0, { id: 'editor.action.marker.nextInFiles', label: r.N( 'markerAction.nextInFiles.label', 'Go to Next Problem in Files (Error, Warning, Info)' ), alias: 'Go to Next Problem in Files (Error, Warning, Info)', precondition: void 0, kbOpts: { kbExpr: d.u.focus, primary: 66, weight: 100 }, menuOpts: { menuId: x.eH.MenubarGoMenu, title: r.N( { key: 'miGotoNextProblem', comment: ['&& denotes a mnemonic'], }, 'Next &&Problem' ), group: '6_problem_nav', order: 1, }, }); } } ), (0, c.Qr)( class extends Q { constructor() { super(!1, !0, { id: 'editor.action.marker.prevInFiles', label: r.N( 'markerAction.previousInFiles.label', 'Go to Previous Problem in Files (Error, Warning, Info)' ), alias: 'Go to Previous Problem in Files (Error, Warning, Info)', precondition: void 0, kbOpts: { kbExpr: d.u.focus, primary: 1090, weight: 100 }, menuOpts: { menuId: x.eH.MenubarGoMenu, title: r.N( { key: 'miGotoPreviousProblem', comment: ['&& denotes a mnemonic'], }, 'Previous &&Problem' ), group: '6_problem_nav', order: 2, }, }); } } ); const te = new o.uy('markersNavigationVisible', !1), ie = c._l.bindToContribution(J.get); (0, c.fK)( new ie({ id: 'closeMarkersNavigation', precondition: te, handler: (e) => e.close(), kbOpts: { weight: 150, kbExpr: d.u.focus, primary: 9, secondary: [1033], }, }) ); }, 92729: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { DefinitionAction: () => X }); var n = i(85152), r = i(15393), s = i(22258), o = i(1432), a = i(65520), l = i(16830), c = i(11640), d = i(50187), h = i(24314), u = i(29102), g = i(43775), f = i(82276), p = i(22043), m = i(19192), _ = i(71455), b = i(63580), v = i(84144), y = i(38819), w = i(59422), C = i(90535), S = i(91691), k = i(94565), x = i(39925), L = i(72065), M = i(65026), D = i(49989), N = i(5976), E = i(4669), T = i(91847), I = i(95935), O = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, A = function (e, t) { return function (i, n) { t(i, n, e); }; }; const R = new y.uy('hasSymbols', !1), P = (0, L.yh)('ISymbolNavigationService'); let F = class { constructor(e, t, i, n) { (this._editorService = t), (this._notificationService = i), (this._keybindingService = n), (this._currentModel = void 0), (this._currentIdx = -1), (this._ignoreEditorChange = !1), (this._ctxHasSymbols = R.bindTo(e)); } reset() { this._ctxHasSymbols.reset(), (0, N.B9)(this._currentState), (0, N.B9)(this._currentMessage), (this._currentModel = void 0), (this._currentIdx = -1); } put(e) { const t = e.parent.parent; if (t.references.length <= 1) return void this.reset(); (this._currentModel = t), (this._currentIdx = t.references.indexOf(e)), this._ctxHasSymbols.set(!0), this._showMessage(); const i = new B(this._editorService), n = i.onDidChange((e) => { if (this._ignoreEditorChange) return; const i = this._editorService.getActiveCodeEditor(); if (!i) return; const n = i.getModel(), r = i.getPosition(); if (!n || !r) return; let s = !1, o = !1; for (const e of t.references) if ((0, I.Xy)(e.uri, n.uri)) (s = !0), (o = o || h.e.containsPosition(e.range, r)); else if (s) break; (s && o) || this.reset(); }); this._currentState = (0, N.F8)(i, n); } revealNext(e) { if (!this._currentModel) return Promise.resolve(); (this._currentIdx += 1), (this._currentIdx %= this._currentModel.references.length); const t = this._currentModel.references[this._currentIdx]; return ( this._showMessage(), (this._ignoreEditorChange = !0), this._editorService .openCodeEditor( { resource: t.uri, options: { selection: h.e.collapseToStart(t.range), selectionRevealType: 3, }, }, e ) .finally(() => { this._ignoreEditorChange = !1; }) ); } _showMessage() { (0, N.B9)(this._currentMessage); const e = this._keybindingService.lookupKeybinding( 'editor.gotoNextSymbolFromResult' ), t = e ? (0, b.N)( 'location.kb', 'Symbol {0} of {1}, {2} for next', this._currentIdx + 1, this._currentModel.references.length, e.getLabel() ) : (0, b.N)( 'location', 'Symbol {0} of {1}', this._currentIdx + 1, this._currentModel.references.length ); this._currentMessage = this._notificationService.status(t); } }; (F = O([A(0, y.i6), A(1, c.$), A(2, w.lT), A(3, T.d)], F)), (0, M.z)(P, F, !0), (0, l.fK)( new (class extends l._l { constructor() { super({ id: 'editor.gotoNextSymbolFromResult', precondition: R, kbOpts: { weight: 100, primary: 70 }, }); } runEditorCommand(e, t) { return e.get(P).revealNext(t); } })() ), D.W.registerCommandAndKeybindingRule({ id: 'editor.gotoNextSymbolFromResult.cancel', weight: 100, when: R, primary: 9, handler(e) { e.get(P).reset(); }, }); let B = class { constructor(e) { (this._listener = new Map()), (this._disposables = new N.SL()), (this._onDidChange = new E.Q5()), (this.onDidChange = this._onDidChange.event), this._disposables.add( e.onCodeEditorRemove(this._onDidRemoveEditor, this) ), this._disposables.add( e.onCodeEditorAdd(this._onDidAddEditor, this) ), e.listCodeEditors().forEach(this._onDidAddEditor, this); } dispose() { this._disposables.dispose(), this._onDidChange.dispose(), (0, N.B9)(this._listener.values()); } _onDidAddEditor(e) { this._listener.set( e, (0, N.F8)( e.onDidChangeCursorPosition((t) => this._onDidChange.fire({ editor: e }) ), e.onDidChangeModelContent((t) => this._onDidChange.fire({ editor: e }) ) ) ); } _onDidRemoveEditor(e) { (0, N.B9)(this._listener.get(e)), this._listener.delete(e); } }; B = O([A(0, c.$)], B); var W, Y, H, j, V, z, U, $, K = i(16268), q = i(70666), G = i(98401), Z = i(84527), J = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; v.BH.appendMenuItem(v.eH.EditorContext, { submenu: v.eH.EditorContextPeek, title: b.N('peek.submenu', 'Peek'), group: 'navigation', order: 100, }); class Q extends l.R6 { constructor(e, t) { super(t), (this._configuration = e); } run(e, t) { if (!t.hasModel()) return Promise.resolve(void 0); const i = e.get(w.lT), s = e.get(c.$), o = e.get(C.e), a = e.get(P), l = t.getModel(), d = t.getPosition(), h = new x.Dl(t, 5), u = (0, r.eP)(this._getLocationModel(l, d, h.token), h.token) .then( (e) => J(this, void 0, void 0, function* () { if (!e || h.token.isCancellationRequested) return; let i; if (((0, n.Z9)(e.ariaMessage), e.referenceAt(l.uri, d))) { const e = this._getAlternativeCommand(t); e !== this.id && (i = t.getAction(e)); } const r = e.references.length; if (0 === r) { if (!this._configuration.muteMessage) { const e = l.getWordAtPosition(d); f.O.get(t).showMessage( this._getNoResultFoundMessage(e), d ); } } else { if (1 !== r || !i) return this._onResult(s, a, t, e); i.run(); } }), (e) => { i.error(e); } ) .finally(() => { h.dispose(); }); return o.showWhile(u, 250), u; } _onResult(e, t, i, n) { return J(this, void 0, void 0, function* () { const r = this._getGoToPreference(i); if ( i instanceof Z.H || !( this._configuration.openInPeek || ('peek' === r && n.references.length > 1) ) ) { const s = n.firstReference(), o = n.references.length > 1 && 'gotoAndPeek' === r, a = yield this._openReference( i, e, s, this._configuration.openToSide, !o ); o && a ? this._openInPeek(a, n) : n.dispose(), 'goto' === r && t.put(s); } else this._openInPeek(i, n); }); } _openReference(e, t, i, n, r) { return J(this, void 0, void 0, function* () { let s; (0, g.vx)(i) && (s = i.targetSelectionRange), s || (s = i.range); const o = yield t.openCodeEditor( { resource: i.uri, options: { selection: h.e.collapseToStart(s), selectionRevealType: 3, }, }, e, n ); if (o) { if (r) { const e = o.getModel(), t = o.deltaDecorations( [], [{ range: s, options: { className: 'symbolHighlight' } }] ); setTimeout(() => { o.getModel() === e && o.deltaDecorations(t, []); }, 350); } return o; } }); } _openInPeek(e, t) { let i = m.J.get(e); i && e.hasModel() ? i.toggleWidget( e.getSelection(), (0, r.PG)((e) => Promise.resolve(t)), this._configuration.openInPeek ) : t.dispose(); } } class X extends Q { _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.nD)(e, t, i), b.N('def.title', 'Definitions') ); }); } _getNoResultFoundMessage(e) { return e && e.word ? b.N('noResultWord', "No definition found for '{0}'", e.word) : b.N('generic.noResults', 'No definition found'); } _getAlternativeCommand(e) { return e.getOption(43).alternativeDefinitionCommand; } _getGoToPreference(e) { return e.getOption(43).multipleDefinitions; } } const ee = o.$L && !K.$W ? 2118 : 70; (0, l.Qr)( (((W = class e extends X { constructor() { super( { openToSide: !1, openInPeek: !1, muteMessage: !1 }, { id: e.id, label: b.N('actions.goToDecl.label', 'Go to Definition'), alias: 'Go to Definition', precondition: y.Ao.and( u.u.hasDefinitionProvider, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: ee, weight: 100, }, contextMenuOpts: { group: 'navigation', order: 1.1 }, menuOpts: { menuId: v.eH.MenubarGoMenu, group: '4_symbol_nav', order: 2, title: b.N( { key: 'miGotoDefinition', comment: ['&& denotes a mnemonic'], }, 'Go to &&Definition' ), }, } ), k.P.registerCommandAlias('editor.action.goToDeclaration', e.id); } }).id = 'editor.action.revealDefinition'), W) ), (0, l.Qr)( (((Y = class e extends X { constructor() { super( { openToSide: !0, openInPeek: !1, muteMessage: !1 }, { id: e.id, label: b.N( 'actions.goToDeclToSide.label', 'Open Definition to the Side' ), alias: 'Open Definition to the Side', precondition: y.Ao.and( u.u.hasDefinitionProvider, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: (0, s.gx)(2089, ee), weight: 100, }, } ), k.P.registerCommandAlias( 'editor.action.openDeclarationToTheSide', e.id ); } }).id = 'editor.action.revealDefinitionAside'), Y) ), (0, l.Qr)( (((H = class e extends X { constructor() { super( { openToSide: !1, openInPeek: !0, muteMessage: !1 }, { id: e.id, label: b.N('actions.previewDecl.label', 'Peek Definition'), alias: 'Peek Definition', precondition: y.Ao.and( u.u.hasDefinitionProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: 582, linux: { primary: 3140 }, weight: 100, }, contextMenuOpts: { menuId: v.eH.EditorContextPeek, group: 'peek', order: 2, }, } ), k.P.registerCommandAlias( 'editor.action.previewDeclaration', e.id ); } }).id = 'editor.action.peekDefinition'), H) ); class te extends Q { _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.zq)(e, t, i), b.N('decl.title', 'Declarations') ); }); } _getNoResultFoundMessage(e) { return e && e.word ? b.N( 'decl.noResultWord', "No declaration found for '{0}'", e.word ) : b.N('decl.generic.noResults', 'No declaration found'); } _getAlternativeCommand(e) { return e.getOption(43).alternativeDeclarationCommand; } _getGoToPreference(e) { return e.getOption(43).multipleDeclarations; } } (0, l.Qr)( (((j = class e extends te { constructor() { super( { openToSide: !1, openInPeek: !1, muteMessage: !1 }, { id: e.id, label: b.N( 'actions.goToDeclaration.label', 'Go to Declaration' ), alias: 'Go to Declaration', precondition: y.Ao.and( u.u.hasDeclarationProvider, u.u.isInWalkThroughSnippet.toNegated() ), contextMenuOpts: { group: 'navigation', order: 1.3 }, menuOpts: { menuId: v.eH.MenubarGoMenu, group: '4_symbol_nav', order: 3, title: b.N( { key: 'miGotoDeclaration', comment: ['&& denotes a mnemonic'], }, 'Go to &&Declaration' ), }, } ); } _getNoResultFoundMessage(e) { return e && e.word ? b.N( 'decl.noResultWord', "No declaration found for '{0}'", e.word ) : b.N('decl.generic.noResults', 'No declaration found'); } }).id = 'editor.action.revealDeclaration'), j) ), (0, l.Qr)( class extends te { constructor() { super( { openToSide: !1, openInPeek: !0, muteMessage: !1 }, { id: 'editor.action.peekDeclaration', label: b.N('actions.peekDecl.label', 'Peek Declaration'), alias: 'Peek Declaration', precondition: y.Ao.and( u.u.hasDeclarationProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), contextMenuOpts: { menuId: v.eH.EditorContextPeek, group: 'peek', order: 3, }, } ); } } ); class ie extends Q { _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.L3)(e, t, i), b.N('typedef.title', 'Type Definitions') ); }); } _getNoResultFoundMessage(e) { return e && e.word ? b.N( 'goToTypeDefinition.noResultWord', "No type definition found for '{0}'", e.word ) : b.N( 'goToTypeDefinition.generic.noResults', 'No type definition found' ); } _getAlternativeCommand(e) { return e.getOption(43).alternativeTypeDefinitionCommand; } _getGoToPreference(e) { return e.getOption(43).multipleTypeDefinitions; } } (0, l.Qr)( (((V = class e extends ie { constructor() { super( { openToSide: !1, openInPeek: !1, muteMessage: !1 }, { id: e.ID, label: b.N( 'actions.goToTypeDefinition.label', 'Go to Type Definition' ), alias: 'Go to Type Definition', precondition: y.Ao.and( u.u.hasTypeDefinitionProvider, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: 0, weight: 100, }, contextMenuOpts: { group: 'navigation', order: 1.4 }, menuOpts: { menuId: v.eH.MenubarGoMenu, group: '4_symbol_nav', order: 3, title: b.N( { key: 'miGotoTypeDefinition', comment: ['&& denotes a mnemonic'], }, 'Go to &&Type Definition' ), }, } ); } }).ID = 'editor.action.goToTypeDefinition'), V) ), (0, l.Qr)( (((z = class e extends ie { constructor() { super( { openToSide: !1, openInPeek: !0, muteMessage: !1 }, { id: e.ID, label: b.N( 'actions.peekTypeDefinition.label', 'Peek Type Definition' ), alias: 'Peek Type Definition', precondition: y.Ao.and( u.u.hasTypeDefinitionProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), contextMenuOpts: { menuId: v.eH.EditorContextPeek, group: 'peek', order: 4, }, } ); } }).ID = 'editor.action.peekTypeDefinition'), z) ); class ne extends Q { _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.f4)(e, t, i), b.N('impl.title', 'Implementations') ); }); } _getNoResultFoundMessage(e) { return e && e.word ? b.N( 'goToImplementation.noResultWord', "No implementation found for '{0}'", e.word ) : b.N( 'goToImplementation.generic.noResults', 'No implementation found' ); } _getAlternativeCommand(e) { return e.getOption(43).alternativeImplementationCommand; } _getGoToPreference(e) { return e.getOption(43).multipleImplementations; } } (0, l.Qr)( (((U = class e extends ne { constructor() { super( { openToSide: !1, openInPeek: !1, muteMessage: !1 }, { id: e.ID, label: b.N( 'actions.goToImplementation.label', 'Go to Implementations' ), alias: 'Go to Implementations', precondition: y.Ao.and( u.u.hasImplementationProvider, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: 2118, weight: 100, }, menuOpts: { menuId: v.eH.MenubarGoMenu, group: '4_symbol_nav', order: 4, title: b.N( { key: 'miGotoImplementation', comment: ['&& denotes a mnemonic'], }, 'Go to &&Implementations' ), }, contextMenuOpts: { group: 'navigation', order: 1.45 }, } ); } }).ID = 'editor.action.goToImplementation'), U) ), (0, l.Qr)( ((($ = class e extends ne { constructor() { super( { openToSide: !1, openInPeek: !0, muteMessage: !1 }, { id: e.ID, label: b.N( 'actions.peekImplementation.label', 'Peek Implementations' ), alias: 'Peek Implementations', precondition: y.Ao.and( u.u.hasImplementationProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: 3142, weight: 100, }, contextMenuOpts: { menuId: v.eH.EditorContextPeek, group: 'peek', order: 5, }, } ); } }).ID = 'editor.action.peekImplementation'), $) ); class re extends Q { _getNoResultFoundMessage(e) { return e ? b.N('references.no', "No references found for '{0}'", e.word) : b.N('references.noGeneric', 'No references found'); } _getAlternativeCommand(e) { return e.getOption(43).alternativeReferenceCommand; } _getGoToPreference(e) { return e.getOption(43).multipleReferences; } } (0, l.Qr)( class extends re { constructor() { super( { openToSide: !1, openInPeek: !1, muteMessage: !1 }, { id: 'editor.action.goToReferences', label: b.N('goToReferences.label', 'Go to References'), alias: 'Go to References', precondition: y.Ao.and( u.u.hasReferenceProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), kbOpts: { kbExpr: u.u.editorTextFocus, primary: 1094, weight: 100, }, contextMenuOpts: { group: 'navigation', order: 1.45 }, menuOpts: { menuId: v.eH.MenubarGoMenu, group: '4_symbol_nav', order: 5, title: b.N( { key: 'miGotoReference', comment: ['&& denotes a mnemonic'], }, 'Go to &&References' ), }, } ); } _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.aA)(e, t, !0, i), b.N('ref.title', 'References') ); }); } } ), (0, l.Qr)( class extends re { constructor() { super( { openToSide: !1, openInPeek: !0, muteMessage: !1 }, { id: 'editor.action.referenceSearch.trigger', label: b.N('references.action.label', 'Peek References'), alias: 'Peek References', precondition: y.Ao.and( u.u.hasReferenceProvider, p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), contextMenuOpts: { menuId: v.eH.EditorContextPeek, group: 'peek', order: 6, }, } ); } _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( yield (0, S.aA)(e, t, !1, i), b.N('ref.title', 'References') ); }); } } ); class se extends Q { constructor(e, t, i) { super(e, { id: 'editor.action.goToLocation', label: b.N('label.generic', 'Go To Any Symbol'), alias: 'Go To Any Symbol', precondition: y.Ao.and( p.Jy.notInPeekEditor, u.u.isInWalkThroughSnippet.toNegated() ), }), (this._references = t), (this._gotoMultipleBehaviour = i); } _getLocationModel(e, t, i) { return J(this, void 0, void 0, function* () { return new _.oQ( this._references, b.N('generic.title', 'Locations') ); }); } _getNoResultFoundMessage(e) { return ( (e && b.N('generic.noResult', "No results for '{0}'", e.word)) || '' ); } _getGoToPreference(e) { var t; return null !== (t = this._gotoMultipleBehaviour) && void 0 !== t ? t : e.getOption(43).multipleReferences; } _getAlternativeCommand() { return ''; } } k.P.registerCommand({ id: 'editor.action.goToLocations', description: { description: 'Go to locations from a position in a file', args: [ { name: 'uri', description: 'The text document in which to start', constraint: q.o, }, { name: 'position', description: 'The position at which to start', constraint: d.L.isIPosition, }, { name: 'locations', description: 'An array of locations.', constraint: Array, }, { name: 'multiple', description: 'Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto', }, { name: 'noResultsMessage', description: 'Human readable message that shows when locations is empty.', }, ], }, handler: (e, t, i, n, r, s, o) => J(void 0, void 0, void 0, function* () { (0, G.p_)(q.o.isUri(t)), (0, G.p_)(d.L.isIPosition(i)), (0, G.p_)(Array.isArray(n)), (0, G.p_)(void 0 === r || 'string' == typeof r), (0, G.p_)(void 0 === o || 'boolean' == typeof o); const l = e.get(c.$), h = yield l.openCodeEditor( { resource: t }, l.getFocusedCodeEditor() ); if ((0, a.CL)(h)) return ( h.setPosition(i), h.revealPositionInCenterIfOutsideViewport(i, 0), h.invokeWithinContext((e) => { const t = new (class extends se { _getNoResultFoundMessage(e) { return s || super._getNoResultFoundMessage(e); } })( { muteMessage: !Boolean(s), openInPeek: Boolean(o), openToSide: !1, }, n, r ); e.get(L.TG).invokeFunction(t.run.bind(t), h); }) ); }), }), k.P.registerCommand({ id: 'editor.action.peekLocations', description: { description: 'Peek locations from a position in a file', args: [ { name: 'uri', description: 'The text document in which to start', constraint: q.o, }, { name: 'position', description: 'The position at which to start', constraint: d.L.isIPosition, }, { name: 'locations', description: 'An array of locations.', constraint: Array, }, { name: 'multiple', description: 'Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto', }, ], }, handler: (e, t, i, n, r) => J(void 0, void 0, void 0, function* () { e.get(k.H).executeCommand( 'editor.action.goToLocations', t, i, n, r, void 0, !0 ); }), }), k.P.registerCommand({ id: 'editor.action.findReferences', handler: (e, t, i) => { (0, G.p_)(q.o.isUri(t)), (0, G.p_)(d.L.isIPosition(i)); const n = e.get(c.$); return n .openCodeEditor({ resource: t }, n.getFocusedCodeEditor()) .then((e) => { if (!(0, a.CL)(e) || !e.hasModel()) return; const t = m.J.get(e); if (!t) return; const n = (0, r.PG)((t) => (0, S.aA)(e.getModel(), d.L.lift(i), !1, t).then( (e) => new _.oQ(e, b.N('ref.title', 'References')) ) ), s = new h.e(i.lineNumber, i.column, i.lineNumber, i.column); return Promise.resolve(t.toggleWidget(s, n, !1)); }); }, }), k.P.registerCommandAlias( 'editor.action.showReferences', 'editor.action.peekLocations' ); }, 91691: (e, t, i) => { 'use strict'; i.d(t, { nD: () => l, zq: () => c, f4: () => d, L3: () => h, aA: () => u, }); var n = i(71050), r = i(17301), s = i(16830), o = i(43775); function a(e, t, i, n) { const s = i.ordered(e).map((i) => Promise.resolve(n(i, e, t)).then(void 0, (e) => { (0, r.Cp)(e); }) ); return Promise.all(s).then((e) => { const t = []; for (let i of e) Array.isArray(i) ? t.push(...i) : i && t.push(i); return t; }); } function l(e, t, i) { return a(e, t, o.Ct, (e, t, n) => e.provideDefinition(t, n, i)); } function c(e, t, i) { return a(e, t, o.RN, (e, t, n) => e.provideDeclaration(t, n, i)); } function d(e, t, i) { return a(e, t, o.vI, (e, t, n) => e.provideImplementation(t, n, i)); } function h(e, t, i) { return a(e, t, o.tA, (e, t, n) => e.provideTypeDefinition(t, n, i)); } function u(e, t, i, n) { return a(e, t, o.FL, (e, t, r) => { return ( (s = this), (o = void 0), (l = function* () { const s = yield e.provideReferences( t, r, { includeDeclaration: !0 }, n ); if (!i || !s || 2 !== s.length) return s; const o = yield e.provideReferences( t, r, { includeDeclaration: !1 }, n ); return o && 1 === o.length ? o : s; }), new ((a = void 0) || (a = Promise))(function (e, t) { function i(e) { try { r(l.next(e)); } catch (e) { t(e); } } function n(e) { try { r(l.throw(e)); } catch (e) { t(e); } } function r(t) { var r; t.done ? e(t.value) : ((r = t.value), r instanceof a ? r : new a(function (e) { e(r); })).then(i, n); } r((l = l.apply(s, o || [])).next()); }) ); var s, o, a, l; }); } (0, s.sb)('_executeDefinitionProvider', (e, t) => l(e, t, n.T.None)), (0, s.sb)('_executeDeclarationProvider', (e, t) => c(e, t, n.T.None)), (0, s.sb)('_executeImplementationProvider', (e, t) => d(e, t, n.T.None) ), (0, s.sb)('_executeTypeDefinitionProvider', (e, t) => h(e, t, n.T.None) ), (0, s.sb)('_executeReferenceProvider', (e, t) => u(e, t, !1, n.T.None) ); }, 69241: (e, t, i) => { 'use strict'; i.d(t, { yN: () => h }); var n = i(5976), r = i(4669), s = i(1432); function o(e, t) { return !!e[t]; } class a { constructor(e, t) { (this.target = e.target), (this.hasTriggerModifier = o(e.event, t.triggerModifier)), (this.hasSideBySideModifier = o( e.event, t.triggerSideBySideModifier )), (this.isNoneOrSingleMouseDown = e.event.detail <= 1); } } class l { constructor(e, t) { (this.keyCodeIsTriggerKey = e.keyCode === t.triggerKey), (this.keyCodeIsSideBySideKey = e.keyCode === t.triggerSideBySideKey), (this.hasTriggerModifier = o(e, t.triggerModifier)); } } class c { constructor(e, t, i, n) { (this.triggerKey = e), (this.triggerModifier = t), (this.triggerSideBySideKey = i), (this.triggerSideBySideModifier = n); } equals(e) { return ( this.triggerKey === e.triggerKey && this.triggerModifier === e.triggerModifier && this.triggerSideBySideKey === e.triggerSideBySideKey && this.triggerSideBySideModifier === e.triggerSideBySideModifier ); } } function d(e) { return 'altKey' === e ? s.dz ? new c(57, 'metaKey', 6, 'altKey') : new c(5, 'ctrlKey', 6, 'altKey') : s.dz ? new c(6, 'altKey', 57, 'metaKey') : new c(6, 'altKey', 5, 'ctrlKey'); } class h extends n.JT { constructor(e) { super(), (this._onMouseMoveOrRelevantKeyDown = this._register(new r.Q5())), (this.onMouseMoveOrRelevantKeyDown = this._onMouseMoveOrRelevantKeyDown.event), (this._onExecute = this._register(new r.Q5())), (this.onExecute = this._onExecute.event), (this._onCancel = this._register(new r.Q5())), (this.onCancel = this._onCancel.event), (this._editor = e), (this._opts = d(this._editor.getOption(61))), (this._lastMouseMoveEvent = null), (this._hasTriggerKeyOnMouseDown = !1), (this._lineNumberOnMouseDown = 0), this._register( this._editor.onDidChangeConfiguration((e) => { if (e.hasChanged(61)) { const e = d(this._editor.getOption(61)); if (this._opts.equals(e)) return; (this._opts = e), (this._lastMouseMoveEvent = null), (this._hasTriggerKeyOnMouseDown = !1), (this._lineNumberOnMouseDown = 0), this._onCancel.fire(); } }) ), this._register( this._editor.onMouseMove((e) => this._onEditorMouseMove(new a(e, this._opts)) ) ), this._register( this._editor.onMouseDown((e) => this._onEditorMouseDown(new a(e, this._opts)) ) ), this._register( this._editor.onMouseUp((e) => this._onEditorMouseUp(new a(e, this._opts)) ) ), this._register( this._editor.onKeyDown((e) => this._onEditorKeyDown(new l(e, this._opts)) ) ), this._register( this._editor.onKeyUp((e) => this._onEditorKeyUp(new l(e, this._opts)) ) ), this._register( this._editor.onMouseDrag(() => this._resetHandler()) ), this._register( this._editor.onDidChangeCursorSelection((e) => this._onDidChangeCursorSelection(e) ) ), this._register( this._editor.onDidChangeModel((e) => this._resetHandler()) ), this._register( this._editor.onDidChangeModelContent(() => this._resetHandler()) ), this._register( this._editor.onDidScrollChange((e) => { (e.scrollTopChanged || e.scrollLeftChanged) && this._resetHandler(); }) ); } _onDidChangeCursorSelection(e) { e.selection && e.selection.startColumn !== e.selection.endColumn && this._resetHandler(); } _onEditorMouseMove(e) { (this._lastMouseMoveEvent = e), this._onMouseMoveOrRelevantKeyDown.fire([e, null]); } _onEditorMouseDown(e) { (this._hasTriggerKeyOnMouseDown = e.hasTriggerModifier), (this._lineNumberOnMouseDown = e.target.position ? e.target.position.lineNumber : 0); } _onEditorMouseUp(e) { const t = e.target.position ? e.target.position.lineNumber : 0; this._hasTriggerKeyOnMouseDown && this._lineNumberOnMouseDown && this._lineNumberOnMouseDown === t && this._onExecute.fire(e); } _onEditorKeyDown(e) { this._lastMouseMoveEvent && (e.keyCodeIsTriggerKey || (e.keyCodeIsSideBySideKey && e.hasTriggerModifier)) ? this._onMouseMoveOrRelevantKeyDown.fire([ this._lastMouseMoveEvent, e, ]) : e.hasTriggerModifier && this._onCancel.fire(); } _onEditorKeyUp(e) { e.keyCodeIsTriggerKey && this._onCancel.fire(); } _resetHandler() { (this._lastMouseMoveEvent = null), (this._hasTriggerKeyOnMouseDown = !1), this._onCancel.fire(); } } }, 10365: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { GotoDefinitionAtPositionEditorContribution: () => k }); var n = i(63580), r = i(15393), s = i(17301), o = i(59365), a = i(71531), l = i(24314), c = i(43775), d = i(16830), h = i(91691), u = i(5976), g = i(88216), f = i(97781), p = i(73910), m = i(39925), _ = i(92729), b = i(69241), v = i(50187), y = i(98401), w = i(22043), C = i(38819), S = function (e, t) { return function (i, n) { t(i, n, e); }; }; let k = class e { constructor(e, t, i) { (this.textModelResolverService = t), (this.modeService = i), (this.toUnhook = new u.SL()), (this.toUnhookForKeyboard = new u.SL()), (this.linkDecorations = []), (this.currentWordAtPosition = null), (this.previousPromise = null), (this.editor = e); let n = new b.yN(e); this.toUnhook.add(n), this.toUnhook.add( n.onMouseMoveOrRelevantKeyDown(([e, t]) => { this.startFindDefinitionFromMouse(e, (0, y.f6)(t)); }) ), this.toUnhook.add( n.onExecute((e) => { this.isEnabled(e) && this.gotoDefinition( e.target.position, e.hasSideBySideModifier ).then( () => { this.removeLinkDecorations(); }, (e) => { this.removeLinkDecorations(), (0, s.dL)(e); } ); }) ), this.toUnhook.add( n.onCancel(() => { this.removeLinkDecorations(), (this.currentWordAtPosition = null); }) ); } static get(t) { return t.getContribution(e.ID); } startFindDefinitionFromCursor(e) { return this.startFindDefinition(e).then(() => { this.toUnhookForKeyboard.add( this.editor.onDidChangeCursorPosition(() => { (this.currentWordAtPosition = null), this.removeLinkDecorations(), this.toUnhookForKeyboard.clear(); }) ), this.toUnhookForKeyboard.add( this.editor.onKeyDown((e) => { e && ((this.currentWordAtPosition = null), this.removeLinkDecorations(), this.toUnhookForKeyboard.clear()); }) ); }); } startFindDefinitionFromMouse(e, t) { if (9 === e.target.type && this.linkDecorations.length > 0) return; if (!this.editor.hasModel() || !this.isEnabled(e, t)) return ( (this.currentWordAtPosition = null), void this.removeLinkDecorations() ); const i = e.target.position; this.startFindDefinition(i); } startFindDefinition(e) { var t; this.toUnhookForKeyboard.clear(); const i = e ? null === (t = this.editor.getModel()) || void 0 === t ? void 0 : t.getWordAtPosition(e) : null; if (!i) return ( (this.currentWordAtPosition = null), this.removeLinkDecorations(), Promise.resolve(0) ); if ( this.currentWordAtPosition && this.currentWordAtPosition.startColumn === i.startColumn && this.currentWordAtPosition.endColumn === i.endColumn && this.currentWordAtPosition.word === i.word ) return Promise.resolve(0); this.currentWordAtPosition = i; let a = new m.yy(this.editor, 15); return ( this.previousPromise && (this.previousPromise.cancel(), (this.previousPromise = null)), (this.previousPromise = (0, r.PG)((t) => this.findDefinition(e, t) )), this.previousPromise .then((t) => { if (t && t.length && a.validate(this.editor)) if (t.length > 1) this.addDecoration( new l.e( e.lineNumber, i.startColumn, e.lineNumber, i.endColumn ), new o.W5().appendText( n.N( 'multipleResults', 'Click to show {0} definitions.', t.length ) ) ); else { let n = t[0]; if (!n.uri) return; this.textModelResolverService .createModelReference(n.uri) .then((t) => { if (!t.object || !t.object.textEditorModel) return void t.dispose(); const { object: { textEditorModel: r }, } = t, { startLineNumber: s } = n.range; if (s < 1 || s > r.getLineCount()) return void t.dispose(); const a = this.getPreviewValue(r, s, n); let c; c = n.originSelectionRange ? l.e.lift(n.originSelectionRange) : new l.e( e.lineNumber, i.startColumn, e.lineNumber, i.endColumn ); const d = this.modeService.getModeIdByFilepathOrFirstLine( r.uri ); this.addDecoration( c, new o.W5().appendCodeblock(d || '', a) ), t.dispose(); }); } else this.removeLinkDecorations(); }) .then(void 0, s.dL) ); } getPreviewValue(t, i, n) { let r = n.targetSelectionRange ? n.range : this.getPreviewRangeBasedOnBrackets(t, i); return ( r.endLineNumber - r.startLineNumber >= e.MAX_SOURCE_PREVIEW_LINES && (r = this.getPreviewRangeBasedOnIndentation(t, i)), this.stripIndentationFromPreviewRange(t, i, r) ); } stripIndentationFromPreviewRange(e, t, i) { let n = e.getLineFirstNonWhitespaceColumn(t); for (let r = t + 1; r < i.endLineNumber; r++) { const t = e.getLineFirstNonWhitespaceColumn(r); n = Math.min(n, t); } return e .getValueInRange(i) .replace(new RegExp(`^\\s{${n - 1}}`, 'gm'), '') .trim(); } getPreviewRangeBasedOnIndentation(t, i) { const n = t.getLineFirstNonWhitespaceColumn(i), r = Math.min(t.getLineCount(), i + e.MAX_SOURCE_PREVIEW_LINES); let s = i + 1; for (; s < r && n !== t.getLineFirstNonWhitespaceColumn(s); s++); return new l.e(i, 1, s + 1, 1); } getPreviewRangeBasedOnBrackets(t, i) { const n = Math.min( t.getLineCount(), i + e.MAX_SOURCE_PREVIEW_LINES ), r = []; let s = !0, o = t.findNextBracket(new v.L(i, 1)); for (; null !== o; ) { if (0 === r.length) r.push(o); else { const e = r[r.length - 1]; if ( (e.open[0] === o.open[0] && e.isOpen && !o.isOpen ? r.pop() : r.push(o), 0 === r.length) ) { if (!s) return new l.e(i, 1, o.range.endLineNumber + 1, 1); s = !1; } } const e = t.getLineMaxColumn(i); let a = o.range.endLineNumber, c = o.range.endColumn; if ((e === o.range.endColumn && (a++, (c = 1)), a > n)) return new l.e(i, 1, n + 1, 1); o = t.findNextBracket(new v.L(a, c)); } return new l.e(i, 1, n + 1, 1); } addDecoration(e, t) { const i = { range: e, options: { inlineClassName: 'goto-definition-link', hoverMessage: t, }, }; this.linkDecorations = this.editor.deltaDecorations( this.linkDecorations, [i] ); } removeLinkDecorations() { this.linkDecorations.length > 0 && (this.linkDecorations = this.editor.deltaDecorations( this.linkDecorations, [] )); } isEnabled(e, t) { return ( this.editor.hasModel() && e.isNoneOrSingleMouseDown && 6 === e.target.type && (e.hasTriggerModifier || (!!t && t.keyCodeIsTriggerKey)) && c.Ct.has(this.editor.getModel()) ); } findDefinition(e, t) { const i = this.editor.getModel(); return i ? (0, h.nD)(i, e, t) : Promise.resolve(null); } gotoDefinition(e, t) { return ( this.editor.setPosition(e), this.editor.invokeWithinContext((e) => { const i = !t && this.editor.getOption(69) && !this.isInPeekEditor(e); return new _.DefinitionAction( { openToSide: t, openInPeek: i, muteMessage: !0 }, { alias: '', label: '', id: '', precondition: void 0 } ).run(e, this.editor); }) ); } isInPeekEditor(e) { const t = e.get(C.i6); return w.Jy.inPeekEditor.getValue(t); } dispose() { this.toUnhook.dispose(); } }; (k.ID = 'editor.contrib.gotodefinitionatposition'), (k.MAX_SOURCE_PREVIEW_LINES = 8), (k = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([S(1, g.S), S(2, a.h)], k)), (0, d._K)(k.ID, k), (0, f.Ic)((e, t) => { const i = e.getColor(p._Y); i && t.addRule( `.monaco-editor .goto-definition-link { color: ${i} !important; }` ); }); }, 19192: (e, t, i) => { 'use strict'; i.d(t, { J: () => _e }); var n = i(63580), r = i(17301), s = i(5976), o = i(11640), a = i(72065), l = i(38819), c = i(33108), d = i(52365), h = i(71455), u = i(65321), g = i(41264), f = i(4669), p = i(66663), m = i(95935), _ = i(84527), b = i(24314), v = i(3411), y = i(88216), w = i(59834), C = i(67488), S = i(44349), k = i(97781), x = i(88810), L = i(68843), M = i(91847), D = i(75392), N = i(34650), E = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, T = function (e, t) { return function (i, n) { t(i, n, e); }; }; let I = class { constructor(e) { this._resolverService = e; } hasChildren(e) { return e instanceof h.oQ || e instanceof h.F2; } getChildren(e) { if (e instanceof h.oQ) return e.groups; if (e instanceof h.F2) return e.resolve(this._resolverService).then((e) => e.children); throw new Error('bad tree'); } }; I = E([T(0, y.S)], I); class O { getHeight() { return 23; } getTemplateId(e) { return e instanceof h.F2 ? F.id : W.id; } } let A = class { constructor(e) { this._keybindingService = e; } getKeyboardNavigationLabel(e) { var t; if (e instanceof h.WX) { const i = null === (t = e.parent.getPreview(e)) || void 0 === t ? void 0 : t.preview(e.range); if (i) return i.value; } return (0, m.EZ)(e.uri); } }; A = E([T(0, M.d)], A); class R { getId(e) { return e instanceof h.WX ? e.id : e.uri; } } let P = class extends s.JT { constructor(e, t, i) { super(), (this._uriLabel = t); const n = document.createElement('div'); n.classList.add('reference-file'), (this.file = this._register( new w.g(n, { supportHighlights: !0 }) )), (this.badge = new C.Z(u.R3(n, u.$('.count')))), this._register((0, x.WZ)(this.badge, i)), e.appendChild(n); } set(e, t) { let i = (0, m.XX)(e.uri); this.file.setLabel( (0, L.pP)(e.uri), this._uriLabel.getUriLabel(i, { relative: !0 }), { title: this._uriLabel.getUriLabel(e.uri), matches: t } ); const r = e.children.length; this.badge.setCount(r), r > 1 ? this.badge.setTitleFormat( (0, n.N)('referencesCount', '{0} references', r) ) : this.badge.setTitleFormat( (0, n.N)('referenceCount', '{0} reference', r) ); } }; P = E([T(1, S.e), T(2, k.XE)], P); let F = class e { constructor(t) { (this._instantiationService = t), (this.templateId = e.id); } renderTemplate(e) { return this._instantiationService.createInstance(P, e); } renderElement(e, t, i) { i.set(e.element, (0, D.mB)(e.filterData)); } disposeTemplate(e) { e.dispose(); } }; (F.id = 'FileReferencesRenderer'), (F = E([T(0, a.TG)], F)); class B { constructor(e) { this.label = new N.q(e, !1); } set(e, t) { var i; const n = null === (i = e.parent.getPreview(e)) || void 0 === i ? void 0 : i.preview(e.range); if (n && n.value) { const { value: e, highlight: i } = n; t && !D.CL.isDefault(t) ? (this.label.element.classList.toggle('referenceMatch', !1), this.label.set(e, (0, D.mB)(t))) : (this.label.element.classList.toggle('referenceMatch', !0), this.label.set(e, [i])); } else this.label.set( `${(0, m.EZ)(e.uri)}:${e.range.startLineNumber + 1}:${ e.range.startColumn + 1 }` ); } } class W { constructor() { this.templateId = W.id; } renderTemplate(e) { return new B(e); } renderElement(e, t, i) { i.set(e.element, e.filterData); } disposeTemplate() {} } W.id = 'OneReferenceRenderer'; class Y { getWidgetAriaLabel() { return (0, n.N)('treeAriaLabel', 'References'); } getAriaLabel(e) { return e.ariaMessage; } } var H = i(58664), j = i(73910), V = i(22043), z = i(98401), U = i(59870), $ = i(9488), K = i(73098), q = i(4850); const G = { separatorBorder: g.Il.transparent }; class Z { constructor(e, t, i, n) { (this.container = e), (this.view = t), (this.disposable = n), (this._cachedVisibleSize = void 0), 'number' == typeof i ? ((this._size = i), (this._cachedVisibleSize = void 0), u.cn(e, 'visible')) : ((this._size = 0), (this._cachedVisibleSize = i.cachedVisibleSize)); } set size(e) { this._size = e; } get size() { return this._size; } get visible() { return void 0 === this._cachedVisibleSize; } setVisible(e, t) { e !== this.visible && (e ? ((this.size = (0, U.u)( this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize )), (this._cachedVisibleSize = void 0)) : ((this._cachedVisibleSize = 'number' == typeof t ? t : this.size), (this.size = 0)), u.og(this.container, 'visible', e), this.view.setVisible && this.view.setVisible(e)); } get minimumSize() { return this.visible ? this.view.minimumSize : 0; } get viewMinimumSize() { return this.view.minimumSize; } get maximumSize() { return this.visible ? this.view.maximumSize : 0; } get viewMaximumSize() { return this.view.maximumSize; } get priority() { return this.view.priority; } get snap() { return !!this.view.snap; } set enabled(e) { this.container.style.pointerEvents = e ? '' : 'none'; } layout(e, t) { this.layoutContainer(e), this.view.layout(this.size, e, t); } dispose() { return this.disposable.dispose(), this.view; } } class J extends Z { layoutContainer(e) { (this.container.style.top = `${e}px`), (this.container.style.height = `${this.size}px`); } } class Q extends Z { layoutContainer(e) { (this.container.style.left = `${e}px`), (this.container.style.width = `${this.size}px`); } } var X, ee; !(function (e) { (e[(e.Idle = 0)] = 'Idle'), (e[(e.Busy = 1)] = 'Busy'); })(X || (X = {})), (function (e) { (e.Distribute = { type: 'distribute' }), (e.Split = function (e) { return { type: 'split', index: e }; }), (e.Invisible = function (e) { return { type: 'invisible', cachedVisibleSize: e }; }); })(ee || (ee = {})); class te extends s.JT { constructor(e, t = {}) { super(), (this.size = 0), (this.contentSize = 0), (this.proportions = void 0), (this.viewItems = []), (this.sashItems = []), (this.state = X.Idle), (this._onDidSashChange = this._register(new f.Q5())), (this.onDidSashChange = this._onDidSashChange.event), (this._onDidSashReset = this._register(new f.Q5())), (this._startSnappingEnabled = !0), (this._endSnappingEnabled = !0), (this.orientation = z.o8(t.orientation) ? 0 : t.orientation), (this.inverseAltBehavior = !!t.inverseAltBehavior), (this.proportionalLayout = !!z.o8(t.proportionalLayout) || !!t.proportionalLayout), (this.el = document.createElement('div')), u.cn(this.el, 'monaco-split-view2'), u.cn(this.el, 0 === this.orientation ? 'vertical' : 'horizontal'), e.appendChild(this.el), (this.sashContainer = u.R3(this.el, u.$('.sash-container'))), (this.viewContainer = u.R3( this.el, u.$('.split-view-container') )), this.style(t.styles || G), t.descriptor && ((this.size = t.descriptor.size), t.descriptor.views.forEach((e, t) => { const i = z.o8(e.visible) || e.visible ? e.size : { type: 'invisible', cachedVisibleSize: e.size }, n = e.view; this.doAddView(n, i, t, !0); }), (this.contentSize = this.viewItems.reduce( (e, t) => e + t.size, 0 )), this.saveProportions()); } get orthogonalStartSash() { return this._orthogonalStartSash; } set orthogonalStartSash(e) { for (const t of this.sashItems) t.sash.orthogonalStartSash = e; this._orthogonalStartSash = e; } get orthogonalEndSash() { return this._orthogonalEndSash; } set orthogonalEndSash(e) { for (const t of this.sashItems) t.sash.orthogonalEndSash = e; this._orthogonalEndSash = e; } get startSnappingEnabled() { return this._startSnappingEnabled; } set startSnappingEnabled(e) { this._startSnappingEnabled !== e && ((this._startSnappingEnabled = e), this.updateSashEnablement()); } get endSnappingEnabled() { return this._endSnappingEnabled; } set endSnappingEnabled(e) { this._endSnappingEnabled !== e && ((this._endSnappingEnabled = e), this.updateSashEnablement()); } style(e) { e.separatorBorder.isTransparent() ? (u.IV(this.el, 'separator-border'), this.el.style.removeProperty('--separator-border')) : (u.cn(this.el, 'separator-border'), this.el.style.setProperty( '--separator-border', e.separatorBorder.toString() )); } addView(e, t, i = this.viewItems.length, n) { this.doAddView(e, t, i, n); } layout(e, t) { const i = Math.max(this.size, this.contentSize); if (((this.size = e), (this.layoutContext = t), this.proportions)) for (let t = 0; t < this.viewItems.length; t++) { const i = this.viewItems[t]; i.size = (0, U.u)( Math.round(this.proportions[t] * e), i.minimumSize, i.maximumSize ); } else { const t = (0, $.w6)(this.viewItems.length), n = t.filter((e) => 1 === this.viewItems[e].priority), r = t.filter((e) => 2 === this.viewItems[e].priority); this.resize(this.viewItems.length - 1, e - i, void 0, n, r); } this.distributeEmptySpace(), this.layoutViews(); } saveProportions() { this.proportionalLayout && this.contentSize > 0 && (this.proportions = this.viewItems.map( (e) => e.size / this.contentSize )); } onSashStart({ sash: e, start: t, alt: i }) { for (const e of this.viewItems) e.enabled = !1; const n = (0, $.Zr)(this.sashItems, (t) => t.sash === e), r = (0, s.F8)( (0, q.j)( document.body, 'keydown' )((e) => o(this.sashDragState.current, e.altKey)), (0, q.j)( document.body, 'keyup' )(() => o(this.sashDragState.current, !1)) ), o = (e, t) => { const i = this.viewItems.map((e) => e.size); let s, o, a = Number.NEGATIVE_INFINITY, l = Number.POSITIVE_INFINITY; if ((this.inverseAltBehavior && (t = !t), t)) if (n === this.sashItems.length - 1) { const e = this.viewItems[n]; (a = (e.minimumSize - e.size) / 2), (l = (e.maximumSize - e.size) / 2); } else { const e = this.viewItems[n + 1]; (a = (e.size - e.maximumSize) / 2), (l = (e.size - e.minimumSize) / 2); } if (!t) { const e = (0, $.w6)(n, -1), t = (0, $.w6)(n + 1, this.viewItems.length), r = e.reduce( (e, t) => e + (this.viewItems[t].minimumSize - i[t]), 0 ), a = e.reduce( (e, t) => e + (this.viewItems[t].viewMaximumSize - i[t]), 0 ), l = 0 === t.length ? Number.POSITIVE_INFINITY : t.reduce( (e, t) => e + (i[t] - this.viewItems[t].minimumSize), 0 ), c = 0 === t.length ? Number.NEGATIVE_INFINITY : t.reduce( (e, t) => e + (i[t] - this.viewItems[t].viewMaximumSize), 0 ), d = Math.max(r, c), h = Math.min(l, a), u = this.findFirstSnapIndex(e), g = this.findFirstSnapIndex(t); if ('number' == typeof u) { const e = this.viewItems[u], t = Math.floor(e.viewMinimumSize / 2); s = { index: u, limitDelta: e.visible ? d - t : d + t, size: e.size, }; } if ('number' == typeof g) { const e = this.viewItems[g], t = Math.floor(e.viewMinimumSize / 2); o = { index: g, limitDelta: e.visible ? h + t : h - t, size: e.size, }; } } this.sashDragState = { start: e, current: e, index: n, sizes: i, minDelta: a, maxDelta: l, alt: t, snapBefore: s, snapAfter: o, disposable: r, }; }; o(t, i); } onSashChange({ current: e }) { const { index: t, start: i, sizes: n, alt: r, minDelta: s, maxDelta: o, snapBefore: a, snapAfter: l, } = this.sashDragState; this.sashDragState.current = e; const c = e - i, d = this.resize(t, c, n, void 0, void 0, s, o, a, l); if (r) { const e = t === this.sashItems.length - 1, i = this.viewItems.map((e) => e.size), n = e ? t : t + 1, r = this.viewItems[n], s = r.size - r.maximumSize, o = r.size - r.minimumSize, a = e ? t - 1 : t + 1; this.resize(a, -d, i, void 0, void 0, s, o); } this.distributeEmptySpace(), this.layoutViews(); } onSashEnd(e) { this._onDidSashChange.fire(e), this.sashDragState.disposable.dispose(), this.saveProportions(); for (const e of this.viewItems) e.enabled = !0; } onViewChange(e, t) { const i = this.viewItems.indexOf(e); i < 0 || i >= this.viewItems.length || ((t = 'number' == typeof t ? t : e.size), (t = (0, U.u)(t, e.minimumSize, e.maximumSize)), this.inverseAltBehavior && i > 0 ? (this.resize(i - 1, Math.floor((e.size - t) / 2)), this.distributeEmptySpace(), this.layoutViews()) : ((e.size = t), this.relayout([i], void 0))); } resizeView(e, t) { if (this.state !== X.Idle) throw new Error('Cant modify splitview'); if (((this.state = X.Busy), e < 0 || e >= this.viewItems.length)) return; const i = (0, $.w6)(this.viewItems.length).filter((t) => t !== e), n = [...i.filter((e) => 1 === this.viewItems[e].priority), e], r = i.filter((e) => 2 === this.viewItems[e].priority), s = this.viewItems[e]; (t = Math.round(t)), (t = (0, U.u)( t, s.minimumSize, Math.min(s.maximumSize, this.size) )), (s.size = t), this.relayout(n, r), (this.state = X.Idle); } distributeViewSizes() { const e = []; let t = 0; for (const i of this.viewItems) i.maximumSize - i.minimumSize > 0 && (e.push(i), (t += i.size)); const i = Math.floor(t / e.length); for (const t of e) t.size = (0, U.u)(i, t.minimumSize, t.maximumSize); const n = (0, $.w6)(this.viewItems.length), r = n.filter((e) => 1 === this.viewItems[e].priority), s = n.filter((e) => 2 === this.viewItems[e].priority); this.relayout(r, s); } getViewSize(e) { return e < 0 || e >= this.viewItems.length ? -1 : this.viewItems[e].size; } doAddView(e, t, i = this.viewItems.length, n) { if (this.state !== X.Idle) throw new Error('Cant modify splitview'); this.state = X.Busy; const r = u.$('.split-view-view'); i === this.viewItems.length ? this.viewContainer.appendChild(r) : this.viewContainer.insertBefore( r, this.viewContainer.children.item(i) ); const o = e.onDidChange((e) => this.onViewChange(d, e)), a = (0, s.OF)(() => this.viewContainer.removeChild(r)), l = (0, s.F8)(o, a); let c; c = 'number' == typeof t ? t : 'split' === t.type ? this.getViewSize(t.index) / 2 : 'invisible' === t.type ? { cachedVisibleSize: t.cachedVisibleSize } : e.minimumSize; const d = 0 === this.orientation ? new J(r, e, c, l) : new Q(r, e, c, l); if ((this.viewItems.splice(i, 0, d), this.viewItems.length > 1)) { const e = 0 === this.orientation ? new K.g( this.sashContainer, { getHorizontalSashTop: (e) => this.getSashPosition(e), }, { orientation: 1, orthogonalStartSash: this.orthogonalStartSash, orthogonalEndSash: this.orthogonalEndSash, } ) : new K.g( this.sashContainer, { getVerticalSashLeft: (e) => this.getSashPosition(e) }, { orientation: 0, orthogonalStartSash: this.orthogonalStartSash, orthogonalEndSash: this.orthogonalEndSash, } ), t = 0 === this.orientation ? (t) => ({ sash: e, start: t.startY, current: t.currentY, alt: t.altKey, }) : (t) => ({ sash: e, start: t.startX, current: t.currentX, alt: t.altKey, }), n = f.ju.map(e.onDidStart, t)(this.onSashStart, this), r = f.ju.map(e.onDidChange, t)(this.onSashChange, this), o = f.ju.map(e.onDidEnd, () => (0, $.Zr)(this.sashItems, (t) => t.sash === e) )(this.onSashEnd, this), a = e.onDidReset(() => { const t = (0, $.Zr)(this.sashItems, (t) => t.sash === e), i = (0, $.w6)(t, -1), n = (0, $.w6)(t + 1, this.viewItems.length), r = this.findFirstSnapIndex(i), s = this.findFirstSnapIndex(n); ('number' != typeof r || this.viewItems[r].visible) && ('number' != typeof s || this.viewItems[s].visible) && this._onDidSashReset.fire(t); }), l = (0, s.F8)(n, r, o, a, e), c = { sash: e, disposable: l }; this.sashItems.splice(i - 1, 0, c); } let h; r.appendChild(e.element), 'number' != typeof t && 'split' === t.type && (h = [t.index]), n || this.relayout([i], h), (this.state = X.Idle), n || 'number' == typeof t || 'distribute' !== t.type || this.distributeViewSizes(); } relayout(e, t) { const i = this.viewItems.reduce((e, t) => e + t.size, 0); this.resize(this.viewItems.length - 1, this.size - i, void 0, e, t), this.distributeEmptySpace(), this.layoutViews(), this.saveProportions(); } resize( e, t, i = this.viewItems.map((e) => e.size), n, r, s = Number.NEGATIVE_INFINITY, o = Number.POSITIVE_INFINITY, a, l ) { if (e < 0 || e >= this.viewItems.length) return 0; const c = (0, $.w6)(e, -1), d = (0, $.w6)(e + 1, this.viewItems.length); if (r) for (const e of r) (0, $.zI)(c, e), (0, $.zI)(d, e); if (n) for (const e of n) (0, $.al)(c, e), (0, $.al)(d, e); const h = c.map((e) => this.viewItems[e]), u = c.map((e) => i[e]), g = d.map((e) => this.viewItems[e]), f = d.map((e) => i[e]), p = c.reduce( (e, t) => e + (this.viewItems[t].minimumSize - i[t]), 0 ), m = c.reduce( (e, t) => e + (this.viewItems[t].maximumSize - i[t]), 0 ), _ = 0 === d.length ? Number.POSITIVE_INFINITY : d.reduce( (e, t) => e + (i[t] - this.viewItems[t].minimumSize), 0 ), b = 0 === d.length ? Number.NEGATIVE_INFINITY : d.reduce( (e, t) => e + (i[t] - this.viewItems[t].maximumSize), 0 ), v = Math.max(p, b, s), y = Math.min(_, m, o); let w = !1; if (a) { const e = this.viewItems[a.index], i = t >= a.limitDelta; (w = i !== e.visible), e.setVisible(i, a.size); } if (!w && l) { const e = this.viewItems[l.index], i = t < l.limitDelta; (w = i !== e.visible), e.setVisible(i, l.size); } if (w) return this.resize(e, t, i, n, r, s, o); for (let e = 0, i = (t = (0, U.u)(t, v, y)); e < h.length; e++) { const t = h[e], n = (0, U.u)(u[e] + i, t.minimumSize, t.maximumSize); (i -= n - u[e]), (t.size = n); } for (let e = 0, i = t; e < g.length; e++) { const t = g[e], n = (0, U.u)(f[e] - i, t.minimumSize, t.maximumSize); (i += n - f[e]), (t.size = n); } return t; } distributeEmptySpace(e) { const t = this.viewItems.reduce((e, t) => e + t.size, 0); let i = this.size - t; const n = (0, $.w6)(this.viewItems.length - 1, -1), r = n.filter((e) => 1 === this.viewItems[e].priority), s = n.filter((e) => 2 === this.viewItems[e].priority); for (const e of s) (0, $.zI)(n, e); for (const e of r) (0, $.al)(n, e); 'number' == typeof e && (0, $.al)(n, e); for (let e = 0; 0 !== i && e < n.length; e++) { const t = this.viewItems[n[e]], r = (0, U.u)(t.size + i, t.minimumSize, t.maximumSize); (i -= r - t.size), (t.size = r); } } layoutViews() { this.contentSize = this.viewItems.reduce((e, t) => e + t.size, 0); let e = 0; for (const t of this.viewItems) t.layout(e, this.layoutContext), (e += t.size); this.sashItems.forEach((e) => e.sash.layout()), this.updateSashEnablement(); } updateSashEnablement() { let e = !1; const t = this.viewItems.map( (t) => (e = t.size - t.minimumSize > 0 || e) ); e = !1; const i = this.viewItems.map( (t) => (e = t.maximumSize - t.size > 0 || e) ), n = [...this.viewItems].reverse(); e = !1; const r = n .map((t) => (e = t.size - t.minimumSize > 0 || e)) .reverse(); e = !1; const s = n .map((t) => (e = t.maximumSize - t.size > 0 || e)) .reverse(); let o = 0; for (let e = 0; e < this.sashItems.length; e++) { const { sash: n } = this.sashItems[e]; o += this.viewItems[e].size; const a = !(t[e] && s[e + 1]), l = !(i[e] && r[e + 1]); if (a && l) { const i = (0, $.w6)(e, -1), s = (0, $.w6)(e + 1, this.viewItems.length), a = this.findFirstSnapIndex(i), l = this.findFirstSnapIndex(s), c = 'number' == typeof a && !this.viewItems[a].visible, d = 'number' == typeof l && !this.viewItems[l].visible; c && r[e] && (o > 0 || this.startSnappingEnabled) ? (n.state = 1) : d && t[e] && (o < this.contentSize || this.endSnappingEnabled) ? (n.state = 2) : (n.state = 0); } else n.state = a && !l ? 1 : !a && l ? 2 : 3; } } getSashPosition(e) { let t = 0; for (let i = 0; i < this.sashItems.length; i++) if (((t += this.viewItems[i].size), this.sashItems[i].sash === e)) return t; return 0; } findFirstSnapIndex(e) { for (const t of e) { const e = this.viewItems[t]; if (e.visible && e.snap) return t; } for (const t of e) { const e = this.viewItems[t]; if (e.visible && e.maximumSize - e.minimumSize > 0) return; if (!e.visible && e.snap) return t; } } dispose() { super.dispose(), this.viewItems.forEach((e) => e.dispose()), (this.viewItems = []), this.sashItems.forEach((e) => e.disposable.dispose()), (this.sashItems = []); } } var ie = i(64862), ne = function (e, t) { return function (i, n) { t(i, n, e); }; }, re = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class se { constructor(e, t) { (this._editor = e), (this._model = t), (this._decorations = new Map()), (this._decorationIgnoreSet = new Set()), (this._callOnDispose = new s.SL()), (this._callOnModelChange = new s.SL()), this._callOnDispose.add( this._editor.onDidChangeModel(() => this._onModelChanged()) ), this._onModelChanged(); } dispose() { this._callOnModelChange.dispose(), this._callOnDispose.dispose(), this.removeDecorations(); } _onModelChanged() { this._callOnModelChange.clear(); const e = this._editor.getModel(); if (e) for (let t of this._model.references) if (t.uri.toString() === e.uri.toString()) return void this._addDecorations(t.parent); } _addDecorations(e) { if (!this._editor.hasModel()) return; this._callOnModelChange.add( this._editor .getModel() .onDidChangeDecorations(() => this._onDecorationChanged()) ); const t = [], i = []; for (let n = 0, r = e.children.length; n < r; n++) { let r = e.children[n]; this._decorationIgnoreSet.has(r.id) || (r.uri.toString() === this._editor.getModel().uri.toString() && (t.push({ range: r.range, options: se.DecorationOptions }), i.push(n))); } const n = this._editor.deltaDecorations([], t); for (let t = 0; t < n.length; t++) this._decorations.set(n[t], e.children[i[t]]); } _onDecorationChanged() { const e = [], t = this._editor.getModel(); if (t) { for (let [i, n] of this._decorations) { const r = t.getDecorationRange(i); if (!r) continue; let s = !1; b.e.equalsRange(r, n.range) || ((b.e.spansMultipleLines(r) || n.range.endColumn - n.range.startColumn != r.endColumn - r.startColumn) && (s = !0), s ? (this._decorationIgnoreSet.add(n.id), e.push(i)) : (n.range = r)); } for (let t = 0, i = e.length; t < i; t++) this._decorations.delete(e[t]); this._editor.deltaDecorations(e, []); } } removeDecorations() { this._editor.deltaDecorations([...this._decorations.keys()], []), this._decorations.clear(); } } se.DecorationOptions = v.qx.register({ stickiness: 1, className: 'reference-decoration', }); class oe extends H.ls {} let ae = class extends V.vk { constructor(e, t, i, n, r, o, a, l, c, d) { super( e, { showFrame: !1, showArrow: !0, isResizeable: !0, isAccessible: !0, }, o ), (this._defaultTreeKeyboardSupport = t), (this.layoutData = i), (this._textModelResolverService = r), (this._instantiationService = o), (this._peekViewService = a), (this._uriLabel = l), (this._undoRedoService = c), (this._keybindingService = d), (this._disposeOnNewModel = new s.SL()), (this._callOnDispose = new s.SL()), (this._onDidSelectReference = new f.Q5()), (this.onDidSelectReference = this._onDidSelectReference.event), (this._dim = { height: 0, width: 0 }), this._applyTheme(n.getColorTheme()), this._callOnDispose.add( n.onDidColorThemeChange(this._applyTheme.bind(this)) ), this._peekViewService.addExclusiveWidget(e, this), this.create(); } dispose() { this.setModel(void 0), this._callOnDispose.dispose(), this._disposeOnNewModel.dispose(), (0, s.B9)(this._preview), (0, s.B9)(this._previewNotAvailableMessage), (0, s.B9)(this._tree), (0, s.B9)(this._previewModelReference), this._splitView.dispose(), super.dispose(); } _applyTheme(e) { const t = e.getColor(V.SC) || g.Il.transparent; this.style({ arrowColor: t, frameColor: t, headerBackgroundColor: e.getColor(V.KY) || g.Il.transparent, primaryHeadingColor: e.getColor(V.IH), secondaryHeadingColor: e.getColor(V.R7), }); } show(e) { this.editor.revealRangeInCenterIfOutsideViewport(e, 0), super.show(e, this.layoutData.heightInLines || 18); } focusOnReferenceTree() { this._tree.domFocus(); } focusOnPreviewEditor() { this._preview.focus(); } isPreviewEditorFocused() { return this._preview.hasTextFocus(); } _onTitleClick(e) { this._preview && this._preview.getModel() && this._onDidSelectReference.fire({ element: this._getFocusedReference(), kind: e.ctrlKey || e.metaKey || e.altKey ? 'side' : 'open', source: 'title', }); } _fillBody(e) { this.setCssClass('reference-zone-widget'), (this._messageContainer = u.R3(e, u.$('div.messages'))), u.Cp(this._messageContainer), (this._splitView = new te(e, { orientation: 1 })), (this._previewContainer = u.R3(e, u.$('div.preview.inline'))), (this._preview = this._instantiationService.createInstance( _.H, this._previewContainer, { scrollBeyondLastLine: !1, scrollbar: { verticalScrollbarSize: 14, horizontal: 'auto', useShadows: !0, verticalHasArrows: !1, horizontalHasArrows: !1, alwaysConsumeMouseWheel: !1, }, overviewRulerLanes: 2, fixedOverflowWidgets: !0, minimap: { enabled: !1 }, }, this.editor )), u.Cp(this._previewContainer), (this._previewNotAvailableMessage = new v.yO( n.N('missingPreviewMessage', 'no preview available'), v.yO.DEFAULT_CREATION_OPTIONS, null, null, this._undoRedoService )), (this._treeContainer = u.R3(e, u.$('div.ref-tree.inline'))); const t = { keyboardSupport: this._defaultTreeKeyboardSupport, accessibilityProvider: new Y(), keyboardNavigationLabelProvider: this._instantiationService.createInstance( A ), identityProvider: new R(), openOnSingleClick: !0, openOnFocus: !0, overrideStyles: { listBackground: V.M8 }, }; this._defaultTreeKeyboardSupport && this._callOnDispose.add( u.mu( this._treeContainer, 'keydown', (e) => { e.equals(9) && (this._keybindingService.dispatchEvent(e, e.target), e.stopPropagation()); }, !0 ) ), (this._tree = this._instantiationService.createInstance( oe, 'ReferencesWidget', this._treeContainer, new O(), [ this._instantiationService.createInstance(F), this._instantiationService.createInstance(W), ], this._instantiationService.createInstance(I), t )), this._splitView.addView( { onDidChange: f.ju.None, element: this._previewContainer, minimumSize: 200, maximumSize: Number.MAX_VALUE, layout: (e) => { this._preview.layout({ height: this._dim.height, width: e, }); }, }, ee.Distribute ), this._splitView.addView( { onDidChange: f.ju.None, element: this._treeContainer, minimumSize: 100, maximumSize: Number.MAX_VALUE, layout: (e) => { (this._treeContainer.style.height = `${this._dim.height}px`), (this._treeContainer.style.width = `${e}px`), this._tree.layout(this._dim.height, e); }, }, ee.Distribute ), this._disposables.add( this._splitView.onDidSashChange(() => { this._dim.width && (this.layoutData.ratio = this._splitView.getViewSize(0) / this._dim.width); }, void 0) ); let i = (e, t) => { e instanceof h.WX && ('show' === t && this._revealReference(e, !1), this._onDidSelectReference.fire({ element: e, kind: t, source: 'tree', })); }; this._tree.onDidOpen((e) => { e.sideBySide ? i(e.element, 'side') : e.editorOptions.pinned ? i(e.element, 'goto') : i(e.element, 'show'); }), u.Cp(this._treeContainer); } _onWidth(e) { this._dim && this._doLayoutBody(this._dim.height, e); } _doLayoutBody(e, t) { super._doLayoutBody(e, t), (this._dim = { height: e, width: t }), (this.layoutData.heightInLines = this._viewZone ? this._viewZone.heightInLines : this.layoutData.heightInLines), this._splitView.layout(t), this._splitView.resizeView(0, t * this.layoutData.ratio); } setSelection(e) { return this._revealReference(e, !0).then(() => { this._model && (this._tree.setSelection([e]), this._tree.setFocus([e])); }); } setModel(e) { return ( this._disposeOnNewModel.clear(), (this._model = e), this._model ? this._onNewModel() : Promise.resolve() ); } _onNewModel() { return this._model ? this._model.isEmpty ? (this.setTitle(''), (this._messageContainer.innerText = n.N( 'noResults', 'No results' )), u.$Z(this._messageContainer), Promise.resolve(void 0)) : (u.Cp(this._messageContainer), (this._decorationsManager = new se( this._preview, this._model )), this._disposeOnNewModel.add(this._decorationsManager), this._disposeOnNewModel.add( this._model.onDidChangeReferenceRange((e) => this._tree.rerender(e) ) ), this._disposeOnNewModel.add( this._preview.onMouseDown((e) => { const { event: t, target: i } = e; if (2 !== t.detail) return; const n = this._getFocusedReference(); n && this._onDidSelectReference.fire({ element: { uri: n.uri, range: i.range }, kind: t.ctrlKey || t.metaKey || t.altKey ? 'side' : 'open', source: 'editor', }); }) ), this.container.classList.add('results-loaded'), u.$Z(this._treeContainer), u.$Z(this._previewContainer), this._splitView.layout(this._dim.width), this.focusOnReferenceTree(), this._tree.setInput( 1 === this._model.groups.length ? this._model.groups[0] : this._model )) : Promise.resolve(void 0); } _getFocusedReference() { const [e] = this._tree.getFocus(); return e instanceof h.WX ? e : e instanceof h.F2 && e.children.length > 0 ? e.children[0] : void 0; } revealReference(e) { return re(this, void 0, void 0, function* () { yield this._revealReference(e, !1), this._onDidSelectReference.fire({ element: e, kind: 'goto', source: 'tree', }); }); } _revealReference(e, t) { return re(this, void 0, void 0, function* () { if (this._revealedReference === e) return; (this._revealedReference = e), e.uri.scheme !== p.l.inMemory ? this.setTitle( (0, m.Hx)(e.uri), this._uriLabel.getUriLabel((0, m.XX)(e.uri)) ) : this.setTitle(n.N('peekView.alternateTitle', 'References')); const i = this._textModelResolverService.createModelReference( e.uri ); this._tree.getInput() === e.parent || (t && this._tree.reveal(e.parent), yield this._tree.expand(e.parent)), this._tree.reveal(e); const r = yield i; if (!this._model) return void r.dispose(); (0, s.B9)(this._previewModelReference); const o = r.object; if (o) { const t = this._preview.getModel() === o.textEditorModel ? 0 : 1, i = b.e.lift(e.range).collapseToStart(); (this._previewModelReference = r), this._preview.setModel(o.textEditorModel), this._preview.setSelection(i), this._preview.revealRangeInCenter(i, t); } else this._preview.setModel(this._previewNotAvailableMessage), r.dispose(); }); } }; (ae = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ne(3, k.XE), ne(4, y.S), ne(5, a.TG), ne(6, V.Fw), ne(7, S.e), ne(8, ie.t), ne(9, M.d), ], ae )), (0, k.Ic)((e, t) => { const i = e.getColor(V.F8); i && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: ${i}; }` ); const n = e.getColor(V.WL); n && t.addRule( `.monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: ${n}; }` ); const r = e.getColor(V.xH); r && t.addRule( `.monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid ${r}; box-sizing: border-box; }` ); const s = e.getColor(j.xL); s && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted ${s}; box-sizing: border-box; }` ); const o = e.getColor(V.M8); o && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree { background-color: ${o}; }` ); const a = e.getColor(V.xk); a && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree { color: ${a}; }` ); const l = e.getColor(V.a7); l && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree .reference-file { color: ${l}; }` ); const c = e.getColor(V.Zj); c && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: ${c}; }` ); const d = e.getColor(V.IY); d && t.addRule( `.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: ${d} !important; }` ); const h = e.getColor(V.RX); h && t.addRule( `.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: ${h};}` ); const u = e.getColor(V.sH); u && t.addRule( `.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: ${u};}` ); }); var le = i(50187), ce = i(59422), de = i(15393), he = i(49989), ue = i(22258), ge = i(94565), fe = function (e, t) { return function (i, n) { t(i, n, e); }; }, pe = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const me = new l.uy('referenceSearchVisible', !1); let _e = class e { constructor(e, t, i, n, r, o, a, l) { (this._defaultTreeKeyboardSupport = e), (this._editor = t), (this._editorService = n), (this._notificationService = r), (this._instantiationService = o), (this._storageService = a), (this._configurationService = l), (this._disposables = new s.SL()), (this._requestIdPool = 0), (this._ignoreModelChangeEvent = !1), (this._referenceSearchVisible = me.bindTo(i)); } static get(t) { return t.getContribution(e.ID); } dispose() { this._referenceSearchVisible.reset(), this._disposables.dispose(), (0, s.B9)(this._widget), (0, s.B9)(this._model), (this._widget = void 0), (this._model = void 0); } toggleWidget(e, t, i) { let r; if ( (this._widget && (r = this._widget.position), this.closeWidget(), r && e.containsPosition(r)) ) return; (this._peekMode = i), this._referenceSearchVisible.set(!0), this._disposables.add( this._editor.onDidChangeModelLanguage(() => { this.closeWidget(); }) ), this._disposables.add( this._editor.onDidChangeModel(() => { this._ignoreModelChangeEvent || this.closeWidget(); }) ); const s = 'peekViewLayout', o = class { constructor() { (this.ratio = 0.7), (this.heightInLines = 18); } static fromJSON(e) { let t, i; try { const n = JSON.parse(e); (t = n.ratio), (i = n.heightInLines); } catch (e) {} return { ratio: t || 0.7, heightInLines: i || 18 }; } }.fromJSON(this._storageService.get(s, 0, '{}')); (this._widget = this._instantiationService.createInstance( ae, this._editor, this._defaultTreeKeyboardSupport, o )), this._widget.setTitle(n.N('labelLoading', 'Loading...')), this._widget.show(e), this._disposables.add( this._widget.onDidClose(() => { t.cancel(), this._widget && (this._storageService.store( s, JSON.stringify(this._widget.layoutData), 0 ), (this._widget = void 0)), this.closeWidget(); }) ), this._disposables.add( this._widget.onDidSelectReference((e) => { let { element: t, kind: n } = e; if (t) switch (n) { case 'open': ('editor' === e.source && this._configurationService.getValue( 'editor.stablePeek' )) || this.openReference(t, !1); break; case 'side': this.openReference(t, !0); break; case 'goto': i ? this._gotoReference(t) : this.openReference(t, !1); } }) ); const a = ++this._requestIdPool; t.then( (t) => { if (a === this._requestIdPool && this._widget) return ( this._model && this._model.dispose(), (this._model = t), this._widget.setModel(this._model).then(() => { if ( this._widget && this._model && this._editor.hasModel() ) { this._model.isEmpty ? this._widget.setMetaTitle('') : this._widget.setMetaTitle( n.N( 'metaTitle.N', '{0} ({1})', this._model.title, this._model.references.length ) ); let t = this._editor.getModel().uri, i = new le.L(e.startLineNumber, e.startColumn), r = this._model.nearestReference(t, i); if (r) return this._widget.setSelection(r).then(() => { this._widget && 'editor' === this._editor.getOption(68) && this._widget.focusOnPreviewEditor(); }); } }) ); }, (e) => { this._notificationService.error(e); } ); } changeFocusBetweenPreviewAndReferences() { this._widget && (this._widget.isPreviewEditorFocused() ? this._widget.focusOnReferenceTree() : this._widget.focusOnPreviewEditor()); } goToNextOrPreviousReference(e) { return pe(this, void 0, void 0, function* () { if (!this._editor.hasModel() || !this._model || !this._widget) return; const t = this._widget.position; if (!t) return; const i = this._model.nearestReference( this._editor.getModel().uri, t ); if (!i) return; const n = this._model.nextOrPreviousReference(i, e), r = this._editor.hasTextFocus(), s = this._widget.isPreviewEditorFocused(); yield this._widget.setSelection(n), yield this._gotoReference(n), r ? this._editor.focus() : this._widget && s && this._widget.focusOnPreviewEditor(); }); } revealReference(e) { return pe(this, void 0, void 0, function* () { this._editor.hasModel() && this._model && this._widget && (yield this._widget.revealReference(e)); }); } closeWidget(e = !0) { (0, s.B9)(this._widget), (0, s.B9)(this._model), this._referenceSearchVisible.reset(), this._disposables.clear(), (this._widget = void 0), (this._model = void 0), e && this._editor.focus(), (this._requestIdPool += 1); } _gotoReference(t) { this._widget && this._widget.hide(), (this._ignoreModelChangeEvent = !0); const i = b.e.lift(t.range).collapseToStart(); return this._editorService .openCodeEditor( { resource: t.uri, options: { selection: i } }, this._editor ) .then( (t) => { var n; if (((this._ignoreModelChangeEvent = !1), t && this._widget)) if (this._editor === t) this._widget.show(i), this._widget.focusOnReferenceTree(); else { const r = e.get(t), s = this._model.clone(); this.closeWidget(), t.focus(), r.toggleWidget( i, (0, de.PG)((e) => Promise.resolve(s)), null !== (n = this._peekMode) && void 0 !== n && n ); } else this.closeWidget(); }, (e) => { (this._ignoreModelChangeEvent = !1), (0, r.dL)(e); } ); } openReference(e, t) { t || this.closeWidget(); const { uri: i, range: n } = e; this._editorService.openCodeEditor( { resource: i, options: { selection: n } }, this._editor, t ); } }; function be(e, t) { const i = (0, V.rc)(e); if (!i) return; let n = _e.get(i); n && t(n); } (_e.ID = 'editor.contrib.referencesController'), (_e = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ fe(2, l.i6), fe(3, o.$), fe(4, ce.lT), fe(5, a.TG), fe(6, d.Uy), fe(7, c.Ui), ], _e )), he.W.registerCommandAndKeybindingRule({ id: 'togglePeekWidgetFocus', weight: 100, primary: (0, ue.gx)(2089, 60), when: l.Ao.or(me, V.Jy.inPeekEditor), handler(e) { be(e, (e) => { e.changeFocusBetweenPreviewAndReferences(); }); }, }), he.W.registerCommandAndKeybindingRule({ id: 'goToNextReference', weight: 90, primary: 62, secondary: [70], when: l.Ao.or(me, V.Jy.inPeekEditor), handler(e) { be(e, (e) => { e.goToNextOrPreviousReference(!0); }); }, }), he.W.registerCommandAndKeybindingRule({ id: 'goToPreviousReference', weight: 90, primary: 1086, secondary: [1094], when: l.Ao.or(me, V.Jy.inPeekEditor), handler(e) { be(e, (e) => { e.goToNextOrPreviousReference(!1); }); }, }), ge.P.registerCommandAlias( 'goToNextReferenceFromEmbeddedEditor', 'goToNextReference' ), ge.P.registerCommandAlias( 'goToPreviousReferenceFromEmbeddedEditor', 'goToPreviousReference' ), ge.P.registerCommandAlias( 'closeReferenceSearchEditor', 'closeReferenceSearch' ), ge.P.registerCommand('closeReferenceSearch', (e) => be(e, (e) => e.closeWidget()) ), he.W.registerKeybindingRule({ id: 'closeReferenceSearch', weight: -1, primary: 9, secondary: [1033], when: l.Ao.and( V.Jy.inPeekEditor, l.Ao.not('config.editor.stablePeek') ), }), he.W.registerKeybindingRule({ id: 'closeReferenceSearch', weight: 250, primary: 9, secondary: [1033], when: l.Ao.and(me, l.Ao.not('config.editor.stablePeek')), }), he.W.registerCommandAndKeybindingRule({ id: 'revealReference', weight: 200, primary: 3, mac: { primary: 3, secondary: [2066] }, when: l.Ao.and(me, H.CQ), handler(e) { var t; const i = null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t ? void 0 : t.getFocus(); Array.isArray(i) && i[0] instanceof h.WX && be(e, (e) => e.revealReference(i[0])); }, }), he.W.registerCommandAndKeybindingRule({ id: 'openReferenceToSide', weight: 100, primary: 2051, mac: { primary: 259 }, when: l.Ao.and(me, H.CQ), handler(e) { var t; const i = null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t ? void 0 : t.getFocus(); Array.isArray(i) && i[0] instanceof h.WX && be(e, (e) => e.openReference(i[0], !0)); }, }), ge.P.registerCommand('openReference', (e) => { var t; const i = null === (t = e.get(H.Lw).lastFocusedList) || void 0 === t ? void 0 : t.getFocus(); Array.isArray(i) && i[0] instanceof h.WX && be(e, (e) => e.openReference(i[0], !1)); }); }, 71455: (e, t, i) => { 'use strict'; i.d(t, { WX: () => u, F2: () => f, oQ: () => p }); var n = i(63580), r = i(4669), s = i(95935), o = i(5976), a = i(97295), l = i(44742), c = i(24314), d = i(43702), h = i(17301); class u { constructor(e, t, i, n, r) { (this.isProviderFirst = e), (this.parent = t), (this.uri = i), (this._range = n), (this._rangeCallback = r), (this.id = l.a.nextId()); } get range() { return this._range; } set range(e) { (this._range = e), this._rangeCallback(this); } get ariaMessage() { return (0, n.N)( 'aria.oneReference', 'symbol in {0} on line {1} at column {2}', (0, s.EZ)(this.uri), this.range.startLineNumber, this.range.startColumn ); } } class g { constructor(e) { this._modelReference = e; } dispose() { this._modelReference.dispose(); } preview(e, t = 8) { const i = this._modelReference.object.textEditorModel; if (!i) return; const { startLineNumber: n, startColumn: r, endLineNumber: s, endColumn: o, } = e, a = i.getWordUntilPosition({ lineNumber: n, column: r - t }), l = new c.e(n, a.startColumn, n, r), d = new c.e(s, o, s, 1073741824), h = i.getValueInRange(l).replace(/^\s+/, ''), u = i.getValueInRange(e); return { value: h + u + i.getValueInRange(d).replace(/\s+$/, ''), highlight: { start: h.length, end: h.length + u.length }, }; } } class f { constructor(e, t) { (this.parent = e), (this.uri = t), (this.children = []), (this._previews = new d.Y9()); } dispose() { (0, o.B9)(this._previews.values()), this._previews.clear(); } getPreview(e) { return this._previews.get(e.uri); } get ariaMessage() { const e = this.children.length; return 1 === e ? (0, n.N)( 'aria.fileReferences.1', '1 symbol in {0}, full path {1}', (0, s.EZ)(this.uri), this.uri.fsPath ) : (0, n.N)( 'aria.fileReferences.N', '{0} symbols in {1}, full path {2}', e, (0, s.EZ)(this.uri), this.uri.fsPath ); } resolve(e) { return ( (t = this), (i = void 0), (r = function* () { if (0 !== this._previews.size) return this; for (let t of this.children) if (!this._previews.has(t.uri)) try { const i = yield e.createModelReference(t.uri); this._previews.set(t.uri, new g(i)); } catch (e) { (0, h.dL)(e); } return this; }), new ((n = void 0) || (n = Promise))(function (e, s) { function o(e) { try { l(r.next(e)); } catch (e) { s(e); } } function a(e) { try { l(r.throw(e)); } catch (e) { s(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof n ? i : new n(function (e) { e(i); })).then(o, a); } l((r = r.apply(t, i || [])).next()); }) ); var t, i, n, r; } } class p { constructor(e, t) { (this._disposables = new o.SL()), (this.groups = []), (this.references = []), (this._onDidChangeReferenceRange = new r.Q5()), (this.onDidChangeReferenceRange = this._onDidChangeReferenceRange.event), (this._links = e), (this._title = t); const [i] = e; let n; e.sort(p._compareReferences); for (let t of e) if ( ((n && s.SF.isEqual(n.uri, t.uri, !0)) || ((n = new f(this, t.uri)), this.groups.push(n)), 0 === n.children.length || 0 !== p._compareReferences(t, n.children[n.children.length - 1])) ) { const e = new u( i === t, n, t.uri, t.targetSelectionRange || t.range, (e) => this._onDidChangeReferenceRange.fire(e) ); this.references.push(e), n.children.push(e); } } dispose() { (0, o.B9)(this.groups), this._disposables.dispose(), this._onDidChangeReferenceRange.dispose(), (this.groups.length = 0); } clone() { return new p(this._links, this._title); } get title() { return this._title; } get isEmpty() { return 0 === this.groups.length; } get ariaMessage() { return this.isEmpty ? (0, n.N)('aria.result.0', 'No results found') : 1 === this.references.length ? (0, n.N)( 'aria.result.1', 'Found 1 symbol in {0}', this.references[0].uri.fsPath ) : 1 === this.groups.length ? (0, n.N)( 'aria.result.n1', 'Found {0} symbols in {1}', this.references.length, this.groups[0].uri.fsPath ) : (0, n.N)( 'aria.result.nm', 'Found {0} symbols in {1} files', this.references.length, this.groups.length ); } nextOrPreviousReference(e, t) { let { parent: i } = e, n = i.children.indexOf(e), r = i.children.length, s = i.parent.groups.length; return 1 === s || (t && n + 1 < r) || (!t && n > 0) ? ((n = t ? (n + 1) % r : (n + r - 1) % r), i.children[n]) : ((n = i.parent.groups.indexOf(i)), t ? ((n = (n + 1) % s), i.parent.groups[n].children[0]) : ((n = (n + s - 1) % s), i.parent.groups[n].children[ i.parent.groups[n].children.length - 1 ])); } nearestReference(e, t) { const i = this.references .map((i, n) => ({ idx: n, prefixLen: a.Mh(i.uri.toString(), e.toString()), offsetDist: 100 * Math.abs(i.range.startLineNumber - t.lineNumber) + Math.abs(i.range.startColumn - t.column), })) .sort((e, t) => e.prefixLen > t.prefixLen ? -1 : e.prefixLen < t.prefixLen ? 1 : e.offsetDist < t.offsetDist ? -1 : e.offsetDist > t.offsetDist ? 1 : 0 )[0]; if (i) return this.references[i.idx]; } referenceAt(e, t) { for (const i of this.references) if ( i.uri.toString() === e.toString() && c.e.containsPosition(i.range, t) ) return i; } firstReference() { for (const e of this.references) if (e.isProviderFirst) return e; return this.references[0]; } static _compareReferences(e, t) { return ( s.SF.compare(e.uri, t.uri) || c.e.compareRangesUsingStarts(e.range, t.range) ); } } }, 25217: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { ModesHoverController: () => ue }); var n = i(63580), r = i(22258), s = i(5976), o = i(16830), a = i(24314), l = i(29102), c = i(71531), d = i(65321), h = i(71050), u = i(41264), g = i(59365), f = i(50187), p = i(3411), m = i(43775), _ = i(83308), b = i(64494), v = i(4669); class y { constructor(e, t, i) { (this.presentationIndex = i), (this._onColorFlushed = new v.Q5()), (this.onColorFlushed = this._onColorFlushed.event), (this._onDidChangeColor = new v.Q5()), (this.onDidChangeColor = this._onDidChangeColor.event), (this._onDidChangePresentation = new v.Q5()), (this.onDidChangePresentation = this._onDidChangePresentation.event), (this.originalColor = e), (this._color = e), (this._colorPresentations = t); } get color() { return this._color; } set color(e) { this._color.equals(e) || ((this._color = e), this._onDidChangeColor.fire(e)); } get presentation() { return this.colorPresentations[this.presentationIndex]; } get colorPresentations() { return this._colorPresentations; } set colorPresentations(e) { (this._colorPresentations = e), this.presentationIndex > e.length - 1 && (this.presentationIndex = 0), this._onDidChangePresentation.fire(this.presentation); } selectNextColorPresentation() { (this.presentationIndex = (this.presentationIndex + 1) % this.colorPresentations.length), this.flushColor(), this._onDidChangePresentation.fire(this.presentation); } guessColorPresentation(e, t) { for (let e = 0; e < this.colorPresentations.length; e++) if (t.toLowerCase() === this.colorPresentations[e].label) { (this.presentationIndex = e), this._onDidChangePresentation.fire(this.presentation); break; } } flushColor() { this._onColorFlushed.fire(this._color); } } var w = i(16268), C = i(57974), S = i(93794), k = i(73910), x = i(97781); const L = d.$; class M extends s.JT { constructor(e, t, i) { super(), (this.model = t), (this.domNode = L('.colorpicker-header')), d.R3(e, this.domNode), (this.pickedColorNode = d.R3(this.domNode, L('.picked-color'))); const n = d.R3(this.domNode, L('.original-color')); (n.style.backgroundColor = u.Il.Format.CSS.format(this.model.originalColor) || ''), (this.backgroundColor = i.getColorTheme().getColor(k.yJ) || u.Il.white), this._register( (0, x.Ic)((e, t) => { this.backgroundColor = e.getColor(k.yJ) || u.Il.white; }) ), this._register( d.nm(this.pickedColorNode, d.tw.CLICK, () => this.model.selectNextColorPresentation() ) ), this._register( d.nm(n, d.tw.CLICK, () => { (this.model.color = this.model.originalColor), this.model.flushColor(); }) ), this._register(t.onDidChangeColor(this.onDidChangeColor, this)), this._register( t.onDidChangePresentation(this.onDidChangePresentation, this) ), (this.pickedColorNode.style.backgroundColor = u.Il.Format.CSS.format(t.color) || ''), d.og( this.pickedColorNode, 'light', t.color.rgba.a < 0.5 ? this.backgroundColor.isLighter() : t.color.isLighter() ); } onDidChangeColor(e) { (this.pickedColorNode.style.backgroundColor = u.Il.Format.CSS.format(e) || ''), d.og( this.pickedColorNode, 'light', e.rgba.a < 0.5 ? this.backgroundColor.isLighter() : e.isLighter() ), this.onDidChangePresentation(); } onDidChangePresentation() { this.pickedColorNode.textContent = this.model.presentation ? this.model.presentation.label : ''; } } class D extends s.JT { constructor(e, t, i) { super(), (this.model = t), (this.pixelRatio = i), (this.domNode = L('.colorpicker-body')), d.R3(e, this.domNode), (this.saturationBox = new N( this.domNode, this.model, this.pixelRatio )), this._register(this.saturationBox), this._register( this.saturationBox.onDidChange( this.onDidSaturationValueChange, this ) ), this._register( this.saturationBox.onColorFlushed(this.flushColor, this) ), (this.opacityStrip = new T(this.domNode, this.model)), this._register(this.opacityStrip), this._register( this.opacityStrip.onDidChange(this.onDidOpacityChange, this) ), this._register( this.opacityStrip.onColorFlushed(this.flushColor, this) ), (this.hueStrip = new I(this.domNode, this.model)), this._register(this.hueStrip), this._register( this.hueStrip.onDidChange(this.onDidHueChange, this) ), this._register( this.hueStrip.onColorFlushed(this.flushColor, this) ); } flushColor() { this.model.flushColor(); } onDidSaturationValueChange({ s: e, v: t }) { const i = this.model.color.hsva; this.model.color = new u.Il(new u.tx(i.h, e, t, i.a)); } onDidOpacityChange(e) { const t = this.model.color.hsva; this.model.color = new u.Il(new u.tx(t.h, t.s, t.v, e)); } onDidHueChange(e) { const t = this.model.color.hsva, i = 360 * (1 - e); this.model.color = new u.Il( new u.tx(360 === i ? 0 : i, t.s, t.v, t.a) ); } layout() { this.saturationBox.layout(), this.opacityStrip.layout(), this.hueStrip.layout(); } } class N extends s.JT { constructor(e, t, i) { super(), (this.model = t), (this.pixelRatio = i), (this._onDidChange = new v.Q5()), (this.onDidChange = this._onDidChange.event), (this._onColorFlushed = new v.Q5()), (this.onColorFlushed = this._onColorFlushed.event), (this.domNode = L('.saturation-wrap')), d.R3(e, this.domNode), (this.canvas = document.createElement('canvas')), (this.canvas.className = 'saturation-box'), d.R3(this.domNode, this.canvas), (this.selection = L('.saturation-selection')), d.R3(this.domNode, this.selection), this.layout(), this._register(d.Lo(this.domNode, (e) => this.onMouseDown(e))), this._register( this.model.onDidChangeColor(this.onDidChangeColor, this) ), (this.monitor = null); } onMouseDown(e) { this.monitor = this._register(new C.Z()); const t = d.i(this.domNode); e.target !== this.selection && this.onDidChangePosition(e.offsetX, e.offsetY), this.monitor.startMonitoring( e.target, e.buttons, C.e, (e) => this.onDidChangePosition(e.posx - t.left, e.posy - t.top), () => null ); const i = d.qV( document, () => { this._onColorFlushed.fire(), i.dispose(), this.monitor && (this.monitor.stopMonitoring(!0), (this.monitor = null)); }, !0 ); } onDidChangePosition(e, t) { const i = Math.max(0, Math.min(1, e / this.width)), n = Math.max(0, Math.min(1, 1 - t / this.height)); this.paintSelection(i, n), this._onDidChange.fire({ s: i, v: n }); } layout() { (this.width = this.domNode.offsetWidth), (this.height = this.domNode.offsetHeight), (this.canvas.width = this.width * this.pixelRatio), (this.canvas.height = this.height * this.pixelRatio), this.paint(); const e = this.model.color.hsva; this.paintSelection(e.s, e.v); } paint() { const e = this.model.color.hsva, t = new u.Il(new u.tx(e.h, 1, 1, 1)), i = this.canvas.getContext('2d'), n = i.createLinearGradient(0, 0, this.canvas.width, 0); n.addColorStop(0, 'rgba(255, 255, 255, 1)'), n.addColorStop(0.5, 'rgba(255, 255, 255, 0.5)'), n.addColorStop(1, 'rgba(255, 255, 255, 0)'); const r = i.createLinearGradient(0, 0, 0, this.canvas.height); r.addColorStop(0, 'rgba(0, 0, 0, 0)'), r.addColorStop(1, 'rgba(0, 0, 0, 1)'), i.rect(0, 0, this.canvas.width, this.canvas.height), (i.fillStyle = u.Il.Format.CSS.format(t)), i.fill(), (i.fillStyle = n), i.fill(), (i.fillStyle = r), i.fill(); } paintSelection(e, t) { (this.selection.style.left = e * this.width + 'px'), (this.selection.style.top = this.height - t * this.height + 'px'); } onDidChangeColor() { (this.monitor && this.monitor.isMonitoring()) || this.paint(); } } class E extends s.JT { constructor(e, t) { super(), (this.model = t), (this._onDidChange = new v.Q5()), (this.onDidChange = this._onDidChange.event), (this._onColorFlushed = new v.Q5()), (this.onColorFlushed = this._onColorFlushed.event), (this.domNode = d.R3(e, L('.strip'))), (this.overlay = d.R3(this.domNode, L('.overlay'))), (this.slider = d.R3(this.domNode, L('.slider'))), (this.slider.style.top = '0px'), this._register(d.Lo(this.domNode, (e) => this.onMouseDown(e))), this.layout(); } layout() { this.height = this.domNode.offsetHeight - this.slider.offsetHeight; const e = this.getValue(this.model.color); this.updateSliderPosition(e); } onMouseDown(e) { const t = this._register(new C.Z()), i = d.i(this.domNode); d.cn(this.domNode, 'grabbing'), e.target !== this.slider && this.onDidChangeTop(e.offsetY), t.startMonitoring( e.target, e.buttons, C.e, (e) => this.onDidChangeTop(e.posy - i.top), () => null ); const n = d.qV( document, () => { this._onColorFlushed.fire(), n.dispose(), t.stopMonitoring(!0), d.IV(this.domNode, 'grabbing'); }, !0 ); } onDidChangeTop(e) { const t = Math.max(0, Math.min(1, 1 - e / this.height)); this.updateSliderPosition(t), this._onDidChange.fire(t); } updateSliderPosition(e) { this.slider.style.top = (1 - e) * this.height + 'px'; } } class T extends E { constructor(e, t) { super(e, t), d.cn(this.domNode, 'opacity-strip'), this._register(t.onDidChangeColor(this.onDidChangeColor, this)), this.onDidChangeColor(this.model.color); } onDidChangeColor(e) { const { r: t, g: i, b: n } = e.rgba, r = new u.Il(new u.VS(t, i, n, 1)), s = new u.Il(new u.VS(t, i, n, 0)); this.overlay.style.background = `linear-gradient(to bottom, ${r} 0%, ${s} 100%)`; } getValue(e) { return e.hsva.a; } } class I extends E { constructor(e, t) { super(e, t), d.cn(this.domNode, 'hue-strip'); } getValue(e) { return 1 - e.hsva.h / 360; } } class O extends S.$ { constructor(e, t, i, n) { super(), (this.model = t), (this.pixelRatio = i), this._register((0, w.fX)(() => this.layout())); const r = L('.colorpicker-widget'); e.appendChild(r); const s = new M(r, this.model, n); (this.body = new D(r, this.model, this.pixelRatio)), this._register(s), this._register(this.body); } layout() { this.body.layout(); } } var A = i(9488), R = i(17301); function P(e, t, i) { const n = m.xp.ordered(e).map((n) => Promise.resolve(n.provideHover(e, t, i)).then( (e) => e && (function (e) { const t = void 0 !== e.range, i = void 0 !== e.contents && e.contents && e.contents.length > 0; return t && i; })(e) ? e : void 0, (e) => { (0, R.Cp)(e); } ) ); return Promise.all(n).then(A.kX); } (0, o.sb)('_executeHoverProvider', (e, t) => P(e, t, h.T.None)); var F = i(15393); class B { constructor(e, t, i, n, r) { (this._computer = e), (this._state = 0), (this._hoverTime = r), (this._firstWaitScheduler = new F.pY( () => this._triggerAsyncComputation(), 0 )), (this._secondWaitScheduler = new F.pY( () => this._triggerSyncComputation(), 0 )), (this._loadingMessageScheduler = new F.pY( () => this._showLoadingMessage(), 0 )), (this._asyncComputationPromise = null), (this._asyncComputationPromiseDone = !1), (this._completeCallback = t), (this._errorCallback = i), (this._progressCallback = n); } setHoverTime(e) { this._hoverTime = e; } _firstWaitTime() { return this._hoverTime / 2; } _secondWaitTime() { return this._hoverTime / 2; } _loadingMessageTime() { return 3 * this._hoverTime; } _triggerAsyncComputation() { (this._state = 2), this._secondWaitScheduler.schedule(this._secondWaitTime()), this._computer.computeAsync ? ((this._asyncComputationPromiseDone = !1), (this._asyncComputationPromise = (0, F.PG)((e) => this._computer.computeAsync(e) )), this._asyncComputationPromise.then( (e) => { (this._asyncComputationPromiseDone = !0), this._withAsyncResult(e); }, (e) => this._onError(e) )) : (this._asyncComputationPromiseDone = !0); } _triggerSyncComputation() { this._computer.computeSync && this._computer.onResult(this._computer.computeSync(), !0), this._asyncComputationPromiseDone ? ((this._state = 0), this._onComplete(this._computer.getResult())) : ((this._state = 3), this._onProgress(this._computer.getResult())); } _showLoadingMessage() { 3 === this._state && this._onProgress(this._computer.getResultWithLoadingMessage()); } _withAsyncResult(e) { e && this._computer.onResult(e, !1), 3 === this._state && ((this._state = 0), this._onComplete(this._computer.getResult())); } _onComplete(e) { this._completeCallback(e); } _onError(e) { this._errorCallback ? this._errorCallback(e) : (0, R.dL)(e); } _onProgress(e) { this._progressCallback(e); } start(e) { if (0 === e) 0 === this._state && ((this._state = 1), this._firstWaitScheduler.schedule(this._firstWaitTime()), this._loadingMessageScheduler.schedule( this._loadingMessageTime() )); else switch (this._state) { case 0: this._triggerAsyncComputation(), this._secondWaitScheduler.cancel(), this._triggerSyncComputation(); break; case 2: this._secondWaitScheduler.cancel(), this._triggerSyncComputation(); } } cancel() { this._loadingMessageScheduler.cancel(), 1 === this._state && this._firstWaitScheduler.cancel(), 2 === this._state && (this._secondWaitScheduler.cancel(), this._asyncComputationPromise && (this._asyncComputationPromise.cancel(), (this._asyncComputationPromise = null))), 3 === this._state && this._asyncComputationPromise && (this._asyncComputationPromise.cancel(), (this._asyncComputationPromise = null)), (this._state = 0); } } var W = i(9802); const Y = d.$; class H extends s.JT { constructor() { super(), (this.containerDomNode = document.createElement('div')), (this.containerDomNode.className = 'monaco-hover'), (this.containerDomNode.tabIndex = 0), this.containerDomNode.setAttribute('role', 'tooltip'), (this.contentsDomNode = document.createElement('div')), (this.contentsDomNode.className = 'monaco-hover-content'), (this._scrollbar = this._register( new W.s$(this.contentsDomNode, {}) )), this.containerDomNode.appendChild(this._scrollbar.getDomNode()); } onContentsChanged() { this._scrollbar.scanDomNode(); } } class j extends S.$ { constructor(e, t, i, n) { super(), (this._hoverVisibleKey = i), (this._keybindingService = n), (this.allowEditorOverflow = !0), (this._hover = this._register(new H())), (this._id = e), (this._editor = t), (this._isVisible = !1), (this._stoleFocus = !1), this.onkeydown(this._hover.containerDomNode, (e) => { e.equals(9) && this.hide(); }), this._register( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(36) && this.updateFont(); }) ), this._editor.onDidLayoutChange((e) => this.layout()), this.layout(), this._editor.addContentWidget(this), (this._showAtPosition = null), (this._showAtRange = null), (this._stoleFocus = !1); } get isVisible() { return this._isVisible; } set isVisible(e) { (this._isVisible = e), d.og(this._hover.containerDomNode, 'hidden', !this._isVisible); } getId() { return this._id; } getDomNode() { return this._hover.containerDomNode; } showAt(e, t, i) { (this._showAtPosition = e), (this._showAtRange = t), this._hoverVisibleKey.set(!0), (this.isVisible = !0), this._editor.layoutContentWidget(this), this._editor.render(), (this._stoleFocus = i), i && this._hover.containerDomNode.focus(); } hide() { this.isVisible && (setTimeout(() => { this.isVisible || this._hoverVisibleKey.set(!1); }, 0), (this.isVisible = !1), this._editor.layoutContentWidget(this), this._stoleFocus && this._editor.focus()); } getPosition() { return this.isVisible ? { position: this._showAtPosition, range: this._showAtRange, preference: [1, 2], } : null; } dispose() { this._editor.removeContentWidget(this), super.dispose(); } updateFont() { Array.prototype.slice .call(this._hover.contentsDomNode.getElementsByClassName('code')) .forEach((e) => this._editor.applyFontInfo(e)); } updateContents(e) { (this._hover.contentsDomNode.textContent = ''), this._hover.contentsDomNode.appendChild(e), this.updateFont(), this._editor.layoutContentWidget(this), this._hover.onContentsChanged(); } _renderAction(e, t) { const i = this._keybindingService.lookupKeybinding(t.commandId); return (function (e, t, i) { const n = d.R3(e, Y('div.action-container')), r = d.R3(n, Y('a.action')); return ( r.setAttribute('href', '#'), r.setAttribute('role', 'button'), t.iconClass && d.R3(r, Y(`span.icon.${t.iconClass}`)), (d.R3(r, Y('span')).textContent = i ? `${t.label} (${i})` : t.label), d.nm(n, d.tw.CLICK, (e) => { e.stopPropagation(), e.preventDefault(), t.run(n); }) ); })(e, t, i ? i.getLabel() : null); } layout() { const e = Math.max(this._editor.getLayoutInfo().height / 4, 250), { fontSize: t, lineHeight: i } = this._editor.getOption(36); (this._hover.contentsDomNode.style.fontSize = `${t}px`), (this._hover.contentsDomNode.style.lineHeight = `${i}px`), (this._hover.contentsDomNode.style.maxHeight = `${e}px`), (this._hover.contentsDomNode.style.maxWidth = `${Math.max( 0.66 * this._editor.getLayoutInfo().width, 500 )}px`); } } class V extends S.$ { constructor(e, t) { super(), (this._id = e), (this._editor = t), (this._isVisible = !1), (this._domNode = document.createElement('div')), (this._domNode.className = 'monaco-hover hidden'), this._domNode.setAttribute('aria-hidden', 'true'), this._domNode.setAttribute('role', 'tooltip'), (this._showAtLineNumber = -1), this._register( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(36) && this.updateFont(); }) ), this._editor.addOverlayWidget(this); } get isVisible() { return this._isVisible; } set isVisible(e) { (this._isVisible = e), d.og(this._domNode, 'hidden', !this._isVisible); } getId() { return this._id; } getDomNode() { return this._domNode; } showAt(e) { (this._showAtLineNumber = e), this.isVisible || (this.isVisible = !0); const t = this._editor.getLayoutInfo(), i = this._editor.getTopForLineNumber(this._showAtLineNumber), n = this._editor.getScrollTop(), r = this._editor.getOption(51), s = i - n - (this._domNode.clientHeight - r) / 2; (this._domNode.style.left = `${ t.glyphMarginLeft + t.glyphMarginWidth }px`), (this._domNode.style.top = `${Math.max(Math.round(s), 0)}px`); } hide() { this.isVisible && (this.isVisible = !1); } getPosition() { return null; } dispose() { this._editor.removeOverlayWidget(this), super.dispose(); } updateFont() { [ ...Array.prototype.slice.call( this._domNode.getElementsByTagName('code') ), ...Array.prototype.slice.call( this._domNode.getElementsByClassName('code') ), ].forEach((e) => this._editor.applyFontInfo(e)); } updateContents(e) { (this._domNode.textContent = ''), this._domNode.appendChild(e), this.updateFont(); } } var z = i(53335), U = i(98674), $ = i(95935), K = i(50988), q = i(42698), G = i(31907), Z = i(23674), J = i(89532), Q = i(90535); const X = d.$; class ee { constructor(e, t, i) { (this.range = e), (this.color = t), (this.provider = i); } } class te { constructor(e, t) { (this.range = e), (this.marker = t); } } class ie { constructor(e, t) { (this._markerDecorationsService = t), (this._editor = e), (this._result = []); } setRange(e) { (this._range = e), (this._result = []); } clearResult() { this._result = []; } computeAsync(e) { if (!this._editor.hasModel() || !this._range) return Promise.resolve([]); const t = this._editor.getModel(); return m.xp.has(t) ? P( t, new f.L(this._range.startLineNumber, this._range.startColumn), e ) : Promise.resolve([]); } computeSync() { if (!this._editor.hasModel() || !this._range) return []; const e = this._editor.getModel(), t = this._range.startLineNumber; if (t > this._editor.getModel().getLineCount()) return []; const i = b.ColorDetector.get(this._editor), n = e.getLineMaxColumn(t), r = this._editor.getLineDecorations(t); let s = !1; const o = this._range, l = r.map((r) => { const l = r.range.startLineNumber === t ? r.range.startColumn : 1, c = r.range.endLineNumber === t ? r.range.endColumn : n; if (l > o.startColumn || o.endColumn > c) return null; const d = new a.e(o.startLineNumber, l, o.startLineNumber, c), h = this._markerDecorationsService.getMarker(e, r); if (h) return new te(d, h); const u = i.getColorData(r.range.getStartPosition()); if (!s && u) { s = !0; const { color: e, range: t } = u.colorInfo; return new ee(t, e, u.provider); } return (0, g.CP)(r.options.hoverMessage) ? null : { contents: r.options.hoverMessage ? (0, A._2)(r.options.hoverMessage) : [], range: d, }; }); return (0, A.kX)(l); } onResult(e, t) { this._result = t ? e.concat( this._result.sort((e, t) => e instanceof ee ? -1 : t instanceof ee ? 1 : 0 ) ) : this._result.concat(e); } getResult() { return this._result.slice(0); } getResultWithLoadingMessage() { return this._result.slice(0).concat([this._getLoadingMessage()]); } _getLoadingMessage() { return { range: this._range, contents: [ new g.W5().appendText( n.N('modesContentHover.loading', 'Loading...') ), ], }; } } const ne = { type: 2, filter: { include: J.yN.QuickFix } }; class re extends j { constructor(e, t, i, n, r, o, a = K.SW) { super(re.ID, e, t, n), (this._themeService = r), (this._modeService = o), (this._openerService = a), (this.renderDisposable = this._register(new s.XK())), (this._messages = []), (this._lastRange = null), (this._computer = new ie(this._editor, i)), (this._highlightDecorations = []), (this._isChangingDecorations = !1), (this._shouldFocus = !1), (this._colorPicker = null), (this._hoverOperation = new B( this._computer, (e) => this._withResult(e, !0), null, (e) => this._withResult(e, !1), this._editor.getOption(46).delay )), this._register( d.mu(this.getDomNode(), d.tw.FOCUS, () => { this._colorPicker && d.cn(this.getDomNode(), 'colorpicker-hover'); }) ), this._register( d.mu(this.getDomNode(), d.tw.BLUR, () => { d.IV(this.getDomNode(), 'colorpicker-hover'); }) ), this._register( e.onDidChangeConfiguration((e) => { this._hoverOperation.setHoverTime( this._editor.getOption(46).delay ); }) ), this._register( m.RW.onDidChange((e) => { this.isVisible && this._lastRange && this._messages.length > 0 && ((this._hover.contentsDomNode.textContent = ''), this._renderMessages(this._lastRange, this._messages)); }) ); } dispose() { this._hoverOperation.cancel(), super.dispose(); } onModelDecorationsChanged() { this._isChangingDecorations || (this.isVisible && (this._hoverOperation.cancel(), this._computer.clearResult(), this._colorPicker || this._hoverOperation.start(0))); } startShowingAt(e, t, i) { if (!this._lastRange || !this._lastRange.equalsRange(e)) { if ((this._hoverOperation.cancel(), this.isVisible)) if ( this._showAtPosition && this._showAtPosition.lineNumber === e.startLineNumber ) { let t = []; for (let i = 0, n = this._messages.length; i < n; i++) { const n = this._messages[i], r = n.range; r && r.startColumn <= e.startColumn && r.endColumn >= e.endColumn && t.push(n); } if (t.length > 0) { if ( (function (e, t) { if ((!e && t) || (e && !t) || e.length !== t.length) return !1; for (let i = 0; i < e.length; i++) { const n = e[i], r = t[i]; if (n instanceof te && r instanceof te) return ( U.H0.makeKey(n.marker) === U.H0.makeKey(r.marker) ); if (n instanceof ee || r instanceof ee) return !1; if (n instanceof te || r instanceof te) return !1; if (!(0, g.W6)(n.contents, r.contents)) return !1; } return !0; })(t, this._messages) ) return; this._renderMessages(e, t); } else this.hide(); } else this.hide(); (this._lastRange = e), this._computer.setRange(e), (this._shouldFocus = i), this._hoverOperation.start(t); } } hide() { (this._lastRange = null), this._hoverOperation.cancel(), super.hide(), (this._isChangingDecorations = !0), (this._highlightDecorations = this._editor.deltaDecorations( this._highlightDecorations, [] )), (this._isChangingDecorations = !1), this.renderDisposable.clear(), (this._colorPicker = null); } isColorPickerVisible() { return !!this._colorPicker; } _withResult(e, t) { (this._messages = e), this._lastRange && this._messages.length > 0 ? this._renderMessages(this._lastRange, this._messages) : t && this.hide(); } _renderMessages(e, t) { this.renderDisposable.dispose(), (this._colorPicker = null); let i = 1073741824, n = t[0].range ? a.e.lift(t[0].range) : null, r = document.createDocumentFragment(), o = !0, l = !1; const c = new s.SL(), p = []; if ( (t.forEach((e) => { if (e.range) if ( ((i = Math.min(i, e.range.startColumn)), (n = n ? a.e.plusRange(n, e.range) : a.e.lift(e.range)), e instanceof ee) ) { l = !0; const { red: t, green: i, blue: n, alpha: o } = e.color, d = new u.VS( Math.round(255 * t), Math.round(255 * i), Math.round(255 * n), o ), g = new u.Il(d); if (!this._editor.hasModel()) return; const f = this._editor.getModel(); let p = new a.e( e.range.startLineNumber, e.range.startColumn, e.range.endLineNumber, e.range.endColumn ), m = { range: e.range, color: e.color }; const b = new y(g, [], 0), v = new O( r, b, this._editor.getOption(115), this._themeService ); (0, _.R)(f, m, e.provider, h.T.None).then((t) => { if ( ((b.colorPresentations = t || []), !this._editor.hasModel()) ) return; const i = this._editor .getModel() .getValueInRange(e.range); b.guessColorPresentation(g, i); const n = () => { let e, t; b.presentation.textEdit ? ((e = [b.presentation.textEdit]), (t = new a.e( b.presentation.textEdit.range.startLineNumber, b.presentation.textEdit.range.startColumn, b.presentation.textEdit.range.endLineNumber, b.presentation.textEdit.range.endColumn )), (t = t.setEndPosition( t.endLineNumber, t.startColumn + b.presentation.textEdit.text.length ))) : ((e = [ { identifier: null, range: p, text: b.presentation.label, forceMoveMarkers: !1, }, ]), (t = p.setEndPosition( p.endLineNumber, p.startColumn + b.presentation.label.length ))), this._editor.pushUndoStop(), this._editor.executeEdits('colorpicker', e), b.presentation.additionalTextEdits && ((e = [...b.presentation.additionalTextEdits]), this._editor.executeEdits('colorpicker', e), this.hide()), this._editor.pushUndoStop(), (p = t); }, o = (t) => (0, _.R)( f, { range: p, color: { red: t.rgba.r / 255, green: t.rgba.g / 255, blue: t.rgba.b / 255, alpha: t.rgba.a, }, }, e.provider, h.T.None ).then((e) => { b.colorPresentations = e || []; }), l = b.onColorFlushed((e) => { o(e).then(n); }), d = b.onDidChangeColor(o); (this._colorPicker = v), this.showAt(p.getStartPosition(), p, this._shouldFocus), this.updateContents(r), this._colorPicker.layout(), (this.renderDisposable.value = (0, s.F8)(l, d, v, c)); }); } else e instanceof te ? (p.push(e), (o = !1)) : e.contents .filter((e) => !(0, g.CP)(e)) .forEach((e) => { const t = X('div.hover-row.markdown-hover'), i = d.R3(t, X('div.hover-contents')), n = c.add( new z.$( this._editor, this._modeService, this._openerService ) ); c.add( n.onDidRenderCodeBlock(() => { (i.className = 'hover-contents code-hover-contents'), this._hover.onContentsChanged(); }) ); const s = c.add(n.render(e)); i.appendChild(s.element), r.appendChild(t), (o = !1); }); }), p.length) ) { p.forEach((e) => r.appendChild(this.renderMarkerHover(e))); const e = 1 === p.length ? p[0] : p.sort((e, t) => U.ZL.compare(e.marker.severity, t.marker.severity) )[0]; r.appendChild(this.renderMarkerStatusbar(e)); } l || o || (this.showAt(new f.L(e.startLineNumber, i), n, this._shouldFocus), this.updateContents(r)), (this._isChangingDecorations = !0), (this._highlightDecorations = this._editor.deltaDecorations( this._highlightDecorations, n ? [{ range: n, options: re._DECORATION_OPTIONS }] : [] )), (this._isChangingDecorations = !1); } renderMarkerHover(e) { const t = X('div.hover-row'), i = d.R3(t, X('div.marker.hover-contents')), { source: n, message: r, code: s, relatedInformation: o, } = e.marker; this._editor.applyFontInfo(i); const a = d.R3(i, X('span')); if (((a.style.whiteSpace = 'pre-wrap'), (a.innerText = r), n || s)) if (s && 'string' != typeof s) { const e = X('span'); n && (d.R3(e, X('span')).innerText = n), (this._codeLink = d.R3(e, X('a.code-link'))), this._codeLink.setAttribute('href', s.target.toString()), (this._codeLink.onclick = (e) => { this._openerService.open(s.target), e.preventDefault(), e.stopPropagation(); }), (d.R3(this._codeLink, X('span')).innerText = s.value); const t = d.R3(i, e); (t.style.opacity = '0.6'), (t.style.paddingLeft = '6px'); } else { const e = d.R3(i, X('span')); (e.style.opacity = '0.6'), (e.style.paddingLeft = '6px'), (e.innerText = n && s ? `${n}(${s})` : n || `(${s})`); } if ((0, A.Of)(o)) for (const { message: e, resource: t, startLineNumber: n, startColumn: r, } of o) { const s = d.R3(i, X('div')); s.style.marginTop = '8px'; const o = d.R3(s, X('a')); (o.innerText = `${(0, $.EZ)(t)}(${n}, ${r}): `), (o.style.cursor = 'pointer'), (o.onclick = (e) => { e.stopPropagation(), e.preventDefault(), this._openerService && this._openerService .open(t.with({ fragment: `${n},${r}` }), { fromUserGesture: !0, }) .catch(R.dL); }); const a = d.R3(s, X('span')); (a.innerText = e), this._editor.applyFontInfo(a); } return t; } renderMarkerStatusbar(e) { const t = X('div.hover-row.status-bar'), i = new s.SL(), r = d.R3(t, X('div.actions')); if ( ((e.marker.severity !== U.ZL.Error && e.marker.severity !== U.ZL.Warning && e.marker.severity !== U.ZL.Info) || i.add( this._renderAction(r, { label: n.N('peek problem', 'Peek Problem'), commandId: q.NextMarkerAction.ID, run: () => { this.hide(), q.MarkerController.get(this._editor).showAtMarker( e.marker ), this._editor.focus(); }, }) ), !this._editor.getOption(72)) ) { const t = d.R3(r, X('div')); (t.style.opacity = '0'), (t.style.transition = 'opacity 0.2s'), setTimeout(() => (t.style.opacity = '1'), 200), (t.textContent = n.N( 'checkingForQuickFixes', 'Checking for quick fixes...' )), i.add((0, s.OF)(() => t.remove())); const o = this.getCodeActions(e.marker); i.add((0, s.OF)(() => o.cancel())), o.then((e) => { if ( ((t.style.transition = ''), (t.style.opacity = '1'), !e.validActions.length) ) return ( e.dispose(), void (t.textContent = n.N( 'noQuickFixes', 'No quick fixes available' )) ); t.remove(); let o = !1; i.add( (0, s.OF)(() => { o || e.dispose(); }) ), i.add( this._renderAction(r, { label: n.N('quick fixes', 'Quick Fix...'), commandId: Z.E7.Id, run: (t) => { o = !0; const i = Z.pY.get(this._editor), n = d.i(t); this.hide(), i.showCodeActions(ne, e, { x: n.left + 6, y: n.top + n.height + 6, }); }, }) ); }); } return (this.renderDisposable.value = i), t; } getCodeActions(e) { return (0, F.PG)((t) => (0, G.aI)( this._editor.getModel(), new a.e( e.startLineNumber, e.startColumn, e.endLineNumber, e.endColumn ), ne, Q.E.None, t ) ); } } (re.ID = 'editor.contrib.modesContentHoverWidget'), (re._DECORATION_OPTIONS = p.qx.register({ className: 'hoverHighlight', })), (0, x.Ic)((e, t) => { const i = e.getColor(k.ur); i && t.addRule( `.monaco-hover .hover-contents a.code-link span:hover { color: ${i}; }` ); }); class se { constructor(e) { (this._editor = e), (this._lineNumber = -1), (this._result = []); } setLineNumber(e) { (this._lineNumber = e), (this._result = []); } clearResult() { this._result = []; } computeSync() { const e = (e) => ({ value: e }), t = this._editor.getLineDecorations(this._lineNumber), i = []; if (!t) return i; for (const n of t) { if (!n.options.glyphMarginClassName) continue; const t = n.options.glyphMarginHoverMessage; t && !(0, g.CP)(t) && i.push(...(0, A._2)(t).map(e)); } return i; } onResult(e, t) { this._result = this._result.concat(e); } getResult() { return this._result; } getResultWithLoadingMessage() { return this.getResult(); } } class oe extends V { constructor(e, t, i = K.SW) { super(oe.ID, e), (this._renderDisposeables = this._register(new s.SL())), (this._messages = []), (this._lastLineNumber = -1), (this._markdownRenderer = this._register( new z.$(this._editor, t, i) )), (this._computer = new se(this._editor)), (this._hoverOperation = new B( this._computer, (e) => this._withResult(e), void 0, (e) => this._withResult(e), 300 )); } dispose() { this._hoverOperation.cancel(), super.dispose(); } onModelDecorationsChanged() { this.isVisible && (this._hoverOperation.cancel(), this._computer.clearResult(), this._hoverOperation.start(0)); } startShowingAt(e) { this._lastLineNumber !== e && (this._hoverOperation.cancel(), this.hide(), (this._lastLineNumber = e), this._computer.setLineNumber(e), this._hoverOperation.start(0)); } hide() { (this._lastLineNumber = -1), this._hoverOperation.cancel(), super.hide(); } _withResult(e) { (this._messages = e), this._messages.length > 0 ? this._renderMessages(this._lastLineNumber, this._messages) : this.hide(); } _renderMessages(e, t) { this._renderDisposeables.clear(); const i = document.createDocumentFragment(); for (const e of t) { const t = this._markdownRenderer.render(e.value); this._renderDisposeables.add(t), i.appendChild((0, d.$)('div.hover-row', void 0, t.element)); } this.updateContents(i), this.showAt(e); } } oe.ID = 'editor.contrib.modesGlyphHoverWidget'; var ae = i(26479), le = i(91847), ce = i(10365), de = i(38819), he = function (e, t) { return function (i, n) { t(i, n, e); }; }; let ue = class e { constructor(e, t, i, n, r, o, a) { (this._editor = e), (this._openerService = t), (this._modeService = i), (this._markerDecorationsService = n), (this._keybindingService = r), (this._themeService = o), (this._toUnhook = new s.SL()), (this._contentWidget = new s.XK()), (this._glyphWidget = new s.XK()), (this._isMouseDown = !1), (this._hoverClicked = !1), this._hookEvents(), (this._didChangeConfigurationHandler = this._editor.onDidChangeConfiguration( (e) => { e.hasChanged(46) && (this._hideWidgets(), this._unhookEvents(), this._hookEvents()); } )), (this._hoverVisibleKey = l.u.hoverVisible.bindTo(a)); } get contentWidget() { return ( this._contentWidget.value || this._createHoverWidgets(), this._contentWidget.value ); } get glyphWidget() { return ( this._glyphWidget.value || this._createHoverWidgets(), this._glyphWidget.value ); } static get(t) { return t.getContribution(e.ID); } _hookEvents() { const e = () => this._hideWidgets(), t = this._editor.getOption(46); (this._isHoverEnabled = t.enabled), (this._isHoverSticky = t.sticky), this._isHoverEnabled ? (this._toUnhook.add( this._editor.onMouseDown((e) => this._onEditorMouseDown(e)) ), this._toUnhook.add( this._editor.onMouseUp((e) => this._onEditorMouseUp(e)) ), this._toUnhook.add( this._editor.onMouseMove((e) => this._onEditorMouseMove(e)) ), this._toUnhook.add( this._editor.onKeyDown((e) => this._onKeyDown(e)) ), this._toUnhook.add( this._editor.onDidChangeModelDecorations(() => this._onModelDecorationsChanged() ) )) : (this._toUnhook.add(this._editor.onMouseMove(e)), this._toUnhook.add( this._editor.onKeyDown((e) => this._onKeyDown(e)) )), this._toUnhook.add(this._editor.onMouseLeave(e)), this._toUnhook.add(this._editor.onDidChangeModel(e)), this._toUnhook.add( this._editor.onDidScrollChange((e) => this._onEditorScrollChanged(e) ) ); } _unhookEvents() { this._toUnhook.clear(); } _onModelDecorationsChanged() { this.contentWidget.onModelDecorationsChanged(), this.glyphWidget.onModelDecorationsChanged(); } _onEditorScrollChanged(e) { (e.scrollTopChanged || e.scrollLeftChanged) && this._hideWidgets(); } _onEditorMouseDown(e) { this._isMouseDown = !0; const t = e.target.type; 9 !== t || e.target.detail !== re.ID ? (12 === t && e.target.detail === oe.ID) || (12 !== t && e.target.detail !== oe.ID && (this._hoverClicked = !1), this._hideWidgets()) : (this._hoverClicked = !0); } _onEditorMouseUp(e) { this._isMouseDown = !1; } _onEditorMouseMove(e) { let t = e.target.type; if ( !( (this._isMouseDown && this._hoverClicked && this.contentWidget.isColorPickerVisible()) || (this._isHoverSticky && 9 === t && e.target.detail === re.ID) || (this._isHoverSticky && 12 === t && e.target.detail === oe.ID) ) ) { if (7 === t) { const i = this._editor.getOption(36).typicalHalfwidthCharacterWidth / 2, n = e.target.detail; n && !n.isAfterLines && 'number' == typeof n.horizontalDistanceToText && n.horizontalDistanceToText < i && (t = 6); } 6 === t ? (this.glyphWidget.hide(), this._isHoverEnabled && e.target.range && this.contentWidget.startShowingAt(e.target.range, 0, !1)) : 2 === t ? (this.contentWidget.hide(), this._isHoverEnabled && e.target.position && this.glyphWidget.startShowingAt( e.target.position.lineNumber )) : this._hideWidgets(); } } _onKeyDown(e) { 5 !== e.keyCode && 6 !== e.keyCode && 57 !== e.keyCode && 4 !== e.keyCode && this._hideWidgets(); } _hideWidgets() { !this._glyphWidget.value || !this._contentWidget.value || (this._isMouseDown && this._hoverClicked && this._contentWidget.value.isColorPickerVisible()) || (this._glyphWidget.value.hide(), this._contentWidget.value.hide()); } _createHoverWidgets() { (this._contentWidget.value = new re( this._editor, this._hoverVisibleKey, this._markerDecorationsService, this._keybindingService, this._themeService, this._modeService, this._openerService )), (this._glyphWidget.value = new oe( this._editor, this._modeService, this._openerService )); } showContentHover(e, t, i) { this.contentWidget.startShowingAt(e, t, i); } dispose() { this._unhookEvents(), this._toUnhook.dispose(), this._didChangeConfigurationHandler.dispose(), this._glyphWidget.dispose(), this._contentWidget.dispose(); } }; (ue.ID = 'editor.contrib.hover'), (ue = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ he(1, K.v4), he(2, c.h), he(3, ae.i), he(4, le.d), he(5, x.XE), he(6, de.i6), ], ue )); class ge extends o.R6 { constructor() { super({ id: 'editor.action.showHover', label: n.N( { key: 'showHover', comment: [ 'Label for action that will trigger the showing of a hover in the editor.', 'This allows for users to show the hover without using the mouse.', ], }, 'Show Hover' ), alias: 'Show Hover', precondition: void 0, kbOpts: { kbExpr: l.u.editorTextFocus, primary: (0, r.gx)(2089, 2087), weight: 100, }, }); } run(e, t) { if (!t.hasModel()) return; let i = ue.get(t); if (!i) return; const n = t.getPosition(), r = new a.e(n.lineNumber, n.column, n.lineNumber, n.column), s = 2 === t.getOption(2); i.showContentHover(r, 1, s); } } class fe extends o.R6 { constructor() { super({ id: 'editor.action.showDefinitionPreviewHover', label: n.N( { key: 'showDefinitionPreviewHover', comment: [ 'Label for action that will trigger the showing of definition preview hover in the editor.', 'This allows for users to show the definition preview hover without using the mouse.', ], }, 'Show Definition Preview Hover' ), alias: 'Show Definition Preview Hover', precondition: void 0, }); } run(e, t) { let i = ue.get(t); if (!i) return; const n = t.getPosition(); if (!n) return; const r = new a.e(n.lineNumber, n.column, n.lineNumber, n.column), s = ce.GotoDefinitionAtPositionEditorContribution.get( t ).startFindDefinitionFromCursor(n); s ? s.then(() => { i.showContentHover(r, 1, !0); }) : i.showContentHover(r, 1, !0); } } (0, o._K)(ue.ID, ue), (0, o.Qr)(ge), (0, o.Qr)(fe), (0, x.Ic)((e, t) => { const i = e.getColor(k.pt); i && t.addRule( `.monaco-editor .hoverHighlight { background-color: ${i}; }` ); const n = e.getColor(k.yJ); n && t.addRule( `.monaco-editor .monaco-hover { background-color: ${n}; }` ); const r = e.getColor(k.CN); r && (t.addRule( `.monaco-editor .monaco-hover { border: 1px solid ${r}; }` ), t.addRule( `.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${r.transparent( 0.5 )}; }` ), t.addRule( `.monaco-editor .monaco-hover hr { border-top: 1px solid ${r.transparent( 0.5 )}; }` ), t.addRule( `.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${r.transparent( 0.5 )}; }` )); const s = e.getColor(k.ur); s && t.addRule(`.monaco-editor .monaco-hover a { color: ${s}; }`); const o = e.getColor(k.Sb); o && t.addRule(`.monaco-editor .monaco-hover { color: ${o}; }`); const a = e.getColor(k.Lo); a && t.addRule( `.monaco-editor .monaco-hover .hover-row .actions { background-color: ${a}; }` ); const l = e.getColor(k.Sw); l && t.addRule( `.monaco-editor .monaco-hover code { background-color: ${l}; }` ); }); }, 83554: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(24314), s = i(3860), o = i(29102), a = i(16830), l = i(90469); class c { constructor(e, t, i) { (this._editRange = e), (this._originalSelection = t), (this._text = i); } getEditOperations(e, t) { t.addTrackedEditOperation(this._editRange, this._text); } computeCursorState(e, t) { const i = t.getInverseEditOperations()[0].range; return this._originalSelection.isEmpty() ? new s.Y( i.endLineNumber, Math.min(this._originalSelection.positionColumn, i.endColumn), i.endLineNumber, Math.min(this._originalSelection.positionColumn, i.endColumn) ) : new s.Y( i.endLineNumber, i.endColumn - this._text.length, i.endLineNumber, i.endColumn ); } } var d = i(39925), h = i(97781), u = i(27869), g = i(3411), f = i(15393), p = i(17301); let m = class e { constructor(e, t) { (this.decorationIds = []), (this.editor = e), (this.editorWorkerService = t); } static get(t) { return t.getContribution(e.ID); } dispose() {} run(t, i) { this.currentRequest && this.currentRequest.cancel(); const n = this.editor.getSelection(), o = this.editor.getModel(); if (!o || !n) return; let a = n; if (a.startLineNumber !== a.endLineNumber) return; const l = new d.yy(this.editor, 5), h = o.uri; return this.editorWorkerService.canNavigateValueSet(h) ? ((this.currentRequest = (0, f.PG)((e) => this.editorWorkerService.navigateValueSet(h, a, i) )), this.currentRequest .then((i) => { if (!i || !i.range || !i.value) return; if (!l.validate(this.editor)) return; let n = r.e.lift(i.range), o = i.range, d = i.value.length - (a.endColumn - a.startColumn); (o = { startLineNumber: o.startLineNumber, startColumn: o.startColumn, endLineNumber: o.endLineNumber, endColumn: o.startColumn + i.value.length, }), d > 1 && (a = new s.Y( a.startLineNumber, a.startColumn, a.endLineNumber, a.endColumn + d - 1 )); const h = new c(n, a, i.value); this.editor.pushUndoStop(), this.editor.executeCommand(t, h), this.editor.pushUndoStop(), (this.decorationIds = this.editor.deltaDecorations( this.decorationIds, [{ range: o, options: e.DECORATION }] )), this.decorationRemover && this.decorationRemover.cancel(), (this.decorationRemover = (0, f.Vs)(350)), this.decorationRemover .then( () => (this.decorationIds = this.editor.deltaDecorations( this.decorationIds, [] )) ) .catch(p.dL); }) .catch(p.dL)) : Promise.resolve(void 0); } }; var _, b; (m.ID = 'editor.contrib.inPlaceReplaceController'), (m.DECORATION = g.qx.register({ className: 'valueSetReplacement' })), (m = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((_ = 1), (b = l.p), function (e, t) { b(e, t, _); }), ], m )); class v extends a.R6 { constructor() { super({ id: 'editor.action.inPlaceReplace.up', label: n.N( 'InPlaceReplaceAction.previous.label', 'Replace with Previous Value' ), alias: 'Replace with Previous Value', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: 3154, weight: 100, }, }); } run(e, t) { const i = m.get(t); return i ? i.run(this.id, !0) : Promise.resolve(void 0); } } class y extends a.R6 { constructor() { super({ id: 'editor.action.inPlaceReplace.down', label: n.N( 'InPlaceReplaceAction.next.label', 'Replace with Next Value' ), alias: 'Replace with Next Value', precondition: o.u.writable, kbOpts: { kbExpr: o.u.editorTextFocus, primary: 3156, weight: 100, }, }); } run(e, t) { const i = m.get(t); return i ? i.run(this.id, !1) : Promise.resolve(void 0); } } (0, a._K)(m.ID, m), (0, a.Qr)(v), (0, a.Qr)(y), (0, h.Ic)((e, t) => { const i = e.getColor(u.Dl); i && t.addRule( `.monaco-editor.vs .valueSetReplacement { outline: solid 2px ${i}; }` ); }); }, 51491: (e, t, i) => { 'use strict'; function n(e, t) { let i = 0; for (let n = 0; n < e.length; n++) '\t' === e.charAt(n) ? (i += t) : i++; return i; } function r(e, t, i) { e = e < 0 ? 0 : e; let n = ''; if (!i) { let i = Math.floor(e / t); e %= t; for (let e = 0; e < i; e++) n += '\t'; } for (let t = 0; t < e; t++) n += ' '; return n; } i.d(t, { Y: () => n, J: () => r }); }, 80638: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { getReindentEditOperations: () => _, IndentationToSpacesAction: () => b, IndentationToTabsAction: () => v, ChangeIndentationSizeAction: () => y, IndentUsingTabs: () => w, IndentUsingSpaces: () => C, DetectIndentation: () => S, ReindentLinesAction: () => k, ReindentSelectedLinesAction: () => x, AutoIndentOnPasteCommand: () => L, AutoIndentOnPaste: () => M, IndentationToSpacesCommand: () => N, IndentationToTabsCommand: () => E, }); var n = i(63580), r = i(5976), s = i(97295), o = i(16830), a = i(10291), l = i(69386), c = i(24314), d = i(3860), h = i(29102), u = i(3411), g = i(83831), f = i(51200), p = i(51491), m = i(41157); function _(e, t, i, n) { if (1 === e.getLineCount() && 1 === e.getLineMaxColumn(1)) return []; let r = g.zu.getIndentationRules(e.getLanguageIdentifier().id); if (!r) return []; for ( i = Math.min(i, e.getLineCount()); t <= i && r.unIndentedLinePattern; ) { let i = e.getLineContent(t); if (!r.unIndentedLinePattern.test(i)) break; t++; } if (t > i - 1) return []; const { tabSize: o, indentSize: c, insertSpaces: h } = e.getOptions(), f = (e, t) => ( (t = t || 1), a.U.shiftIndent(e, e.length + t, o, c, h) ), p = (e, t) => ( (t = t || 1), a.U.unshiftIndent(e, e.length + t, o, c, h) ); let m, _ = [], b = e.getLineContent(t), v = b; if (null != n) { m = n; let e = s.V8(b); (v = m + b.substring(e.length)), r.decreaseIndentPattern && r.decreaseIndentPattern.test(v) && ((m = p(m)), (v = m + b.substring(e.length))), b !== v && _.push( l.h.replace( new d.Y(t, 1, t, e.length + 1), u.yO.normalizeIndentation(m, c, h) ) ); } else m = s.V8(b); let y = m; r.increaseIndentPattern && r.increaseIndentPattern.test(v) ? ((y = f(y)), (m = f(m))) : r.indentNextLinePattern && r.indentNextLinePattern.test(v) && (y = f(y)); for (let n = ++t; n <= i; n++) { let t = e.getLineContent(n), i = s.V8(t), o = y + t.substring(i.length); r.decreaseIndentPattern && r.decreaseIndentPattern.test(o) && ((y = p(y)), (m = p(m))), i !== y && _.push( l.h.replace( new d.Y(n, 1, n, i.length + 1), u.yO.normalizeIndentation(y, c, h) ) ), (r.unIndentedLinePattern && r.unIndentedLinePattern.test(t)) || (r.increaseIndentPattern && r.increaseIndentPattern.test(o) ? ((m = f(m)), (y = m)) : (y = r.indentNextLinePattern && r.indentNextLinePattern.test(o) ? f(y) : m)); } return _; } class b extends o.R6 { constructor() { super({ id: b.ID, label: n.N( 'indentationToSpaces', 'Convert Indentation to Spaces' ), alias: 'Convert Indentation to Spaces', precondition: h.u.writable, }); } run(e, t) { let i = t.getModel(); if (!i) return; let n = i.getOptions(), r = t.getSelection(); if (!r) return; const s = new N(r, n.tabSize); t.pushUndoStop(), t.executeCommands(this.id, [s]), t.pushUndoStop(), i.updateOptions({ insertSpaces: !0 }); } } b.ID = 'editor.action.indentationToSpaces'; class v extends o.R6 { constructor() { super({ id: v.ID, label: n.N('indentationToTabs', 'Convert Indentation to Tabs'), alias: 'Convert Indentation to Tabs', precondition: h.u.writable, }); } run(e, t) { let i = t.getModel(); if (!i) return; let n = i.getOptions(), r = t.getSelection(); if (!r) return; const s = new E(r, n.tabSize); t.pushUndoStop(), t.executeCommands(this.id, [s]), t.pushUndoStop(), i.updateOptions({ insertSpaces: !1 }); } } v.ID = 'editor.action.indentationToTabs'; class y extends o.R6 { constructor(e, t) { super(t), (this.insertSpaces = e); } run(e, t) { const i = e.get(m.eJ), r = e.get(f.q); let s = t.getModel(); if (!s) return; let o = r.getCreationOptions( s.getLanguageIdentifier().language, s.uri, s.isForSimpleWidget ); const a = [1, 2, 3, 4, 5, 6, 7, 8].map((e) => ({ id: e.toString(), label: e.toString(), description: e === o.tabSize ? n.N('configuredTabSize', 'Configured Tab Size') : void 0, })), l = Math.min(s.getOptions().tabSize - 1, 7); setTimeout(() => { i.pick(a, { placeHolder: n.N( { key: 'selectTabWidth', comment: ['Tab corresponds to the tab key'], }, 'Select Tab Size for Current File' ), activeItem: a[l], }).then((e) => { e && s && !s.isDisposed() && s.updateOptions({ tabSize: parseInt(e.label, 10), insertSpaces: this.insertSpaces, }); }); }, 50); } } class w extends y { constructor() { super(!1, { id: w.ID, label: n.N('indentUsingTabs', 'Indent Using Tabs'), alias: 'Indent Using Tabs', precondition: void 0, }); } } w.ID = 'editor.action.indentUsingTabs'; class C extends y { constructor() { super(!0, { id: C.ID, label: n.N('indentUsingSpaces', 'Indent Using Spaces'), alias: 'Indent Using Spaces', precondition: void 0, }); } } C.ID = 'editor.action.indentUsingSpaces'; class S extends o.R6 { constructor() { super({ id: S.ID, label: n.N( 'detectIndentation', 'Detect Indentation from Content' ), alias: 'Detect Indentation from Content', precondition: void 0, }); } run(e, t) { const i = e.get(f.q); let n = t.getModel(); if (!n) return; let r = i.getCreationOptions( n.getLanguageIdentifier().language, n.uri, n.isForSimpleWidget ); n.detectIndentation(r.insertSpaces, r.tabSize); } } S.ID = 'editor.action.detectIndentation'; class k extends o.R6 { constructor() { super({ id: 'editor.action.reindentlines', label: n.N('editor.reindentlines', 'Reindent Lines'), alias: 'Reindent Lines', precondition: h.u.writable, }); } run(e, t) { let i = t.getModel(); if (!i) return; let n = _(i, 1, i.getLineCount()); n.length > 0 && (t.pushUndoStop(), t.executeEdits(this.id, n), t.pushUndoStop()); } } class x extends o.R6 { constructor() { super({ id: 'editor.action.reindentselectedlines', label: n.N( 'editor.reindentselectedlines', 'Reindent Selected Lines' ), alias: 'Reindent Selected Lines', precondition: h.u.writable, }); } run(e, t) { let i = t.getModel(); if (!i) return; let n = t.getSelections(); if (null === n) return; let r = []; for (let e of n) { let t = e.startLineNumber, n = e.endLineNumber; if ((t !== n && 1 === e.endColumn && n--, 1 === t)) { if (t === n) continue; } else t--; let s = _(i, t, n); r.push(...s); } r.length > 0 && (t.pushUndoStop(), t.executeEdits(this.id, r), t.pushUndoStop()); } } class L { constructor(e, t) { (this._initialSelection = t), (this._edits = []), (this._selectionId = null); for (let t of e) t.range && 'string' == typeof t.text && this._edits.push(t); } getEditOperations(e, t) { for (let e of this._edits) t.addEditOperation(c.e.lift(e.range), e.text); let i = !1; Array.isArray(this._edits) && 1 === this._edits.length && this._initialSelection.isEmpty() && (this._edits[0].range.startColumn === this._initialSelection.endColumn && this._edits[0].range.startLineNumber === this._initialSelection.endLineNumber ? ((i = !0), (this._selectionId = t.trackSelection( this._initialSelection, !0 ))) : this._edits[0].range.endColumn === this._initialSelection.startColumn && this._edits[0].range.endLineNumber === this._initialSelection.startLineNumber && ((i = !0), (this._selectionId = t.trackSelection( this._initialSelection, !1 )))), i || (this._selectionId = t.trackSelection(this._initialSelection)); } computeCursorState(e, t) { return t.getTrackedSelection(this._selectionId); } } class M { constructor(e) { (this.callOnDispose = new r.SL()), (this.callOnModel = new r.SL()), (this.editor = e), this.callOnDispose.add( e.onDidChangeConfiguration(() => this.update()) ), this.callOnDispose.add(e.onDidChangeModel(() => this.update())), this.callOnDispose.add( e.onDidChangeModelLanguage(() => this.update()) ); } update() { this.callOnModel.clear(), this.editor.getOption(8) < 4 || this.editor.getOption(40) || (this.editor.hasModel() && this.callOnModel.add( this.editor.onDidPaste(({ range: e }) => { this.trigger(e); }) )); } trigger(e) { let t = this.editor.getSelections(); if (null === t || t.length > 1) return; const i = this.editor.getModel(); if (!i) return; if (!i.isCheapToTokenize(e.getStartPosition().lineNumber)) return; const n = this.editor.getOption(8), { tabSize: r, indentSize: o, insertSpaces: l } = i.getOptions(); this.editor.pushUndoStop(); let d = [], h = { shiftIndent: (e) => a.U.shiftIndent(e, e.length + 1, r, o, l), unshiftIndent: (e) => a.U.unshiftIndent(e, e.length + 1, r, o, l), }, u = e.startLineNumber; for (; u <= e.endLineNumber && this.shouldIgnoreLine(i, u); ) u++; if (u > e.endLineNumber) return; let f = i.getLineContent(u); if (!/\S/.test(f.substring(0, e.startColumn - 1))) { let e = g.zu.getGoodIndentForLine( n, i, i.getLanguageIdentifier().id, u, h ); if (null !== e) { let t = s.V8(f), n = p.Y(e, r); if (n !== p.Y(t, r)) { let e = p.J(n, r, l); d.push({ range: new c.e(u, 1, u, t.length + 1), text: e }), (f = e + f.substr(t.length)); } else { let e = g.zu.getIndentMetadata(i, u); if (0 === e || 8 === e) return; } } } const m = u; for (; u < e.endLineNumber && !/\S/.test(i.getLineContent(u + 1)); ) u++; if (u !== e.endLineNumber) { let t = { getLineTokens: (e) => i.getLineTokens(e), getLanguageIdentifier: () => i.getLanguageIdentifier(), getLanguageIdAtPosition: (e, t) => i.getLanguageIdAtPosition(e, t), getLineContent: (e) => (e === m ? f : i.getLineContent(e)), }, o = g.zu.getGoodIndentForLine( n, t, i.getLanguageIdentifier().id, u + 1, h ); if (null !== o) { let t = p.Y(o, r), n = p.Y(s.V8(i.getLineContent(u + 1)), r); if (t !== n) { let o = t - n; for (let t = u + 1; t <= e.endLineNumber; t++) { let e = i.getLineContent(t), n = s.V8(e), a = p.Y(n, r) + o, h = p.J(a, r, l); h !== n && d.push({ range: new c.e(t, 1, t, n.length + 1), text: h, }); } } } } let _ = new L(d, this.editor.getSelection()); this.editor.executeCommand('autoIndentOnPaste', _), this.editor.pushUndoStop(); } shouldIgnoreLine(e, t) { e.forceTokenization(t); let i = e.getLineFirstNonWhitespaceColumn(t); if (0 === i) return !0; let n = e.getLineTokens(t); if (n.getCount() > 0) { let e = n.findTokenIndexAtOffset(i); if (e >= 0 && 1 === n.getStandardTokenType(e)) return !0; } return !1; } dispose() { this.callOnDispose.dispose(), this.callOnModel.dispose(); } } function D(e, t, i, n) { if (1 === e.getLineCount() && 1 === e.getLineMaxColumn(1)) return; let r = ''; for (let e = 0; e < i; e++) r += ' '; let s = new RegExp(r, 'gi'); for (let i = 1, o = e.getLineCount(); i <= o; i++) { let o = e.getLineFirstNonWhitespaceColumn(i); if ((0 === o && (o = e.getLineMaxColumn(i)), 1 === o)) continue; const a = new c.e(i, 1, i, o), l = e.getValueInRange(a), d = n ? l.replace(/\t/gi, r) : l.replace(s, '\t'); t.addEditOperation(a, d); } } M.ID = 'editor.contrib.autoIndentOnPaste'; class N { constructor(e, t) { (this.selection = e), (this.tabSize = t), (this.selectionId = null); } getEditOperations(e, t) { (this.selectionId = t.trackSelection(this.selection)), D(e, t, this.tabSize, !0); } computeCursorState(e, t) { return t.getTrackedSelection(this.selectionId); } } class E { constructor(e, t) { (this.selection = e), (this.tabSize = t), (this.selectionId = null); } getEditOperations(e, t) { (this.selectionId = t.trackSelection(this.selection)), D(e, t, this.tabSize, !1); } computeCursorState(e, t) { return t.getTrackedSelection(this.selectionId); } } (0, o._K)(M.ID, M), (0, o.Qr)(b), (0, o.Qr)(v), (0, o.Qr)(w), (0, o.Qr)(C), (0, o.Qr)(S), (0, o.Qr)(k), (0, o.Qr)(x); }, 42408: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { AbstractCaseAction: () => j, AbstractDeleteAllToBoundaryAction: () => F, AbstractSortLinesAction: () => D, DeleteAllLeftAction: () => B, DeleteAllRightAction: () => W, DeleteLinesAction: () => I, DuplicateSelectionAction: () => L, IndentLinesAction: () => O, InsertLineAfterAction: () => P, InsertLineBeforeAction: () => R, JoinLinesAction: () => Y, LowerCaseAction: () => z, SortLinesAscendingAction: () => N, SortLinesDescendingAction: () => E, TitleCaseAction: () => U, TransposeAction: () => H, TrimTrailingWhitespaceAction: () => T, UpperCaseAction: () => V, }); var n = i(63580), r = i(22258), s = i(18728), o = i(16830), a = i(61329), l = i(97295), c = i(69386), d = i(24314); class h { constructor(e, t) { (this._selection = e), (this._cursors = t), (this._selectionId = null); } getEditOperations(e, t) { let i = (function (e, t) { t.sort((e, t) => e.lineNumber === t.lineNumber ? e.column - t.column : e.lineNumber - t.lineNumber ); for (let e = t.length - 2; e >= 0; e--) t[e].lineNumber === t[e + 1].lineNumber && t.splice(e, 1); let i = [], n = 0, r = 0, s = t.length; for (let o = 1, a = e.getLineCount(); o <= a; o++) { let a = e.getLineContent(o), h = a.length + 1, u = 0; if ( r < s && t[r].lineNumber === o && ((u = t[r].column), r++, u === h) ) continue; if (0 === a.length) continue; let g = l.ow(a), f = 0; if (-1 === g) f = 1; else { if (g === a.length - 1) continue; f = g + 2; } (f = Math.max(u, f)), (i[n++] = c.h.delete(new d.e(o, f, o, h))); } return i; })(e, this._cursors); for (let e = 0, n = i.length; e < n; e++) { let n = i[e]; t.addEditOperation(n.range, n.text); } this._selectionId = t.trackSelection(this._selection); } computeCursorState(e, t) { return t.getTrackedSelection(this._selectionId); } } var u = i(23582), g = i(50187), f = i(3860), p = i(29102); class m { constructor(e, t) { (this._selection = e), (this._isCopyingDown = t), (this._selectionDirection = 0), (this._selectionId = null), (this._startLineNumberDelta = 0), (this._endLineNumberDelta = 0); } getEditOperations(e, t) { let i = this._selection; (this._startLineNumberDelta = 0), (this._endLineNumberDelta = 0), i.startLineNumber < i.endLineNumber && 1 === i.endColumn && ((this._endLineNumberDelta = 1), (i = i.setEndPosition( i.endLineNumber - 1, e.getLineMaxColumn(i.endLineNumber - 1) ))); let n = []; for (let t = i.startLineNumber; t <= i.endLineNumber; t++) n.push(e.getLineContent(t)); const r = n.join('\n'); '' === r && this._isCopyingDown && (this._startLineNumberDelta++, this._endLineNumberDelta++), this._isCopyingDown ? t.addEditOperation( new d.e(i.startLineNumber, 1, i.startLineNumber, 1), r + '\n' ) : t.addEditOperation( new d.e( i.endLineNumber, e.getLineMaxColumn(i.endLineNumber), i.endLineNumber, e.getLineMaxColumn(i.endLineNumber) ), '\n' + r ), (this._selectionId = t.trackSelection(i)), (this._selectionDirection = this._selection.getDirection()); } computeCursorState(e, t) { let i = t.getTrackedSelection(this._selectionId); if ( 0 !== this._startLineNumberDelta || 0 !== this._endLineNumberDelta ) { let e = i.startLineNumber, t = i.startColumn, n = i.endLineNumber, r = i.endColumn; 0 !== this._startLineNumberDelta && ((e += this._startLineNumberDelta), (t = 1)), 0 !== this._endLineNumberDelta && ((n += this._endLineNumberDelta), (r = 1)), (i = f.Y.createWithDirection( e, t, n, r, this._selectionDirection )); } return i; } } var _ = i(10291), b = i(97354), v = i(83831), y = i(51491); class w { constructor(e, t, i) { (this._selection = e), (this._isMovingDown = t), (this._autoIndent = i), (this._selectionId = null), (this._moveEndLineSelectionShrink = !1); } getEditOperations(e, t) { let i = e.getLineCount(); if (this._isMovingDown && this._selection.endLineNumber === i) return void (this._selectionId = t.trackSelection( this._selection )); if (!this._isMovingDown && 1 === this._selection.startLineNumber) return void (this._selectionId = t.trackSelection( this._selection )); this._moveEndPositionDown = !1; let n = this._selection; n.startLineNumber < n.endLineNumber && 1 === n.endColumn && ((this._moveEndPositionDown = !0), (n = n.setEndPosition( n.endLineNumber - 1, e.getLineMaxColumn(n.endLineNumber - 1) ))); const { tabSize: r, indentSize: s, insertSpaces: o, } = e.getOptions(); let a = this.buildIndentConverter(r, s, o), c = { getLineTokens: (t) => e.getLineTokens(t), getLanguageIdentifier: () => e.getLanguageIdentifier(), getLanguageIdAtPosition: (t, i) => e.getLanguageIdAtPosition(t, i), getLineContent: null, }; if ( n.startLineNumber === n.endLineNumber && 1 === e.getLineMaxColumn(n.startLineNumber) ) { let i = n.startLineNumber, r = this._isMovingDown ? i + 1 : i - 1; 1 === e.getLineMaxColumn(r) ? t.addEditOperation(new d.e(1, 1, 1, 1), null) : (t.addEditOperation(new d.e(i, 1, i, 1), e.getLineContent(r)), t.addEditOperation( new d.e(r, 1, r, e.getLineMaxColumn(r)), null )), (n = new f.Y(r, 1, r, 1)); } else { let i, s; if (this._isMovingDown) { (i = n.endLineNumber + 1), (s = e.getLineContent(i)), t.addEditOperation( new d.e( i - 1, e.getLineMaxColumn(i - 1), i, e.getLineMaxColumn(i) ), null ); let h = s; if (this.shouldAutoIndent(e, n)) { let u = this.matchEnterRule( e, a, r, i, n.startLineNumber - 1 ); if (null !== u) { let t = l.V8(e.getLineContent(i)), n = u + y.Y(t, r), a = y.J(n, r, o); h = a + this.trimLeft(s); } else { c.getLineContent = (t) => t === n.startLineNumber ? e.getLineContent(i) : e.getLineContent(t); let t = v.zu.getGoodIndentForLine( this._autoIndent, c, e.getLanguageIdAtPosition(i, 1), n.startLineNumber, a ); if (null !== t) { let n = l.V8(e.getLineContent(i)), a = y.Y(t, r); if (a !== y.Y(n, r)) { let e = y.J(a, r, o); h = e + this.trimLeft(s); } } } t.addEditOperation( new d.e(n.startLineNumber, 1, n.startLineNumber, 1), h + '\n' ); let g = this.matchEnterRule( e, a, r, n.startLineNumber, n.startLineNumber, h ); if (null !== g) 0 !== g && this.getIndentEditsOfMovingBlock(e, t, n, r, o, g); else { c.getLineContent = (t) => t === n.startLineNumber ? h : t >= n.startLineNumber + 1 && t <= n.endLineNumber + 1 ? e.getLineContent(t - 1) : e.getLineContent(t); let s = v.zu.getGoodIndentForLine( this._autoIndent, c, e.getLanguageIdAtPosition(i, 1), n.startLineNumber + 1, a ); if (null !== s) { const i = l.V8(e.getLineContent(n.startLineNumber)), a = y.Y(s, r), c = y.Y(i, r); if (a !== c) { const i = a - c; this.getIndentEditsOfMovingBlock(e, t, n, r, o, i); } } } } else t.addEditOperation( new d.e(n.startLineNumber, 1, n.startLineNumber, 1), h + '\n' ); } else if ( ((i = n.startLineNumber - 1), (s = e.getLineContent(i)), t.addEditOperation(new d.e(i, 1, i + 1, 1), null), t.addEditOperation( new d.e( n.endLineNumber, e.getLineMaxColumn(n.endLineNumber), n.endLineNumber, e.getLineMaxColumn(n.endLineNumber) ), '\n' + s ), this.shouldAutoIndent(e, n)) ) { c.getLineContent = (t) => t === i ? e.getLineContent(n.startLineNumber) : e.getLineContent(t); let s = this.matchEnterRule( e, a, r, n.startLineNumber, n.startLineNumber - 2 ); if (null !== s) 0 !== s && this.getIndentEditsOfMovingBlock(e, t, n, r, o, s); else { let s = v.zu.getGoodIndentForLine( this._autoIndent, c, e.getLanguageIdAtPosition(n.startLineNumber, 1), i, a ); if (null !== s) { let i = l.V8(e.getLineContent(n.startLineNumber)), a = y.Y(s, r), c = y.Y(i, r); if (a !== c) { let i = a - c; this.getIndentEditsOfMovingBlock(e, t, n, r, o, i); } } } } } this._selectionId = t.trackSelection(n); } buildIndentConverter(e, t, i) { return { shiftIndent: (n) => _.U.shiftIndent(n, n.length + 1, e, t, i), unshiftIndent: (n) => _.U.unshiftIndent(n, n.length + 1, e, t, i), }; } matchEnterRule(e, t, i, n, r, s) { let o = r; for (; o >= 1; ) { let t; if ( ((t = o === r && void 0 !== s ? s : e.getLineContent(o)), l.ow(t) >= 0) ) break; o--; } if (o < 1 || n > e.getLineCount()) return null; let a = e.getLineMaxColumn(o), c = v.zu.getEnterAction(this._autoIndent, e, new d.e(o, a, o, a)); if (c) { let r = c.indentation; c.indentAction === b.w.None || c.indentAction === b.w.Indent ? (r = c.indentation + c.appendText) : c.indentAction === b.w.IndentOutdent ? (r = c.indentation) : c.indentAction === b.w.Outdent && (r = t.unshiftIndent(c.indentation) + c.appendText); let s = e.getLineContent(n); if (this.trimLeft(s).indexOf(this.trimLeft(r)) >= 0) { let s = l.V8(e.getLineContent(n)), o = l.V8(r), a = v.zu.getIndentMetadata(e, n); return ( null !== a && 2 & a && (o = t.unshiftIndent(o)), y.Y(o, i) - y.Y(s, i) ); } } return null; } trimLeft(e) { return e.replace(/^\s+/, ''); } shouldAutoIndent(e, t) { if (this._autoIndent < 4) return !1; if (!e.isCheapToTokenize(t.startLineNumber)) return !1; let i = e.getLanguageIdAtPosition(t.startLineNumber, 1); return ( i === e.getLanguageIdAtPosition(t.endLineNumber, 1) && null !== v.zu.getIndentRulesSupport(i) ); } getIndentEditsOfMovingBlock(e, t, i, n, r, s) { for (let o = i.startLineNumber; o <= i.endLineNumber; o++) { let a = e.getLineContent(o), c = l.V8(a), h = y.Y(c, n) + s, u = y.J(h, n, r); u !== c && (t.addEditOperation(new d.e(o, 1, o, c.length + 1), u), o === i.endLineNumber && i.endColumn <= c.length + 1 && '' === u && (this._moveEndLineSelectionShrink = !0)); } } computeCursorState(e, t) { let i = t.getTrackedSelection(this._selectionId); return ( this._moveEndPositionDown && (i = i.setEndPosition(i.endLineNumber + 1, 1)), this._moveEndLineSelectionShrink && i.startLineNumber < i.endLineNumber && (i = i.setEndPosition(i.endLineNumber, 2)), i ); } } class C { constructor(e, t) { (this.selection = e), (this.descending = t), (this.selectionId = null); } static getCollator() { return ( C._COLLATOR || (C._COLLATOR = new Intl.Collator()), C._COLLATOR ); } getEditOperations(e, t) { let i = (function (e, t, i) { let n = S(e, t, i); return n ? c.h.replace( new d.e( n.startLineNumber, 1, n.endLineNumber, e.getLineMaxColumn(n.endLineNumber) ), n.after.join('\n') ) : null; })(e, this.selection, this.descending); i && t.addEditOperation(i.range, i.text), (this.selectionId = t.trackSelection(this.selection)); } computeCursorState(e, t) { return t.getTrackedSelection(this.selectionId); } static canRun(e, t, i) { if (null === e) return !1; let n = S(e, t, i); if (!n) return !1; for (let e = 0, t = n.before.length; e < t; e++) if (n.before[e] !== n.after[e]) return !0; return !1; } } function S(e, t, i) { let n = t.startLineNumber, r = t.endLineNumber; if ((1 === t.endColumn && r--, n >= r)) return null; let s = []; for (let t = n; t <= r; t++) s.push(e.getLineContent(t)); let o = s.slice(0); return ( o.sort(C.getCollator().compare), !0 === i && (o = o.reverse()), { startLineNumber: n, endLineNumber: r, before: s, after: o } ); } C._COLLATOR = null; var k = i(84144); class x extends o.R6 { constructor(e, t) { super(t), (this.down = e); } run(e, t) { if (!t.hasModel()) return; const i = t .getSelections() .map((e, t) => ({ selection: e, index: t, ignore: !1 })); i.sort((e, t) => d.e.compareRangesUsingStarts(e.selection, t.selection) ); let n = i[0]; for (let e = 1; e < i.length; e++) { const t = i[e]; n.selection.endLineNumber === t.selection.startLineNumber && (n.index < t.index ? (t.ignore = !0) : ((n.ignore = !0), (n = t))); } const r = []; for (const e of i) e.ignore || r.push(new m(e.selection, this.down)); t.pushUndoStop(), t.executeCommands(this.id, r), t.pushUndoStop(); } } class L extends o.R6 { constructor() { super({ id: 'editor.action.duplicateSelection', label: n.N('duplicateSelection', 'Duplicate Selection'), alias: 'Duplicate Selection', precondition: p.u.writable, menuOpts: { menuId: k.eH.MenubarSelectionMenu, group: '2_line', title: n.N( { key: 'miDuplicateSelection', comment: ['&& denotes a mnemonic'], }, '&&Duplicate Selection' ), order: 5, }, }); } run(e, t, i) { if (!t.hasModel()) return; const n = [], r = t.getSelections(), s = t.getModel(); for (const e of r) if (e.isEmpty()) n.push(new m(e, !0)); else { const t = new f.Y( e.endLineNumber, e.endColumn, e.endLineNumber, e.endColumn ); n.push(new a.OY(t, s.getValueInRange(e))); } t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); } } class M extends o.R6 { constructor(e, t) { super(t), (this.down = e); } run(e, t) { let i = [], n = t.getSelections() || []; const r = t.getOption(8); for (const e of n) i.push(new w(e, this.down, r)); t.pushUndoStop(), t.executeCommands(this.id, i), t.pushUndoStop(); } } class D extends o.R6 { constructor(e, t) { super(t), (this.descending = e); } run(e, t) { const i = t.getSelections() || []; for (const e of i) if (!C.canRun(t.getModel(), e, this.descending)) return; let n = []; for (let e = 0, t = i.length; e < t; e++) n[e] = new C(i[e], this.descending); t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop(); } } class N extends D { constructor() { super(!1, { id: 'editor.action.sortLinesAscending', label: n.N('lines.sortAscending', 'Sort Lines Ascending'), alias: 'Sort Lines Ascending', precondition: p.u.writable, }); } } class E extends D { constructor() { super(!0, { id: 'editor.action.sortLinesDescending', label: n.N('lines.sortDescending', 'Sort Lines Descending'), alias: 'Sort Lines Descending', precondition: p.u.writable, }); } } class T extends o.R6 { constructor() { super({ id: T.ID, label: n.N( 'lines.trimTrailingWhitespace', 'Trim Trailing Whitespace' ), alias: 'Trim Trailing Whitespace', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: (0, r.gx)(2089, 2102), weight: 100, }, }); } run(e, t, i) { let n = []; 'auto-save' === i.reason && (n = (t.getSelections() || []).map( (e) => new g.L(e.positionLineNumber, e.positionColumn) )); let r = t.getSelection(); if (null === r) return; let s = new h(r, n); t.pushUndoStop(), t.executeCommands(this.id, [s]), t.pushUndoStop(); } } T.ID = 'editor.action.trimTrailingWhitespace'; class I extends o.R6 { constructor() { super({ id: 'editor.action.deleteLines', label: n.N('lines.delete', 'Delete Line'), alias: 'Delete Line', precondition: p.u.writable, kbOpts: { kbExpr: p.u.textInputFocus, primary: 3113, weight: 100, }, }); } run(e, t) { if (!t.hasModel()) return; let i = this._getLinesToRemove(t), n = t.getModel(); if (1 === n.getLineCount() && 1 === n.getLineMaxColumn(1)) return; let r = 0, s = [], o = []; for (let e = 0, t = i.length; e < t; e++) { const t = i[e]; let a = t.startLineNumber, l = t.endLineNumber, d = 1, h = n.getLineMaxColumn(l); l < n.getLineCount() ? ((l += 1), (h = 1)) : a > 1 && ((a -= 1), (d = n.getLineMaxColumn(a))), s.push(c.h.replace(new f.Y(a, d, l, h), '')), o.push( new f.Y(a - r, t.positionColumn, a - r, t.positionColumn) ), (r += t.endLineNumber - t.startLineNumber + 1); } t.pushUndoStop(), t.executeEdits(this.id, s, o), t.pushUndoStop(); } _getLinesToRemove(e) { let t = e.getSelections().map((e) => { let t = e.endLineNumber; return ( e.startLineNumber < e.endLineNumber && 1 === e.endColumn && (t -= 1), { startLineNumber: e.startLineNumber, selectionStartColumn: e.selectionStartColumn, endLineNumber: t, positionColumn: e.positionColumn, } ); }); t.sort((e, t) => e.startLineNumber === t.startLineNumber ? e.endLineNumber - t.endLineNumber : e.startLineNumber - t.startLineNumber ); let i = [], n = t[0]; for (let e = 1; e < t.length; e++) n.endLineNumber + 1 >= t[e].startLineNumber ? (n.endLineNumber = t[e].endLineNumber) : (i.push(n), (n = t[e])); return i.push(n), i; } } class O extends o.R6 { constructor() { super({ id: 'editor.action.indentLines', label: n.N('lines.indent', 'Indent Line'), alias: 'Indent Line', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 2137, weight: 100, }, }); } run(e, t) { const i = t._getViewModel(); i && (t.pushUndoStop(), t.executeCommands( this.id, u.u.indent(i.cursorConfig, t.getModel(), t.getSelections()) ), t.pushUndoStop()); } } class A extends o.R6 { constructor() { super({ id: 'editor.action.outdentLines', label: n.N('lines.outdent', 'Outdent Line'), alias: 'Outdent Line', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 2135, weight: 100, }, }); } run(e, t) { s.CoreEditingCommands.Outdent.runEditorCommand(e, t, null); } } class R extends o.R6 { constructor() { super({ id: 'editor.action.insertLineBefore', label: n.N('lines.insertBefore', 'Insert Line Above'), alias: 'Insert Line Above', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 3075, weight: 100, }, }); } run(e, t) { const i = t._getViewModel(); i && (t.pushUndoStop(), t.executeCommands( this.id, u.u.lineInsertBefore( i.cursorConfig, t.getModel(), t.getSelections() ) )); } } class P extends o.R6 { constructor() { super({ id: 'editor.action.insertLineAfter', label: n.N('lines.insertAfter', 'Insert Line Below'), alias: 'Insert Line Below', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 2051, weight: 100, }, }); } run(e, t) { const i = t._getViewModel(); i && (t.pushUndoStop(), t.executeCommands( this.id, u.u.lineInsertAfter( i.cursorConfig, t.getModel(), t.getSelections() ) )); } } class F extends o.R6 { run(e, t) { if (!t.hasModel()) return; const i = t.getSelection(); let n = this._getRangesToDelete(t), r = []; for (let e = 0, t = n.length - 1; e < t; e++) { let t = n[e], i = n[e + 1]; null === d.e.intersectRanges(t, i) ? r.push(t) : (n[e + 1] = d.e.plusRange(t, i)); } r.push(n[n.length - 1]); let s = this._getEndCursorState(i, r), o = r.map((e) => c.h.replace(e, '')); t.pushUndoStop(), t.executeEdits(this.id, o, s), t.pushUndoStop(); } } class B extends F { constructor() { super({ id: 'deleteAllLeft', label: n.N('lines.deleteAllLeft', 'Delete All Left'), alias: 'Delete All Left', precondition: p.u.writable, kbOpts: { kbExpr: p.u.textInputFocus, primary: 0, mac: { primary: 2049 }, weight: 100, }, }); } _getEndCursorState(e, t) { let i = null, n = [], r = 0; return ( t.forEach((t) => { let s; if (1 === t.endColumn && r > 0) { let e = t.startLineNumber - r; s = new f.Y(e, t.startColumn, e, t.startColumn); } else s = new f.Y( t.startLineNumber, t.startColumn, t.startLineNumber, t.startColumn ); (r += t.endLineNumber - t.startLineNumber), t.intersectRanges(e) ? (i = s) : n.push(s); }), i && n.unshift(i), n ); } _getRangesToDelete(e) { let t = e.getSelections(); if (null === t) return []; let i = t, n = e.getModel(); return null === n ? [] : (i.sort(d.e.compareRangesUsingStarts), (i = i.map((e) => { if (e.isEmpty()) { if (1 === e.startColumn) { let t = Math.max(1, e.startLineNumber - 1), i = 1 === e.startLineNumber ? 1 : n.getLineContent(t).length + 1; return new d.e(t, i, e.startLineNumber, 1); } return new d.e( e.startLineNumber, 1, e.startLineNumber, e.startColumn ); } return new d.e( e.startLineNumber, 1, e.endLineNumber, e.endColumn ); })), i); } } class W extends F { constructor() { super({ id: 'deleteAllRight', label: n.N('lines.deleteAllRight', 'Delete All Right'), alias: 'Delete All Right', precondition: p.u.writable, kbOpts: { kbExpr: p.u.textInputFocus, primary: 0, mac: { primary: 297, secondary: [2068] }, weight: 100, }, }); } _getEndCursorState(e, t) { let i = null, n = []; for (let r = 0, s = t.length, o = 0; r < s; r++) { let s = t[r], a = new f.Y( s.startLineNumber - o, s.startColumn, s.startLineNumber - o, s.startColumn ); s.intersectRanges(e) ? (i = a) : n.push(a); } return i && n.unshift(i), n; } _getRangesToDelete(e) { let t = e.getModel(); if (null === t) return []; let i = e.getSelections(); if (null === i) return []; let n = i.map((e) => { if (e.isEmpty()) { const i = t.getLineMaxColumn(e.startLineNumber); return e.startColumn === i ? new d.e( e.startLineNumber, e.startColumn, e.startLineNumber + 1, 1 ) : new d.e( e.startLineNumber, e.startColumn, e.startLineNumber, i ); } return e; }); return n.sort(d.e.compareRangesUsingStarts), n; } } class Y extends o.R6 { constructor() { super({ id: 'editor.action.joinLines', label: n.N('lines.joinLines', 'Join Lines'), alias: 'Join Lines', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 0, mac: { primary: 296 }, weight: 100, }, }); } run(e, t) { let i = t.getSelections(); if (null === i) return; let n = t.getSelection(); if (null === n) return; i.sort(d.e.compareRangesUsingStarts); let r = [], s = i.reduce((e, t) => e.isEmpty() ? e.endLineNumber === t.startLineNumber ? (n.equalsSelection(e) && (n = t), t) : t.startLineNumber > e.endLineNumber + 1 ? (r.push(e), t) : new f.Y( e.startLineNumber, e.startColumn, t.endLineNumber, t.endColumn ) : t.startLineNumber > e.endLineNumber ? (r.push(e), t) : new f.Y( e.startLineNumber, e.startColumn, t.endLineNumber, t.endColumn ) ); r.push(s); let o = t.getModel(); if (null === o) return; let a = [], l = [], h = n, u = 0; for (let e = 0, t = r.length; e < t; e++) { let t, i, s = r[e], g = s.startLineNumber, p = 1, m = 0, _ = o.getLineContent(s.endLineNumber).length - s.endColumn; if (s.isEmpty() || s.startLineNumber === s.endLineNumber) { let e = s.getStartPosition(); e.lineNumber < o.getLineCount() ? ((t = g + 1), (i = o.getLineMaxColumn(t))) : ((t = e.lineNumber), (i = o.getLineMaxColumn(e.lineNumber))); } else (t = s.endLineNumber), (i = o.getLineMaxColumn(t)); let b = o.getLineContent(g); for (let e = g + 1; e <= t; e++) { let t = o.getLineContent(e), i = o.getLineFirstNonWhitespaceColumn(e); if (i >= 1) { let e = !0; '' === b && (e = !1), !e || (' ' !== b.charAt(b.length - 1) && '\t' !== b.charAt(b.length - 1)) || ((e = !1), (b = b.replace(/[\s\uFEFF\xA0]+$/g, ' '))); let n = t.substr(i - 1); (b += (e ? ' ' : '') + n), (m = e ? n.length + 1 : n.length); } else m = 0; } let v = new d.e(g, p, t, i); if (!v.isEmpty()) { let e; s.isEmpty() ? (a.push(c.h.replace(v, b)), (e = new f.Y( v.startLineNumber - u, b.length - m + 1, g - u, b.length - m + 1 ))) : s.startLineNumber === s.endLineNumber ? (a.push(c.h.replace(v, b)), (e = new f.Y( s.startLineNumber - u, s.startColumn, s.endLineNumber - u, s.endColumn ))) : (a.push(c.h.replace(v, b)), (e = new f.Y( s.startLineNumber - u, s.startColumn, s.startLineNumber - u, b.length - _ ))), null !== d.e.intersectRanges(v, n) ? (h = e) : l.push(e); } u += v.endLineNumber - v.startLineNumber; } l.unshift(h), t.pushUndoStop(), t.executeEdits(this.id, a, l), t.pushUndoStop(); } } class H extends o.R6 { constructor() { super({ id: 'editor.action.transpose', label: n.N( 'editor.transpose', 'Transpose characters around the cursor' ), alias: 'Transpose characters around the cursor', precondition: p.u.writable, }); } run(e, t) { let i = t.getSelections(); if (null === i) return; let n = t.getModel(); if (null === n) return; let r = []; for (let e = 0, t = i.length; e < t; e++) { let t = i[e]; if (!t.isEmpty()) continue; let s = t.getStartPosition(), o = n.getLineMaxColumn(s.lineNumber); if (s.column >= o) { if (s.lineNumber === n.getLineCount()) continue; let e = new d.e( s.lineNumber, Math.max(1, s.column - 1), s.lineNumber + 1, 1 ), t = n.getValueInRange(e).split('').reverse().join(''); r.push( new a.T4( new f.Y( s.lineNumber, Math.max(1, s.column - 1), s.lineNumber + 1, 1 ), t ) ); } else { let e = new d.e( s.lineNumber, Math.max(1, s.column - 1), s.lineNumber, s.column + 1 ), t = n.getValueInRange(e).split('').reverse().join(''); r.push( new a.hP( e, t, new f.Y( s.lineNumber, s.column + 1, s.lineNumber, s.column + 1 ) ) ); } } t.pushUndoStop(), t.executeCommands(this.id, r), t.pushUndoStop(); } } class j extends o.R6 { run(e, t) { let i = t.getSelections(); if (null === i) return; let n = t.getModel(); if (null === n) return; let r = t.getOption(105), s = []; for (let e = 0, o = i.length; e < o; e++) { let o = i[e]; if (o.isEmpty()) { let e = o.getStartPosition(); const i = t.getConfiguredWordAtPosition(e); if (!i) continue; let l = new d.e( e.lineNumber, i.startColumn, e.lineNumber, i.endColumn ), c = n.getValueInRange(l); s.push( new a.hP( l, this._modifyText(c, r), new f.Y(e.lineNumber, e.column, e.lineNumber, e.column) ) ); } else { let e = n.getValueInRange(o); s.push(new a.hP(o, this._modifyText(e, r), o)); } } t.pushUndoStop(), t.executeCommands(this.id, s), t.pushUndoStop(); } } class V extends j { constructor() { super({ id: 'editor.action.transformToUppercase', label: n.N( 'editor.transformToUppercase', 'Transform to Uppercase' ), alias: 'Transform to Uppercase', precondition: p.u.writable, }); } _modifyText(e, t) { return e.toLocaleUpperCase(); } } class z extends j { constructor() { super({ id: 'editor.action.transformToLowercase', label: n.N( 'editor.transformToLowercase', 'Transform to Lowercase' ), alias: 'Transform to Lowercase', precondition: p.u.writable, }); } _modifyText(e, t) { return e.toLocaleLowerCase(); } } class U extends j { constructor() { super({ id: 'editor.action.transformToTitlecase', label: n.N( 'editor.transformToTitlecase', 'Transform to Title Case' ), alias: 'Transform to Title Case', precondition: p.u.writable, }); } _modifyText(e, t) { const i = ('\r\n\t ' + t).split(''); let n = '', r = !0; for (let t = 0; t < e.length; t++) { let s = e[t]; i.indexOf(s) >= 0 ? ((r = !0), (n += s)) : r ? ((r = !1), (n += s.toLocaleUpperCase())) : (n += s.toLocaleLowerCase()); } return n; } } (0, o.Qr)( class extends x { constructor() { super(!1, { id: 'editor.action.copyLinesUpAction', label: n.N('lines.copyUp', 'Copy Line Up'), alias: 'Copy Line Up', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 1552, linux: { primary: 3600 }, weight: 100, }, menuOpts: { menuId: k.eH.MenubarSelectionMenu, group: '2_line', title: n.N( { key: 'miCopyLinesUp', comment: ['&& denotes a mnemonic'], }, '&&Copy Line Up' ), order: 1, }, }); } } ), (0, o.Qr)( class extends x { constructor() { super(!0, { id: 'editor.action.copyLinesDownAction', label: n.N('lines.copyDown', 'Copy Line Down'), alias: 'Copy Line Down', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 1554, linux: { primary: 3602 }, weight: 100, }, menuOpts: { menuId: k.eH.MenubarSelectionMenu, group: '2_line', title: n.N( { key: 'miCopyLinesDown', comment: ['&& denotes a mnemonic'], }, 'Co&&py Line Down' ), order: 2, }, }); } } ), (0, o.Qr)(L), (0, o.Qr)( class extends M { constructor() { super(!1, { id: 'editor.action.moveLinesUpAction', label: n.N('lines.moveUp', 'Move Line Up'), alias: 'Move Line Up', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 528, linux: { primary: 528 }, weight: 100, }, menuOpts: { menuId: k.eH.MenubarSelectionMenu, group: '2_line', title: n.N( { key: 'miMoveLinesUp', comment: ['&& denotes a mnemonic'], }, 'Mo&&ve Line Up' ), order: 3, }, }); } } ), (0, o.Qr)( class extends M { constructor() { super(!0, { id: 'editor.action.moveLinesDownAction', label: n.N('lines.moveDown', 'Move Line Down'), alias: 'Move Line Down', precondition: p.u.writable, kbOpts: { kbExpr: p.u.editorTextFocus, primary: 530, linux: { primary: 530 }, weight: 100, }, menuOpts: { menuId: k.eH.MenubarSelectionMenu, group: '2_line', title: n.N( { key: 'miMoveLinesDown', comment: ['&& denotes a mnemonic'], }, 'Move &&Line Down' ), order: 4, }, }); } } ), (0, o.Qr)(N), (0, o.Qr)(E), (0, o.Qr)(T), (0, o.Qr)(I), (0, o.Qr)(O), (0, o.Qr)(A), (0, o.Qr)(R), (0, o.Qr)(P), (0, o.Qr)(B), (0, o.Qr)(W), (0, o.Qr)(Y), (0, o.Qr)(H), (0, o.Qr)(V), (0, o.Qr)(z), (0, o.Qr)(U); }, 34800: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { LinkDetector: () => O }); var n = i(63580), r = i(15393), s = i(71050), o = i(17301), a = i(59365), l = i(5976), c = i(1432), d = i(16830), h = i(3411), u = i(43775), g = i(69241), f = i(70666), p = i(24314), m = i(51200), _ = i(94565), b = i(9488), v = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class y { constructor(e, t) { (this._link = e), (this._provider = t); } toJSON() { return { range: this.range, url: this.url, tooltip: this.tooltip }; } get range() { return this._link.range; } get url() { return this._link.url; } get tooltip() { return this._link.tooltip; } resolve(e) { return v(this, void 0, void 0, function* () { return this._link.url ? this._link.url : 'function' == typeof this._provider.resolveLink ? Promise.resolve( this._provider.resolveLink(this._link, e) ).then( (t) => ( (this._link = t || this._link), this._link.url ? this.resolve(e) : Promise.reject(new Error('missing')) ) ) : Promise.reject(new Error('missing')); }); } } class w extends l.JT { constructor(e) { super(); let t = []; for (const [i, n] of e) { const e = i.links.map((e) => new y(e, n)); (t = w._union(t, e)), (0, l.Wf)(i) && this._register(i); } this.links = t; } static _union(e, t) { let i, n, r, s, o = []; for (i = 0, r = 0, n = e.length, s = t.length; i < n && r < s; ) { const n = e[i], s = t[r]; p.e.areIntersectingOrTouching(n.range, s.range) ? i++ : p.e.compareRangesUsingStarts(n.range, s.range) < 0 ? (o.push(n), i++) : (o.push(s), r++); } for (; i < n; i++) o.push(e[i]); for (; r < s; r++) o.push(t[r]); return o; } } function C(e, t) { const i = [], n = u.pM .ordered(e) .reverse() .map((n, r) => Promise.resolve(n.provideLinks(e, t)).then((e) => { e && (i[r] = [e, n]); }, o.Cp) ); return Promise.all(n).then(() => { const e = new w((0, b.kX)(i)); return t.isCancellationRequested ? (e.dispose(), new w([])) : e; }); } _.P.registerCommand('_executeLinkProvider', (e, ...t) => v(void 0, void 0, void 0, function* () { const [i] = t; if (!(i instanceof f.o)) return []; const n = e.get(m.q).getModel(i); if (!n) return []; const r = yield C(n, s.T.None); if (!r) return []; const o = r.links.slice(0); return r.dispose(), o; }) ); var S = i(59422), k = i(50988), x = i(73910), L = i(97781), M = i(66663), D = i(95935), N = i(97295), E = function (e, t) { return function (i, n) { t(i, n, e); }; }; const T = { general: h.qx.register({ stickiness: 1, collapseOnReplaceEdit: !0, inlineClassName: 'detected-link', }), active: h.qx.register({ stickiness: 1, collapseOnReplaceEdit: !0, inlineClassName: 'detected-link-active', }), }; class I { constructor(e, t) { (this.link = e), (this.decorationId = t); } static decoration(e, t) { return { range: e.range, options: I._getOptions(e, t, !1) }; } static _getOptions(e, t, i) { const r = Object.assign({}, i ? T.active : T.general); return ( (r.hoverMessage = (function (e, t) { const i = e.url && /^command:/i.test(e.url.toString()), r = e.tooltip ? e.tooltip : i ? n.N('links.navigate.executeCmd', 'Execute command') : n.N('links.navigate.follow', 'Follow link'), s = t ? c.dz ? n.N('links.navigate.kb.meta.mac', 'cmd + click') : n.N('links.navigate.kb.meta', 'ctrl + click') : c.dz ? n.N('links.navigate.kb.alt.mac', 'option + click') : n.N('links.navigate.kb.alt', 'alt + click'); return e.url ? new a.W5('', !0).appendMarkdown( `[${r}](${e.url.toString()}) (${s})` ) : new a.W5().appendText(`${r} (${s})`); })(e, t)), r ); } activate(e, t) { e.changeDecorationOptions( this.decorationId, I._getOptions(this.link, t, !0) ); } deactivate(e, t) { e.changeDecorationOptions( this.decorationId, I._getOptions(this.link, t, !1) ); } } let O = class e { constructor(e, t, i) { (this.listenersToRemove = new l.SL()), (this.editor = e), (this.openerService = t), (this.notificationService = i); let n = new g.yN(e); this.listenersToRemove.add(n), this.listenersToRemove.add( n.onMouseMoveOrRelevantKeyDown(([e, t]) => { this._onEditorMouseMove(e, t); }) ), this.listenersToRemove.add( n.onExecute((e) => { this.onEditorMouseUp(e); }) ), this.listenersToRemove.add( n.onCancel((e) => { this.cleanUpActiveLinkDecoration(); }) ), (this.enabled = e.getOption(54)), this.listenersToRemove.add( e.onDidChangeConfiguration((t) => { const i = e.getOption(54); this.enabled !== i && ((this.enabled = i), this.updateDecorations([]), this.stop(), this.beginCompute()); }) ), this.listenersToRemove.add( e.onDidChangeModelContent((e) => this.onChange()) ), this.listenersToRemove.add( e.onDidChangeModel((e) => this.onModelChanged()) ), this.listenersToRemove.add( e.onDidChangeModelLanguage((e) => this.onModelModeChanged()) ), this.listenersToRemove.add( u.pM.onDidChange((e) => this.onModelModeChanged()) ), (this.timeout = new r._F()), (this.computePromise = null), (this.activeLinksList = null), (this.currentOccurrences = {}), (this.activeLinkDecorationId = null), this.beginCompute(); } static get(t) { return t.getContribution(e.ID); } onModelChanged() { (this.currentOccurrences = {}), (this.activeLinkDecorationId = null), this.stop(), this.beginCompute(); } onModelModeChanged() { this.stop(), this.beginCompute(); } onChange() { this.timeout.setIfNotSet( () => this.beginCompute(), e.RECOMPUTE_TIME ); } beginCompute() { return ( (e = this), (t = void 0), (n = function* () { if (!this.editor.hasModel() || !this.enabled) return; const e = this.editor.getModel(); if (u.pM.has(e)) { this.activeLinksList && (this.activeLinksList.dispose(), (this.activeLinksList = null)), (this.computePromise = r.PG((t) => C(e, t))); try { (this.activeLinksList = yield this.computePromise), this.updateDecorations(this.activeLinksList.links); } catch (e) { (0, o.dL)(e); } finally { this.computePromise = null; } } }), new ((i = void 0) || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }) ); var e, t, i, n; } updateDecorations(e) { const t = 'altKey' === this.editor.getOption(61); let i = [], n = Object.keys(this.currentOccurrences); for (let e = 0, t = n.length; e < t; e++) { let t = n[e], r = this.currentOccurrences[t]; i.push(r.decorationId); } let r = []; if (e) for (const i of e) r.push(I.decoration(i, t)); let s = this.editor.deltaDecorations(i, r); (this.currentOccurrences = {}), (this.activeLinkDecorationId = null); for (let t = 0, i = s.length; t < i; t++) { let i = new I(e[t], s[t]); this.currentOccurrences[i.decorationId] = i; } } _onEditorMouseMove(e, t) { const i = 'altKey' === this.editor.getOption(61); if (this.isEnabled(e, t)) { this.cleanUpActiveLinkDecoration(); const t = this.getLinkOccurrence(e.target.position); t && this.editor.changeDecorations((e) => { t.activate(e, i), (this.activeLinkDecorationId = t.decorationId); }); } else this.cleanUpActiveLinkDecoration(); } cleanUpActiveLinkDecoration() { const e = 'altKey' === this.editor.getOption(61); if (this.activeLinkDecorationId) { const t = this.currentOccurrences[this.activeLinkDecorationId]; t && this.editor.changeDecorations((i) => { t.deactivate(i, e); }), (this.activeLinkDecorationId = null); } } onEditorMouseUp(e) { if (!this.isEnabled(e)) return; const t = this.getLinkOccurrence(e.target.position); t && this.openLinkOccurrence(t, e.hasSideBySideModifier, !0); } openLinkOccurrence(e, t, i = !1) { if (!this.openerService) return; const { link: r } = e; r.resolve(s.T.None).then( (e) => { if ('string' == typeof e && this.editor.hasModel()) { const t = this.editor.getModel().uri; if (t.scheme === M.l.file && N.Ny(e, 'file:')) { const i = f.o.parse(e); if (i.scheme === M.l.file) { const n = D.z_(i); let r = null; N.Ny(n, '/./') ? (r = `.${n.substr(1)}`) : N.Ny(n, '//./') && (r = `.${n.substr(2)}`), r && (e = D.Vo(t, r)); } } } return this.openerService.open(e, { openToSide: t, fromUserGesture: i, }); }, (e) => { const t = e instanceof Error ? e.message : e; 'invalid' === t ? this.notificationService.warn( n.N( 'invalid.url', 'Failed to open this link because it is not well-formed: {0}', r.url.toString() ) ) : 'missing' === t ? this.notificationService.warn( n.N( 'missing.url', 'Failed to open this link because its target is missing.' ) ) : (0, o.dL)(e); } ); } getLinkOccurrence(e) { if (!this.editor.hasModel() || !e) return null; const t = this.editor .getModel() .getDecorationsInRange( { startLineNumber: e.lineNumber, startColumn: e.column, endLineNumber: e.lineNumber, endColumn: e.column, }, 0, !0 ); for (const e of t) { const t = this.currentOccurrences[e.id]; if (t) return t; } return null; } isEnabled(e, t) { return Boolean( 6 === e.target.type && (e.hasTriggerModifier || (t && t.keyCodeIsTriggerKey)) ); } stop() { this.timeout.cancel(), this.activeLinksList && this.activeLinksList.dispose(), this.computePromise && (this.computePromise.cancel(), (this.computePromise = null)); } dispose() { this.listenersToRemove.dispose(), this.stop(), this.timeout.dispose(); } }; (O.ID = 'editor.linkDetector'), (O.RECOMPUTE_TIME = 1e3), (O = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([E(1, k.v4), E(2, S.lT)], O)); class A extends d.R6 { constructor() { super({ id: 'editor.action.openLink', label: n.N('label', 'Open Link'), alias: 'Open Link', precondition: void 0, }); } run(e, t) { let i = O.get(t); if (!i) return; if (!t.hasModel()) return; let n = t.getSelections(); for (let e of n) { let t = i.getLinkOccurrence(e.getEndPosition()); t && i.openLinkOccurrence(t, !1); } } } (0, d._K)(O.ID, O), (0, d.Qr)(A), (0, L.Ic)((e, t) => { const i = e.getColor(x._Y); i && t.addRule( `.monaco-editor .detected-link-active { color: ${i} !important; }` ); }); }, 53335: (e, t, i) => { 'use strict'; i.d(t, { $: () => M }); var n = i(65321), r = i(48764), s = i(17301), o = i(59365), a = i(44742), l = i(33720); let c; !(function e(t, i, n) { function r(o, a) { if (!i[o]) { if (!t[o]) { if (s) return s(o, !0); var l = new Error("Cannot find module '" + o + "'"); throw ((l.code = 'MODULE_NOT_FOUND'), l); } var c = (i[o] = { exports: {} }); t[o][0].call( c.exports, function (e) { return r(t[o][1][e] || e); }, c, c.exports, e, t, i, n ); } return i[o].exports; } for (var s = void 0, o = 0; o < n.length; o++) r(n[o]); return r; })( { 1: [ function (e, t, i) { var n = e('./toMap'); t.exports = { uris: n([ 'background', 'base', 'cite', 'href', 'longdesc', 'src', 'usemap', ]), }; }, { './toMap': 10 }, ], 2: [ function (e, t, i) { t.exports = { allowedAttributes: { '*': ['title', 'accesskey'], a: ['href', 'name', 'target', 'aria-label'], iframe: ['allowfullscreen', 'frameborder', 'src'], img: ['src', 'alt', 'title', 'aria-label'], }, allowedClasses: {}, allowedSchemes: ['http', 'https', 'mailto'], allowedTags: [ 'a', 'abbr', 'article', 'b', 'blockquote', 'br', 'caption', 'code', 'del', 'details', 'div', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'ins', 'kbd', 'li', 'main', 'mark', 'ol', 'p', 'pre', 'section', 'span', 'strike', 'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'th', 'thead', 'tr', 'u', 'ul', ], filter: null, }; }, {}, ], 3: [ function (e, t, i) { var n = e('./toMap'); t.exports = { voids: n([ 'area', 'br', 'col', 'hr', 'img', 'wbr', 'input', 'base', 'basefont', 'link', 'meta', ]), }; }, { './toMap': 10 }, ], 4: [ function (e, t, i) { e('he'); var n = e('assignment'), r = e('./parser'), s = e('./sanitizer'), o = e('./defaults'); function a(e, t, i) { var a = [], l = !0 === i ? t : n({}, o, t), c = s(a, l); return r(e, c), a.join(''); } (a.defaults = o), (t.exports = a), (c = a); }, { './defaults': 2, './parser': 7, './sanitizer': 8, assignment: 6, he: 9, }, ], 5: [ function (e, t, i) { t.exports = function (e) { return 'string' == typeof e ? e.toLowerCase() : e; }; }, {}, ], 6: [ function (e, t, i) { t.exports = function e(t) { for ( var i, n, r = Array.prototype.slice.call(arguments, 1); r.length; ) for (n in (i = r.shift())) i.hasOwnProperty(n) && ('[object Object]' === Object.prototype.toString.call(t[n]) ? (t[n] = e(t[n], i[n])) : (t[n] = i[n])); return t; }; }, {}, ], 7: [ function (e, t, i) { var n = e('he'), r = e('./lowercase'), s = (e('./attributes'), e('./elements')), o = /^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/, a = /^<\s*\/\s*([\w:-]+)[^>]*>/, l = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, c = /^= 0 && (t.comment && t.comment(e.substring(4, n)), (e = e.substring(n + 3)), (i = !1)) : d.test(e) ? f(a, m) : c.test(e) && f(o, p), (function () { if (i) { var n, r = e.indexOf('<'); r >= 0 ? ((n = e.substring(0, r)), (e = e.substring(r))) : ((n = e), (e = '')), t.chars && t.chars(n); } })(); var r = e === u; (u = e), r && (e = ''); } function f(t, n) { var r = e.match(t); r && ((e = e.substring(r[0].length)), r[0].replace(t, n), (i = !1)); } function p(e, i, o, a) { var c = {}, d = r(i), u = s.voids[d] || !!a; o.replace(l, function (e, t, i, r, s) { c[t] = void 0 === i && void 0 === r && void 0 === s ? void 0 : n.decode(i || r || s || ''); }), u || h.push(d), t.start && t.start(d, c, u); } function m(e, i) { var n, s = 0, o = r(i); if (o) for (s = h.length - 1; s >= 0 && h[s] !== o; s--); if (s >= 0) { for (n = h.length - 1; n >= s; n--) t.end && t.end(h[n]); h.length = s; } } m(); }; }, { './attributes': 1, './elements': 3, './lowercase': 5, he: 9 }, ], 8: [ function (e, t, i) { var n = e('he'), r = e('./lowercase'), s = e('./attributes'), o = e('./elements'); t.exports = function (e, t) { var i, a = t || {}; return ( d(), { start: function (e, t, o) { var d = r(e); i.ignoring ? c(d) : -1 !== (a.allowedTags || []).indexOf(d) && (!a.filter || a.filter({ tag: d, attrs: t })) ? (l('<'), l(d), Object.keys(t).forEach(function (e) { var i = t[e], o = (a.allowedClasses || {})[d] || [], c = (a.allowedAttributes || {})[d] || []; c = c.concat( (a.allowedAttributes || {})['*'] || [] ); var h = r(e); ('class' === h && -1 === c.indexOf(h) ? (i = i .split(' ') .filter(function (e) { return o && -1 !== o.indexOf(e); }) .join(' ') .trim()).length : -1 !== c.indexOf(h) && (!0 !== s.uris[h] || (function (e) { var t = e[0]; if ('#' === t || '/' === t) return !0; var i = e.indexOf(':'); if (-1 === i) return !0; var n = e.indexOf('?'); if (-1 !== n && i > n) return !0; var r = e.indexOf('#'); return ( (-1 !== r && i > r) || a.allowedSchemes.some(function (t) { return 0 === e.indexOf(t + ':'); }) ); })(i))) && (l(' '), l(e), 'string' == typeof i && (l('="'), l(n.encode(i)), l('"'))); }), l(o ? '/>' : '>')) : c(d); }, end: function (e) { var t = r(e); -1 !== (a.allowedTags || []).indexOf(t) && !1 === i.ignoring ? (l('')) : (function (e) { i.ignoring === e && --i.depth <= 0 && d(); })(t); }, chars: function (e) { !1 === i.ignoring && l(a.transformText ? a.transformText(e) : e); }, } ); function l(t) { e.push(t); } function c(e) { o.voids[e] || (!1 === i.ignoring ? (i = { ignoring: e, depth: 1 }) : i.ignoring === e && i.depth++); } function d() { i = { ignoring: !1, depth: 0 }; } }; }, { './attributes': 1, './elements': 3, './lowercase': 5, he: 9 }, ], 9: [ function (e, t, i) { var n = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', }, r = { '&': '&', '<': '<', '>': '>', '"': '"', ''': "'", }, s = /(&|<|>|"|')/g, o = /[&<>"']/g; function a(e) { return n[e]; } function l(e) { return r[e]; } function c(e) { return null == e ? '' : String(e).replace(o, a); } function d(e) { return null == e ? '' : String(e).replace(s, l); } (c.options = d.options = {}), (t.exports = { encode: c, escape: c, decode: d, unescape: d, version: '1.0.0-browser', }); }, {}, ], 10: [ function (e, t, i) { function n(e, t) { return (e[t] = !0), e; } t.exports = function (e) { return e.reduce(n, {}); }; }, {}, ], }, {}, [4] ); var d = c, h = i(23897), u = i(36248), g = i(97295), f = i(70666), p = i(66663), m = i(73046), _ = i(95935), b = i(23938), v = i(50988), y = i(71531), w = i(55713), C = i(72065), S = i(4669), k = i(5976), x = i(43775), L = function (e, t) { return function (i, n) { t(i, n, e); }; }; let M = class extends k.JT { constructor(e, t, i = v.SW) { super(), (this._editor = e), (this._modeService = t), (this._openerService = i), (this._onDidRenderCodeBlock = this._register(new S.Q5())), (this.onDidRenderCodeBlock = this._onDidRenderCodeBlock.event); } getOptions(e) { return { codeBlockRenderer: (e, t) => { let i = null; if (e) i = this._modeService.getModeIdForLanguageName(e); else { const e = this._editor.getModel(); e && (i = e.getLanguageIdentifier().language); } return ( this._modeService.triggerMode(i || ''), Promise.resolve(!0) .then((e) => { const n = x.RW.getPromise(i || ''); return n ? n.then((e) => (0, w.C)(t, e)) : (0, w.C)(t, void 0); }) .then( (e) => `${e}` ) ); }, codeBlockRenderCallback: () => this._onDidRenderCodeBlock.fire(), actionHandler: { callback: (e) => { this._openerService .open(e, { fromUserGesture: !0 }) .catch(s.dL); }, disposeables: e, }, }; } render(e) { const t = new k.SL(); let i; return ( (i = e ? (function (e, t = {}, i = {}) { var c; const v = (0, r.az)(t), y = function (t) { let i; try { i = (0, h.Q)(decodeURIComponent(t)); } catch (e) {} return i ? ((i = (0, u.rs)(i, (t) => e.uris && e.uris[t] ? f.o.revive(e.uris[t]) : void 0 )), encodeURIComponent(JSON.stringify(i))) : t; }, w = function (t, i) { const r = e.uris && e.uris[t]; if (!r) return t; let s = f.o.revive(r); return f.o.parse(t).toString() === s.toString() ? t : i ? n.uD(s).toString(!0) : (s.query && (s = s.with({ query: y(s.query) })), s.toString()); }; let C; const S = new Promise((e) => (C = e)), k = new l.Renderer(); (k.image = (e, i, n) => { let r = [], s = []; if (e) { ({ href: e, dimensions: r } = (0, o.v1)(e)), (e = w(e, !0)); try { const i = f.o.parse(e); t.baseUrl && i.scheme === p.l.file && (e = (0, _.i3)(t.baseUrl, e).toString()); } catch (e) {} s.push(`src="${e}"`); } return ( n && s.push(`alt="${n}"`), i && s.push(`title="${i}"`), r.length && (s = s.concat(r)), '' ); }), (k.link = (i, n, r) => ( i === r && (r = (0, o.oR)(r)), (i = w(i, !1)), t.baseUrl && (/^\w[\w\d+.-]*:/.test(i) || (i = (0, _.i3)(t.baseUrl, i).toString())), (n = (0, o.oR)(n)), !(i = (0, o.oR)(i)) || i.match(/^data:|javascript:/i) || (i.match(/^command:/i) && !e.isTrusted) || i.match( /^command:(\/\/\/)?_workbench\.downloadResource/i ) ? r : `${r}` )), (k.paragraph = (t) => `

    ${e.supportThemeIcons ? (0, m.Mi)(t) : t}

    `), t.codeBlockRenderer && (k.code = (e, i) => { const n = t.codeBlockRenderer(i, e), r = a.a.nextId(), s = Promise.all([n, S]) .then((e) => { const t = e[0], i = v.querySelector(`div[data-code="${r}"]`); i && (i.innerHTML = t); }) .catch((e) => {}); return ( t.codeBlockRenderCallback && s.then(t.codeBlockRenderCallback), `
    ${(0, g.YU)( e )}
    ` ); }); const x = t.actionHandler; x && [n.tw.CLICK, n.tw.AUXCLICK].forEach((e) => { x.disposeables.add( n.nm(v, e, (e) => { const t = new b.n(e); if (!t.leftButton && !t.middleButton) return; let i = t.target; if ( 'A' === i.tagName || ((i = i.parentElement), i && 'A' === i.tagName) ) try { const e = i.dataset.href; e && x.callback(e, t); } catch (e) { (0, s.dL)(e); } finally { t.preventDefault(); } }) ); }), (i.sanitizer = (t) => ( e.isTrusted ? t.match(/^()|(<\/\s*span>)$/) : void 0 ) ? t : ''), (i.sanitize = !0), (i.renderer = k); const L = [ p.l.http, p.l.https, p.l.mailto, p.l.data, p.l.file, p.l.vscodeRemote, p.l.vscodeRemoteResource, ]; e.isTrusted && L.push(p.l.command); let M = null !== (c = e.value) && void 0 !== c ? c : ''; M.length > 1e5 && (M = `${M.substr(0, 1e5)}…`); const D = l.parse( e.supportThemeIcons ? (0, m.dg)(M) : M, i ); return ( (v.innerHTML = d(D, { allowedSchemes: L, allowedTags: [ 'ul', 'li', 'p', 'code', 'blockquote', 'ol', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'em', 'pre', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'div', 'del', 'a', 'strong', 'br', 'img', 'span', ], allowedAttributes: { a: ['href', 'name', 'target', 'data-href'], img: ['src', 'title', 'alt', 'width', 'height'], div: ['class', 'data-code'], span: ['class', 'style'], th: ['align'], td: ['align'], }, filter: function (t) { return !( 'span' === t.tag && e.isTrusted && 1 === Object.keys(t.attrs).length && (t.attrs.style ? !t.attrs.style.match( /^(color\:#[0-9a-fA-F]+;)?(background-color\:#[0-9a-fA-F]+;)?$/ ) : !t.attrs.class || !t.attrs.class.match( /^codicon codicon-[a-z\-]+( codicon-animation-[a-z\-]+)?$/ )) ); }, })), C(), v ); })(e, this.getOptions(t)) : document.createElement('span')), { element: i, dispose: () => t.dispose() } ); } }; M = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([L(1, y.h), L(2, (0, C.jt)(v.v4))], M); }, 82276: (e, t, i) => { 'use strict'; i.d(t, { O: () => u }); var n = i(63580), r = i(15393), s = i(5976), o = i(85152), a = i(24314), l = i(16830), c = i(38819), d = i(97781), h = i(73910); let u = class e extends s.JT { constructor(t, i) { super(), (this._messageWidget = this._register(new s.XK())), (this._messageListeners = this._register(new s.SL())), (this._editor = t), (this._visible = e.MESSAGE_VISIBLE.bindTo(i)), this._register( this._editor.onDidAttemptReadOnlyEdit(() => this._onDidAttemptReadOnlyEdit() ) ); } static get(t) { return t.getContribution(e.ID); } dispose() { super.dispose(), this._visible.reset(); } showMessage(e, t) { let i; (0, o.Z9)(e), this._visible.set(!0), this._messageWidget.clear(), this._messageListeners.clear(), (this._messageWidget.value = new m(this._editor, t, e)), this._messageListeners.add( this._editor.onDidBlurEditorText(() => this.closeMessage()) ), this._messageListeners.add( this._editor.onDidChangeCursorPosition(() => this.closeMessage() ) ), this._messageListeners.add( this._editor.onDidDispose(() => this.closeMessage()) ), this._messageListeners.add( this._editor.onDidChangeModel(() => this.closeMessage()) ), this._messageListeners.add( new r._F(() => this.closeMessage(), 3e3) ), this._messageListeners.add( this._editor.onMouseMove((e) => { e.target.position && (i ? i.containsPosition(e.target.position) || this.closeMessage() : (i = new a.e( t.lineNumber - 3, 1, e.target.position.lineNumber + 3, 1 ))); }) ); } closeMessage() { this._visible.reset(), this._messageListeners.clear(), this._messageWidget.value && this._messageListeners.add( m.fadeOut(this._messageWidget.value) ); } _onDidAttemptReadOnlyEdit() { this._editor.hasModel() && this.showMessage( n.N('editor.readonly', 'Cannot edit in read-only editor'), this._editor.getPosition() ); } }; var g, f; (u.ID = 'editor.contrib.messageController'), (u.MESSAGE_VISIBLE = new c.uy('messageVisible', !1)), (u = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((g = 1), (f = c.i6), function (e, t) { f(e, t, g); }), ], u )); const p = l._l.bindToContribution(u.get); (0, l.fK)( new p({ id: 'leaveEditorMessage', precondition: u.MESSAGE_VISIBLE, handler: (e) => e.closeMessage(), kbOpts: { weight: 130, primary: 9 }, }) ); class m { constructor(e, { lineNumber: t, column: i }, n) { (this.allowEditorOverflow = !0), (this.suppressMouseDown = !1), (this._editor = e), this._editor.revealLinesInCenterIfOutsideViewport(t, t, 0), (this._position = { lineNumber: t, column: i - 1 }), (this._domNode = document.createElement('div')), this._domNode.classList.add('monaco-editor-overlaymessage'); const r = document.createElement('div'); r.classList.add('message'), (r.textContent = n), this._domNode.appendChild(r); const s = document.createElement('div'); s.classList.add('anchor'), this._domNode.appendChild(s), this._editor.addContentWidget(this), this._domNode.classList.add('fadeIn'); } static fadeOut(e) { let t; const i = () => { e.dispose(), clearTimeout(t), e.getDomNode().removeEventListener('animationend', i); }; return ( (t = setTimeout(i, 110)), e.getDomNode().addEventListener('animationend', i), e.getDomNode().classList.add('fadeOut'), { dispose: i } ); } dispose() { this._editor.removeContentWidget(this); } getId() { return 'messageoverlay'; } getDomNode() { return this._domNode; } getPosition() { return { position: this._position, preference: [1, 2] }; } } (0, l._K)(u.ID, u), (0, d.Ic)((e, t) => { const i = e.getColor(h.EP); if (i) { let n = e.type === d.QP ? 2 : 1; t.addRule( `.monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: ${i}; }` ), t.addRule( `.monaco-editor .monaco-editor-overlaymessage .message { border: ${n}px solid ${i}; }` ); } const n = e.getColor(h._l); n && t.addRule( `.monaco-editor .monaco-editor-overlaymessage .message { background-color: ${n}; }` ); const r = e.getColor(h.YI); r && t.addRule( `.monaco-editor .monaco-editor-overlaymessage .message { color: ${r}; }` ); }); }, 38486: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { InsertCursorAbove: () => y, InsertCursorBelow: () => w, MultiCursorSessionResult: () => x, MultiCursorSession: () => L, MultiCursorSelectionController: () => M, MultiCursorSelectionControllerAction: () => D, AddSelectionToNextFindMatchAction: () => N, AddSelectionToPreviousFindMatchAction: () => E, MoveSelectionToNextFindMatchAction: () => T, MoveSelectionToPreviousFindMatchAction: () => I, SelectHighlightsAction: () => O, CompatChangeAll: () => A, SelectionHighlighter: () => P, }); var n = i(63580), r = i(15393), s = i(22258), o = i(5976), a = i(16830), l = i(83814), c = i(24314), d = i(3860), h = i(29102), u = i(84973), g = i(3411), f = i(43775), p = i(93391), m = i(84144), _ = i(73910), b = i(97781), v = i(38819); class y extends a.R6 { constructor() { super({ id: 'editor.action.insertCursorAbove', label: n.N('mutlicursor.insertAbove', 'Add Cursor Above'), alias: 'Add Cursor Above', precondition: void 0, kbOpts: { kbExpr: h.u.editorTextFocus, primary: 2576, linux: { primary: 1552, secondary: [3088] }, weight: 100, }, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miInsertCursorAbove', comment: ['&& denotes a mnemonic'], }, '&&Add Cursor Above' ), order: 2, }, }); } run(e, t, i) { if (!t.hasModel()) return; const n = i && !0 === i.logicalLine, r = t._getViewModel(); r.cursorConfig.readOnly || (r.pushStackElement(), r.setCursorStates( i.source, 3, l.P.addCursorUp(r, r.getCursorStates(), n) ), r.revealTopMostCursor(i.source)); } } class w extends a.R6 { constructor() { super({ id: 'editor.action.insertCursorBelow', label: n.N('mutlicursor.insertBelow', 'Add Cursor Below'), alias: 'Add Cursor Below', precondition: void 0, kbOpts: { kbExpr: h.u.editorTextFocus, primary: 2578, linux: { primary: 1554, secondary: [3090] }, weight: 100, }, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miInsertCursorBelow', comment: ['&& denotes a mnemonic'], }, 'A&&dd Cursor Below' ), order: 3, }, }); } run(e, t, i) { if (!t.hasModel()) return; const n = i && !0 === i.logicalLine, r = t._getViewModel(); r.cursorConfig.readOnly || (r.pushStackElement(), r.setCursorStates( i.source, 3, l.P.addCursorDown(r, r.getCursorStates(), n) ), r.revealBottomMostCursor(i.source)); } } class C extends a.R6 { constructor() { super({ id: 'editor.action.insertCursorAtEndOfEachLineSelected', label: n.N( 'mutlicursor.insertAtEndOfEachLineSelected', 'Add Cursors to Line Ends' ), alias: 'Add Cursors to Line Ends', precondition: void 0, kbOpts: { kbExpr: h.u.editorTextFocus, primary: 1575, weight: 100, }, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miInsertCursorAtEndOfEachLineSelected', comment: ['&& denotes a mnemonic'], }, 'Add C&&ursors to Line Ends' ), order: 4, }, }); } getCursorsForSelection(e, t, i) { if (!e.isEmpty()) { for (let n = e.startLineNumber; n < e.endLineNumber; n++) { let e = t.getLineMaxColumn(n); i.push(new d.Y(n, e, n, e)); } e.endColumn > 1 && i.push( new d.Y( e.endLineNumber, e.endColumn, e.endLineNumber, e.endColumn ) ); } } run(e, t) { if (!t.hasModel()) return; const i = t.getModel(), n = t.getSelections(); let r = []; n.forEach((e) => this.getCursorsForSelection(e, i, r)), r.length > 0 && t.setSelections(r); } } class S extends a.R6 { constructor() { super({ id: 'editor.action.addCursorsToBottom', label: n.N( 'mutlicursor.addCursorsToBottom', 'Add Cursors To Bottom' ), alias: 'Add Cursors To Bottom', precondition: void 0, }); } run(e, t) { if (!t.hasModel()) return; const i = t.getSelections(), n = t.getModel().getLineCount(); let r = []; for (let e = i[0].startLineNumber; e <= n; e++) r.push(new d.Y(e, i[0].startColumn, e, i[0].endColumn)); r.length > 0 && t.setSelections(r); } } class k extends a.R6 { constructor() { super({ id: 'editor.action.addCursorsToTop', label: n.N('mutlicursor.addCursorsToTop', 'Add Cursors To Top'), alias: 'Add Cursors To Top', precondition: void 0, }); } run(e, t) { if (!t.hasModel()) return; const i = t.getSelections(); let n = []; for (let e = i[0].startLineNumber; e >= 1; e--) n.push(new d.Y(e, i[0].startColumn, e, i[0].endColumn)); n.length > 0 && t.setSelections(n); } } class x { constructor(e, t, i) { (this.selections = e), (this.revealRange = t), (this.revealScrollType = i); } } class L { constructor(e, t, i, n, r, s, o) { (this._editor = e), (this.findController = t), (this.isDisconnectedFromFindController = i), (this.searchText = n), (this.wholeWord = r), (this.matchCase = s), (this.currentMatch = o); } static create(e, t) { if (!e.hasModel()) return null; const i = t.getState(); if (!e.hasTextFocus() && i.isRevealed && i.searchString.length > 0) return new L( e, t, !1, i.searchString, i.wholeWord, i.matchCase, null ); let n, r, s = !1; const o = e.getSelections(); 1 === o.length && o[0].isEmpty() ? ((s = !0), (n = !0), (r = !0)) : ((n = i.wholeWord), (r = i.matchCase)); const a = e.getSelection(); let l, c = null; if (a.isEmpty()) { const t = e.getConfiguredWordAtPosition(a.getStartPosition()); if (!t) return null; (l = t.word), (c = new d.Y( a.startLineNumber, t.startColumn, a.startLineNumber, t.endColumn )); } else l = e.getModel().getValueInRange(a).replace(/\r\n/g, '\n'); return new L(e, t, s, l, n, r, c); } addSelectionToNextFindMatch() { if (!this._editor.hasModel()) return null; const e = this._getNextMatch(); if (!e) return null; const t = this._editor.getSelections(); return new x(t.concat(e), e, 0); } moveSelectionToNextFindMatch() { if (!this._editor.hasModel()) return null; const e = this._getNextMatch(); if (!e) return null; const t = this._editor.getSelections(); return new x(t.slice(0, t.length - 1).concat(e), e, 0); } _getNextMatch() { if (!this._editor.hasModel()) return null; if (this.currentMatch) { const e = this.currentMatch; return (this.currentMatch = null), e; } this.findController.highlightFindOptions(); const e = this._editor.getSelections(), t = e[e.length - 1], i = this._editor .getModel() .findNextMatch( this.searchText, t.getEndPosition(), !1, this.matchCase, this.wholeWord ? this._editor.getOption(105) : null, !1 ); return i ? new d.Y( i.range.startLineNumber, i.range.startColumn, i.range.endLineNumber, i.range.endColumn ) : null; } addSelectionToPreviousFindMatch() { if (!this._editor.hasModel()) return null; const e = this._getPreviousMatch(); if (!e) return null; const t = this._editor.getSelections(); return new x(t.concat(e), e, 0); } moveSelectionToPreviousFindMatch() { if (!this._editor.hasModel()) return null; const e = this._getPreviousMatch(); if (!e) return null; const t = this._editor.getSelections(); return new x(t.slice(0, t.length - 1).concat(e), e, 0); } _getPreviousMatch() { if (!this._editor.hasModel()) return null; if (this.currentMatch) { const e = this.currentMatch; return (this.currentMatch = null), e; } this.findController.highlightFindOptions(); const e = this._editor.getSelections(), t = e[e.length - 1], i = this._editor .getModel() .findPreviousMatch( this.searchText, t.getStartPosition(), !1, this.matchCase, this.wholeWord ? this._editor.getOption(105) : null, !1 ); return i ? new d.Y( i.range.startLineNumber, i.range.startColumn, i.range.endLineNumber, i.range.endColumn ) : null; } selectAll() { return this._editor.hasModel() ? (this.findController.highlightFindOptions(), this._editor .getModel() .findMatches( this.searchText, !0, !1, this.matchCase, this.wholeWord ? this._editor.getOption(105) : null, !1, 1073741824 )) : []; } } class M extends o.JT { constructor(e) { super(), (this._sessionDispose = this._register(new o.SL())), (this._editor = e), (this._ignoreSelectionChange = !1), (this._session = null); } static get(e) { return e.getContribution(M.ID); } dispose() { this._endSession(), super.dispose(); } _beginSessionIfNeeded(e) { if (!this._session) { const t = L.create(this._editor, e); if (!t) return; this._session = t; const i = { searchString: this._session.searchText }; this._session.isDisconnectedFromFindController && ((i.wholeWordOverride = 1), (i.matchCaseOverride = 1), (i.isRegexOverride = 2)), e.getState().change(i, !1), this._sessionDispose.add( this._editor.onDidChangeCursorSelection((e) => { this._ignoreSelectionChange || this._endSession(); }) ), this._sessionDispose.add( this._editor.onDidBlurEditorText(() => { this._endSession(); }) ), this._sessionDispose.add( e.getState().onFindReplaceStateChange((e) => { (e.matchCase || e.wholeWord) && this._endSession(); }) ); } } _endSession() { if ( (this._sessionDispose.clear(), this._session && this._session.isDisconnectedFromFindController) ) { const e = { wholeWordOverride: 0, matchCaseOverride: 0, isRegexOverride: 0, }; this._session.findController.getState().change(e, !1); } this._session = null; } _setSelections(e) { (this._ignoreSelectionChange = !0), this._editor.setSelections(e), (this._ignoreSelectionChange = !1); } _expandEmptyToWord(e, t) { if (!t.isEmpty()) return t; const i = this._editor.getConfiguredWordAtPosition( t.getStartPosition() ); return i ? new d.Y( t.startLineNumber, i.startColumn, t.startLineNumber, i.endColumn ) : t; } _applySessionResult(e) { e && (this._setSelections(e.selections), e.revealRange && this._editor.revealRangeInCenterIfOutsideViewport( e.revealRange, e.revealScrollType )); } getSession(e) { return this._session; } addSelectionToNextFindMatch(e) { if (this._editor.hasModel()) { if (!this._session) { const t = this._editor.getSelections(); if (t.length > 1) { const i = e.getState().matchCase; if (!F(this._editor.getModel(), t, i)) { const e = this._editor.getModel(); let i = []; for (let n = 0, r = t.length; n < r; n++) i[n] = this._expandEmptyToWord(e, t[n]); return void this._editor.setSelections(i); } } } this._beginSessionIfNeeded(e), this._session && this._applySessionResult( this._session.addSelectionToNextFindMatch() ); } } addSelectionToPreviousFindMatch(e) { this._beginSessionIfNeeded(e), this._session && this._applySessionResult( this._session.addSelectionToPreviousFindMatch() ); } moveSelectionToNextFindMatch(e) { this._beginSessionIfNeeded(e), this._session && this._applySessionResult( this._session.moveSelectionToNextFindMatch() ); } moveSelectionToPreviousFindMatch(e) { this._beginSessionIfNeeded(e), this._session && this._applySessionResult( this._session.moveSelectionToPreviousFindMatch() ); } selectAll(e) { if (!this._editor.hasModel()) return; let t = null; const i = e.getState(); if (i.isRevealed && i.searchString.length > 0 && i.isRegex) t = this._editor .getModel() .findMatches( i.searchString, !0, i.isRegex, i.matchCase, i.wholeWord ? this._editor.getOption(105) : null, !1, 1073741824 ); else { if ((this._beginSessionIfNeeded(e), !this._session)) return; t = this._session.selectAll(); } if (i.searchScope) { const e = i.searchScope; let n = []; t.forEach((t) => { e.forEach((e) => { t.range.endLineNumber <= e.endLineNumber && t.range.startLineNumber >= e.startLineNumber && n.push(t); }); }), (t = n); } if (t.length > 0) { const e = this._editor.getSelection(); for (let i = 0, n = t.length; i < n; i++) { const n = t[i]; if (n.range.intersectRanges(e)) { (t[i] = t[0]), (t[0] = n); break; } } this._setSelections( t.map( (e) => new d.Y( e.range.startLineNumber, e.range.startColumn, e.range.endLineNumber, e.range.endColumn ) ) ); } } } M.ID = 'editor.contrib.multiCursorController'; class D extends a.R6 { run(e, t) { const i = M.get(t); if (!i) return; const n = p.CommonFindController.get(t); n && this._run(i, n); } } class N extends D { constructor() { super({ id: 'editor.action.addSelectionToNextFindMatch', label: n.N( 'addSelectionToNextFindMatch', 'Add Selection To Next Find Match' ), alias: 'Add Selection To Next Find Match', precondition: void 0, kbOpts: { kbExpr: h.u.focus, primary: 2082, weight: 100 }, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miAddSelectionToNextFindMatch', comment: ['&& denotes a mnemonic'], }, 'Add &&Next Occurrence' ), order: 5, }, }); } _run(e, t) { e.addSelectionToNextFindMatch(t); } } class E extends D { constructor() { super({ id: 'editor.action.addSelectionToPreviousFindMatch', label: n.N( 'addSelectionToPreviousFindMatch', 'Add Selection To Previous Find Match' ), alias: 'Add Selection To Previous Find Match', precondition: void 0, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miAddSelectionToPreviousFindMatch', comment: ['&& denotes a mnemonic'], }, 'Add P&&revious Occurrence' ), order: 6, }, }); } _run(e, t) { e.addSelectionToPreviousFindMatch(t); } } class T extends D { constructor() { super({ id: 'editor.action.moveSelectionToNextFindMatch', label: n.N( 'moveSelectionToNextFindMatch', 'Move Last Selection To Next Find Match' ), alias: 'Move Last Selection To Next Find Match', precondition: void 0, kbOpts: { kbExpr: h.u.focus, primary: (0, s.gx)(2089, 2082), weight: 100, }, }); } _run(e, t) { e.moveSelectionToNextFindMatch(t); } } class I extends D { constructor() { super({ id: 'editor.action.moveSelectionToPreviousFindMatch', label: n.N( 'moveSelectionToPreviousFindMatch', 'Move Last Selection To Previous Find Match' ), alias: 'Move Last Selection To Previous Find Match', precondition: void 0, }); } _run(e, t) { e.moveSelectionToPreviousFindMatch(t); } } class O extends D { constructor() { super({ id: 'editor.action.selectHighlights', label: n.N( 'selectAllOccurrencesOfFindMatch', 'Select All Occurrences of Find Match' ), alias: 'Select All Occurrences of Find Match', precondition: void 0, kbOpts: { kbExpr: h.u.focus, primary: 3114, weight: 100 }, menuOpts: { menuId: m.eH.MenubarSelectionMenu, group: '3_multi', title: n.N( { key: 'miSelectHighlights', comment: ['&& denotes a mnemonic'], }, 'Select All &&Occurrences' ), order: 7, }, }); } _run(e, t) { e.selectAll(t); } } class A extends D { constructor() { super({ id: 'editor.action.changeAll', label: n.N('changeAll.label', 'Change All Occurrences'), alias: 'Change All Occurrences', precondition: v.Ao.and(h.u.writable, h.u.editorTextFocus), kbOpts: { kbExpr: h.u.editorTextFocus, primary: 2108, weight: 100, }, contextMenuOpts: { group: '1_modification', order: 1.2 }, }); } _run(e, t) { e.selectAll(t); } } class R { constructor(e, t, i, n) { (this.searchText = e), (this.matchCase = t), (this.wordSeparators = i), (this.modelVersionId = n); } static softEquals(e, t) { return ( (!e && !t) || (!(!e || !t) && e.searchText === t.searchText && e.matchCase === t.matchCase && e.wordSeparators === t.wordSeparators && e.modelVersionId === t.modelVersionId) ); } } class P extends o.JT { constructor(e) { super(), (this.editor = e), (this._isEnabled = e.getOption(89)), (this.decorations = []), (this.updateSoon = this._register( new r.pY(() => this._update(), 300) )), (this.state = null), this._register( e.onDidChangeConfiguration((t) => { this._isEnabled = e.getOption(89); }) ), this._register( e.onDidChangeCursorSelection((e) => { this._isEnabled && (e.selection.isEmpty() ? 3 === e.reason ? (this.state && this._setState(null), this.updateSoon.schedule()) : this._setState(null) : this._update()); }) ), this._register( e.onDidChangeModel((e) => { this._setState(null); }) ), this._register( e.onDidChangeModelContent((e) => { this._isEnabled && this.updateSoon.schedule(); }) ), this._register( p.CommonFindController.get(e) .getState() .onFindReplaceStateChange((e) => { this._update(); }) ); } _update() { this._setState(P._createState(this._isEnabled, this.editor)); } static _createState(e, t) { if (!e) return null; if (!t.hasModel()) return null; const i = t.getSelection(); if (i.startLineNumber !== i.endLineNumber) return null; const n = M.get(t); if (!n) return null; const r = p.CommonFindController.get(t); if (!r) return null; let s = n.getSession(r); if (!s) { const e = t.getSelections(); if (e.length > 1) { const i = r.getState().matchCase; if (!F(t.getModel(), e, i)) return null; } s = L.create(t, r); } if (!s) return null; if (s.currentMatch) return null; if (/^[ \t]+$/.test(s.searchText)) return null; if (s.searchText.length > 200) return null; const o = r.getState(), a = o.matchCase; if (o.isRevealed) { let e = o.searchString; a || (e = e.toLowerCase()); let t = s.searchText; if ( (a || (t = t.toLowerCase()), e === t && s.matchCase === o.matchCase && s.wholeWord === o.wholeWord && !o.isRegex) ) return null; } return new R( s.searchText, s.matchCase, s.wholeWord ? t.getOption(105) : null, t.getModel().getVersionId() ); } _setState(e) { if (R.softEquals(this.state, e)) return void (this.state = e); if (((this.state = e), !this.state)) return void (this.decorations = this.editor.deltaDecorations( this.decorations, [] )); if (!this.editor.hasModel()) return; const t = this.editor.getModel(); if (t.isTooLargeForTokenization()) return; const i = f.vH.has(t) && this.editor.getOption(63); let n = t .findMatches( this.state.searchText, !0, !1, this.state.matchCase, this.state.wordSeparators, !1 ) .map((e) => e.range); n.sort(c.e.compareRangesUsingStarts); let r = this.editor.getSelections(); r.sort(c.e.compareRangesUsingStarts); let s = []; for (let e = 0, t = 0, i = n.length, o = r.length; e < i; ) { const i = n[e]; if (t >= o) s.push(i), e++; else { const n = c.e.compareRangesUsingStarts(i, r[t]); n < 0 ? ((!r[t].isEmpty() && c.e.areIntersecting(i, r[t])) || s.push(i), e++) : (n > 0 || e++, t++); } } const o = s.map((e) => ({ range: e, options: i ? P._SELECTION_HIGHLIGHT : P._SELECTION_HIGHLIGHT_OVERVIEW, })); this.decorations = this.editor.deltaDecorations( this.decorations, o ); } dispose() { this._setState(null), super.dispose(); } } function F(e, t, i) { const n = B(e, t[0], !i); for (let r = 1, s = t.length; r < s; r++) { const s = t[r]; if (s.isEmpty()) return !1; if (n !== B(e, s, !i)) return !1; } return !0; } function B(e, t, i) { const n = e.getValueInRange(t); return i ? n.toLowerCase() : n; } (P.ID = 'editor.contrib.selectionHighlighter'), (P._SELECTION_HIGHLIGHT_OVERVIEW = g.qx.register({ stickiness: 1, className: 'selectionHighlight', overviewRuler: { color: (0, b.EN)(_.SP), position: u.sh.Center }, })), (P._SELECTION_HIGHLIGHT = g.qx.register({ stickiness: 1, className: 'selectionHighlight', })), (0, a._K)(M.ID, M), (0, a._K)(P.ID, P), (0, a.Qr)(y), (0, a.Qr)(w), (0, a.Qr)(C), (0, a.Qr)(N), (0, a.Qr)(E), (0, a.Qr)(T), (0, a.Qr)(I), (0, a.Qr)(O), (0, a.Qr)(A), (0, a.Qr)(S), (0, a.Qr)(k); }, 40517: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { TriggerParameterHintsAction: () => Y }); var n = i(63580), r = i(5976), s = i(72065), o = i(29102), a = i(38819), l = i(16830), c = i(65321), d = i(4850), h = i(85152), u = i(9802), g = i(4669), f = i(71531), p = i(53335), m = i(15393), _ = i(17301), b = i(43775), v = i(71050); const y = { Visible: new a.uy('parameterHintsVisible', !1), MultipleSignatures: new a.uy('parameterHintsMultipleSignatures', !1), }; function w(e, t, i, n) { const r = b.nD.ordered(e); return (0, m.Ps)( r.map((r) => () => Promise.resolve(r.provideSignatureHelp(e, t, n, i)).catch((e) => (0, _.Cp)(e) ) ) ); } (0, l.kT)('_executeSignatureHelpProvider', (e, t, i) => { return ( (n = void 0), (r = void 0), (o = function* () { const n = yield w( e, t, { triggerKind: b.WW.Invoke, isRetrigger: !1, triggerCharacter: i.triggerCharacter, }, v.T.None ); if (n) return setTimeout(() => n.dispose(), 0), n.value; }), new ((s = void 0) || (s = Promise))(function (e, t) { function i(e) { try { l(o.next(e)); } catch (e) { t(e); } } function a(e) { try { l(o.throw(e)); } catch (e) { t(e); } } function l(t) { var n; t.done ? e(t.value) : ((n = t.value), n instanceof s ? n : new s(function (e) { e(n); })).then(i, a); } l((o = o.apply(n, r || [])).next()); }) ); var n, r, s, o; }); var C, S = i(50988), k = i(73910), x = i(97781), L = i(44906); !(function (e) { (e.Default = { type: 0 }), (e.Pending = class { constructor(e) { (this.request = e), (this.type = 2); } }), (e.Active = class { constructor(e) { (this.hints = e), (this.type = 1); } }); })(C || (C = {})); class M extends r.JT { constructor(e, t = M.DEFAULT_DELAY) { super(), (this._onChangedHints = this._register(new g.Q5())), (this.onChangedHints = this._onChangedHints.event), (this.triggerOnType = !1), (this._state = C.Default), (this._pendingTriggers = []), (this._lastSignatureHelpResult = this._register(new r.XK())), (this.triggerChars = new L.q()), (this.retriggerChars = new L.q()), (this.triggerId = 0), (this.editor = e), (this.throttledDelayer = new m.vp(t)), this._register( this.editor.onDidChangeConfiguration(() => this.onEditorConfigurationChange() ) ), this._register( this.editor.onDidChangeModel((e) => this.onModelChanged()) ), this._register( this.editor.onDidChangeModelLanguage((e) => this.onModelChanged() ) ), this._register( this.editor.onDidChangeCursorSelection((e) => this.onCursorChange(e) ) ), this._register( this.editor.onDidChangeModelContent((e) => this.onModelContentChange() ) ), this._register(b.nD.onDidChange(this.onModelChanged, this)), this._register(this.editor.onDidType((e) => this.onDidType(e))), this.onEditorConfigurationChange(), this.onModelChanged(); } get state() { return this._state; } set state(e) { 2 === this._state.type && this._state.request.cancel(), (this._state = e); } cancel(e = !1) { (this.state = C.Default), this.throttledDelayer.cancel(), e || this._onChangedHints.fire(void 0); } trigger(e, t) { const i = this.editor.getModel(); if (!i || !b.nD.has(i)) return; const n = ++this.triggerId; this._pendingTriggers.push(e), this.throttledDelayer .trigger(() => this.doTrigger(n), t) .catch(_.dL); } next() { if (1 !== this.state.type) return; const e = this.state.hints.signatures.length, t = this.state.hints.activeSignature, i = t % e == e - 1, n = this.editor.getOption(67).cycle; !(e < 2 || i) || n ? this.updateActiveSignature(i && n ? 0 : t + 1) : this.cancel(); } previous() { if (1 !== this.state.type) return; const e = this.state.hints.signatures.length, t = this.state.hints.activeSignature, i = 0 === t, n = this.editor.getOption(67).cycle; !(e < 2 || i) || n ? this.updateActiveSignature(i && n ? e - 1 : t - 1) : this.cancel(); } updateActiveSignature(e) { 1 === this.state.type && ((this.state = new C.Active( Object.assign(Object.assign({}, this.state.hints), { activeSignature: e, }) )), this._onChangedHints.fire(this.state.hints)); } doTrigger(e) { return ( (t = this), (i = void 0), (r = function* () { const t = 1 === this.state.type || 2 === this.state.type, i = 1 === this.state.type ? this.state.hints : void 0; if ((this.cancel(!0), 0 === this._pendingTriggers.length)) return !1; const n = this._pendingTriggers.reduce(D); this._pendingTriggers = []; const r = { triggerKind: n.triggerKind, triggerCharacter: n.triggerCharacter, isRetrigger: t, activeSignatureHelp: i, }; if (!this.editor.hasModel()) return !1; const s = this.editor.getModel(), o = this.editor.getPosition(); this.state = new C.Pending((0, m.PG)((e) => w(s, o, r, e))); try { const t = yield this.state.request; return e !== this.triggerId ? (null == t || t.dispose(), !1) : t && t.value.signatures && 0 !== t.value.signatures.length ? ((this.state = new C.Active(t.value)), (this._lastSignatureHelpResult.value = t), this._onChangedHints.fire(this.state.hints), !0) : (null == t || t.dispose(), this._lastSignatureHelpResult.clear(), this.cancel(), !1); } catch (t) { return ( e === this.triggerId && (this.state = C.Default), (0, _.dL)(t), !1 ); } }), new ((n = void 0) || (n = Promise))(function (e, s) { function o(e) { try { l(r.next(e)); } catch (e) { s(e); } } function a(e) { try { l(r.throw(e)); } catch (e) { s(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof n ? i : new n(function (e) { e(i); })).then(o, a); } l((r = r.apply(t, i || [])).next()); }) ); var t, i, n, r; } get isTriggered() { return ( 1 === this.state.type || 2 === this.state.type || this.throttledDelayer.isTriggered() ); } onModelChanged() { this.cancel(), (this.triggerChars = new L.q()), (this.retriggerChars = new L.q()); const e = this.editor.getModel(); if (e) for (const t of b.nD.ordered(e)) { for (const e of t.signatureHelpTriggerCharacters || []) this.triggerChars.add(e.charCodeAt(0)), this.retriggerChars.add(e.charCodeAt(0)); for (const e of t.signatureHelpRetriggerCharacters || []) this.retriggerChars.add(e.charCodeAt(0)); } } onDidType(e) { if (!this.triggerOnType) return; const t = e.length - 1, i = e.charCodeAt(t); (this.triggerChars.has(i) || (this.isTriggered && this.retriggerChars.has(i))) && this.trigger({ triggerKind: b.WW.TriggerCharacter, triggerCharacter: e.charAt(t), }); } onCursorChange(e) { 'mouse' === e.source ? this.cancel() : this.isTriggered && this.trigger({ triggerKind: b.WW.ContentChange }); } onModelContentChange() { this.isTriggered && this.trigger({ triggerKind: b.WW.ContentChange }); } onEditorConfigurationChange() { (this.triggerOnType = this.editor.getOption(67).enabled), this.triggerOnType || this.cancel(); } dispose() { this.cancel(!0), super.dispose(); } } function D(e, t) { switch (t.triggerKind) { case b.WW.Invoke: return t; case b.WW.ContentChange: return e; case b.WW.TriggerCharacter: default: return t; } } M.DEFAULT_DELAY = 120; var N = i(97295), E = i(73046), T = i(98401), I = function (e, t) { return function (i, n) { t(i, n, e); }; }; const O = c.$, A = (0, E.q5)('parameter-hints-next', E.lA.chevronDown), R = (0, E.q5)('parameter-hints-previous', E.lA.chevronUp); let P = class e extends r.JT { constructor(e, t, i, n) { super(), (this.editor = e), (this.renderDisposeables = this._register(new r.SL())), (this.visible = !1), (this.announcedLabel = null), (this.allowEditorOverflow = !0), (this.markdownRenderer = this._register(new p.$(e, n, i))), (this.model = this._register(new M(e))), (this.keyVisible = y.Visible.bindTo(t)), (this.keyMultipleSignatures = y.MultipleSignatures.bindTo(t)), this._register( this.model.onChangedHints((e) => { e ? (this.show(), this.render(e)) : this.hide(); }) ); } createParamaterHintDOMNodes() { const e = O('.editor-widget.parameter-hints-widget'), t = c.R3(e, O('.wrapper')); t.tabIndex = -1; const i = c.R3(t, O('.controls')), n = c.R3(i, O('.button' + R.cssSelector)), r = c.R3(i, O('.overloads')), s = c.R3(i, O('.button' + A.cssSelector)), o = (0, d.s)((0, d.j)(n, 'click')); this._register(o(this.previous, this)); const a = (0, d.s)((0, d.j)(s, 'click')); this._register(a(this.next, this)); const l = O('.body'), h = new u.s$(l, {}); this._register(h), t.appendChild(h.getDomNode()); const f = c.R3(l, O('.signature')), p = c.R3(l, O('.docs')); (e.style.userSelect = 'text'), (this.domNodes = { element: e, signature: f, overloads: r, docs: p, scrollbar: h, }), this.editor.addContentWidget(this), this.hide(), this._register( this.editor.onDidChangeCursorSelection((e) => { this.visible && this.editor.layoutContentWidget(this); }) ); const m = () => { if (!this.domNodes) return; const e = this.editor.getOption(36); this.domNodes.element.style.fontSize = `${e.fontSize}px`; }; m(), this._register( g.ju .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) .filter((e) => e.hasChanged(36)) .on(m, null) ), this._register( this.editor.onDidLayoutChange((e) => this.updateMaxHeight()) ), this.updateMaxHeight(); } show() { this.visible || (this.domNodes || this.createParamaterHintDOMNodes(), this.keyVisible.set(!0), (this.visible = !0), setTimeout(() => { this.domNodes && c.cn(this.domNodes.element, 'visible'); }, 100), this.editor.layoutContentWidget(this)); } hide() { this.renderDisposeables.clear(), this.visible && (this.keyVisible.reset(), (this.visible = !1), (this.announcedLabel = null), this.domNodes && c.IV(this.domNodes.element, 'visible'), this.editor.layoutContentWidget(this)); } getPosition() { return this.visible ? { position: this.editor.getPosition(), preference: [1, 2] } : null; } render(e) { var t; if ((this.renderDisposeables.clear(), !this.domNodes)) return; const i = e.signatures.length > 1; c.og(this.domNodes.element, 'multiple', i), this.keyMultipleSignatures.set(i), (this.domNodes.signature.innerText = ''), (this.domNodes.docs.innerText = ''); const r = e.signatures[e.activeSignature]; if (!r) return; const s = c.R3(this.domNodes.signature, O('.code')), o = this.editor.getOption(36); (s.style.fontSize = `${o.fontSize}px`), (s.style.fontFamily = o.fontFamily); const a = r.parameters.length > 0, l = null !== (t = r.activeParameter) && void 0 !== t ? t : e.activeParameter; a ? this.renderParameters(s, r, l) : (c.R3(s, O('span')).textContent = r.label); const d = r.parameters[l]; if (null == d ? void 0 : d.documentation) { const e = O('span.documentation'); if ('string' == typeof d.documentation) e.textContent = d.documentation; else { const t = this.renderDisposeables.add( this.markdownRenderer.render(d.documentation) ); c.cn(t.element, 'markdown-docs'), e.appendChild(t.element); } c.R3(this.domNodes.docs, O('p', {}, e)); } if (void 0 === r.documentation); else if ('string' == typeof r.documentation) c.R3(this.domNodes.docs, O('p', {}, r.documentation)); else { const e = this.renderDisposeables.add( this.markdownRenderer.render(r.documentation) ); c.cn(e.element, 'markdown-docs'), c.R3(this.domNodes.docs, e.element); } const u = this.hasDocs(r, d); if ( (c.og(this.domNodes.signature, 'has-docs', u), c.og(this.domNodes.docs, 'empty', !u), (this.domNodes.overloads.textContent = (0, N.vk)( e.activeSignature + 1, e.signatures.length.toString().length ) + '/' + e.signatures.length), d) ) { const e = this.getParameterLabel(r, l); this.announcedLabel !== e && (h.Z9(n.N('hint', '{0}, hint', e)), (this.announcedLabel = e)); } this.editor.layoutContentWidget(this), this.domNodes.scrollbar.scanDomNode(); } hasDocs(e, t) { return !!( (t && 'string' == typeof t.documentation && (0, T.cW)(t.documentation).length > 0) || (t && 'object' == typeof t.documentation && (0, T.cW)(t.documentation).value.length > 0) || (e.documentation && 'string' == typeof e.documentation && (0, T.cW)(e.documentation).length > 0) || (e.documentation && 'object' == typeof e.documentation && (0, T.cW)(e.documentation.value).length > 0) ); } renderParameters(e, t, i) { const [n, r] = this.getParameterLabelOffsets(t, i), s = document.createElement('span'); s.textContent = t.label.substring(0, n); const o = document.createElement('span'); (o.textContent = t.label.substring(n, r)), (o.className = 'parameter active'); const a = document.createElement('span'); (a.textContent = t.label.substring(r)), c.R3(e, s, o, a); } getParameterLabel(e, t) { const i = e.parameters[t]; return Array.isArray(i.label) ? e.label.substring(i.label[0], i.label[1]) : i.label; } getParameterLabelOffsets(e, t) { const i = e.parameters[t]; if (i) { if (Array.isArray(i.label)) return i.label; { const t = e.label.lastIndexOf(i.label); return t >= 0 ? [t, t + i.label.length] : [0, 0]; } } return [0, 0]; } next() { this.editor.focus(), this.model.next(); } previous() { this.editor.focus(), this.model.previous(); } cancel() { this.model.cancel(); } getDomNode() { return ( this.domNodes || this.createParamaterHintDOMNodes(), this.domNodes.element ); } getId() { return e.ID; } trigger(e) { this.model.trigger(e, 0); } updateMaxHeight() { if (!this.domNodes) return; const e = `${Math.max( this.editor.getLayoutInfo().height / 4, 250 )}px`; this.domNodes.element.style.maxHeight = e; const t = this.domNodes.element.getElementsByClassName('wrapper'); t.length && (t[0].style.maxHeight = e); } }; (P.ID = 'editor.widget.parameterHintsWidget'), (P = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([I(1, a.i6), I(2, S.v4), I(3, f.h)], P)), (0, x.Ic)((e, t) => { const i = e.getColor(k.CN); if (i) { const n = e.type === x.QP ? 2 : 1; t.addRule( `.monaco-editor .parameter-hints-widget { border: ${n}px solid ${i}; }` ), t.addRule( `.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${i.transparent( 0.5 )}; }` ), t.addRule( `.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${i.transparent( 0.5 )}; }` ); } const n = e.getColor(k.yJ); n && t.addRule( `.monaco-editor .parameter-hints-widget { background-color: ${n}; }` ); const r = e.getColor(k.ur); r && t.addRule( `.monaco-editor .parameter-hints-widget a { color: ${r}; }` ); const s = e.getColor(k.Sb); s && t.addRule( `.monaco-editor .parameter-hints-widget { color: ${s}; }` ); const o = e.getColor(k.Sw); o && t.addRule( `.monaco-editor .parameter-hints-widget code { background-color: ${o}; }` ); }); let F = class e extends r.JT { constructor(e, t) { super(), (this.editor = e), (this.widget = this._register(t.createInstance(P, this.editor))); } static get(t) { return t.getContribution(e.ID); } cancel() { this.widget.cancel(); } previous() { this.widget.previous(); } next() { this.widget.next(); } trigger(e) { this.widget.trigger(e); } }; var B, W; (F.ID = 'editor.controller.parameterHints'), (F = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((B = 1), (W = s.TG), function (e, t) { W(e, t, B); }), ], F )); class Y extends l.R6 { constructor() { super({ id: 'editor.action.triggerParameterHints', label: n.N( 'parameterHints.trigger.label', 'Trigger Parameter Hints' ), alias: 'Trigger Parameter Hints', precondition: o.u.hasSignatureHelpProvider, kbOpts: { kbExpr: o.u.editorTextFocus, primary: 3082, weight: 100, }, }); } run(e, t) { const i = F.get(t); i && i.trigger({ triggerKind: b.WW.Invoke }); } } (0, l._K)(F.ID, F), (0, l.Qr)(Y); const H = l._l.bindToContribution(F.get); (0, l.fK)( new H({ id: 'closeParameterHints', precondition: y.Visible, handler: (e) => e.cancel(), kbOpts: { weight: 175, kbExpr: o.u.focus, primary: 9, secondary: [1033], }, }) ), (0, l.fK)( new H({ id: 'showPrevParameterHint', precondition: a.Ao.and(y.Visible, y.MultipleSignatures), handler: (e) => e.previous(), kbOpts: { weight: 175, kbExpr: o.u.focus, primary: 16, secondary: [528], mac: { primary: 16, secondary: [528, 302] }, }, }) ), (0, l.fK)( new H({ id: 'showNextParameterHint', precondition: a.Ao.and(y.Visible, y.MultipleSignatures), handler: (e) => e.next(), kbOpts: { weight: 175, kbExpr: o.u.focus, primary: 18, secondary: [530], mac: { primary: 18, secondary: [530, 300] }, }, }) ); }, 22043: (e, t, i) => { 'use strict'; i.d(t, { Fw: () => I, Jy: () => O, vk: () => F, rc: () => R, SC: () => H, RX: () => K, sH: () => q, WL: () => Z, xH: () => J, M8: () => j, a7: () => z, xk: () => V, F8: () => G, Zj: () => U, IY: () => $, KY: () => B, IH: () => W, R7: () => Y, }); var n = i(65321), r = i(90317), s = i(74741), o = i(41264), a = i(4669), l = i(36248), c = i(11640), d = i(84527), h = i(73098), u = i(44742), g = i(5976), f = i(24314), p = i(3411); const m = new o.Il(new o.VS(0, 122, 204)), _ = { showArrow: !0, showFrame: !0, className: '', frameColor: m, arrowColor: m, keepEditorSelection: !1, }; class b { constructor(e, t, i, n, r, s) { (this.id = ''), (this.domNode = e), (this.afterLineNumber = t), (this.afterColumn = i), (this.heightInLines = n), (this._onDomNodeTop = r), (this._onComputedHeight = s); } onDomNodeTop(e) { this._onDomNodeTop(e); } onComputedHeight(e) { this._onComputedHeight(e); } } class v { constructor(e, t) { (this._id = e), (this._domNode = t); } getId() { return this._id; } getDomNode() { return this._domNode; } getPosition() { return null; } } class y { constructor(e) { (this._editor = e), (this._ruleName = y._IdGenerator.nextId()), (this._decorations = []), (this._color = null), (this._height = -1); } dispose() { this.hide(), n.uN(this._ruleName); } set color(e) { this._color !== e && ((this._color = e), this._updateStyle()); } set height(e) { this._height !== e && ((this._height = e), this._updateStyle()); } _updateStyle() { n.uN(this._ruleName), n.fk( `.monaco-editor ${this._ruleName}`, `border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; ` ); } show(e) { this._decorations = this._editor.deltaDecorations( this._decorations, [ { range: f.e.fromPositions(e), options: { className: this._ruleName, stickiness: 1 }, }, ] ); } hide() { this._editor.deltaDecorations(this._decorations, []); } } y._IdGenerator = new u.R('.arrow-decoration-'); var w = i(63580), C = i(38819), S = i(72065), k = i(65026), x = i(16830), L = i(73910), M = i(73046), D = i(84144), N = i(58335), E = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, T = function (e, t) { return function (i, n) { t(i, n, e); }; }; const I = (0, S.yh)('IPeekViewService'); var O; (0, k.z)( I, class { constructor() { this._widgets = new Map(); } addExclusiveWidget(e, t) { const i = this._widgets.get(e); i && (i.listener.dispose(), i.widget.dispose()), this._widgets.set(e, { widget: t, listener: t.onDidClose(() => { const i = this._widgets.get(e); i && i.widget === t && (i.listener.dispose(), this._widgets.delete(e)); }), }); } } ), (function (e) { (e.inPeekEditor = new C.uy('inReferenceSearchEditor', !0)), (e.notInPeekEditor = e.inPeekEditor.toNegated()); })(O || (O = {})); let A = class { constructor(e, t) { e instanceof d.H && O.inPeekEditor.bindTo(t); } dispose() {} }; function R(e) { let t = e.get(c.$).getFocusedCodeEditor(); return t instanceof d.H ? t.getParentEditor() : t; } (A.ID = 'editor.contrib.referenceController'), (A = E([T(1, C.i6)], A)), (0, x._K)(A.ID, A); const P = { headerBackgroundColor: o.Il.white, primaryHeadingColor: o.Il.fromHex('#333333'), secondaryHeadingColor: o.Il.fromHex('#6c6c6cb3'), }; let F = class extends class { constructor(e, t = {}) { (this._arrow = null), (this._overlayWidget = null), (this._resizeSash = null), (this._positionMarkerId = []), (this._viewZone = null), (this._disposables = new g.SL()), (this.container = null), (this._isShowing = !1), (this.editor = e), (this.options = l.I8(t)), l.jB(this.options, _, !1), (this.domNode = document.createElement('div')), this.options.isAccessible || (this.domNode.setAttribute('aria-hidden', 'true'), this.domNode.setAttribute('role', 'presentation')), this._disposables.add( this.editor.onDidLayoutChange((e) => { const t = this._getWidth(e); (this.domNode.style.width = t + 'px'), (this.domNode.style.left = this._getLeft(e) + 'px'), this._onWidth(t); }) ); } dispose() { this._overlayWidget && (this.editor.removeOverlayWidget(this._overlayWidget), (this._overlayWidget = null)), this._viewZone && this.editor.changeViewZones((e) => { this._viewZone && e.removeZone(this._viewZone.id), (this._viewZone = null); }), this.editor.deltaDecorations(this._positionMarkerId, []), (this._positionMarkerId = []), this._disposables.dispose(); } create() { this.domNode.classList.add('zone-widget'), this.options.className && this.domNode.classList.add(this.options.className), (this.container = document.createElement('div')), this.container.classList.add('zone-widget-container'), this.domNode.appendChild(this.container), this.options.showArrow && ((this._arrow = new y(this.editor)), this._disposables.add(this._arrow)), this._fillContainer(this.container), this._initSash(), this._applyStyles(); } style(e) { e.frameColor && (this.options.frameColor = e.frameColor), e.arrowColor && (this.options.arrowColor = e.arrowColor), this._applyStyles(); } _applyStyles() { if (this.container && this.options.frameColor) { let e = this.options.frameColor.toString(); (this.container.style.borderTopColor = e), (this.container.style.borderBottomColor = e); } if (this._arrow && this.options.arrowColor) { let e = this.options.arrowColor.toString(); this._arrow.color = e; } } _getWidth(e) { return e.width - e.minimap.minimapWidth - e.verticalScrollbarWidth; } _getLeft(e) { return e.minimap.minimapWidth > 0 && 0 === e.minimap.minimapLeft ? e.minimap.minimapWidth : 0; } _onViewZoneTop(e) { this.domNode.style.top = e + 'px'; } _onViewZoneHeight(e) { if (((this.domNode.style.height = `${e}px`), this.container)) { let t = e - this._decoratingElementsHeight(); this.container.style.height = `${t}px`; const i = this.editor.getLayoutInfo(); this._doLayout(t, this._getWidth(i)); } this._resizeSash && this._resizeSash.layout(); } get position() { const [e] = this._positionMarkerId; if (!e) return; const t = this.editor.getModel(); if (!t) return; const i = t.getDecorationRange(e); return i ? i.getStartPosition() : void 0; } show(e, t) { const i = f.e.isIRange(e) ? f.e.lift(e) : f.e.fromPositions(e); (this._isShowing = !0), this._showImpl(i, t), (this._isShowing = !1), (this._positionMarkerId = this.editor.deltaDecorations( this._positionMarkerId, [{ range: i, options: p.qx.EMPTY }] )); } hide() { this._viewZone && (this.editor.changeViewZones((e) => { this._viewZone && e.removeZone(this._viewZone.id); }), (this._viewZone = null)), this._overlayWidget && (this.editor.removeOverlayWidget(this._overlayWidget), (this._overlayWidget = null)), this._arrow && this._arrow.hide(); } _decoratingElementsHeight() { let e = this.editor.getOption(51), t = 0; return ( this.options.showArrow && (t += 2 * Math.round(e / 3)), this.options.showFrame && (t += 2 * Math.round(e / 9)), t ); } _showImpl(e, t) { const i = e.getStartPosition(), n = this.editor.getLayoutInfo(), r = this._getWidth(n); (this.domNode.style.width = `${r}px`), (this.domNode.style.left = this._getLeft(n) + 'px'); const s = document.createElement('div'); s.style.overflow = 'hidden'; const o = this.editor.getOption(51), a = Math.max(12, (this.editor.getLayoutInfo().height / o) * 0.8); t = Math.min(t, a); let l = 0, c = 0; if ( (this._arrow && this.options.showArrow && ((l = Math.round(o / 3)), (this._arrow.height = l), this._arrow.show(i)), this.options.showFrame && (c = Math.round(o / 9)), this.editor.changeViewZones((e) => { this._viewZone && e.removeZone(this._viewZone.id), this._overlayWidget && (this.editor.removeOverlayWidget(this._overlayWidget), (this._overlayWidget = null)), (this.domNode.style.top = '-1000px'), (this._viewZone = new b( s, i.lineNumber, i.column, t, (e) => this._onViewZoneTop(e), (e) => this._onViewZoneHeight(e) )), (this._viewZone.id = e.addZone(this._viewZone)), (this._overlayWidget = new v( 'vs.editor.contrib.zoneWidget' + this._viewZone.id, this.domNode )), this.editor.addOverlayWidget(this._overlayWidget); }), this.container && this.options.showFrame) ) { const e = this.options.frameWidth ? this.options.frameWidth : c; (this.container.style.borderTopWidth = e + 'px'), (this.container.style.borderBottomWidth = e + 'px'); } let d = t * o - this._decoratingElementsHeight(); this.container && ((this.container.style.top = l + 'px'), (this.container.style.height = d + 'px'), (this.container.style.overflow = 'hidden')), this._doLayout(d, r), this.options.keepEditorSelection || this.editor.setSelection(e); const h = this.editor.getModel(); if (h) { const t = e.endLineNumber + 1; t <= h.getLineCount() ? this.revealLine(t, !1) : this.revealLine(h.getLineCount(), !0); } } revealLine(e, t) { t ? this.editor.revealLineInCenter(e, 0) : this.editor.revealLine(e, 0); } setCssClass(e, t) { this.container && (t && this.container.classList.remove(t), n.cn(this.container, e)); } _onWidth(e) {} _doLayout(e, t) {} _relayout(e) { this._viewZone && this._viewZone.heightInLines !== e && this.editor.changeViewZones((t) => { this._viewZone && ((this._viewZone.heightInLines = e), t.layoutZone(this._viewZone.id)); }); } _initSash() { if (this._resizeSash) return; let e; (this._resizeSash = this._disposables.add( new h.g(this.domNode, this, { orientation: 1 }) )), this.options.isResizeable || (this._resizeSash.hide(), (this._resizeSash.state = 0)), this._disposables.add( this._resizeSash.onDidStart((t) => { this._viewZone && (e = { startY: t.startY, heightInLines: this._viewZone.heightInLines, }); }) ), this._disposables.add( this._resizeSash.onDidEnd(() => { e = void 0; }) ), this._disposables.add( this._resizeSash.onDidChange((t) => { if (e) { let i = (t.currentY - e.startY) / this.editor.getOption(51), n = i < 0 ? Math.ceil(i) : Math.floor(i), r = e.heightInLines + n; r > 5 && r < 35 && this._relayout(r); } }) ); } getHorizontalSashLeft() { return 0; } getHorizontalSashTop() { return ( (null === this.domNode.style.height ? 0 : parseInt(this.domNode.style.height)) - this._decoratingElementsHeight() / 2 ); } getHorizontalSashWidth() { const e = this.editor.getLayoutInfo(); return e.width - e.minimap.minimapWidth; } } { constructor(e, t, i) { super(e, t), (this.instantiationService = i), (this._onDidClose = new a.Q5()), (this.onDidClose = this._onDidClose.event), l.jB(this.options, P, !1); } dispose() { super.dispose(), this._onDidClose.fire(this); } style(e) { let t = this.options; e.headerBackgroundColor && (t.headerBackgroundColor = e.headerBackgroundColor), e.primaryHeadingColor && (t.primaryHeadingColor = e.primaryHeadingColor), e.secondaryHeadingColor && (t.secondaryHeadingColor = e.secondaryHeadingColor), super.style(e); } _applyStyles() { super._applyStyles(); let e = this.options; this._headElement && e.headerBackgroundColor && (this._headElement.style.backgroundColor = e.headerBackgroundColor.toString()), this._primaryHeading && e.primaryHeadingColor && (this._primaryHeading.style.color = e.primaryHeadingColor.toString()), this._secondaryHeading && e.secondaryHeadingColor && (this._secondaryHeading.style.color = e.secondaryHeadingColor.toString()), this._bodyElement && e.frameColor && (this._bodyElement.style.borderColor = e.frameColor.toString()); } _fillContainer(e) { this.setCssClass('peekview-widget'), (this._headElement = n.$('.head')), (this._bodyElement = n.$('.body')), this._fillHead(this._headElement), this._fillBody(this._bodyElement), e.appendChild(this._headElement), e.appendChild(this._bodyElement); } _fillHead(e, t) { const i = n.$('.peekview-title'); n.R3(this._headElement, i), n.mu(i, 'click', (e) => this._onTitleClick(e)), this._fillTitleIcon(i), (this._primaryHeading = n.$('span.filename')), (this._secondaryHeading = n.$('span.dirname')), (this._metaHeading = n.$('span.meta')), n.R3( i, this._primaryHeading, this._secondaryHeading, this._metaHeading ); const o = n.$('.peekview-actions'); n.R3(this._headElement, o); const a = this._getActionBarOptions(); (this._actionbarWidget = new r.o(o, a)), this._disposables.add(this._actionbarWidget), t || this._actionbarWidget.push( new s.aU( 'peekview.close', w.N('label.close', 'Close'), M.lA.close.classNames, !0, () => (this.dispose(), Promise.resolve()) ), { label: !1, icon: !0 } ); } _fillTitleIcon(e) {} _getActionBarOptions() { return { actionViewItemProvider: (e) => e instanceof D.U8 ? this.instantiationService.createInstance(N.Mm, e) : e instanceof D.NZ ? this.instantiationService.createInstance(N.bi, e) : void 0, }; } _onTitleClick(e) {} setTitle(e, t) { this._primaryHeading && this._secondaryHeading && ((this._primaryHeading.innerText = e), this._primaryHeading.setAttribute('aria-label', e), t ? (this._secondaryHeading.innerText = t) : n.PO(this._secondaryHeading)); } setMetaTitle(e) { this._metaHeading && (e ? ((this._metaHeading.innerText = e), n.$Z(this._metaHeading)) : n.Cp(this._metaHeading)); } _doLayout(e, t) { if (!this._isShowing && e < 0) return void this.dispose(); const i = Math.ceil(1.2 * this.editor.getOption(51)), n = Math.round(e - (i + 2)); this._doLayoutHead(i, t), this._doLayoutBody(n, t); } _doLayoutHead(e, t) { this._headElement && ((this._headElement.style.height = `${e}px`), (this._headElement.style.lineHeight = this._headElement.style.height)); } _doLayoutBody(e, t) { this._bodyElement && (this._bodyElement.style.height = `${e}px`); } }; F = E([T(2, S.TG)], F); const B = (0, L.P6)( 'peekViewTitle.background', { dark: '#1E1E1E', light: '#FFFFFF', hc: '#0C141F' }, w.N( 'peekViewTitleBackground', 'Background color of the peek view title area.' ) ), W = (0, L.P6)( 'peekViewTitleLabel.foreground', { dark: '#FFFFFF', light: '#333333', hc: '#FFFFFF' }, w.N('peekViewTitleForeground', 'Color of the peek view title.') ), Y = (0, L.P6)( 'peekViewTitleDescription.foreground', { dark: '#ccccccb3', light: '#616161e6', hc: '#FFFFFF99' }, w.N( 'peekViewTitleInfoForeground', 'Color of the peek view title info.' ) ), H = (0, L.P6)( 'peekView.border', { dark: '#007acc', light: '#007acc', hc: L.lR }, w.N('peekViewBorder', 'Color of the peek view borders and arrow.') ), j = (0, L.P6)( 'peekViewResult.background', { dark: '#252526', light: '#F3F3F3', hc: o.Il.black }, w.N( 'peekViewResultsBackground', 'Background color of the peek view result list.' ) ), V = (0, L.P6)( 'peekViewResult.lineForeground', { dark: '#bbbbbb', light: '#646465', hc: o.Il.white }, w.N( 'peekViewResultsMatchForeground', 'Foreground color for line nodes in the peek view result list.' ) ), z = (0, L.P6)( 'peekViewResult.fileForeground', { dark: o.Il.white, light: '#1E1E1E', hc: o.Il.white }, w.N( 'peekViewResultsFileForeground', 'Foreground color for file nodes in the peek view result list.' ) ), U = (0, L.P6)( 'peekViewResult.selectionBackground', { dark: '#3399ff33', light: '#3399ff33', hc: null }, w.N( 'peekViewResultsSelectionBackground', 'Background color of the selected entry in the peek view result list.' ) ), $ = (0, L.P6)( 'peekViewResult.selectionForeground', { dark: o.Il.white, light: '#6C6C6C', hc: o.Il.white }, w.N( 'peekViewResultsSelectionForeground', 'Foreground color of the selected entry in the peek view result list.' ) ), K = (0, L.P6)( 'peekViewEditor.background', { dark: '#001F33', light: '#F2F8FC', hc: o.Il.black }, w.N( 'peekViewEditorBackground', 'Background color of the peek view editor.' ) ), q = (0, L.P6)( 'peekViewEditorGutter.background', { dark: K, light: K, hc: K }, w.N( 'peekViewEditorGutterBackground', 'Background color of the gutter in the peek view editor.' ) ), G = (0, L.P6)( 'peekViewResult.matchHighlightBackground', { dark: '#ea5c004d', light: '#ea5c004d', hc: null }, w.N( 'peekViewResultsMatchHighlight', 'Match highlight color in the peek view result list.' ) ), Z = (0, L.P6)( 'peekViewEditor.matchHighlightBackground', { dark: '#ff8f0099', light: '#f5d802de', hc: null }, w.N( 'peekViewEditorMatchHighlight', 'Match highlight color in the peek view editor.' ) ), J = (0, L.P6)( 'peekViewEditor.matchHighlightBorder', { dark: null, light: null, hc: L.xL }, w.N( 'peekViewEditorMatchHighlightBorder', 'Match highlight border in the peek view editor.' ) ); }, 98275: (e, t, i) => { 'use strict'; i.d(t, { X: () => d }); var n = i(84973), r = i(97781), s = i(27869), o = i(5976), a = i(65520), l = i(98401), c = i(88289); class d { constructor(e) { (this.options = e), (this.rangeHighlightDecorationId = void 0); } provide(e, t) { var i; const n = new o.SL(); (e.canAcceptInBackground = !!(null === (i = this.options) || void 0 === i ? void 0 : i.canAcceptInBackground)), (e.matchOnLabel = e.matchOnDescription = e.matchOnDetail = e.sortByLabel = !1); const r = n.add(new o.XK()); return ( (r.value = this.doProvide(e, t)), n.add( this.onDidActiveTextEditorControlChange(() => { (r.value = void 0), (r.value = this.doProvide(e, t)); }) ), n ); } doProvide(e, t) { const i = new o.SL(), n = this.activeTextEditorControl; if (n && this.canProvideWithTextEditor(n)) { const r = (0, a.Pi)(n); if (r) { let e = (0, l.f6)(n.saveViewState()); i.add( r.onDidChangeCursorPosition(() => { e = (0, l.f6)(n.saveViewState()); }) ), i.add( (0, c.I)(t.onCancellationRequested)(() => { e && n === this.activeTextEditorControl && n.restoreViewState(e); }) ); } i.add((0, o.OF)(() => this.clearDecorations(n))), i.add(this.provideWithTextEditor(n, e, t)); } else i.add(this.provideWithoutTextEditor(e, t)); return i; } canProvideWithTextEditor(e) { return !0; } gotoLocation(e, t) { e.setSelection(t.range), e.revealRangeInCenter(t.range, 0), t.preserveFocus || e.focus(); } getModel(e) { var t; return (0, a.QI)(e) ? null === (t = e.getModel()) || void 0 === t ? void 0 : t.modified : e.getModel(); } addDecorations(e, t) { e.changeDecorations((e) => { const i = []; this.rangeHighlightDecorationId && (i.push( this.rangeHighlightDecorationId.overviewRulerDecorationId ), i.push(this.rangeHighlightDecorationId.rangeHighlightId), (this.rangeHighlightDecorationId = void 0)); const o = [ { range: t, options: { className: 'rangeHighlight', isWholeLine: !0 }, }, { range: t, options: { overviewRuler: { color: (0, r.EN)(s.m9), position: n.sh.Full, }, }, }, ], [a, l] = e.deltaDecorations(i, o); this.rangeHighlightDecorationId = { rangeHighlightId: a, overviewRulerDecorationId: l, }; }); } clearDecorations(e) { const t = this.rangeHighlightDecorationId; t && (e.changeDecorations((e) => { e.deltaDecorations( [t.overviewRulerDecorationId, t.rangeHighlightId], [] ); }), (this.rangeHighlightDecorationId = void 0)); } } }, 55027: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE: () => k, OnTypeRenameContribution: () => x, OnTypeRenameAction: () => D, getOnTypeRenameRanges: () => E, editorOnTypeRenameBackground: () => T, }); var n = i(63580), r = i(16830), s = i(9488), o = i(5976), a = i(50187), l = i(71050), c = i(24314), d = i(43775), h = i(15393), u = i(3411), g = i(38819), f = i(29102), p = i(70666), m = i(11640), _ = i(17301), b = i(97295), v = i(73910), y = i(97781), w = i(41264), C = i(83831), S = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const k = new g.uy('onTypeRenameInputVisible', !1); let x = class e extends o.JT { constructor(e, t) { super(), (this._debounceDuration = 200), (this._localToDispose = this._register(new o.SL())), (this._editor = e), (this._enabled = !1), (this._visibleContextKey = k.bindTo(t)), (this._currentDecorations = []), (this._languageWordPattern = null), (this._currentWordPattern = null), (this._ignoreChangeEvent = !1), (this._localToDispose = this._register(new o.SL())), (this._rangeUpdateTriggerPromise = null), (this._rangeSyncTriggerPromise = null), (this._currentRequest = null), (this._currentRequestPosition = null), (this._currentRequestModelVersion = null), this._register( this._editor.onDidChangeModel(() => this.reinitialize()) ), this._register( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(73) && this.reinitialize(); }) ), this._register(d.jC.onDidChange(() => this.reinitialize())), this._register( this._editor.onDidChangeModelLanguage(() => this.reinitialize()) ), this.reinitialize(); } static get(t) { return t.getContribution(e.ID); } reinitialize() { const e = this._editor.getModel(), t = null !== e && this._editor.getOption(73) && d.jC.has(e); if (t === this._enabled) return; if ( ((this._enabled = t), this.clearRanges(), this._localToDispose.clear(), !t || null === e) ) return; (this._languageWordPattern = C.zu.getWordDefinition( e.getLanguageIdentifier().id )), this._localToDispose.add( e.onDidChangeLanguageConfiguration(() => { this._languageWordPattern = C.zu.getWordDefinition( e.getLanguageIdentifier().id ); }) ); const i = new h.vp(this._debounceDuration), n = () => { this._rangeUpdateTriggerPromise = i.trigger( () => this.updateRanges(), this._debounceDuration ); }, r = new h.vp(0), s = (e) => { this._rangeSyncTriggerPromise = r.trigger(() => this._syncRanges(e) ); }; this._localToDispose.add( this._editor.onDidChangeCursorPosition(() => { n(); }) ), this._localToDispose.add( this._editor.onDidChangeModelContent((t) => { if ( !this._ignoreChangeEvent && this._currentDecorations.length > 0 ) { const i = e.getDecorationRange(this._currentDecorations[0]); if (i && t.changes.every((e) => i.intersectRanges(e.range))) return void s(this._currentDecorations); } n(); }) ), this._localToDispose.add({ dispose: () => { i.cancel(), r.cancel(); }, }), this.updateRanges(); } _syncRanges(e) { if ( !this._editor.hasModel() || e !== this._currentDecorations || 0 === e.length ) return; const t = this._editor.getModel(), i = t.getDecorationRange(e[0]); if (!i || i.startLineNumber !== i.endLineNumber) return this.clearRanges(); const n = t.getValueInRange(i); if (this._currentWordPattern) { const e = n.match(this._currentWordPattern); if ((e ? e[0].length : 0) !== n.length) return this.clearRanges(); } let r = []; for (let i = 1, s = e.length; i < s; i++) { const s = t.getDecorationRange(e[i]); if (s) if (s.startLineNumber !== s.endLineNumber) r.push({ range: s, text: n }); else { let e = t.getValueInRange(s), i = n, o = s.startColumn, a = s.endColumn; const l = b.Mh(e, i); (o += l), (e = e.substr(l)), (i = i.substr(l)); const d = b.P1(e, i); (a -= d), (e = e.substr(0, e.length - d)), (i = i.substr(0, i.length - d)), (o === a && 0 === i.length) || r.push({ range: new c.e( s.startLineNumber, o, s.endLineNumber, a ), text: i, }); } } if (0 !== r.length) try { this._ignoreChangeEvent = !0; const e = this._editor ._getViewModel() .getPrevEditOperationType(); this._editor.executeEdits('onTypeRename', r), this._editor._getViewModel().setPrevEditOperationType(e); } finally { this._ignoreChangeEvent = !1; } } dispose() { this.clearRanges(), super.dispose(); } clearRanges() { this._visibleContextKey.set(!1), (this._currentDecorations = this._editor.deltaDecorations( this._currentDecorations, [] )), this._currentRequest && (this._currentRequest.cancel(), (this._currentRequest = null), (this._currentRequestPosition = null)); } updateRanges(t = !1) { return S(this, void 0, void 0, function* () { if (!this._editor.hasModel()) return void this.clearRanges(); const i = this._editor.getPosition(); if ( (!this._enabled && !t) || this._editor.getSelections().length > 1 ) return void this.clearRanges(); const n = this._editor.getModel(), r = n.getVersionId(); if ( this._currentRequestPosition && this._currentRequestModelVersion === r ) { if (i.equals(this._currentRequestPosition)) return; if ( this._currentDecorations && this._currentDecorations.length > 0 ) { const e = n.getDecorationRange(this._currentDecorations[0]); if (e && e.containsPosition(i)) return; } } (this._currentRequestPosition = i), (this._currentRequestModelVersion = r); const s = (0, h.PG)((t) => S(this, void 0, void 0, function* () { try { const o = yield E(n, i, t); if (s !== this._currentRequest) return; if (((this._currentRequest = null), r !== n.getVersionId())) return; let a = []; (null == o ? void 0 : o.ranges) && (a = o.ranges), (this._currentWordPattern = (null == o ? void 0 : o.wordPattern) || this._languageWordPattern); let l = !1; for (let e = 0, t = a.length; e < t; e++) if (c.e.containsPosition(a[e], i)) { if (((l = !0), 0 !== e)) { const t = a[e]; a.splice(e, 1), a.unshift(t); } break; } if (!l) return void this.clearRanges(); const d = a.map((t) => ({ range: t, options: e.DECORATION, })); this._visibleContextKey.set(!0), (this._currentDecorations = this._editor.deltaDecorations( this._currentDecorations, d )); } catch (e) { (0, _.VV)(e) || (0, _.dL)(e), (this._currentRequest !== s && this._currentRequest) || this.clearRanges(); } }) ); return (this._currentRequest = s), s; }); } }; var L, M; (x.ID = 'editor.contrib.onTypeRename'), (x.DECORATION = u.qx.register({ stickiness: 0, className: 'on-type-rename-decoration', })), (x = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((L = 1), (M = g.i6), function (e, t) { M(e, t, L); }), ], x )); class D extends r.R6 { constructor() { super({ id: 'editor.action.onTypeRename', label: n.N('onTypeRename.label', 'On Type Rename Symbol'), alias: 'On Type Rename Symbol', precondition: g.Ao.and(f.u.writable, f.u.hasRenameProvider), kbOpts: { kbExpr: f.u.editorTextFocus, primary: 3132, weight: 100, }, }); } runCommand(e, t) { const i = e.get(m.$), [n, r] = (Array.isArray(t) && t) || [void 0, void 0]; return p.o.isUri(n) && a.L.isIPosition(r) ? i .openCodeEditor({ resource: n }, i.getActiveCodeEditor()) .then((e) => { e && (e.setPosition(r), e.invokeWithinContext( (t) => (this.reportTelemetry(t, e), this.run(t, e)) )); }, _.dL) : super.runCommand(e, t); } run(e, t) { const i = x.get(t); return i ? Promise.resolve(i.updateRanges(!0)) : Promise.resolve(); } } const N = r._l.bindToContribution(x.get); function E(e, t, i) { const n = d.jC.ordered(e); return (0, h.Ps)( n.map((n) => () => Promise.resolve(n.provideOnTypeRenameRanges(e, t, i)).then( (e) => { if (e) return { ranges: e.ranges, wordPattern: e.wordPattern || n.wordPattern, }; }, (e) => { (0, _.Cp)(e); } ) ), (e) => !!e && s.Of(null == e ? void 0 : e.ranges) ); } (0, r.fK)( new N({ id: 'cancelOnTypeRenameInput', precondition: k, handler: (e) => e.clearRanges(), kbOpts: { kbExpr: f.u.editorTextFocus, weight: 199, primary: 9, secondary: [1033], }, }) ); const T = (0, v.P6)( 'editor.onTypeRenameBackground', { dark: w.Il.fromHex('#f00').transparent(0.3), light: w.Il.fromHex('#f00').transparent(0.3), hc: w.Il.fromHex('#f00').transparent(0.3), }, n.N( 'editorOnTypeRenameBackground', 'Background color when the editor auto renames on type.' ) ); (0, y.Ic)((e, t) => { const i = e.getColor(T); i && t.addRule( `.monaco-editor .on-type-rename-decoration { background: ${i}; border-left-color: ${i}; }` ); }), (0, r.sb)('_executeRenameOnTypeProvider', (e, t) => E(e, t, l.T.None) ), (0, r._K)(x.ID, x), (0, r.Qr)(D); }, 4454: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { RenameAction: () => W, rename: () => F }); var n = i(63580), r = i(17301), s = i(38819), o = i(90535), a = i(16830), l = i(29102), c = i(5976), d = i(50187), h = i(73910), u = i(97781), g = i(91847), f = function (e, t) { return function (i, n) { t(i, n, e); }; }; const p = new s.uy('renameInputVisible', !1); let m = class { constructor(e, t, i, n, r) { (this._editor = e), (this._acceptKeybindings = t), (this._themeService = i), (this._keybindingService = n), (this._disposables = new c.SL()), (this.allowEditorOverflow = !0), (this._visibleContextKey = p.bindTo(r)), this._editor.addContentWidget(this), this._disposables.add( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(36) && this._updateFont(); }) ), this._disposables.add( i.onDidColorThemeChange(this._updateStyles, this) ); } dispose() { this._disposables.dispose(), this._editor.removeContentWidget(this); } getId() { return '__renameInputWidget'; } getDomNode() { if (!this._domNode) { (this._domNode = document.createElement('div')), (this._domNode.className = 'monaco-editor rename-box'), (this._input = document.createElement('input')), (this._input.className = 'rename-input'), (this._input.type = 'text'), this._input.setAttribute( 'aria-label', (0, n.N)( 'renameAriaLabel', 'Rename input. Type new name and press Enter to commit.' ) ), this._domNode.appendChild(this._input), (this._label = document.createElement('div')), (this._label.className = 'rename-label'), this._domNode.appendChild(this._label); const e = () => { var e, t; const [i, r] = this._acceptKeybindings; this._keybindingService.lookupKeybinding(i), (this._label.innerText = (0, n.N)( { key: 'label', comment: [ 'placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"', ], }, '{0} to Rename, {1} to Preview', null === (e = this._keybindingService.lookupKeybinding(i)) || void 0 === e ? void 0 : e.getLabel(), null === (t = this._keybindingService.lookupKeybinding(r)) || void 0 === t ? void 0 : t.getLabel() )); }; e(), this._disposables.add( this._keybindingService.onDidUpdateKeybindings(e) ), this._updateFont(), this._updateStyles(this._themeService.getColorTheme()); } return this._domNode; } _updateStyles(e) { var t, i, n, r; if (!this._input || !this._domNode) return; const s = e.getColor(h.rh); (this._domNode.style.backgroundColor = String( null !== (t = e.getColor(h.D0)) && void 0 !== t ? t : '' )), (this._domNode.style.boxShadow = s ? ` 0 2px 8px ${s}` : ''), (this._domNode.style.color = String( null !== (i = e.getColor(h.zJ)) && void 0 !== i ? i : '' )), (this._input.style.backgroundColor = String( null !== (n = e.getColor(h.sE)) && void 0 !== n ? n : '' )); const o = e.getColor(h.dt); (this._input.style.borderWidth = o ? '1px' : '0px'), (this._input.style.borderStyle = o ? 'solid' : 'none'), (this._input.style.borderColor = null !== (r = null == o ? void 0 : o.toString()) && void 0 !== r ? r : 'none'); } _updateFont() { if (!this._input || !this._label) return; const e = this._editor.getOption(36); (this._input.style.fontFamily = e.fontFamily), (this._input.style.fontWeight = e.fontWeight), (this._input.style.fontSize = `${e.fontSize}px`), (this._label.style.fontSize = 0.8 * e.fontSize + 'px'); } getPosition() { return this._visible ? { position: this._position, preference: [2, 1] } : null; } acceptInput(e) { this._currentAcceptInput && this._currentAcceptInput(e); } cancelInput(e) { this._currentCancelInput && this._currentCancelInput(e); } getInput(e, t, i, n, r, s) { this._domNode.classList.toggle('preview', r), (this._position = new d.L(e.startLineNumber, e.startColumn)), (this._input.value = t), this._input.setAttribute('selectionStart', i.toString()), this._input.setAttribute('selectionEnd', n.toString()), (this._input.size = Math.max( 1.1 * (e.endColumn - e.startColumn), 20 )); const o = new c.SL(); return new Promise((e) => { (this._currentCancelInput = (t) => ( (this._currentAcceptInput = void 0), (this._currentCancelInput = void 0), e(t), !0 )), (this._currentAcceptInput = (i) => { 0 !== this._input.value.trim().length && this._input.value !== t ? ((this._currentAcceptInput = void 0), (this._currentCancelInput = void 0), e({ newName: this._input.value, wantsPreview: r && i })) : this.cancelInput(!0); }), s.onCancellationRequested(() => this.cancelInput(!0)), o.add( this._editor.onDidBlurEditorWidget(() => this.cancelInput(!1)) ), this._show(); }).finally(() => { o.dispose(), this._hide(); }); } _show() { this._editor.revealLineInCenterIfOutsideViewport( this._position.lineNumber, 0 ), (this._visible = !0), this._visibleContextKey.set(!0), this._editor.layoutContentWidget(this), setTimeout(() => { this._input.focus(), this._input.setSelectionRange( parseInt(this._input.getAttribute('selectionStart')), parseInt(this._input.getAttribute('selectionEnd')) ); }, 100); } _hide() { (this._visible = !1), this._visibleContextKey.reset(), this._editor.layoutContentWidget(this); } }; m = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([f(2, u.XE), f(3, g.d), f(4, s.i6)], m); var _ = i(43775), b = i(85152), v = i(24314), y = i(82276), w = i(39925), C = i(59422), S = i(66007), k = i(70666), x = i(11640), L = i(71050), M = i(15393), D = i(43557), N = i(72065), E = i(89872), T = i(23193), I = i(33187), O = i(98401), A = function (e, t) { return function (i, n) { t(i, n, e); }; }, R = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class P { constructor(e, t) { (this.model = e), (this.position = t), (this._providerRenameIdx = 0), (this._providers = _.G0.ordered(e)); } hasProvider() { return this._providers.length > 0; } resolveRenameLocation(e) { return R(this, void 0, void 0, function* () { const t = []; for ( this._providerRenameIdx = 0; this._providerRenameIdx < this._providers.length; this._providerRenameIdx++ ) { const i = this._providers[this._providerRenameIdx]; if (!i.resolveRenameLocation) break; let n = yield i.resolveRenameLocation( this.model, this.position, e ); if (n) { if (!n.rejectReason) return n; t.push(n.rejectReason); } } const i = this.model.getWordAtPosition(this.position); return i ? { range: new v.e( this.position.lineNumber, i.startColumn, this.position.lineNumber, i.endColumn ), text: i.word, rejectReason: t.length > 0 ? t.join('\n') : void 0, } : { range: v.e.fromPositions(this.position), text: '', rejectReason: t.length > 0 ? t.join('\n') : void 0, }; }); } provideRenameEdits(e, t) { return R(this, void 0, void 0, function* () { return this._provideRenameEdits( e, this._providerRenameIdx, [], t ); }); } _provideRenameEdits(e, t, i, r) { return R(this, void 0, void 0, function* () { const s = this._providers[t]; if (!s) return { edits: [], rejectReason: i.join('\n') }; const o = yield s.provideRenameEdits( this.model, this.position, e, r ); return o ? o.rejectReason ? this._provideRenameEdits( e, t + 1, i.concat(o.rejectReason), r ) : o : this._provideRenameEdits( e, t + 1, i.concat(n.N('no result', 'No result.')), r ); }); } } function F(e, t, i) { return R(this, void 0, void 0, function* () { const n = new P(e, t), r = yield n.resolveRenameLocation(L.T.None); return (null == r ? void 0 : r.rejectReason) ? { edits: [], rejectReason: r.rejectReason } : n.provideRenameEdits(i, L.T.None); }); } let B = class e { constructor(e, t, i, n, r, s, o) { (this.editor = e), (this._instaService = t), (this._notificationService = i), (this._bulkEditService = n), (this._progressService = r), (this._logService = s), (this._configService = o), (this._dispoableStore = new c.SL()), (this._cts = new L.A()), (this._renameInputField = this._dispoableStore.add( new M.Ue(() => this._dispoableStore.add( this._instaService.createInstance(m, this.editor, [ 'acceptRenameInput', 'acceptRenameInputWithPreview', ]) ) ) )); } static get(t) { return t.getContribution(e.ID); } dispose() { this._dispoableStore.dispose(), this._cts.dispose(!0); } run() { return R(this, void 0, void 0, function* () { if ((this._cts.dispose(!0), !this.editor.hasModel())) return; const e = this.editor.getPosition(), t = new P(this.editor.getModel(), e); if (!t.hasProvider()) return; let i; this._cts = new w.Dl(this.editor, 5); try { const e = t.resolveRenameLocation(this._cts.token); this._progressService.showWhile(e, 250), (i = yield e); } catch (t) { return void y.O.get(this.editor).showMessage( t || n.N( 'resolveRenameLocationFailed', 'An unknown error occurred while resolving rename location' ), e ); } if (!i) return; if (i.rejectReason) return void y.O.get(this.editor).showMessage(i.rejectReason, e); if (this._cts.token.isCancellationRequested) return; this._cts.dispose(), (this._cts = new w.Dl(this.editor, 5, i.range)); let r = this.editor.getSelection(), s = 0, o = i.text.length; v.e.isEmpty(r) || v.e.spansMultipleLines(r) || !v.e.containsRange(i.range, r) || ((s = Math.max(0, r.startColumn - i.range.startColumn)), (o = Math.min(i.range.endColumn, r.endColumn) - i.range.startColumn)); const a = this._bulkEditService.hasPreviewHandler() && this._configService.getValue( this.editor.getModel().uri, 'editor.rename.enablePreview' ), l = yield this._renameInputField.value.getInput( i.range, i.text, s, o, a, this._cts.token ); if ('boolean' == typeof l) return void (l && this.editor.focus()); this.editor.focus(); const c = (0, M.eP)( t.provideRenameEdits(l.newName, this._cts.token), this._cts.token ).then( (e) => R(this, void 0, void 0, function* () { e && this.editor.hasModel() && (e.rejectReason ? this._notificationService.info(e.rejectReason) : this._bulkEditService .apply(S.fo.convert(e), { editor: this.editor, showPreview: l.wantsPreview, label: n.N( 'label', "Renaming '{0}'", null == i ? void 0 : i.text ), quotableLabel: n.N( 'quotableLabel', 'Renaming {0}', null == i ? void 0 : i.text ), }) .then((e) => { e.ariaSummary && (0, b.Z9)( n.N( 'aria', "Successfully renamed '{0}' to '{1}'. Summary: {2}", i.text, l.newName, e.ariaSummary ) ); }) .catch((e) => { this._notificationService.error( n.N( 'rename.failedApply', 'Rename failed to apply edits' ) ), this._logService.error(e); })); }), (e) => { this._notificationService.error( n.N('rename.failed', 'Rename failed to compute edits') ), this._logService.error(e); } ); return this._progressService.showWhile(c, 250), c; }); } acceptRenameInput(e) { this._renameInputField.value.acceptInput(e); } cancelRenameInput() { this._renameInputField.value.cancelInput(!0); } }; (B.ID = 'editor.contrib.renameController'), (B = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ A(1, N.TG), A(2, C.lT), A(3, S.vu), A(4, o.e), A(5, D.VZ), A(6, I.V), ], B )); class W extends a.R6 { constructor() { super({ id: 'editor.action.rename', label: n.N('rename.label', 'Rename Symbol'), alias: 'Rename Symbol', precondition: s.Ao.and(l.u.writable, l.u.hasRenameProvider), kbOpts: { kbExpr: l.u.editorTextFocus, primary: 60, weight: 100 }, contextMenuOpts: { group: '1_modification', order: 1.1 }, }); } runCommand(e, t) { const i = e.get(x.$), [n, s] = (Array.isArray(t) && t) || [void 0, void 0]; return k.o.isUri(n) && d.L.isIPosition(s) ? i .openCodeEditor({ resource: n }, i.getActiveCodeEditor()) .then((e) => { e && (e.setPosition(s), e.invokeWithinContext( (t) => (this.reportTelemetry(t, e), this.run(t, e)) )); }, r.dL) : super.runCommand(e, t); } run(e, t) { const i = B.get(t); return i ? i.run() : Promise.resolve(); } } (0, a._K)(B.ID, B), (0, a.Qr)(W); const Y = a._l.bindToContribution(B.get); (0, a.fK)( new Y({ id: 'acceptRenameInput', precondition: p, handler: (e) => e.acceptRenameInput(!1), kbOpts: { weight: 199, kbExpr: l.u.focus, primary: 3 }, }) ), (0, a.fK)( new Y({ id: 'acceptRenameInputWithPreview', precondition: s.Ao.and( p, s.Ao.has('config.editor.rename.enablePreview') ), handler: (e) => e.acceptRenameInput(!0), kbOpts: { weight: 199, kbExpr: l.u.focus, primary: 1027 }, }) ), (0, a.fK)( new Y({ id: 'cancelRenameInput', precondition: p, handler: (e) => e.cancelRenameInput(), kbOpts: { weight: 199, kbExpr: l.u.focus, primary: 9, secondary: [1033], }, }) ), (0, a.sb)('_executeDocumentRenameProvider', function (e, t, ...i) { const [n] = i; return (0, O.p_)('string' == typeof n), F(e, t, n); }), E.B.as(T.IP.Configuration).registerConfiguration({ id: 'editor', properties: { 'editor.rename.enablePreview': { scope: 5, description: n.N( 'enablePreview', 'Enable/disable the ability to preview changes before renaming' ), default: !0, type: 'boolean', }, }, }); }, 80689: (e, t, i) => { 'use strict'; i.d(t, { x: () => o }); var n = i(50187), r = i(24314), s = i(91741); class o { provideSelectionRanges(e, t) { return ( (i = this), (n = void 0), (s = function* () { const i = []; for (const n of t) { const t = []; i.push(t); const r = new Map(); yield new Promise((t) => o._bracketsRightYield(t, 0, e, n, r) ), yield new Promise((i) => o._bracketsLeftYield(i, 0, e, n, r, t) ); } return i; }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } static _bracketsRightYield(e, t, i, n, r) { const a = new Map(), l = Date.now(); for (;;) { if (t >= o._maxRounds) { e(); break; } if (!n) { e(); break; } let c = i.findNextBracket(n); if (!c) { e(); break; } if (Date.now() - l > o._maxDuration) { setTimeout(() => o._bracketsRightYield(e, t + 1, i, n, r)); break; } const d = c.close[0]; if (c.isOpen) { let e = a.has(d) ? a.get(d) : 0; a.set(d, e + 1); } else { let e = a.has(d) ? a.get(d) : 0; if (((e -= 1), a.set(d, Math.max(0, e)), e < 0)) { let e = r.get(d); e || ((e = new s.S()), r.set(d, e)), e.push(c.range); } } n = c.range.getEndPosition(); } } static _bracketsLeftYield(e, t, i, n, s, a) { const l = new Map(), c = Date.now(); for (;;) { if (t >= o._maxRounds && 0 === s.size) { e(); break; } if (!n) { e(); break; } let d = i.findPrevBracket(n); if (!d) { e(); break; } if (Date.now() - c > o._maxDuration) { setTimeout(() => o._bracketsLeftYield(e, t + 1, i, n, s, a)); break; } const h = d.close[0]; if (d.isOpen) { let e = l.has(h) ? l.get(h) : 0; if (((e -= 1), l.set(h, Math.max(0, e)), e < 0)) { let e = s.get(h); if (e) { let t = e.shift(); 0 === e.size && s.delete(h); const n = r.e.fromPositions( d.range.getEndPosition(), t.getStartPosition() ), l = r.e.fromPositions( d.range.getStartPosition(), t.getEndPosition() ); a.push({ range: n }), a.push({ range: l }), o._addBracketLeading(i, l, a); } } } else { let e = l.has(h) ? l.get(h) : 0; l.set(h, e + 1); } n = d.range.getStartPosition(); } } static _addBracketLeading(e, t, i) { if (t.startLineNumber === t.endLineNumber) return; const s = t.startLineNumber, o = e.getLineFirstNonWhitespaceColumn(s); 0 !== o && o !== t.startColumn && (i.push({ range: r.e.fromPositions(new n.L(s, o), t.getEndPosition()), }), i.push({ range: r.e.fromPositions(new n.L(s, 1), t.getEndPosition()), })); const a = s - 1; if (a > 0) { const s = e.getLineFirstNonWhitespaceColumn(a); s === t.startColumn && s !== e.getLineLastNonWhitespaceColumn(a) && (i.push({ range: r.e.fromPositions(new n.L(a, s), t.getEndPosition()), }), i.push({ range: r.e.fromPositions(new n.L(a, 1), t.getEndPosition()), })); } } } (o._maxDuration = 30), (o._maxRounds = 2); }, 81955: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { provideSelectionRanges: () => w }); var n = i(9488), r = i(71050), s = i(16830), o = i(50187), a = i(24314), l = i(3860), c = i(29102), d = i(43775), h = i(63580), u = i(84144), g = i(5976), f = i(97295), p = i(80689), m = i(94565), _ = i(17301); class b { constructor(e, t) { (this.index = e), (this.ranges = t); } mov(e) { let t = this.index + (e ? 1 : -1); if (t < 0 || t >= this.ranges.length) return this; const i = new b(t, this.ranges); return i.ranges[t].equalsRange(this.ranges[this.index]) ? i.mov(e) : i; } } class v { constructor(e) { (this._ignoreSelection = !1), (this._editor = e); } static get(e) { return e.getContribution(v.ID); } dispose() { (0, g.B9)(this._selectionListener); } run(e) { if (!this._editor.hasModel()) return; const t = this._editor.getSelections(), i = this._editor.getModel(); if (!d.AC.has(i)) return; let s = Promise.resolve(void 0); return ( this._state || (s = w( i, t.map((e) => e.getPosition()), r.T.None ).then((e) => { if ( n.Of(e) && e.length === t.length && this._editor.hasModel() && n.fS(this._editor.getSelections(), t, (e, t) => e.equalsSelection(t) ) ) { for (let i = 0; i < e.length; i++) (e[i] = e[i].filter( (e) => e.containsPosition(t[i].getStartPosition()) && e.containsPosition(t[i].getEndPosition()) )), e[i].unshift(t[i]); (this._state = e.map((e) => new b(0, e))), (0, g.B9)(this._selectionListener), (this._selectionListener = this._editor.onDidChangeCursorPosition( () => { this._ignoreSelection || ((0, g.B9)(this._selectionListener), (this._state = void 0)); } )); } })), s.then(() => { if (!this._state) return; this._state = this._state.map((t) => t.mov(e)); const t = this._state.map((e) => l.Y.fromPositions( e.ranges[e.index].getStartPosition(), e.ranges[e.index].getEndPosition() ) ); this._ignoreSelection = !0; try { this._editor.setSelections(t); } finally { this._ignoreSelection = !1; } }) ); } } v.ID = 'editor.contrib.smartSelectController'; class y extends s.R6 { constructor(e, t) { super(t), (this._forward = e); } run(e, t) { return ( (i = this), (n = void 0), (s = function* () { let e = v.get(t); e && (yield e.run(this._forward)); }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } } function w(e, t, i) { const r = d.AC.all(e); 1 === r.length && r.unshift(new p.x()); let s = [], l = []; for (const o of r) s.push( Promise.resolve(o.provideSelectionRanges(e, t, i)).then((e) => { if (n.Of(e) && e.length === t.length) for (let i = 0; i < t.length; i++) { l[i] || (l[i] = []); for (const n of e[i]) a.e.isIRange(n.range) && a.e.containsPosition(n.range, t[i]) && l[i].push(a.e.lift(n.range)); } }, _.Cp) ); return Promise.all(s).then(() => l.map((t) => { if (0 === t.length) return []; t.sort((e, t) => o.L.isBefore(e.getStartPosition(), t.getStartPosition()) ? 1 : o.L.isBefore(t.getStartPosition(), e.getStartPosition()) || o.L.isBefore(e.getEndPosition(), t.getEndPosition()) ? -1 : o.L.isBefore(t.getEndPosition(), e.getEndPosition()) ? 1 : 0 ); let i, n = []; for (const e of t) (!i || (a.e.containsRange(e, i) && !a.e.equalsRange(e, i))) && (n.push(e), (i = e)); let r = [n[0]]; for (let t = 1; t < n.length; t++) { const i = n[t - 1], s = n[t]; if ( s.startLineNumber !== i.startLineNumber || s.endLineNumber !== i.endLineNumber ) { const t = new a.e( i.startLineNumber, e.getLineFirstNonWhitespaceColumn(i.startLineNumber), i.endLineNumber, e.getLineLastNonWhitespaceColumn(i.endLineNumber) ); t.containsRange(i) && !t.equalsRange(i) && s.containsRange(t) && !s.equalsRange(t) && r.push(t); const n = new a.e( i.startLineNumber, 1, i.endLineNumber, e.getLineMaxColumn(i.endLineNumber) ); n.containsRange(i) && !n.equalsRange(t) && s.containsRange(n) && !s.equalsRange(n) && r.push(n); } r.push(s); } return r; }) ); } m.P.registerCommandAlias( 'editor.action.smartSelect.grow', 'editor.action.smartSelect.expand' ), (0, s._K)(v.ID, v), (0, s.Qr)( class extends y { constructor() { super(!0, { id: 'editor.action.smartSelect.expand', label: h.N('smartSelect.expand', 'Expand Selection'), alias: 'Expand Selection', precondition: void 0, kbOpts: { kbExpr: c.u.editorTextFocus, primary: 1553, mac: { primary: 3345, secondary: [1297] }, weight: 100, }, menuOpts: { menuId: u.eH.MenubarSelectionMenu, group: '1_basic', title: h.N( { key: 'miSmartSelectGrow', comment: ['&& denotes a mnemonic'], }, '&&Expand Selection' ), order: 2, }, }); } } ), (0, s.Qr)( class extends y { constructor() { super(!1, { id: 'editor.action.smartSelect.shrink', label: h.N('smartSelect.shrink', 'Shrink Selection'), alias: 'Shrink Selection', precondition: void 0, kbOpts: { kbExpr: c.u.editorTextFocus, primary: 1551, mac: { primary: 3343, secondary: [1295] }, weight: 100, }, menuOpts: { menuId: u.eH.MenubarSelectionMenu, group: '1_basic', title: h.N( { key: 'miSmartSelectShrink', comment: ['&& denotes a mnemonic'], }, '&&Shrink Selection' ), order: 3, }, }); } } ), d.AC.register( '*', new (class { provideSelectionRanges(e, t) { const i = []; for (const n of t) { const t = []; i.push(t), this._addInWordRanges(t, e, n), this._addWordRanges(t, e, n), this._addWhitespaceLine(t, e, n), t.push({ range: e.getFullModelRange() }); } return i; } _addInWordRanges(e, t, i) { const n = t.getWordAtPosition(i); if (!n) return; let { word: r, startColumn: s } = n, o = i.column - s, l = o, c = o, d = 0; for (; l >= 0; l--) { let e = r.charCodeAt(l); if (l !== o && (95 === e || 45 === e)) break; if ((0, f.mK)(e) && (0, f.df)(d)) break; d = e; } for (l += 1; c < r.length; c++) { let e = r.charCodeAt(c); if ((0, f.df)(e) && (0, f.mK)(d)) break; if (95 === e || 45 === e) break; d = e; } l < c && e.push({ range: new a.e(i.lineNumber, s + l, i.lineNumber, s + c), }); } _addWordRanges(e, t, i) { const n = t.getWordAtPosition(i); n && e.push({ range: new a.e( i.lineNumber, n.startColumn, i.lineNumber, n.endColumn ), }); } _addWhitespaceLine(e, t, i) { t.getLineLength(i.lineNumber) > 0 && 0 === t.getLineFirstNonWhitespaceColumn(i.lineNumber) && 0 === t.getLineLastNonWhitespaceColumn(i.lineNumber) && e.push({ range: new a.e( i.lineNumber, 1, i.lineNumber, t.getLineMaxColumn(i.lineNumber) ), }); } })() ), (0, s.f)('_executeSelectionRangeProvider', function (e, ...t) { const [i] = t; return w(e, i, r.T.None); }); }, 78694: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { SnippetController2: () => j }); var n = i(5976), r = i(16830), s = i(24314), o = i(3860), a = i(29102), l = i(79599), c = i(38819), d = i(43557), h = i(9488), u = i(97295), g = i(69386), f = i(3411), p = i(40382), m = i(72065), _ = i(63472), b = i(63580), v = i(88721), y = i(95935), w = i(83831), C = i(70666); const S = 'code-workspace'; function k(e) { return e instanceof C.o; } var x = i(68843); class L { constructor(e) { this._delegates = e; } resolve(e) { for (const t of this._delegates) { let i = t.resolve(e); if (void 0 !== i) return i; } } } class M { constructor(e, t, i, n) { (this._model = e), (this._selection = t), (this._selectionIdx = i), (this._overtypingCapturer = n); } resolve(e) { const { name: t } = e; if ('SELECTION' === t || 'TM_SELECTED_TEXT' === t) { let t = this._model.getValueInRange(this._selection) || void 0, i = this._selection.startLineNumber !== this._selection.endLineNumber; if (!t && this._overtypingCapturer) { const e = this._overtypingCapturer.getLastOvertypedInfo( this._selectionIdx ); e && ((t = e.value), (i = e.multiline)); } if (t && i && e.snippet) { const i = this._model.getLineContent( this._selection.startLineNumber ), n = (0, u.V8)(i, 0, this._selection.startColumn - 1); let r = n; e.snippet.walk( (t) => t !== e && (t instanceof _.xv && (r = (0, u.V8)(t.value.split(/\r\n|\r|\n/).pop())), !0) ); const s = (0, u.Mh)(r, n); t = t.replace( /(\r\n|\r|\n)(.*)/g, (e, t, i) => `${t}${r.substr(s)}${i}` ); } return t; } if ('TM_CURRENT_LINE' === t) return this._model.getLineContent( this._selection.positionLineNumber ); if ('TM_CURRENT_WORD' === t) { const e = this._model.getWordAtPosition({ lineNumber: this._selection.positionLineNumber, column: this._selection.positionColumn, }); return (e && e.word) || void 0; } return 'TM_LINE_INDEX' === t ? String(this._selection.positionLineNumber - 1) : 'TM_LINE_NUMBER' === t ? String(this._selection.positionLineNumber) : void 0; } } class D { constructor(e, t) { (this._labelService = e), (this._model = t); } resolve(e) { const { name: t } = e; if ('TM_FILENAME' === t) return v.EZ(this._model.uri.fsPath); if ('TM_FILENAME_BASE' === t) { const e = v.EZ(this._model.uri.fsPath), t = e.lastIndexOf('.'); return t <= 0 ? e : e.slice(0, t); } return 'TM_DIRECTORY' === t && this._labelService ? '.' === v.XX(this._model.uri.fsPath) ? '' : this._labelService.getUriLabel((0, y.XX)(this._model.uri)) : 'TM_FILEPATH' === t && this._labelService ? this._labelService.getUriLabel(this._model.uri) : void 0; } } class N { constructor(e, t, i, n) { (this._readClipboardText = e), (this._selectionIdx = t), (this._selectionCount = i), (this._spread = n); } resolve(e) { if ('CLIPBOARD' !== e.name) return; const t = this._readClipboardText(); if (t) { if (this._spread) { const e = t.split(/\r\n|\n|\r/).filter((e) => !(0, u.m5)(e)); if (e.length === this._selectionCount) return e[this._selectionIdx]; } return t; } } } class E { constructor(e, t) { (this._model = e), (this._selection = t); } resolve(e) { const { name: t } = e, i = this._model.getLanguageIdAtPosition( this._selection.selectionStartLineNumber, this._selection.selectionStartColumn ), n = w.zu.getComments(i); if (n) return 'LINE_COMMENT' === t ? n.lineCommentToken || void 0 : 'BLOCK_COMMENT_START' === t ? n.blockCommentStartToken || void 0 : ('BLOCK_COMMENT_END' === t && n.blockCommentEndToken) || void 0; } } class T { resolve(e) { const { name: t } = e; return 'CURRENT_YEAR' === t ? String(new Date().getFullYear()) : 'CURRENT_YEAR_SHORT' === t ? String(new Date().getFullYear()).slice(-2) : 'CURRENT_MONTH' === t ? String(new Date().getMonth().valueOf() + 1).padStart(2, '0') : 'CURRENT_DATE' === t ? String(new Date().getDate().valueOf()).padStart(2, '0') : 'CURRENT_HOUR' === t ? String(new Date().getHours().valueOf()).padStart(2, '0') : 'CURRENT_MINUTE' === t ? String(new Date().getMinutes().valueOf()).padStart(2, '0') : 'CURRENT_SECOND' === t ? String(new Date().getSeconds().valueOf()).padStart(2, '0') : 'CURRENT_DAY_NAME' === t ? T.dayNames[new Date().getDay()] : 'CURRENT_DAY_NAME_SHORT' === t ? T.dayNamesShort[new Date().getDay()] : 'CURRENT_MONTH_NAME' === t ? T.monthNames[new Date().getMonth()] : 'CURRENT_MONTH_NAME_SHORT' === t ? T.monthNamesShort[new Date().getMonth()] : 'CURRENT_SECONDS_UNIX' === t ? String(Math.floor(Date.now() / 1e3)) : void 0; } } (T.dayNames = [ b.N('Sunday', 'Sunday'), b.N('Monday', 'Monday'), b.N('Tuesday', 'Tuesday'), b.N('Wednesday', 'Wednesday'), b.N('Thursday', 'Thursday'), b.N('Friday', 'Friday'), b.N('Saturday', 'Saturday'), ]), (T.dayNamesShort = [ b.N('SundayShort', 'Sun'), b.N('MondayShort', 'Mon'), b.N('TuesdayShort', 'Tue'), b.N('WednesdayShort', 'Wed'), b.N('ThursdayShort', 'Thu'), b.N('FridayShort', 'Fri'), b.N('SaturdayShort', 'Sat'), ]), (T.monthNames = [ b.N('January', 'January'), b.N('February', 'February'), b.N('March', 'March'), b.N('April', 'April'), b.N('May', 'May'), b.N('June', 'June'), b.N('July', 'July'), b.N('August', 'August'), b.N('September', 'September'), b.N('October', 'October'), b.N('November', 'November'), b.N('December', 'December'), ]), (T.monthNamesShort = [ b.N('JanuaryShort', 'Jan'), b.N('FebruaryShort', 'Feb'), b.N('MarchShort', 'Mar'), b.N('AprilShort', 'Apr'), b.N('MayShort', 'May'), b.N('JuneShort', 'Jun'), b.N('JulyShort', 'Jul'), b.N('AugustShort', 'Aug'), b.N('SeptemberShort', 'Sep'), b.N('OctoberShort', 'Oct'), b.N('NovemberShort', 'Nov'), b.N('DecemberShort', 'Dec'), ]); class I { constructor(e) { this._workspaceService = e; } resolve(e) { if (!this._workspaceService) return; const t = (function (e) { return e.configuration ? { configPath: e.configuration, id: e.id } : 1 === e.folders.length ? e.folders[0].uri : void 0; })(this._workspaceService.getWorkspace()); return t ? 'WORKSPACE_NAME' === e.name ? this._resolveWorkspaceName(t) : 'WORKSPACE_FOLDER' === e.name ? this._resoveWorkspacePath(t) : void 0 : void 0; } _resolveWorkspaceName(e) { if (k(e)) return v.EZ(e.path); let t = v.EZ(e.configPath.path); return ( t.endsWith(S) && (t = t.substr(0, t.length - S.length - 1)), t ); } _resoveWorkspacePath(e) { if (k(e)) return (0, x.DT)(e.fsPath); let t = v.EZ(e.configPath.path), i = e.configPath.fsPath; return ( i.endsWith(t) && (i = i.substr(0, i.length - t.length - 1)), i ? (0, x.DT)(i) : '/' ); } } class O { resolve(e) { const { name: t } = e; return 'RANDOM' === t ? Math.random().toString().slice(-6) : 'RANDOM_HEX' === t ? Math.random().toString(16).slice(-6) : void 0; } } var A = i(97781), R = i(73910), P = i(44349); (0, A.Ic)((e, t) => { function i(t) { const i = e.getColor(t); return i ? i.toString() : 'transparent'; } t.addRule( `.monaco-editor .snippet-placeholder { background-color: ${i( R.u2 )}; outline-color: ${i(R.Pk)}; }` ), t.addRule( `.monaco-editor .finish-snippet-placeholder { background-color: ${i( R.I1 )}; outline-color: ${i(R.U6)}; }` ); }); class F { constructor(e, t, i) { (this._nestingLevel = 1), (this._editor = e), (this._snippet = t), (this._offset = i), (this._placeholderGroups = (0, h.vM)( t.placeholders, _.Vm.compareByIndex )), (this._placeholderGroupsIdx = -1); } dispose() { this._placeholderDecorations && this._editor.deltaDecorations( [...this._placeholderDecorations.values()], [] ), (this._placeholderGroups.length = 0); } _initDecorations() { if (this._placeholderDecorations) return; this._placeholderDecorations = new Map(); const e = this._editor.getModel(); this._editor.changeDecorations((t) => { for (const i of this._snippet.placeholders) { const n = this._snippet.offset(i), r = this._snippet.fullLen(i), o = s.e.fromPositions( e.getPositionAt(this._offset + n), e.getPositionAt(this._offset + n + r) ), a = i.isFinalTabstop ? F._decor.inactiveFinal : F._decor.inactive, l = t.addDecoration(o, a); this._placeholderDecorations.set(i, l); } }); } move(e) { if (!this._editor.hasModel()) return []; if ((this._initDecorations(), this._placeholderGroupsIdx >= 0)) { let e = []; for (const t of this._placeholderGroups[ this._placeholderGroupsIdx ]) if (t.transform) { const i = this._placeholderDecorations.get(t), n = this._editor.getModel().getDecorationRange(i), r = this._editor.getModel().getValueInRange(n); e.push(g.h.replaceMove(n, t.transform.resolve(r))); } e.length > 0 && this._editor.executeEdits('snippet.placeholderTransform', e); } let t = !1; !0 === e && this._placeholderGroupsIdx < this._placeholderGroups.length - 1 ? ((this._placeholderGroupsIdx += 1), (t = !0)) : !1 === e && this._placeholderGroupsIdx > 0 && ((this._placeholderGroupsIdx -= 1), (t = !0)); const i = this._editor.getModel().changeDecorations((e) => { const i = new Set(), n = []; for (const r of this._placeholderGroups[ this._placeholderGroupsIdx ]) { const s = this._placeholderDecorations.get(r), a = this._editor.getModel().getDecorationRange(s); n.push( new o.Y( a.startLineNumber, a.startColumn, a.endLineNumber, a.endColumn ) ), (t = t && this._hasPlaceholderBeenCollapsed(r)), e.changeDecorationOptions( s, r.isFinalTabstop ? F._decor.activeFinal : F._decor.active ), i.add(r); for (const t of this._snippet.enclosingPlaceholders(r)) { const n = this._placeholderDecorations.get(t); e.changeDecorationOptions( n, t.isFinalTabstop ? F._decor.activeFinal : F._decor.active ), i.add(t); } } for (const [t, n] of this._placeholderDecorations) i.has(t) || e.changeDecorationOptions( n, t.isFinalTabstop ? F._decor.inactiveFinal : F._decor.inactive ); return n; }); return t ? this.move(e) : null != i ? i : []; } _hasPlaceholderBeenCollapsed(e) { let t = e; for (; t; ) { if (t instanceof _.Vm) { const e = this._placeholderDecorations.get(t); if ( this._editor.getModel().getDecorationRange(e).isEmpty() && t.toString().length > 0 ) return !0; } t = t.parent; } return !1; } get isAtFirstPlaceholder() { return ( this._placeholderGroupsIdx <= 0 || 0 === this._placeholderGroups.length ); } get isAtLastPlaceholder() { return ( this._placeholderGroupsIdx === this._placeholderGroups.length - 1 ); } get hasPlaceholder() { return this._snippet.placeholders.length > 0; } computePossibleSelections() { const e = new Map(); for (const t of this._placeholderGroups) { let i; for (const n of t) { if (n.isFinalTabstop) break; i || ((i = []), e.set(n.index, i)); const t = this._placeholderDecorations.get(n), r = this._editor.getModel().getDecorationRange(t); if (!r) { e.delete(n.index); break; } i.push(r); } } return e; } get choice() { return this._placeholderGroups[this._placeholderGroupsIdx][0] .choice; } merge(e) { const t = this._editor.getModel(); (this._nestingLevel *= 10), this._editor.changeDecorations((i) => { for (const n of this._placeholderGroups[ this._placeholderGroupsIdx ]) { const r = e.shift(); console.assert(!r._placeholderDecorations); const o = r._snippet.placeholderInfo.last.index; for (const e of r._snippet.placeholderInfo.all) e.isFinalTabstop ? (e.index = n.index + (o + 1) / this._nestingLevel) : (e.index = n.index + e.index / this._nestingLevel); this._snippet.replace(n, r._snippet.children); const a = this._placeholderDecorations.get(n); i.removeDecoration(a), this._placeholderDecorations.delete(n); for (const e of r._snippet.placeholders) { const n = r._snippet.offset(e), o = r._snippet.fullLen(e), a = s.e.fromPositions( t.getPositionAt(r._offset + n), t.getPositionAt(r._offset + n + o) ), l = i.addDecoration(a, F._decor.inactive); this._placeholderDecorations.set(e, l); } } this._placeholderGroups = (0, h.vM)( this._snippet.placeholders, _.Vm.compareByIndex ); }); } } F._decor = { active: f.qx.register({ stickiness: 0, className: 'snippet-placeholder', }), inactive: f.qx.register({ stickiness: 1, className: 'snippet-placeholder', }), activeFinal: f.qx.register({ stickiness: 1, className: 'finish-snippet-placeholder', }), inactiveFinal: f.qx.register({ stickiness: 1, className: 'finish-snippet-placeholder', }), }; const B = { overwriteBefore: 0, overwriteAfter: 0, adjustWhitespace: !0, clipboardText: void 0, overtypingCapturer: void 0, }; class W { constructor(e, t, i = B) { (this._templateMerges = []), (this._snippets = []), (this._editor = e), (this._template = t), (this._options = i); } static adjustWhitespace(e, t, i, n, r) { const s = e.getLineContent(t.lineNumber), o = (0, u.V8)(s, 0, t.column - 1); i.walk((t) => { if (t instanceof _.xv && !(t.parent instanceof _.Lv)) { const i = t.value.split(/\r\n|\r|\n/); if (n) for (let t = 1; t < i.length; t++) { let n = (0, u.V8)(i[t]); i[t] = e.normalizeIndentation(o + n) + i[t].substr(n.length); } if (r) { const n = i.join(e.getEOL()); n !== t.value && t.parent.replace(t, [new _.xv(n)]); } } return !0; }); } static adjustSelection(e, t, i, n) { if (0 !== i || 0 !== n) { const { positionLineNumber: r, positionColumn: s } = t, a = s - i, l = s + n, c = e.validateRange({ startLineNumber: r, startColumn: a, endLineNumber: r, endColumn: l, }); t = o.Y.createWithDirection( c.startLineNumber, c.startColumn, c.endLineNumber, c.endColumn, t.getDirection() ); } return t; } static createEditsAndSnippets(e, t, i, n, r, o, a, l) { const c = [], d = []; if (!e.hasModel()) return { edits: c, snippets: d }; const h = e.getModel(), u = e.invokeWithinContext((e) => e.get(p.ec, m.jt)), f = e.invokeWithinContext((e) => new D(e.get(P.e, m.jt), h)), b = () => a; let v = 0, y = h.getValueInRange( W.adjustSelection(h, e.getSelection(), i, 0) ), w = h.getValueInRange( W.adjustSelection(h, e.getSelection(), 0, n) ), C = h.getLineFirstNonWhitespaceColumn( e.getSelection().positionLineNumber ); const S = e .getSelections() .map((e, t) => ({ selection: e, idx: t })) .sort((e, t) => s.e.compareRangesUsingStarts(e.selection, t.selection) ); for (const { selection: s, idx: a } of S) { let p = W.adjustSelection(h, s, i, 0), m = W.adjustSelection(h, s, 0, n); y !== h.getValueInRange(p) && (p = s), w !== h.getValueInRange(m) && (m = s); const k = s .setStartPosition(p.startLineNumber, p.startColumn) .setEndPosition(m.endLineNumber, m.endColumn), x = new _.Yj().parse(t, !0, r), D = k.getStartPosition(); W.adjustWhitespace( h, D, x, o || (a > 0 && C !== h.getLineFirstNonWhitespaceColumn(s.positionLineNumber)), !0 ), x.resolveVariables( new L([ f, new N(b, a, S.length, 'spread' === e.getOption(62)), new M(h, s, a, l), new E(h, s), new T(), new I(u), new O(), ]) ); const A = h.getOffsetAt(D) + v; (v += x.toString().length - h.getValueLengthInRange(k)), (c[a] = g.h.replace(k, x.toString())), (c[a].identifier = { major: a, minor: 0 }), (d[a] = new F(e, x, A)); } return { edits: c, snippets: d }; } dispose() { (0, n.B9)(this._snippets); } _logInfo() { return `template="${ this._template }", merged_templates="${this._templateMerges.join(' -> ')}"`; } insert() { if (!this._editor.hasModel()) return; const { edits: e, snippets: t } = W.createEditsAndSnippets( this._editor, this._template, this._options.overwriteBefore, this._options.overwriteAfter, !1, this._options.adjustWhitespace, this._options.clipboardText, this._options.overtypingCapturer ); (this._snippets = t), this._editor.executeEdits('snippet', e, (e) => this._snippets[0].hasPlaceholder ? this._move(!0) : e .filter((e) => !!e.identifier) .map((e) => o.Y.fromPositions(e.range.getEndPosition())) ), this._editor.revealRange(this._editor.getSelections()[0]); } merge(e, t = B) { if (!this._editor.hasModel()) return; this._templateMerges.push([ this._snippets[0]._nestingLevel, this._snippets[0]._placeholderGroupsIdx, e, ]); const { edits: i, snippets: n } = W.createEditsAndSnippets( this._editor, e, t.overwriteBefore, t.overwriteAfter, !0, t.adjustWhitespace, t.clipboardText, t.overtypingCapturer ); this._editor.executeEdits('snippet', i, (e) => { for (const e of this._snippets) e.merge(n); return ( console.assert(0 === n.length), this._snippets[0].hasPlaceholder ? this._move(void 0) : e .filter((e) => !!e.identifier) .map((e) => o.Y.fromPositions(e.range.getEndPosition())) ); }); } next() { const e = this._move(!0); this._editor.setSelections(e), this._editor.revealPositionInCenterIfOutsideViewport( e[0].getPosition() ); } prev() { const e = this._move(!1); this._editor.setSelections(e), this._editor.revealPositionInCenterIfOutsideViewport( e[0].getPosition() ); } _move(e) { const t = []; for (const i of this._snippets) { const n = i.move(e); t.push(...n); } return t; } get isAtFirstPlaceholder() { return this._snippets[0].isAtFirstPlaceholder; } get isAtLastPlaceholder() { return this._snippets[0].isAtLastPlaceholder; } get hasPlaceholder() { return this._snippets[0].hasPlaceholder; } get choice() { return this._snippets[0].choice; } isSelectionWithinPlaceholders() { if (!this.hasPlaceholder) return !1; const e = this._editor.getSelections(); if (e.length < this._snippets.length) return !1; let t = new Map(); for (const i of this._snippets) { const n = i.computePossibleSelections(); if (0 === t.size) for (const [i, r] of n) { r.sort(s.e.compareRangesUsingStarts); for (const n of e) if (r[0].containsRange(n)) { t.set(i, []); break; } } if (0 === t.size) return !1; t.forEach((e, t) => { e.push(...n.get(t)); }); } e.sort(s.e.compareRangesUsingStarts); for (let [i, n] of t) if (n.length === e.length) { n.sort(s.e.compareRangesUsingStarts); for (let r = 0; r < n.length; r++) n[r].containsRange(e[r]) || t.delete(i); } else t.delete(i); return t.size > 0; } } var Y = function (e, t) { return function (i, n) { t(i, n, e); }; }; const H = { overwriteBefore: 0, overwriteAfter: 0, undoStopBefore: !0, undoStopAfter: !0, adjustWhitespace: !0, clipboardText: void 0, overtypingCapturer: void 0, }; let j = class e { constructor(t, i, r) { (this._editor = t), (this._logService = i), (this._snippetListener = new n.SL()), (this._modelVersionId = -1), (this._inSnippet = e.InSnippetMode.bindTo(r)), (this._hasNextTabstop = e.HasNextTabstop.bindTo(r)), (this._hasPrevTabstop = e.HasPrevTabstop.bindTo(r)); } static get(t) { return t.getContribution(e.ID); } dispose() { this._inSnippet.reset(), this._hasPrevTabstop.reset(), this._hasNextTabstop.reset(), (0, n.B9)(this._session), this._snippetListener.dispose(); } insert(e, t) { try { this._doInsert( e, void 0 === t ? H : Object.assign(Object.assign({}, H), t) ); } catch (t) { this.cancel(), this._logService.error(t), this._logService.error('snippet_error'), this._logService.error('insert_template=', e), this._logService.error( 'existing_template=', this._session ? this._session._logInfo() : '' ); } } _doInsert(e, t) { this._editor.hasModel() && (this._snippetListener.clear(), t.undoStopBefore && this._editor.getModel().pushStackElement(), this._session ? this._session.merge(e, t) : ((this._modelVersionId = this._editor .getModel() .getAlternativeVersionId()), (this._session = new W(this._editor, e, t)), this._session.insert()), t.undoStopAfter && this._editor.getModel().pushStackElement(), this._updateState(), this._snippetListener.add( this._editor.onDidChangeModelContent( (e) => e.isFlush && this.cancel() ) ), this._snippetListener.add( this._editor.onDidChangeModel(() => this.cancel()) ), this._snippetListener.add( this._editor.onDidChangeCursorSelection(() => this._updateState() ) )); } _updateState() { if (this._session && this._editor.hasModel()) { if ( this._modelVersionId === this._editor.getModel().getAlternativeVersionId() ) return this.cancel(); if (!this._session.hasPlaceholder) return this.cancel(); if ( this._session.isAtLastPlaceholder || !this._session.isSelectionWithinPlaceholders() ) return this.cancel(); this._inSnippet.set(!0), this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder), this._hasNextTabstop.set(!this._session.isAtLastPlaceholder), this._handleChoice(); } } _handleChoice() { if (!this._session || !this._editor.hasModel()) return void (this._currentChoice = void 0); const { choice: e } = this._session; if (e) { if (this._currentChoice !== e) { (this._currentChoice = e), this._editor.setSelections( this._editor .getSelections() .map((e) => o.Y.fromPositions(e.getStartPosition())) ); const [t] = e.options; (0, l.i5)( this._editor, e.options.map((e, i) => ({ kind: 13, label: e.value, insertText: e.value, sortText: 'a'.repeat(i + 1), range: s.e.fromPositions( this._editor.getPosition(), this._editor.getPosition().delta(0, t.value.length) ), })) ); } } else this._currentChoice = void 0; } finish() { for (; this._inSnippet.get(); ) this.next(); } cancel(e = !1) { this._inSnippet.reset(), this._hasPrevTabstop.reset(), this._hasNextTabstop.reset(), this._snippetListener.clear(), (0, n.B9)(this._session), (this._session = void 0), (this._modelVersionId = -1), e && this._editor.setSelections([this._editor.getSelection()]); } prev() { this._session && this._session.prev(), this._updateState(); } next() { this._session && this._session.next(), this._updateState(); } isInSnippet() { return Boolean(this._inSnippet.get()); } }; (j.ID = 'snippetController2'), (j.InSnippetMode = new c.uy('inSnippetMode', !1)), (j.HasNextTabstop = new c.uy('hasNextTabstop', !1)), (j.HasPrevTabstop = new c.uy('hasPrevTabstop', !1)), (j = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([Y(1, d.VZ), Y(2, c.i6)], j)), (0, r._K)(j.ID, j); const V = r._l.bindToContribution(j.get); (0, r.fK)( new V({ id: 'jumpToNextSnippetPlaceholder', precondition: c.Ao.and(j.InSnippetMode, j.HasNextTabstop), handler: (e) => e.next(), kbOpts: { weight: 130, kbExpr: a.u.editorTextFocus, primary: 2 }, }) ), (0, r.fK)( new V({ id: 'jumpToPrevSnippetPlaceholder', precondition: c.Ao.and(j.InSnippetMode, j.HasPrevTabstop), handler: (e) => e.prev(), kbOpts: { weight: 130, kbExpr: a.u.editorTextFocus, primary: 1026, }, }) ), (0, r.fK)( new V({ id: 'leaveSnippet', precondition: j.InSnippetMode, handler: (e) => e.cancel(!0), kbOpts: { weight: 130, kbExpr: a.u.editorTextFocus, primary: 9, secondary: [1033], }, }) ), (0, r.fK)( new V({ id: 'acceptSnippet', precondition: j.InSnippetMode, handler: (e) => e.finish(), }) ); }, 63472: (e, t, i) => { 'use strict'; i.d(t, { xv: () => s, Vm: () => a, Lv: () => l, Yj: () => f }); class n { constructor() { (this.value = ''), (this.pos = 0); } static isDigitCharacter(e) { return e >= 48 && e <= 57; } static isVariableCharacter(e) { return 95 === e || (e >= 97 && e <= 122) || (e >= 65 && e <= 90); } text(e) { (this.value = e), (this.pos = 0); } tokenText(e) { return this.value.substr(e.pos, e.len); } next() { if (this.pos >= this.value.length) return { type: 14, pos: this.pos, len: 0 }; let e, t = this.pos, i = 0, r = this.value.charCodeAt(t); if (((e = n._table[r]), 'number' == typeof e)) return (this.pos += 1), { type: e, pos: t, len: 1 }; if (n.isDigitCharacter(r)) { e = 8; do { (i += 1), (r = this.value.charCodeAt(t + i)); } while (n.isDigitCharacter(r)); return (this.pos += i), { type: e, pos: t, len: i }; } if (n.isVariableCharacter(r)) { e = 9; do { r = this.value.charCodeAt(t + ++i); } while (n.isVariableCharacter(r) || n.isDigitCharacter(r)); return (this.pos += i), { type: e, pos: t, len: i }; } e = 10; do { (i += 1), (r = this.value.charCodeAt(t + i)); } while ( !isNaN(r) && void 0 === n._table[r] && !n.isDigitCharacter(r) && !n.isVariableCharacter(r) ); return (this.pos += i), { type: e, pos: t, len: i }; } } n._table = { 36: 0, 58: 1, 44: 2, 123: 3, 125: 4, 92: 5, 47: 6, 124: 7, 43: 11, 45: 12, 63: 13, }; class r { constructor() { this._children = []; } appendChild(e) { return ( e instanceof s && this._children[this._children.length - 1] instanceof s ? (this._children[this._children.length - 1].value += e.value) : ((e.parent = this), this._children.push(e)), this ); } replace(e, t) { const { parent: i } = e, n = i.children.indexOf(e), r = i.children.slice(0); r.splice(n, 1, ...t), (i._children = r), (function e(t, i) { for (const n of t) (n.parent = i), e(n.children, n); })(t, i); } get children() { return this._children; } get snippet() { let e = this; for (;;) { if (!e) return; if (e instanceof g) return e; e = e.parent; } } toString() { return this.children.reduce((e, t) => e + t.toString(), ''); } len() { return 0; } } class s extends r { constructor(e) { super(), (this.value = e); } toString() { return this.value; } len() { return this.value.length; } clone() { return new s(this.value); } } class o extends r {} class a extends o { constructor(e) { super(), (this.index = e); } static compareByIndex(e, t) { return e.index === t.index ? 0 : e.isFinalTabstop ? 1 : t.isFinalTabstop || e.index < t.index ? -1 : e.index > t.index ? 1 : 0; } get isFinalTabstop() { return 0 === this.index; } get choice() { return 1 === this._children.length && this._children[0] instanceof l ? this._children[0] : void 0; } clone() { let e = new a(this.index); return ( this.transform && (e.transform = this.transform.clone()), (e._children = this.children.map((e) => e.clone())), e ); } } class l extends r { constructor() { super(...arguments), (this.options = []); } appendChild(e) { return ( e instanceof s && ((e.parent = this), this.options.push(e)), this ); } toString() { return this.options[0].value; } len() { return this.options[0].len(); } clone() { let e = new l(); return this.options.forEach(e.appendChild, e), e; } } class c extends r { constructor() { super(...arguments), (this.regexp = new RegExp('')); } resolve(e) { const t = this; let i = !1, n = e.replace(this.regexp, function () { return ( (i = !0), t._replace(Array.prototype.slice.call(arguments, 0, -2)) ); }); return ( !i && this._children.some( (e) => e instanceof d && Boolean(e.elseValue) ) && (n = this._replace([])), n ); } _replace(e) { let t = ''; for (const i of this._children) if (i instanceof d) { let n = e[i.index] || ''; (n = i.resolve(n)), (t += n); } else t += i.toString(); return t; } toString() { return ''; } clone() { let e = new c(); return ( (e.regexp = new RegExp( this.regexp.source, (this.regexp.ignoreCase ? 'i' : '') + (this.regexp.global ? 'g' : '') )), (e._children = this.children.map((e) => e.clone())), e ); } } class d extends r { constructor(e, t, i, n) { super(), (this.index = e), (this.shorthandName = t), (this.ifValue = i), (this.elseValue = n); } resolve(e) { return 'upcase' === this.shorthandName ? e ? e.toLocaleUpperCase() : '' : 'downcase' === this.shorthandName ? e ? e.toLocaleLowerCase() : '' : 'capitalize' === this.shorthandName ? e ? e[0].toLocaleUpperCase() + e.substr(1) : '' : 'pascalcase' === this.shorthandName ? e ? this._toPascalCase(e) : '' : Boolean(e) && 'string' == typeof this.ifValue ? this.ifValue : Boolean(e) || 'string' != typeof this.elseValue ? e || '' : this.elseValue; } _toPascalCase(e) { const t = e.match(/[a-z]+/gi); return t ? t .map(function (e) { return ( e.charAt(0).toUpperCase() + e.substr(1).toLowerCase() ); }) .join('') : e; } clone() { return new d( this.index, this.shorthandName, this.ifValue, this.elseValue ); } } class h extends o { constructor(e) { super(), (this.name = e); } resolve(e) { let t = e.resolve(this); return ( this.transform && (t = this.transform.resolve(t || '')), void 0 !== t && ((this._children = [new s(t)]), !0) ); } clone() { const e = new h(this.name); return ( this.transform && (e.transform = this.transform.clone()), (e._children = this.children.map((e) => e.clone())), e ); } } function u(e, t) { const i = [...e]; for (; i.length > 0; ) { const e = i.shift(); if (!t(e)) break; i.unshift(...e.children); } } class g extends r { get placeholderInfo() { if (!this._placeholders) { let e, t = []; this.walk(function (i) { return ( i instanceof a && (t.push(i), (e = !e || e.index < i.index ? i : e)), !0 ); }), (this._placeholders = { all: t, last: e }); } return this._placeholders; } get placeholders() { const { all: e } = this.placeholderInfo; return e; } offset(e) { let t = 0, i = !1; return ( this.walk((n) => n === e ? ((i = !0), !1) : ((t += n.len()), !0) ), i ? t : -1 ); } fullLen(e) { let t = 0; return u([e], (e) => ((t += e.len()), !0)), t; } enclosingPlaceholders(e) { let t = [], { parent: i } = e; for (; i; ) i instanceof a && t.push(i), (i = i.parent); return t; } resolveVariables(e) { return ( this.walk( (t) => ( t instanceof h && t.resolve(e) && (this._placeholders = void 0), !0 ) ), this ); } appendChild(e) { return (this._placeholders = void 0), super.appendChild(e); } replace(e, t) { return (this._placeholders = void 0), super.replace(e, t); } clone() { let e = new g(); return (this._children = this.children.map((e) => e.clone())), e; } walk(e) { u(this.children, e); } } class f { constructor() { (this._scanner = new n()), (this._token = { type: 14, pos: 0, len: 0 }); } static escape(e) { return e.replace(/\$|}|\\/g, '\\$&'); } static guessNeedsClipboard(e) { return /\${?CLIPBOARD/.test(e); } parse(e, t, i) { this._scanner.text(e), (this._token = this._scanner.next()); const n = new g(); for (; this._parse(n); ); const r = new Map(), s = []; let o = 0; n.walk( (e) => ( e instanceof a && ((o += 1), e.isFinalTabstop ? r.set(0, void 0) : !r.has(e.index) && e.children.length > 0 ? r.set(e.index, e.children) : s.push(e)), !0 ) ); for (const e of s) { const t = r.get(e.index); if (t) { const i = new a(e.index); i.transform = e.transform; for (const e of t) i.appendChild(e.clone()); n.replace(e, [i]); } } return ( i || (i = o > 0 && t), !r.has(0) && i && n.appendChild(new a(0)), n ); } _accept(e, t) { if (void 0 === e || this._token.type === e) { let e = !t || this._scanner.tokenText(this._token); return (this._token = this._scanner.next()), e; } return !1; } _backTo(e) { return (this._scanner.pos = e.pos + e.len), (this._token = e), !1; } _until(e) { const t = this._token; for (; this._token.type !== e; ) { if (14 === this._token.type) return !1; if (5 === this._token.type) { const e = this._scanner.next(); if (0 !== e.type && 4 !== e.type && 5 !== e.type) return !1; } this._token = this._scanner.next(); } const i = this._scanner.value .substring(t.pos, this._token.pos) .replace(/\\(\$|}|\\)/g, '$1'); return (this._token = this._scanner.next()), i; } _parse(e) { return ( this._parseEscaped(e) || this._parseTabstopOrVariableName(e) || this._parseComplexPlaceholder(e) || this._parseComplexVariable(e) || this._parseAnything(e) ); } _parseEscaped(e) { let t; return ( !!(t = this._accept(5, !0)) && ((t = this._accept(0, !0) || this._accept(4, !0) || this._accept(5, !0) || t), e.appendChild(new s(t)), !0) ); } _parseTabstopOrVariableName(e) { let t; const i = this._token; return this._accept(0) && (t = this._accept(9, !0) || this._accept(8, !0)) ? (e.appendChild(/^\d+$/.test(t) ? new a(Number(t)) : new h(t)), !0) : this._backTo(i); } _parseComplexPlaceholder(e) { let t; const i = this._token; if ( !(this._accept(0) && this._accept(3) && (t = this._accept(8, !0))) ) return this._backTo(i); const n = new a(Number(t)); if (this._accept(1)) for (;;) { if (this._accept(4)) return e.appendChild(n), !0; if (!this._parse(n)) return ( e.appendChild(new s('${' + t + ':')), n.children.forEach(e.appendChild, e), !0 ); } else { if (!(n.index > 0 && this._accept(7))) return this._accept(6) ? this._parseTransform(n) ? (e.appendChild(n), !0) : (this._backTo(i), !1) : this._accept(4) ? (e.appendChild(n), !0) : this._backTo(i); { const t = new l(); for (;;) { if (this._parseChoiceElement(t)) { if (this._accept(2)) continue; if (this._accept(7) && (n.appendChild(t), this._accept(4))) return e.appendChild(n), !0; } return this._backTo(i), !1; } } } } _parseChoiceElement(e) { const t = this._token, i = []; for (; 2 !== this._token.type && 7 !== this._token.type; ) { let e; if ( ((e = (e = this._accept(5, !0)) ? this._accept(2, !0) || this._accept(7, !0) || this._accept(5, !0) || e : this._accept(void 0, !0)), !e) ) return this._backTo(t), !1; i.push(e); } return 0 === i.length ? (this._backTo(t), !1) : (e.appendChild(new s(i.join(''))), !0); } _parseComplexVariable(e) { let t; const i = this._token; if ( !(this._accept(0) && this._accept(3) && (t = this._accept(9, !0))) ) return this._backTo(i); const n = new h(t); if (!this._accept(1)) return this._accept(6) ? this._parseTransform(n) ? (e.appendChild(n), !0) : (this._backTo(i), !1) : this._accept(4) ? (e.appendChild(n), !0) : this._backTo(i); for (;;) { if (this._accept(4)) return e.appendChild(n), !0; if (!this._parse(n)) return ( e.appendChild(new s('${' + t + ':')), n.children.forEach(e.appendChild, e), !0 ); } } _parseTransform(e) { let t = new c(), i = '', n = ''; for (; !this._accept(6); ) { let e; if ((e = this._accept(5, !0))) (e = this._accept(6, !0) || e), (i += e); else { if (14 === this._token.type) return !1; i += this._accept(void 0, !0); } } for (; !this._accept(6); ) { let e; if ((e = this._accept(5, !0))) (e = this._accept(5, !0) || this._accept(6, !0) || e), t.appendChild(new s(e)); else if (!this._parseFormatString(t) && !this._parseAnything(t)) return !1; } for (; !this._accept(4); ) { if (14 === this._token.type) return !1; n += this._accept(void 0, !0); } try { t.regexp = new RegExp(i, n); } catch (e) { return !1; } return (e.transform = t), !0; } _parseFormatString(e) { const t = this._token; if (!this._accept(0)) return !1; let i = !1; this._accept(3) && (i = !0); let n = this._accept(8, !0); if (!n) return this._backTo(t), !1; if (!i) return e.appendChild(new d(Number(n))), !0; if (this._accept(4)) return e.appendChild(new d(Number(n))), !0; if (!this._accept(1)) return this._backTo(t), !1; if (this._accept(6)) { let i = this._accept(9, !0); return i && this._accept(4) ? (e.appendChild(new d(Number(n), i)), !0) : (this._backTo(t), !1); } if (this._accept(11)) { let t = this._until(4); if (t) return e.appendChild(new d(Number(n), void 0, t, void 0)), !0; } else if (this._accept(12)) { let t = this._until(4); if (t) return e.appendChild(new d(Number(n), void 0, void 0, t)), !0; } else if (this._accept(13)) { let t = this._until(1); if (t) { let i = this._until(4); if (i) return e.appendChild(new d(Number(n), void 0, t, i)), !0; } } else { let t = this._until(4); if (t) return e.appendChild(new d(Number(n), void 0, void 0, t)), !0; } return this._backTo(t), !1; } _parseAnything(e) { return ( 14 !== this._token.type && (e.appendChild(new s(this._scanner.tokenText(this._token))), this._accept(void 0), !0) ); } } }, 79599: (e, t, i) => { 'use strict'; i.d(t, { _y: () => p, GI: () => m, A9: () => b, ZJ: () => v, kL: () => w, wg: () => k, i5: () => L, }); var n = i(17301), r = i(16830), s = i(43775), o = i(50187), a = i(38819), l = i(71050), c = i(24314), d = i(75392), h = i(5976), u = i(84144), g = i(63472), f = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const p = { Visible: new a.uy('suggestWidgetVisible', !1), DetailsVisible: new a.uy('suggestWidgetDetailsVisible', !1), MultipleSuggestions: new a.uy( 'suggestWidgetMultipleSuggestions', !1 ), MakesTextEdit: new a.uy('suggestionMakesTextEdit', !0), AcceptSuggestionsOnEnter: new a.uy('acceptSuggestionOnEnter', !0), HasInsertAndReplaceRange: new a.uy( 'suggestionHasInsertAndReplaceRange', !1 ), CanResolve: new a.uy('suggestionCanResolve', !1), }, m = new u.eH('suggestWidgetStatusBar'); class _ { constructor(e, t, i, n) { (this.position = e), (this.completion = t), (this.container = i), (this.provider = n), (this.isInvalid = !1), (this.score = d.CL.Default), (this.distance = 0), (this.textLabel = 'string' == typeof t.label ? t.label : t.label.name), (this.labelLow = this.textLabel.toLowerCase()), (this.isInvalid = !this.textLabel), (this.sortTextLow = t.sortText && t.sortText.toLowerCase()), (this.filterTextLow = t.filterText && t.filterText.toLowerCase()), c.e.isIRange(t.range) ? ((this.editStart = new o.L( t.range.startLineNumber, t.range.startColumn )), (this.editInsertEnd = new o.L( t.range.endLineNumber, t.range.endColumn )), (this.editReplaceEnd = new o.L( t.range.endLineNumber, t.range.endColumn )), (this.isInvalid = this.isInvalid || c.e.spansMultipleLines(t.range) || t.range.startLineNumber !== e.lineNumber)) : ((this.editStart = new o.L( t.range.insert.startLineNumber, t.range.insert.startColumn )), (this.editInsertEnd = new o.L( t.range.insert.endLineNumber, t.range.insert.endColumn )), (this.editReplaceEnd = new o.L( t.range.replace.endLineNumber, t.range.replace.endColumn )), (this.isInvalid = this.isInvalid || c.e.spansMultipleLines(t.range.insert) || c.e.spansMultipleLines(t.range.replace) || t.range.insert.startLineNumber !== e.lineNumber || t.range.replace.startLineNumber !== e.lineNumber || t.range.insert.startColumn !== t.range.replace.startColumn)), 'function' != typeof n.resolveCompletionItem && ((this._resolveCache = Promise.resolve()), (this._isResolved = !0)); } get isResolved() { return !!this._isResolved; } resolve(e) { return f(this, void 0, void 0, function* () { if (!this._resolveCache) { const t = e.onCancellationRequested(() => { (this._resolveCache = void 0), (this._isResolved = !1); }); this._resolveCache = Promise.resolve( this.provider.resolveCompletionItem(this.completion, e) ).then( (e) => { Object.assign(this.completion, e), (this._isResolved = !0), t.dispose(); }, (e) => { (0, n.VV)(e) && ((this._resolveCache = void 0), (this._isResolved = !1)); } ); } return this._resolveCache; }); } } class b { constructor(e = 2, t = new Set(), i = new Set()) { (this.snippetSortOrder = e), (this.kindFilter = t), (this.providerFilter = i); } } function v() {} b.default = new b(); class y { constructor(e, t, i) { (this.items = e), (this.needsClipboard = t), (this.dispoables = i); } } function w(e, t, i = b.default, r = { triggerKind: 0 }, o = l.T.None) { return f(this, void 0, void 0, function* () { t = t.clone(); const a = e.getWordAtPosition(t), l = a ? new c.e( t.lineNumber, a.startColumn, t.lineNumber, a.endColumn ) : c.e.fromPositions(t), d = { replace: l, insert: l.setEndPosition(t.lineNumber, t.column), }, u = [], p = new h.SL(); let m = !1; const b = (e, n) => { if (n) { for (let r of n.suggestions) i.kindFilter.has(r.kind) || (r.range || (r.range = d), r.sortText || (r.sortText = 'string' == typeof r.label ? r.label : r.label.name), !m && r.insertTextRules && 4 & r.insertTextRules && (m = g.Yj.guessNeedsClipboard(r.insertText)), u.push(new _(t, r, n, e))); (0, h.Wf)(n) && p.add(n); } }, v = (() => f(this, void 0, void 0, function* () {}))(); for (let a of s.KZ.orderedGroups(e)) { let s = u.length; if ( (yield Promise.all( a.map((s) => f(this, void 0, void 0, function* () { if ( !(i.providerFilter.size > 0) || i.providerFilter.has(s) ) try { const i = yield s.provideCompletionItems(e, t, r, o); b(s, i); } catch (e) { (0, n.Cp)(e); } }) ) ), s !== u.length || o.isCancellationRequested) ) break; } return ( yield v, o.isCancellationRequested ? (p.dispose(), Promise.reject((0, n.F0)())) : new y(u.sort(k(i.snippetSortOrder)), m, p) ); }); } function C(e, t) { if (e.sortTextLow && t.sortTextLow) { if (e.sortTextLow < t.sortTextLow) return -1; if (e.sortTextLow > t.sortTextLow) return 1; } return e.completion.label < t.completion.label ? -1 : e.completion.label > t.completion.label ? 1 : e.completion.kind - t.completion.kind; } const S = new Map(); function k(e) { return S.get(e); } S.set(0, function (e, t) { if (e.completion.kind !== t.completion.kind) { if (27 === e.completion.kind) return -1; if (27 === t.completion.kind) return 1; } return C(e, t); }), S.set(2, function (e, t) { if (e.completion.kind !== t.completion.kind) { if (27 === e.completion.kind) return 1; if (27 === t.completion.kind) return -1; } return C(e, t); }), S.set(1, C), (0, r.kT)('_executeCompletionItemProvider', (e, t, i) => f(void 0, void 0, void 0, function* () { const n = { incomplete: !1, suggestions: [] }, r = [], s = i.maxItemsToResolve || 0, o = yield w(e, t); for (const e of o.items) r.length < s && r.push(e.resolve(l.T.None)), (n.incomplete = n.incomplete || e.container.incomplete), n.suggestions.push(e.completion); try { return yield Promise.all(r), n; } finally { setTimeout(() => o.dispoables.dispose(), 100); } }) ); const x = new (class { constructor() { this.onlyOnceSuggestions = []; } provideCompletionItems() { let e = { suggestions: this.onlyOnceSuggestions.slice(0) }; return (this.onlyOnceSuggestions.length = 0), e; } })(); function L(e, t) { setTimeout(() => { x.onlyOnceSuggestions.push(...t), e .getContribution('editor.contrib.suggestController') .triggerSuggest(new Set().add(x)); }, 0); } s.KZ.register('*', x); }, 24993: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { SuggestController: () => Ct, TriggerSuggestAction: () => St, }); var n = i(85152), r = i(9488), s = i(17301), o = i(22258), a = i(5976), l = i(39925), c = i(16830), d = i(69386), h = i(24314), u = i(29102), g = i(78694), f = i(63472), p = i(43702), m = i(52365), _ = i(43775), b = i(15393), v = i(72065), y = i(33108), w = i(65026), C = i(71531), S = function (e, t) { return function (i, n) { t(i, n, e); }; }; class k { constructor(e) { this.name = e; } select(e, t, i) { if (0 === i.length) return 0; let n = i[0].score[0]; for (let e = 0; e < i.length; e++) { const { score: t, completion: r } = i[e]; if (t[0] !== n) break; if (r.preselect) return e; } return 0; } } class x extends k { constructor() { super('first'); } memorize(e, t, i) {} toJSON() {} fromJSON() {} } let L = class e { constructor(e, t, i) { (this._storageService = e), (this._modeService = t), (this._configService = i), (this._disposables = new a.SL()), (this._persistSoon = new b.pY(() => this._saveState(), 500)), this._disposables.add( e.onWillSaveState((e) => { e.reason === m.fk.SHUTDOWN && this._saveState(); }) ); } dispose() { this._disposables.dispose(), this._persistSoon.dispose(); } memorize(e, t, i) { this._withStrategy(e, t).memorize(e, t, i), this._persistSoon.schedule(); } select(e, t, i) { return this._withStrategy(e, t).select(e, t, i); } _withStrategy(t, i) { var n, r; const s = this._configService.getValue('editor.suggestSelection', { overrideIdentifier: null === (n = this._modeService.getLanguageIdentifier( t.getLanguageIdAtPosition(i.lineNumber, i.column) )) || void 0 === n ? void 0 : n.language, resource: t.uri, }); if ( (null === (r = this._strategy) || void 0 === r ? void 0 : r.name) !== s ) { this._saveState(); const t = e._strategyCtors.get(s) || x; this._strategy = new t(); try { const t = this._configService.getValue( 'editor.suggest.shareSuggestSelections' ) ? 0 : 1, i = this._storageService.get(`${e._storagePrefix}/${s}`, t); i && this._strategy.fromJSON(JSON.parse(i)); } catch (e) {} } return this._strategy; } _saveState() { if (this._strategy) { const t = this._configService.getValue( 'editor.suggest.shareSuggestSelections' ) ? 0 : 1, i = JSON.stringify(this._strategy); this._storageService.store( `${e._storagePrefix}/${this._strategy.name}`, i, t ); } } }; (L._strategyCtors = new Map([ [ 'recentlyUsedByPrefix', class extends k { constructor() { super('recentlyUsedByPrefix'), (this._trie = p.Id.forStrings()), (this._seq = 0); } memorize(e, t, i) { const { word: n } = e.getWordUntilPosition(t), r = `${e.getLanguageIdentifier().language}/${n}`; this._trie.set(r, { type: i.completion.kind, insertText: i.completion.insertText, touch: this._seq++, }); } select(e, t, i) { let { word: n } = e.getWordUntilPosition(t); if (!n) return super.select(e, t, i); let r = `${e.getLanguageIdentifier().language}/${n}`, s = this._trie.get(r); if ((s || (s = this._trie.findSubstr(r)), s)) for (let e = 0; e < i.length; e++) { let { kind: t, insertText: n } = i[e].completion; if (t === s.type && n === s.insertText) return e; } return super.select(e, t, i); } toJSON() { let e = []; return ( this._trie.forEach((t, i) => e.push([i, t])), e .sort((e, t) => -(e[1].touch - t[1].touch)) .forEach((e, t) => (e[1].touch = t)), e.slice(0, 200) ); } fromJSON(e) { if ((this._trie.clear(), e.length > 0)) { this._seq = e[0][1].touch + 1; for (const [t, i] of e) (i.type = 'number' == typeof i.type ? i.type : (0, _.jr)(i.type)), this._trie.set(t, i); } } }, ], [ 'recentlyUsed', class extends k { constructor() { super('recentlyUsed'), (this._cache = new p.z6(300, 0.66)), (this._seq = 0); } memorize(e, t, i) { const { label: n } = i.completion, r = `${e.getLanguageIdentifier().language}/${n}`; this._cache.set(r, { touch: this._seq++, type: i.completion.kind, insertText: i.completion.insertText, }); } select(e, t, i) { if (0 === i.length) return 0; const n = e .getLineContent(t.lineNumber) .substr(t.column - 10, t.column - 1); if (/\s$/.test(n)) return super.select(e, t, i); let r = i[0].score[0], s = -1, o = -1; for (let t = 0; t < i.length && i[t].score[0] === r; t++) { const n = `${e.getLanguageIdentifier().language}/${ i[t].completion.label }`, r = this._cache.peek(n); if ( (r && r.touch > o && r.type === i[t].completion.kind && r.insertText === i[t].completion.insertText && ((o = r.touch), (s = t)), i[t].completion.preselect) ) return t; } return -1 !== s ? s : 0; } toJSON() { return this._cache.toJSON(); } fromJSON(e) { this._cache.clear(); for (const [t, i] of e) (i.touch = 0), (i.type = 'number' == typeof i.type ? i.type : (0, _.jr)(i.type)), this._cache.set(t, i); this._seq = this._cache.size; } }, ], ['first', x], ])), (L._storagePrefix = 'suggest/memories'), (L = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([S(0, m.Uy), S(1, C.h), S(2, y.Ui)], L)); const M = (0, v.yh)('ISuggestMemories'); (0, w.z)(M, L, !0); var D = i(63580), N = i(94565), E = i(38819), T = i(49989), I = i(79599); let O = class e { constructor(t, i) { (this._editor = t), (this._index = 0), (this._ckOtherSuggestions = e.OtherSuggestions.bindTo(i)); } dispose() { this.reset(); } reset() { this._ckOtherSuggestions.reset(), (0, a.B9)(this._listener), (this._model = void 0), (this._acceptNext = void 0), (this._ignore = !1); } set({ model: t, index: i }, n) { 0 !== t.items.length && e._moveIndex(!0, t, i) !== i ? ((this._acceptNext = n), (this._model = t), (this._index = i), (this._listener = this._editor.onDidChangeCursorPosition(() => { this._ignore || this.reset(); })), this._ckOtherSuggestions.set(!0)) : this.reset(); } static _moveIndex(e, t, i) { let n = i; for ( ; (n = (n + t.items.length + (e ? 1 : -1)) % t.items.length), n !== i && t.items[n].completion.additionalTextEdits; ); return n; } next() { this._move(!0); } prev() { this._move(!1); } _move(t) { if (this._model) try { (this._ignore = !0), (this._index = e._moveIndex(t, this._model, this._index)), this._acceptNext({ index: this._index, item: this._model.items[this._index], model: this._model, }); } finally { this._ignore = !1; } } }; var A, R; (O.OtherSuggestions = new E.uy('hasOtherSuggestions', !1)), (O = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((A = 1), (R = E.i6), function (e, t) { R(e, t, A); }), ], O )); var P = i(4669), F = i(3860), B = i(75392), W = i(97295); class Y { constructor(e, t, i, n, r, s, o) { (this.clipboardText = o), (this._snippetCompareFn = Y._compareCompletionItems), (this._items = e), (this._column = t), (this._wordDistance = n), (this._options = r), (this._refilterKind = 1), (this._lineContext = i), 'top' === s ? (this._snippetCompareFn = Y._compareCompletionItemsSnippetsUp) : 'bottom' === s && (this._snippetCompareFn = Y._compareCompletionItemsSnippetsDown); } get lineContext() { return this._lineContext; } set lineContext(e) { (this._lineContext.leadingLineContent === e.leadingLineContent && this._lineContext.characterCountDelta === e.characterCountDelta) || ((this._refilterKind = this._lineContext.characterCountDelta < e.characterCountDelta && this._filteredItems ? 2 : 1), (this._lineContext = e)); } get items() { return this._ensureCachedState(), this._filteredItems; } get allProvider() { return this._ensureCachedState(), this._allProvider; } get incomplete() { return this._ensureCachedState(), this._isIncomplete; } adopt(e) { let t = []; for (let i = 0; i < this._items.length; ) e.has(this._items[i].provider) ? i++ : (t.push(this._items[i]), (this._items[i] = this._items[this._items.length - 1]), this._items.pop()); return (this._refilterKind = 1), t; } get stats() { return this._ensureCachedState(), this._stats; } _ensureCachedState() { 0 !== this._refilterKind && this._createCachedState(); } _createCachedState() { (this._isIncomplete = new Set()), (this._allProvider = new Set()), (this._stats = { suggestionCount: 0, snippetCount: 0, textCount: 0, }); const { leadingLineContent: e, characterCountDelta: t, } = this._lineContext; let i = '', n = ''; const r = 1 === this._refilterKind ? this._items : this._filteredItems, s = [], o = !this._options.filterGraceful || r.length > 2e3 ? B.EW : B.l7; for (let a = 0; a < r.length; a++) { const l = r[a]; if (l.isInvalid) continue; l.container.incomplete && this._isIncomplete.add(l.provider), this._allProvider.add(l.provider); const c = l.position.column - l.editStart.column, d = c + t - (l.position.column - this._column); if ( (i.length !== d && ((i = 0 === d ? '' : e.slice(-d)), (n = i.toLowerCase())), (l.word = i), 0 === d) ) l.score = B.CL.Default; else { let e = 0; for (; e < c; ) { const t = i.charCodeAt(e); if (32 !== t && 9 !== t) break; e += 1; } const t = 'string' == typeof l.completion.label ? l.completion.label : l.completion.label.name; if (e >= d) l.score = B.CL.Default; else if ('string' == typeof l.completion.filterText) { let r = o( i, n, e, l.completion.filterText, l.filterTextLow, 0, !1 ); if (!r) continue; 0 === (0, W.zY)(l.completion.filterText, t) ? (l.score = r) : ((l.score = (0, B.jB)(i, n, e, t, l.labelLow, 0)), (l.score[0] = r[0])); } else { let r = o(i, n, e, t, l.labelLow, 0, !1); if (!r) continue; l.score = r; } } switch ( ((l.idx = a), (l.distance = this._wordDistance.distance( l.position, l.completion )), s.push(l), this._stats.suggestionCount++, l.completion.kind) ) { case 27: this._stats.snippetCount++; break; case 18: this._stats.textCount++; } } (this._filteredItems = s.sort(this._snippetCompareFn)), (this._refilterKind = 0); } static _compareCompletionItems(e, t) { return e.score[0] > t.score[0] ? -1 : e.score[0] < t.score[0] ? 1 : e.distance < t.distance ? -1 : e.distance > t.distance ? 1 : e.idx < t.idx ? -1 : e.idx > t.idx ? 1 : 0; } static _compareCompletionItemsSnippetsDown(e, t) { if (e.completion.kind !== t.completion.kind) { if (27 === e.completion.kind) return 1; if (27 === t.completion.kind) return -1; } return Y._compareCompletionItems(e, t); } static _compareCompletionItemsSnippetsUp(e, t) { if (e.completion.kind !== t.completion.kind) { if (27 === e.completion.kind) return -1; if (27 === t.completion.kind) return 1; } return Y._compareCompletionItems(e, t); } } var H = i(71050), j = i(80689); class V { static create(e, t) { return ( (i = this), (n = void 0), (o = function* () { if (!t.getOption(96).localityBonus) return V.None; if (!t.hasModel()) return V.None; const i = t.getModel(), n = t.getPosition(); if (!e.canComputeWordRanges(i.uri)) return V.None; const [s] = yield new j.x().provideSelectionRanges(i, [n]); if (0 === s.length) return V.None; const o = yield e.computeWordRanges(i.uri, s[0].range); if (!o) return V.None; const a = i.getWordUntilPosition(n); return ( delete o[a.word], new (class extends V { distance(e, i) { if (!n.equals(t.getPosition())) return 0; if (17 === i.kind) return 2 << 20; let a = 'string' == typeof i.label ? i.label : i.label.name, l = o[a]; if ((0, r.XY)(l)) return 2 << 20; let c = (0, r.ry)( l, h.e.fromPositions(e), h.e.compareRangesUsingStarts ), d = c >= 0 ? l[c] : l[Math.max(0, ~c - 1)], u = s.length; for (const e of s) { if (!h.e.containsRange(e.range, d)) break; u -= 1; } return u; } })() ); }), new ((s = void 0) || (s = Promise))(function (e, t) { function r(e) { try { l(o.next(e)); } catch (e) { t(e); } } function a(e) { try { l(o.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof s ? i : new s(function (e) { e(i); })).then(r, a); } l((o = o.apply(i, n || [])).next()); }) ); var i, n, s, o; } } V.None = new (class extends V { distance() { return 0; } })(); class z { constructor(e, t, i, n) { (this.leadingLineContent = e .getLineContent(t.lineNumber) .substr(0, t.column - 1)), (this.leadingWord = e.getWordUntilPosition(t)), (this.lineNumber = t.lineNumber), (this.column = t.column), (this.auto = i), (this.shy = n); } static shouldAutoTrigger(e) { if (!e.hasModel()) return !1; const t = e.getModel(), i = e.getPosition(); t.tokenizeIfCheap(i.lineNumber); const n = t.getWordAtPosition(i); return !!n && n.endColumn === i.column && !!isNaN(Number(n.word)); } } class U { constructor(e, t, i) { (this._editor = e), (this._editorWorkerService = t), (this._clipboardService = i), (this._toDispose = new a.SL()), (this._quickSuggestDelay = 10), (this._triggerCharacterListener = new a.SL()), (this._triggerQuickSuggest = new b._F()), (this._state = 0), (this._completionDisposables = new a.SL()), (this._onDidCancel = new P.Q5()), (this._onDidTrigger = new P.Q5()), (this._onDidSuggest = new P.Q5()), (this.onDidCancel = this._onDidCancel.event), (this.onDidTrigger = this._onDidTrigger.event), (this.onDidSuggest = this._onDidSuggest.event), (this._currentSelection = this._editor.getSelection() || new F.Y(1, 1, 1, 1)), this._toDispose.add( this._editor.onDidChangeModel(() => { this._updateTriggerCharacters(), this.cancel(); }) ), this._toDispose.add( this._editor.onDidChangeModelLanguage(() => { this._updateTriggerCharacters(), this.cancel(); }) ), this._toDispose.add( this._editor.onDidChangeConfiguration(() => { this._updateTriggerCharacters(), this._updateQuickSuggest(); }) ), this._toDispose.add( _.KZ.onDidChange(() => { this._updateTriggerCharacters(), this._updateActiveSuggestSession(); }) ), this._toDispose.add( this._editor.onDidChangeCursorSelection((e) => { this._onCursorChange(e); }) ); let n = !1; this._toDispose.add( this._editor.onDidCompositionStart(() => { n = !0; }) ), this._toDispose.add( this._editor.onDidCompositionEnd(() => { (n = !1), this._refilterCompletionItems(); }) ), this._toDispose.add( this._editor.onDidChangeModelContent(() => { n || this._refilterCompletionItems(); }) ), this._updateTriggerCharacters(), this._updateQuickSuggest(); } dispose() { (0, a.B9)(this._triggerCharacterListener), (0, a.B9)([ this._onDidCancel, this._onDidSuggest, this._onDidTrigger, this._triggerQuickSuggest, ]), this._toDispose.dispose(), this._completionDisposables.dispose(), this.cancel(); } _updateQuickSuggest() { (this._quickSuggestDelay = this._editor.getOption(71)), (isNaN(this._quickSuggestDelay) || (!this._quickSuggestDelay && 0 !== this._quickSuggestDelay) || this._quickSuggestDelay < 0) && (this._quickSuggestDelay = 10); } _updateTriggerCharacters() { if ( (this._triggerCharacterListener.clear(), this._editor.getOption(72) || !this._editor.hasModel() || !this._editor.getOption(99)) ) return; const e = new Map(); for (const t of _.KZ.all(this._editor.getModel())) for (const i of t.triggerCharacters || []) { let n = e.get(i); n || ((n = new Set()), n.add((0, I.ZJ)()), e.set(i, n)), n.add(t); } const t = (t) => { if (!t) { const e = this._editor.getPosition(); t = this._editor .getModel() .getLineContent(e.lineNumber) .substr(0, e.column - 1); } let i = ''; (0, W.YK)(t.charCodeAt(t.length - 1)) ? (0, W.ZG)(t.charCodeAt(t.length - 2)) && (i = t.substr(t.length - 2)) : (i = t.charAt(t.length - 1)); const n = e.get(i); if (n) { const e = this._completionModel ? { items: this._completionModel.adopt(n), clipboardText: this._completionModel.clipboardText, } : void 0; this.trigger( { auto: !0, shy: !1, triggerCharacter: i }, Boolean(this._completionModel), n, e ); } }; this._triggerCharacterListener.add(this._editor.onDidType(t)), this._triggerCharacterListener.add( this._editor.onDidCompositionEnd(t) ); } get state() { return this._state; } cancel(e = !1) { 0 !== this._state && (this._triggerQuickSuggest.cancel(), this._requestToken && (this._requestToken.cancel(), (this._requestToken = void 0)), (this._state = 0), (this._completionModel = void 0), (this._context = void 0), this._onDidCancel.fire({ retrigger: e })); } clear() { this._completionDisposables.clear(); } _updateActiveSuggestSession() { 0 !== this._state && (this._editor.hasModel() && _.KZ.has(this._editor.getModel()) ? this.trigger({ auto: 2 === this._state, shy: !1 }, !0) : this.cancel()); } _onCursorChange(e) { if (!this._editor.hasModel()) return; const t = this._editor.getModel(), i = this._currentSelection; if ( ((this._currentSelection = this._editor.getSelection()), !e.selection.isEmpty() || 0 !== e.reason || ('keyboard' !== e.source && 'deleteLeft' !== e.source)) ) this.cancel(); else if (_.KZ.has(t) && 0 === this._state) { if (!1 === this._editor.getOption(70)) return; if ( !i.containsRange(this._currentSelection) && !i .getEndPosition() .isBeforeOrEqual(this._currentSelection.getPosition()) ) return; if ( this._editor.getOption(96).snippetsPreventQuickSuggestions && g.SnippetController2.get(this._editor).isInSnippet() ) return; this.cancel(), this._triggerQuickSuggest.cancelAndSet(() => { if (0 !== this._state) return; if (!z.shouldAutoTrigger(this._editor)) return; if (!this._editor.hasModel()) return; const e = this._editor.getModel(), t = this._editor.getPosition(), i = this._editor.getOption(70); if (!1 !== i) { if (!0 === i); else { e.tokenizeIfCheap(t.lineNumber); const n = e.getLineTokens(t.lineNumber), r = n.getStandardTokenType( n.findTokenIndexAtOffset( Math.max(t.column - 1 - 1, 0) ) ); if ( !( (i.other && 0 === r) || (i.comments && 1 === r) || (i.strings && 2 === r) ) ) return; } this.trigger({ auto: !0, shy: !1 }); } }, this._quickSuggestDelay); } } _refilterCompletionItems() { Promise.resolve().then(() => { if (0 === this._state) return; if (!this._editor.hasModel()) return; const e = this._editor.getModel(), t = this._editor.getPosition(), i = new z(e, t, 2 === this._state, !1); this._onNewContext(i); }); } trigger(e, t = !1, i, n) { var r; if (!this._editor.hasModel()) return; const o = this._editor.getModel(), l = e.auto, c = new z(o, this._editor.getPosition(), l, e.shy); this.cancel(t), (this._state = l ? 2 : 1), this._onDidTrigger.fire({ auto: l, shy: e.shy, position: this._editor.getPosition(), }), (this._context = c); let d = { triggerKind: null !== (r = e.triggerKind) && void 0 !== r ? r : 0, }; e.triggerCharacter && (d = { triggerKind: 1, triggerCharacter: e.triggerCharacter }), (this._requestToken = new H.A()); const h = this._editor.getOption(93); let u = 1; switch (h) { case 'top': u = 0; break; case 'bottom': u = 2; } let g = U._createItemKindFilter(this._editor), f = V.create(this._editorWorkerService, this._editor), p = (0, I.kL)( o, this._editor.getPosition(), new I.A9(u, g, i), d, this._requestToken.token ); Promise.all([p, f]) .then(([t, i]) => { return ( (r = this), (s = void 0), (c = function* () { if (((0, a.B9)(this._requestToken), 0 === this._state)) return; if (!this._editor.hasModel()) return; let r = null == n ? void 0 : n.clipboardText; !r && t.needsClipboard && (r = yield this._clipboardService.readText()); const s = this._editor.getModel(); let o = t.items; if (n) { const e = (0, I.wg)(u); o = o.concat(n.items).sort(e); } const c = new z(s, this._editor.getPosition(), l, e.shy); (this._completionModel = new Y( o, this._context.column, { leadingLineContent: c.leadingLineContent, characterCountDelta: c.column - this._context.column, }, i, this._editor.getOption(96), this._editor.getOption(93), r )), this._completionDisposables.add(t.dispoables), this._onNewContext(c); }), new ((o = void 0) || (o = Promise))(function (e, t) { function i(e) { try { a(c.next(e)); } catch (e) { t(e); } } function n(e) { try { a(c.throw(e)); } catch (e) { t(e); } } function a(t) { var r; t.done ? e(t.value) : ((r = t.value), r instanceof o ? r : new o(function (e) { e(r); })).then(i, n); } a((c = c.apply(r, s || [])).next()); }) ); var r, s, o, c; }) .catch(s.dL); } static _createItemKindFilter(e) { const t = new Set(); 'none' === e.getOption(93) && t.add(27); const i = e.getOption(96); return ( i.showMethods || t.add(0), i.showFunctions || t.add(1), i.showConstructors || t.add(2), i.showFields || t.add(3), i.showVariables || t.add(4), i.showClasses || t.add(5), i.showStructs || t.add(6), i.showInterfaces || t.add(7), i.showModules || t.add(8), i.showProperties || t.add(9), i.showEvents || t.add(10), i.showOperators || t.add(11), i.showUnits || t.add(12), i.showValues || t.add(13), i.showConstants || t.add(14), i.showEnums || t.add(15), i.showEnumMembers || t.add(16), i.showKeywords || t.add(17), i.showWords || t.add(18), i.showColors || t.add(19), i.showFiles || t.add(20), i.showReferences || t.add(21), i.showColors || t.add(22), i.showFolders || t.add(23), i.showTypeParameters || t.add(24), i.showSnippets || t.add(27), i.showUsers || t.add(25), i.showIssues || t.add(26), t ); } _onNewContext(e) { if (this._context) if (e.lineNumber === this._context.lineNumber) { if ( e.leadingWord.startColumn < this._context.leadingWord.startColumn ) this.cancel(); else if (e.column < this._context.column) e.leadingWord.word ? this.trigger({ auto: this._context.auto, shy: !1 }, !0) : this.cancel(); else if (this._completionModel) if ( 0 !== e.leadingWord.word.length && e.leadingWord.startColumn > this._context.leadingWord.startColumn ) { const e = new Set(_.KZ.all(this._editor.getModel())); this._completionModel.allProvider.forEach((t) => e.delete(t) ); const t = this._completionModel.adopt(new Set()); this.trigger({ auto: this._context.auto, shy: !1 }, !0, e, { items: t, clipboardText: this._completionModel.clipboardText, }); } else if ( e.column > this._context.column && this._completionModel.incomplete.size > 0 && 0 !== e.leadingWord.word.length ) { const { incomplete: e } = this._completionModel, t = this._completionModel.adopt(e); this.trigger( { auto: 2 === this._state, shy: !1, triggerKind: 2 }, !0, e, { items: t, clipboardText: this._completionModel.clipboardText, } ); } else { let t = this._completionModel.lineContext, i = !1; if ( ((this._completionModel.lineContext = { leadingLineContent: e.leadingLineContent, characterCountDelta: e.column - this._context.column, }), 0 === this._completionModel.items.length) ) { if ( z.shouldAutoTrigger(this._editor) && this._context.leadingWord.endColumn < e.leadingWord.startColumn ) return void this.trigger( { auto: this._context.auto, shy: !1 }, !0 ); if (this._context.auto) return void this.cancel(); if ( ((this._completionModel.lineContext = t), (i = this._completionModel.items.length > 0), i && 0 === e.leadingWord.word.length) ) return void this.cancel(); } this._onDidSuggest.fire({ completionModel: this._completionModel, auto: this._context.auto, shy: this._context.shy, isFrozen: i, }); } } else this.cancel(); } } i(28609); var $ = i(97781), K = i(73910), q = i(73046); const G = (0, K.P6)( 'symbolIcon.arrayForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.arrayForeground', 'The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Z = (0, K.P6)( 'symbolIcon.booleanForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.booleanForeground', 'The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), J = (0, K.P6)( 'symbolIcon.classForeground', { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, (0, D.N)( 'symbolIcon.classForeground', 'The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Q = (0, K.P6)( 'symbolIcon.colorForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.colorForeground', 'The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), X = (0, K.P6)( 'symbolIcon.constantForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.constantForeground', 'The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ee = (0, K.P6)( 'symbolIcon.constructorForeground', { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, (0, D.N)( 'symbolIcon.constructorForeground', 'The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), te = (0, K.P6)( 'symbolIcon.enumeratorForeground', { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, (0, D.N)( 'symbolIcon.enumeratorForeground', 'The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ie = (0, K.P6)( 'symbolIcon.enumeratorMemberForeground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, (0, D.N)( 'symbolIcon.enumeratorMemberForeground', 'The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ne = (0, K.P6)( 'symbolIcon.eventForeground', { dark: '#EE9D28', light: '#D67E00', hc: '#EE9D28' }, (0, D.N)( 'symbolIcon.eventForeground', 'The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), re = (0, K.P6)( 'symbolIcon.fieldForeground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, (0, D.N)( 'symbolIcon.fieldForeground', 'The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), se = (0, K.P6)( 'symbolIcon.fileForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.fileForeground', 'The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), oe = (0, K.P6)( 'symbolIcon.folderForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.folderForeground', 'The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ae = (0, K.P6)( 'symbolIcon.functionForeground', { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, (0, D.N)( 'symbolIcon.functionForeground', 'The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), le = (0, K.P6)( 'symbolIcon.interfaceForeground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, (0, D.N)( 'symbolIcon.interfaceForeground', 'The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ce = (0, K.P6)( 'symbolIcon.keyForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.keyForeground', 'The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), de = (0, K.P6)( 'symbolIcon.keywordForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.keywordForeground', 'The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), he = (0, K.P6)( 'symbolIcon.methodForeground', { dark: '#B180D7', light: '#652D90', hc: '#B180D7' }, (0, D.N)( 'symbolIcon.methodForeground', 'The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ue = (0, K.P6)( 'symbolIcon.moduleForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.moduleForeground', 'The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ge = (0, K.P6)( 'symbolIcon.namespaceForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.namespaceForeground', 'The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), fe = (0, K.P6)( 'symbolIcon.nullForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.nullForeground', 'The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), pe = (0, K.P6)( 'symbolIcon.numberForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.numberForeground', 'The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), me = (0, K.P6)( 'symbolIcon.objectForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.objectForeground', 'The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), _e = (0, K.P6)( 'symbolIcon.operatorForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.operatorForeground', 'The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), be = (0, K.P6)( 'symbolIcon.packageForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.packageForeground', 'The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ve = (0, K.P6)( 'symbolIcon.propertyForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.propertyForeground', 'The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ye = (0, K.P6)( 'symbolIcon.referenceForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.referenceForeground', 'The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), we = (0, K.P6)( 'symbolIcon.snippetForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.snippetForeground', 'The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Ce = (0, K.P6)( 'symbolIcon.stringForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.stringForeground', 'The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Se = (0, K.P6)( 'symbolIcon.structForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.structForeground', 'The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), ke = (0, K.P6)( 'symbolIcon.textForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.textForeground', 'The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), xe = (0, K.P6)( 'symbolIcon.typeParameterForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.typeParameterForeground', 'The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Le = (0, K.P6)( 'symbolIcon.unitForeground', { dark: K.dR, light: K.dR, hc: K.dR }, (0, D.N)( 'symbolIcon.unitForeground', 'The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ), Me = (0, K.P6)( 'symbolIcon.variableForeground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, (0, D.N)( 'symbolIcon.variableForeground', 'The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.' ) ); (0, $.Ic)((e, t) => { const i = e.getColor(G); i && t.addRule(`${q.lA.symbolArray.cssSelector} { color: ${i}; }`); const n = e.getColor(Z); n && t.addRule(`${q.lA.symbolBoolean.cssSelector} { color: ${n}; }`); const r = e.getColor(J); r && t.addRule(`${q.lA.symbolClass.cssSelector} { color: ${r}; }`); const s = e.getColor(he); s && t.addRule(`${q.lA.symbolMethod.cssSelector} { color: ${s}; }`); const o = e.getColor(Q); o && t.addRule(`${q.lA.symbolColor.cssSelector} { color: ${o}; }`); const a = e.getColor(X); a && t.addRule(`${q.lA.symbolConstant.cssSelector} { color: ${a}; }`); const l = e.getColor(ee); l && t.addRule(`${q.lA.symbolConstructor.cssSelector} { color: ${l}; }`); const c = e.getColor(te); c && t.addRule( `\n\t\t\t${q.lA.symbolValue.cssSelector},${q.lA.symbolEnum.cssSelector} { color: ${c}; }` ); const d = e.getColor(ie); d && t.addRule(`${q.lA.symbolEnumMember.cssSelector} { color: ${d}; }`); const h = e.getColor(ne); h && t.addRule(`${q.lA.symbolEvent.cssSelector} { color: ${h}; }`); const u = e.getColor(re); u && t.addRule(`${q.lA.symbolField.cssSelector} { color: ${u}; }`); const g = e.getColor(se); g && t.addRule(`${q.lA.symbolFile.cssSelector} { color: ${g}; }`); const f = e.getColor(oe); f && t.addRule(`${q.lA.symbolFolder.cssSelector} { color: ${f}; }`); const p = e.getColor(ae); p && t.addRule(`${q.lA.symbolFunction.cssSelector} { color: ${p}; }`); const m = e.getColor(le); m && t.addRule(`${q.lA.symbolInterface.cssSelector} { color: ${m}; }`); const _ = e.getColor(ce); _ && t.addRule(`${q.lA.symbolKey.cssSelector} { color: ${_}; }`); const b = e.getColor(de); b && t.addRule(`${q.lA.symbolKeyword.cssSelector} { color: ${b}; }`); const v = e.getColor(ue); v && t.addRule(`${q.lA.symbolModule.cssSelector} { color: ${v}; }`); const y = e.getColor(ge); y && t.addRule(`${q.lA.symbolNamespace.cssSelector} { color: ${y}; }`); const w = e.getColor(fe); w && t.addRule(`${q.lA.symbolNull.cssSelector} { color: ${w}; }`); const C = e.getColor(pe); C && t.addRule(`${q.lA.symbolNumber.cssSelector} { color: ${C}; }`); const S = e.getColor(me); S && t.addRule(`${q.lA.symbolObject.cssSelector} { color: ${S}; }`); const k = e.getColor(_e); k && t.addRule(`${q.lA.symbolOperator.cssSelector} { color: ${k}; }`); const x = e.getColor(be); x && t.addRule(`${q.lA.symbolPackage.cssSelector} { color: ${x}; }`); const L = e.getColor(ve); L && t.addRule(`${q.lA.symbolProperty.cssSelector} { color: ${L}; }`); const M = e.getColor(ye); M && t.addRule(`${q.lA.symbolReference.cssSelector} { color: ${M}; }`); const D = e.getColor(we); D && t.addRule(`${q.lA.symbolSnippet.cssSelector} { color: ${D}; }`); const N = e.getColor(Ce); N && t.addRule(`${q.lA.symbolString.cssSelector} { color: ${N}; }`); const E = e.getColor(Se); E && t.addRule(`${q.lA.symbolStruct.cssSelector} { color: ${E}; }`); const T = e.getColor(ke); T && t.addRule(`${q.lA.symbolText.cssSelector} { color: ${T}; }`); const I = e.getColor(xe); I && t.addRule( `${q.lA.symbolTypeParameter.cssSelector} { color: ${I}; }` ); const O = e.getColor(Le); O && t.addRule(`${q.lA.symbolUnit.cssSelector} { color: ${O}; }`); const A = e.getColor(Me); A && t.addRule(`${q.lA.symbolVariable.cssSelector} { color: ${A}; }`); }); var De, Ne = i(65321), Ee = i(43799), Te = i(9802), Ie = i(91847), Oe = i(10829), Ae = i(88810), Re = i(53335), Pe = i(50988), Fe = i(59834), Be = i(66663), We = i(95935), Ye = i(71144); function He(e, t, i, n) { const r = n === De.ROOT_FOLDER ? ['rootfolder-icon'] : n === De.FOLDER ? ['folder-icon'] : ['file-icon']; if (i) { let s; if ( ((s = i.scheme === Be.l.data ? We.Vb.parseMetaData(i).get(We.Vb.META_DATA_LABEL) : je((0, We.Hx)(i).toLowerCase())), n === De.FOLDER) ) r.push(`${s}-name-folder-icon`); else { if (s) { r.push(`${s}-name-file-icon`); const e = s.split('.'); for (let t = 1; t < e.length; t++) r.push(`${e.slice(t).join('.')}-ext-file-icon`); r.push('ext-file-icon'); } const n = (function (e, t, i) { if (!i) return null; let n = null; if (i.scheme === Be.l.data) { const e = We.Vb.parseMetaData(i).get(We.Vb.META_DATA_MIME); e && (n = t.getModeId(e)); } else { const t = e.getModel(i); t && (n = t.getModeId()); } return n && n !== Ye.XT ? n : t.getModeIdByFilepathOrFirstLine(i); })(e, t, i); n && r.push(`${je(n)}-lang-file-icon`); } } return r; } function je(e) { return e.replace(/\s/g, '\\$&'); } !(function (e) { (e[(e.FILE = 0)] = 'FILE'), (e[(e.FOLDER = 1)] = 'FOLDER'), (e[(e.ROOT_FOLDER = 2)] = 'ROOT_FOLDER'); })(De || (De = {})); var Ve = i(51200), ze = i(70666), Ue = i(59365), $e = i(84144), Ke = i(90317), qe = i(76033), Ge = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, Ze = function (e, t) { return function (i, n) { t(i, n, e); }; }; const Je = (0, q.q5)('suggest-more-info', q.lA.chevronRight), Qe = (0, K.P6)( 'editorSuggestWidget.background', { dark: K.D0, light: K.D0, hc: K.D0 }, D.N( 'editorSuggestWidgetBackground', 'Background color of the suggest widget.' ) ), Xe = (0, K.P6)( 'editorSuggestWidget.border', { dark: K.D1, light: K.D1, hc: K.D1 }, D.N( 'editorSuggestWidgetBorder', 'Border color of the suggest widget.' ) ), et = (0, K.P6)( 'editorSuggestWidget.foreground', { dark: K.NO, light: K.NO, hc: K.NO }, D.N( 'editorSuggestWidgetForeground', 'Foreground color of the suggest widget.' ) ), tt = (0, K.P6)( 'editorSuggestWidget.selectedBackground', { dark: K._b, light: K._b, hc: K._b }, D.N( 'editorSuggestWidgetSelectedBackground', 'Background color of the selected entry in the suggest widget.' ) ), it = (0, K.P6)( 'editorSuggestWidget.highlightForeground', { dark: K.Gw, light: K.Gw, hc: K.Gw }, D.N( 'editorSuggestWidgetHighlightForeground', 'Color of the match highlights in the suggest widget.' ) ), nt = /^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i; function rt(e) { if (!e) return !1; const t = e.completion; return !!t.documentation || (t.detail && t.detail !== t.label); } function st(e) { return `suggest-aria-id:${e}`; } let ot = class { constructor(e, t, i, n, r, s) { (this.widget = e), (this.editor = t), (this.triggerKeybindingLabel = i), (this._modelService = n), (this._modeService = r), (this._themeService = s); } get templateId() { return 'suggestion'; } renderTemplate(e) { const t = Object.create(null); (t.disposables = new a.SL()), (t.root = e), t.root.classList.add('show-file-icons'), (t.icon = (0, Ne.R3)(e, (0, Ne.$)('.icon'))), (t.colorspan = (0, Ne.R3)(t.icon, (0, Ne.$)('span.colorspan'))); const i = (0, Ne.R3)(e, (0, Ne.$)('.contents')), n = (0, Ne.R3)(i, (0, Ne.$)('.main')); (t.iconContainer = (0, Ne.R3)(n, (0, Ne.$)('.icon-label.codicon'))), (t.left = (0, Ne.R3)(n, (0, Ne.$)('span.left'))), (t.right = (0, Ne.R3)(n, (0, Ne.$)('span.right'))), (t.iconLabel = new Fe.g(t.left, { supportHighlights: !0, supportCodicons: !0, })), t.disposables.add(t.iconLabel), (t.parametersLabel = (0, Ne.R3)( t.left, (0, Ne.$)('span.signature-label') )), (t.qualifierLabel = (0, Ne.R3)( t.left, (0, Ne.$)('span.qualifier-label') )), (t.detailsLabel = (0, Ne.R3)( t.right, (0, Ne.$)('span.details-label') )), (t.readMore = (0, Ne.R3)( t.right, (0, Ne.$)('span.readMore' + Je.cssSelector) )), (t.readMore.title = D.N( 'readMore', 'Read More ({0})', this.triggerKeybindingLabel )); const r = () => { const e = this.editor.getOptions(), i = e.get(36), r = i.fontFamily, s = i.fontFeatureSettings, o = e.get(97) || i.fontSize, a = e.get(98) || i.lineHeight, l = i.fontWeight, c = `${o}px`, d = `${a}px`; (t.root.style.fontSize = c), (t.root.style.fontWeight = l), (n.style.fontFamily = r), (n.style.fontFeatureSettings = s), (n.style.lineHeight = d), (t.icon.style.height = d), (t.icon.style.width = d), (t.readMore.style.height = d), (t.readMore.style.width = d); }; return ( r(), t.disposables.add( P.ju .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) .filter( (e) => e.hasChanged(36) || e.hasChanged(97) || e.hasChanged(98) ) .on(r, null) ), t ); } renderElement(e, t, i) { const n = i, s = e.completion, o = 'string' == typeof s.label ? s.label : s.label.name; (n.root.id = st(t)), (n.colorspan.style.backgroundColor = ''); const a = { labelEscapeNewLines: !0, matches: (0, B.mB)(e.score) }; let l = []; if ( 19 === s.kind && (function (e, t) { const i = 'string' == typeof e.completion.label ? e.completion.label : e.completion.label.name; return i.match(nt) ? ((t[0] = i), !0) : !( 'string' != typeof e.completion.documentation || !e.completion.documentation.match(nt) || ((t[0] = e.completion.documentation), 0) ); })(e, l) ) (n.icon.className = 'icon customcolor'), (n.iconContainer.className = 'icon hide'), (n.colorspan.style.backgroundColor = l[0]); else if ( 20 === s.kind && this._themeService.getFileIconTheme().hasFileIcons ) { (n.icon.className = 'icon hide'), (n.iconContainer.className = 'icon hide'); const e = He( this._modelService, this._modeService, ze.o.from({ scheme: 'fake', path: o }), De.FILE ), t = He( this._modelService, this._modeService, ze.o.from({ scheme: 'fake', path: s.detail }), De.FILE ); a.extraClasses = e.length > t.length ? e : t; } else 23 === s.kind && this._themeService.getFileIconTheme().hasFolderIcons ? ((n.icon.className = 'icon hide'), (n.iconContainer.className = 'icon hide'), (a.extraClasses = (0, r.xH)([ He( this._modelService, this._modeService, ze.o.from({ scheme: 'fake', path: o }), De.FOLDER ), He( this._modelService, this._modeService, ze.o.from({ scheme: 'fake', path: s.detail }), De.FOLDER ), ]))) : ((n.icon.className = 'icon hide'), (n.iconContainer.className = ''), (0, Ne.PT)( n.iconContainer, `suggest-icon ${(0, _.Sy)(s.kind)}` )); s.tags && s.tags.indexOf(1) >= 0 && ((a.extraClasses = (a.extraClasses || []).concat(['deprecated'])), (a.matches = [])), n.iconLabel.setLabel(o, void 0, a), 'string' == typeof s.label ? ((n.parametersLabel.textContent = ''), (n.qualifierLabel.textContent = ''), (n.detailsLabel.textContent = (s.detail || '').replace( /\n.*$/m, '' )), n.root.classList.add('string-label')) : ((n.parametersLabel.textContent = ( s.label.parameters || '' ).replace(/\n.*$/m, '')), (n.qualifierLabel.textContent = ( s.label.qualifier || '' ).replace(/\n.*$/m, '')), (n.detailsLabel.textContent = (s.label.type || '').replace( /\n.*$/m, '' )), n.root.classList.remove('string-label')), rt(e) ? (n.right.classList.add('can-expand-details'), (0, Ne.$Z)(n.readMore), (n.readMore.onmousedown = (e) => { e.stopPropagation(), e.preventDefault(); }), (n.readMore.onclick = (e) => { e.stopPropagation(), e.preventDefault(), this.widget.toggleDetails(); })) : (n.right.classList.remove('can-expand-details'), (0, Ne.Cp)(n.readMore), (n.readMore.onmousedown = null), (n.readMore.onclick = null)); } disposeTemplate(e) { e.disposables.dispose(); } }; ot = Ge([Ze(3, Ve.q), Ze(4, C.h), Ze(5, $.XE)], ot); class at { constructor(e, t, i, n, r) { (this.widget = t), (this.editor = i), (this.markdownRenderer = n), (this.kbToggleDetails = r), (this.borderWidth = 1), (this.disposables = new a.SL()), (this.el = (0, Ne.R3)(e, (0, Ne.$)('.details'))), this.disposables.add((0, a.OF)(() => e.removeChild(this.el))), (this.body = (0, Ne.$)('.body')), (this.scrollbar = new Te.s$(this.body, {})), (0, Ne.R3)(this.el, this.scrollbar.getDomNode()), this.disposables.add(this.scrollbar), (this.header = (0, Ne.R3)(this.body, (0, Ne.$)('.header'))), (this.close = (0, Ne.R3)( this.header, (0, Ne.$)('span' + q.lA.close.cssSelector) )), (this.close.title = D.N( 'readLess', 'Read Less ({0})', this.kbToggleDetails )), (this.type = (0, Ne.R3)(this.header, (0, Ne.$)('p.type'))), (this.docs = (0, Ne.R3)(this.body, (0, Ne.$)('p.docs'))), this.configureFont(), P.ju .chain(this.editor.onDidChangeConfiguration.bind(this.editor)) .filter((e) => e.hasChanged(36)) .on(this.configureFont, this, this.disposables), n.onDidRenderCodeBlock( () => this.scrollbar.scanDomNode(), this, this.disposables ); } get element() { return this.el; } renderLoading() { (this.type.textContent = D.N('loading', 'Loading...')), (this.docs.textContent = ''); } renderItem(e, t) { (0, a.B9)(this.renderDisposeable), (this.renderDisposeable = void 0); let { documentation: i, detail: n } = e.completion; if (t) { let t = ''; (t += `score: ${e.score[0]}${ e.word ? `, compared '${ (e.completion.filterText && e.completion.filterText + ' (filterText)') || e.completion.label }' with '${e.word}'` : ' (no prefix)' }\n`), (t += `distance: ${e.distance}, see localityBonus-setting\n`), (t += `index: ${e.idx}, based on ${ (e.completion.sortText && `sortText: "${e.completion.sortText}"`) || 'label' }\n`), (i = new Ue.W5().appendCodeblock('empty', t)), (n = `Provider: ${e.provider._debugDisplayName}`); } if (!t && !rt(e)) return ( (this.type.textContent = ''), (this.docs.textContent = ''), void this.el.classList.add('no-docs') ); if ((this.el.classList.remove('no-docs'), 'string' == typeof i)) this.docs.classList.remove('markdown-docs'), (this.docs.textContent = i); else { this.docs.classList.add('markdown-docs'), (this.docs.innerText = ''); const e = this.markdownRenderer.render(i); (this.renderDisposeable = e), this.docs.appendChild(e.element); } n ? ((this.type.innerText = n.length > 1e5 ? `${n.substr(0, 1e5)}…` : n), (0, Ne.$Z)(this.type)) : ((this.type.innerText = ''), (0, Ne.Cp)(this.type)), (this.el.style.height = this.header.offsetHeight + this.docs.offsetHeight + 2 * this.borderWidth + 'px'), (this.el.style.userSelect = 'text'), (this.el.tabIndex = -1), (this.close.onmousedown = (e) => { e.preventDefault(), e.stopPropagation(); }), (this.close.onclick = (e) => { e.preventDefault(), e.stopPropagation(), this.widget.toggleDetails(); }), (this.body.scrollTop = 0), this.scrollbar.scanDomNode(); } scrollDown(e = 8) { this.body.scrollTop += e; } scrollUp(e = 8) { this.body.scrollTop -= e; } scrollTop() { this.body.scrollTop = 0; } scrollBottom() { this.body.scrollTop = this.body.scrollHeight; } pageDown() { this.scrollDown(80); } pageUp() { this.scrollUp(80); } setBorderWidth(e) { this.borderWidth = e; } configureFont() { const e = this.editor.getOptions(), t = e.get(36), i = t.fontFamily, n = e.get(97) || t.fontSize, r = e.get(98) || t.lineHeight, s = t.fontWeight, o = `${n}px`, a = `${r}px`; (this.el.style.fontSize = o), (this.el.style.fontWeight = s), (this.el.style.fontFeatureSettings = t.fontFeatureSettings), (this.type.style.fontFamily = i), (this.close.style.height = a), (this.close.style.width = a); } dispose() { this.disposables.dispose(), (0, a.B9)(this.renderDisposeable), (this.renderDisposeable = void 0); } } let lt = class e { constructor(e, t, i, n, s, o, l, c, d, h) { var u, g; (this.editor = e), (this.telemetryService = t), (this.allowEditorOverflow = !0), (this.suppressMouseDown = !1), (this.state = 0), (this.isAddedAsContentWidget = !1), (this.isAuto = !1), (this.loadingTimeout = a.JT.None), (this.currentSuggestionDetails = null), (this.ignoreFocusEvents = !1), (this.completionModel = null), (this.showTimeout = new b._F()), (this.toDispose = new a.SL()), (this.onDidSelectEmitter = new P.Q5()), (this.onDidFocusEmitter = new P.Q5()), (this.onDidHideEmitter = new P.Q5()), (this.onDidShowEmitter = new P.Q5()), (this.onDidSelect = this.onDidSelectEmitter.event), (this.onDidFocus = this.onDidFocusEmitter.event), (this.onDidHide = this.onDidHideEmitter.event), (this.onDidShow = this.onDidShowEmitter.event), (this.maxWidgetWidth = 660), (this.listWidth = 330), (this.firstFocusInCurrentList = !1), (this.preferDocPositionTop = !1), (this.docsPositionPreviousWidgetY = null), (this.explainMode = !1), (this._onDetailsKeydown = new P.Q5()), (this.onDetailsKeyDown = this._onDetailsKeydown.event); const f = this.toDispose.add(new Re.$(e, l, c)), p = null !== (g = null === (u = i.lookupKeybinding('toggleSuggestionDetails')) || void 0 === u ? void 0 : u.getLabel()) && void 0 !== g ? g : ''; (this.isAuto = !1), (this.focusedItem = null), (this.storageService = o), (this.element = (0, Ne.$)('.editor-widget.suggest-widget')), this.toDispose.add( (0, Ne.nm)(this.element, 'click', (e) => { e.target === this.element && this.hideWidget(); }) ), (this.messageElement = (0, Ne.R3)( this.element, (0, Ne.$)('.message') )), (this.listElement = (0, Ne.R3)(this.element, (0, Ne.$)('.tree'))); const m = () => this.element.classList.toggle( 'with-status-bar', this.editor.getOption(96).statusBar.visible ); m(), (this.statusBarElement = (0, Ne.R3)( this.element, (0, Ne.$)('.suggest-status-bar') )); const _ = (e) => { const t = i.lookupKeybindings(e.id); return new (class extends qe.g { constructor() { super(void 0, e, { label: !0, icon: !1 }); } updateLabel() { if ((0, r.XY)(t) || !this.label) return super.updateLabel(); const { label: e } = this.getAction(); this.label.textContent = /{\d}/.test(e) ? W.WU(this.getAction().label, t[0].getLabel()) : `${this.getAction().label} (${t[0].getLabel()})`; } })(); }, v = new Ke.o(this.statusBarElement, { actionViewItemProvider: _, }), y = new Ke.o(this.statusBarElement, { actionViewItemProvider: _, }), w = d.createMenu(I.GI, n); this.toDispose.add( w.onDidChange(() => (() => { const e = [], t = []; for (let [i, n] of w.getActions()) 'left' === i ? e.push(...n) : t.push(...n); v.clear(), v.push(e), y.clear(), y.push(t); })() ) ), this.toDispose.add(w), (this.details = h.createInstance( at, this.element, this, this.editor, f, p )); const C = () => this.element.classList.toggle( 'no-icons', !this.editor.getOption(96).showIcons ); C(); let S = h.createInstance(ot, this, this.editor, p); (this.list = new Ee.aV( 'SuggestWidget', this.listElement, this, [S], { useShadows: !1, mouseSupport: !1, accessibilityProvider: { getRole: () => 'option', getAriaLabel: (e) => { const t = 'string' == typeof e.completion.label ? e.completion.label : e.completion.label.name; if (e.isResolved && this.expandDocsSettingFromStorage()) { const { documentation: i, detail: n } = e.completion, r = W.WU( '{0}{1}', n || '', i ? ('string' == typeof i ? i : i.value) : '' ); return D.N( 'ariaCurrenttSuggestionReadDetails', '{0}, docs: {1}', t, r ); } return t; }, getWidgetAriaLabel: () => D.N('suggest', 'Suggest'), getWidgetRole: () => 'listbox', }, } )), this.toDispose.add( (0, Ae.Jl)(this.list, s, { listInactiveFocusBackground: tt, listInactiveFocusOutline: K.xL, }) ), this.toDispose.add( s.onDidColorThemeChange((e) => this.onThemeChange(e)) ), this.toDispose.add( e.onDidLayoutChange(() => this.onEditorLayoutChange()) ), this.toDispose.add( this.list.onMouseDown((e) => this.onListMouseDownOrTap(e)) ), this.toDispose.add( this.list.onTap((e) => this.onListMouseDownOrTap(e)) ), this.toDispose.add( this.list.onDidChangeSelection((e) => this.onListSelection(e)) ), this.toDispose.add( this.list.onDidChangeFocus((e) => this.onListFocus(e)) ), this.toDispose.add( this.editor.onDidChangeCursorSelection(() => this.onCursorSelectionChanged() ) ), this.toDispose.add( this.editor.onDidChangeConfiguration((e) => { e.hasChanged(96) && (m(), C()); }) ), (this.ctxSuggestWidgetVisible = I._y.Visible.bindTo(n)), (this.ctxSuggestWidgetDetailsVisible = I._y.DetailsVisible.bindTo( n )), (this.ctxSuggestWidgetMultipleSuggestions = I._y.MultipleSuggestions.bindTo( n )), this.onThemeChange(s.getColorTheme()), this.toDispose.add( (0, Ne.mu)(this.details.element, 'keydown', (e) => { this._onDetailsKeydown.fire(e); }) ), this.toDispose.add( this.editor.onMouseDown((e) => this.onEditorMouseDown(e)) ); } onEditorMouseDown(e) { this.details.element.contains(e.target.element) ? this.details.element.focus() : this.element.contains(e.target.element) && this.editor.focus(); } onCursorSelectionChanged() { 0 !== this.state && this.editor.layoutContentWidget(this); } onEditorLayoutChange() { (3 !== this.state && 5 !== this.state) || !this.expandDocsSettingFromStorage() || this.expandSideOrBelow(); } onListMouseDownOrTap(e) { void 0 !== e.element && void 0 !== e.index && (e.browserEvent.preventDefault(), e.browserEvent.stopPropagation(), this.select(e.element, e.index)); } onListSelection(e) { e.elements.length && this.select(e.elements[0], e.indexes[0]); } select(e, t) { const i = this.completionModel; i && (this.onDidSelectEmitter.fire({ item: e, index: t, model: i }), this.editor.focus()); } onThemeChange(e) { const t = e.getColor(Qe); t && ((this.listElement.style.backgroundColor = t.toString()), (this.statusBarElement.style.backgroundColor = t.toString()), (this.details.element.style.backgroundColor = t.toString()), (this.messageElement.style.backgroundColor = t.toString())); const i = e.getColor(Xe); i && ((this.listElement.style.borderColor = i.toString()), (this.statusBarElement.style.borderColor = i.toString()), (this.details.element.style.borderColor = i.toString()), (this.messageElement.style.borderColor = i.toString()), (this.detailsBorderColor = i.toString())); const n = e.getColor(K.R8); n && (this.detailsFocusBorderColor = n.toString()), this.details.setBorderWidth('hc' === e.type ? 2 : 1); } onListFocus(e) { if (this.ignoreFocusEvents) return; if (!e.elements.length) return ( this.currentSuggestionDetails && (this.currentSuggestionDetails.cancel(), (this.currentSuggestionDetails = null), (this.focusedItem = null)), void this.editor.setAriaOptions({ activeDescendant: void 0 }) ); if (!this.completionModel) return; const t = e.elements[0], i = e.indexes[0]; (this.firstFocusInCurrentList = !this.focusedItem), t !== this.focusedItem && (this.currentSuggestionDetails && (this.currentSuggestionDetails.cancel(), (this.currentSuggestionDetails = null)), (this.focusedItem = t), this.list.reveal(i), (this.currentSuggestionDetails = (0, b.PG)((e) => { return ( (i = this), (n = void 0), (s = function* () { const i = (0, b.Vg)(() => this.showDetails(!0), 250); e.onCancellationRequested(() => i.dispose()); const n = yield t.resolve(e); return i.dispose(), n; }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; })), this.currentSuggestionDetails .then(() => { i >= this.list.length || t !== this.list.element(i) || ((this.ignoreFocusEvents = !0), this.list.splice(i, 1, [t]), this.list.setFocus([i]), (this.ignoreFocusEvents = !1), this.expandDocsSettingFromStorage() ? this.showDetails(!1) : this.element.classList.remove('docs-side'), this.editor.setAriaOptions({ activeDescendant: st(i) })); }) .catch(s.dL)), this.onDidFocusEmitter.fire({ item: t, index: i, model: this.completionModel, }); } setState(t) { if (!this.element) return; this.isAddedAsContentWidget || 0 === t || ((this.isAddedAsContentWidget = !0), this.editor.addContentWidget(this)); const i = this.state !== t; switch ( ((this.state = t), this.element.classList.toggle('frozen', 4 === t), t) ) { case 0: (0, Ne.Cp)( this.messageElement, this.details.element, this.listElement, this.statusBarElement ), this.hide(), (this.listHeight = 0), i && this.list.splice(0, this.list.length), (this.focusedItem = null); break; case 1: (this.messageElement.textContent = e.LOADING_MESSAGE), (0, Ne.Cp)( this.listElement, this.details.element, this.statusBarElement ), (0, Ne.$Z)(this.messageElement), this.element.classList.remove('docs-side'), this.show(), (this.focusedItem = null); break; case 2: (this.messageElement.textContent = e.NO_SUGGESTIONS_MESSAGE), (0, Ne.Cp)( this.listElement, this.details.element, this.statusBarElement ), (0, Ne.$Z)(this.messageElement), this.element.classList.remove('docs-side'), this.show(), (this.focusedItem = null); break; case 3: (0, Ne.Cp)(this.messageElement), (0, Ne.$Z)(this.listElement, this.statusBarElement), this.show(); break; case 4: (0, Ne.Cp)(this.messageElement), (0, Ne.$Z)(this.listElement), this.show(); break; case 5: (0, Ne.Cp)(this.messageElement), (0, Ne.$Z)( this.details.element, this.listElement, this.statusBarElement ), this.show(); } } showTriggered(e, t) { 0 === this.state && ((this.isAuto = !!e), this.isAuto || (this.loadingTimeout = (0, b.Vg)(() => this.setState(1), t))); } showSuggestions(e, t, i, n) { if ( ((this.preferDocPositionTop = !1), (this.docsPositionPreviousWidgetY = null), this.loadingTimeout.dispose(), this.currentSuggestionDetails && (this.currentSuggestionDetails.cancel(), (this.currentSuggestionDetails = null)), this.completionModel !== e && (this.completionModel = e), i && 2 !== this.state && 0 !== this.state) ) return void this.setState(4); let r = this.completionModel.items.length; const s = 0 === r; if ((this.ctxSuggestWidgetMultipleSuggestions.set(r > 1), s)) n ? this.setState(0) : this.setState(2), (this.completionModel = null); else { if (3 !== this.state) { const { stats: e } = this.completionModel; (e.wasAutomaticallyTriggered = !!n), this.telemetryService.publicLog( 'suggestWidget', Object.assign({}, e) ); } (this.focusedItem = null), this.list.splice( 0, this.list.length, this.completionModel.items ), i ? this.setState(4) : this.setState(3), this.list.reveal(t, 0), this.list.setFocus([t]), this.detailsBorderColor && (this.details.element.style.borderColor = this.detailsBorderColor); } } selectNextPage() { switch (this.state) { case 0: return !1; case 5: return this.details.pageDown(), !0; case 1: return !this.isAuto; default: return this.list.focusNextPage(), !0; } } selectNext() { switch (this.state) { case 0: return !1; case 1: return !this.isAuto; default: return this.list.focusNext(1, !0), !0; } } selectLast() { switch (this.state) { case 0: return !1; case 5: return this.details.scrollBottom(), !0; case 1: return !this.isAuto; default: return this.list.focusLast(), !0; } } selectPreviousPage() { switch (this.state) { case 0: return !1; case 5: return this.details.pageUp(), !0; case 1: return !this.isAuto; default: return this.list.focusPreviousPage(), !0; } } selectPrevious() { switch (this.state) { case 0: return !1; case 1: return !this.isAuto; default: return this.list.focusPrevious(1, !0), !1; } } selectFirst() { switch (this.state) { case 0: return !1; case 5: return this.details.scrollTop(), !0; case 1: return !this.isAuto; default: return this.list.focusFirst(), !0; } } getFocusedItem() { if ( 0 !== this.state && 2 !== this.state && 1 !== this.state && this.completionModel ) return { item: this.list.getFocusedElements()[0], index: this.list.getFocus()[0], model: this.completionModel, }; } toggleDetailsFocus() { 5 === this.state ? (this.setState(3), this.detailsBorderColor && (this.details.element.style.borderColor = this.detailsBorderColor)) : 3 === this.state && this.expandDocsSettingFromStorage() && (this.setState(5), this.detailsFocusBorderColor && (this.details.element.style.borderColor = this.detailsFocusBorderColor)), this.telemetryService.publicLog2( 'suggestWidget:toggleDetailsFocus' ); } toggleDetails() { if (rt(this.list.getFocusedElements()[0])) if (this.expandDocsSettingFromStorage()) this.ctxSuggestWidgetDetailsVisible.set(!1), this.updateExpandDocsSetting(!1), (0, Ne.Cp)(this.details.element), this.element.classList.remove('docs-side', 'doc-below'), this.editor.layoutContentWidget(this), this.telemetryService.publicLog2( 'suggestWidget:collapseDetails' ); else { if (3 !== this.state && 5 !== this.state && 4 !== this.state) return; this.ctxSuggestWidgetDetailsVisible.set(!0), this.updateExpandDocsSetting(!0), this.showDetails(!1), this.telemetryService.publicLog2( 'suggestWidget:expandDetails' ); } } showDetails(e) { e || this.expandSideOrBelow(), (0, Ne.$Z)(this.details.element), (this.details.element.style.maxHeight = this.maxWidgetHeight + 'px'), e ? this.details.renderLoading() : this.details.renderItem( this.list.getFocusedElements()[0], this.explainMode ), (this.listElement.style.marginTop = '0px'), this.editor.layoutContentWidget(this), this.adjustDocsPosition(), this.editor.focus(); } toggleExplainMode() { this.list.getFocusedElements()[0] && this.expandDocsSettingFromStorage() && ((this.explainMode = !this.explainMode), this.showDetails(!1)); } show() { const e = this.updateListHeight(); e !== this.listHeight && (this.editor.layoutContentWidget(this), (this.listHeight = e)), this.ctxSuggestWidgetVisible.set(!0), this.showTimeout.cancelAndSet(() => { this.element.classList.add('visible'), this.onDidShowEmitter.fire(this); }, 100); } hide() { this.editor.layoutContentWidget(this), this.ctxSuggestWidgetVisible.reset(), this.ctxSuggestWidgetMultipleSuggestions.reset(), this.element.classList.remove('visible'); } hideWidget() { this.loadingTimeout.dispose(), this.setState(0), this.onDidHideEmitter.fire(this); } getPosition() { if (0 === this.state) return null; let e = [2, 1]; return ( this.preferDocPositionTop && (e = [1]), { position: this.editor.getPosition(), preference: e } ); } getDomNode() { return this.element; } getId() { return e.ID; } isFrozen() { return 4 === this.state; } updateListHeight() { let e = 0; if (2 === this.state || 1 === this.state) e = this.unfocusedHeight; else { const t = this.list.contentHeight / this.unfocusedHeight, { maxVisibleSuggestions: i } = this.editor.getOption(96); e = Math.min(t, i) * this.unfocusedHeight; } return ( (this.element.style.lineHeight = `${this.unfocusedHeight}px`), (this.listElement.style.height = `${e}px`), (this.statusBarElement.style.top = `${e}px`), this.list.layout(e), e ); } adjustDocsPosition() { if (!this.editor.hasModel()) return; const e = this.editor.getOption(51), t = this.editor.getScrolledVisiblePosition( this.editor.getPosition() ), i = (0, Ne.i)(this.editor.getDomNode()), n = i.left + t.left, r = i.top + t.top + t.height, s = (0, Ne.i)(this.element), o = s.left, a = s.top; if ( this.docsPositionPreviousWidgetY && this.docsPositionPreviousWidgetY < a && !this.preferDocPositionTop ) return ( (this.preferDocPositionTop = !0), void this.adjustDocsPosition() ); (this.docsPositionPreviousWidgetY = a), o < n - this.listWidth ? this.element.classList.add('list-right') : this.element.classList.remove('list-right'), this.element.classList.contains('docs-side') && r - e > a && this.details.element.offsetHeight > this.listElement.offsetHeight && (this.listElement.style.marginTop = this.details.element.offsetHeight - this.listElement.offsetHeight + 'px'); } expandSideOrBelow() { if (!rt(this.focusedItem) && this.firstFocusInCurrentList) return void this.element.classList.remove( 'docs-side', 'docs-below' ); let e = this.element.style.maxWidth.match(/(\d+)px/); !e || Number(e[1]) < this.maxWidgetWidth ? (this.element.classList.add('docs-below'), this.element.classList.remove('docs-side')) : rt(this.focusedItem) && (this.element.classList.add('docs-side'), this.element.classList.remove('docs-below')); } get maxWidgetHeight() { return ( this.unfocusedHeight * this.editor.getOption(96).maxVisibleSuggestions ); } get unfocusedHeight() { const e = this.editor.getOptions(); return e.get(98) || e.get(36).lineHeight; } getHeight(e) { return this.unfocusedHeight; } getTemplateId(e) { return 'suggestion'; } expandDocsSettingFromStorage() { return this.storageService.getBoolean( 'expandSuggestionDocs', 0, !1 ); } updateExpandDocsSetting(e) { this.storageService.store('expandSuggestionDocs', e, 0); } dispose() { this.details.dispose(), this.list.dispose(), this.toDispose.dispose(), this.loadingTimeout.dispose(), this.showTimeout.dispose(), this.editor.removeContentWidget(this); } }; (lt.ID = 'editor.widget.suggestWidget'), (lt.LOADING_MESSAGE = D.N('suggestWidget.loading', 'Loading...')), (lt.NO_SUGGESTIONS_MESSAGE = D.N( 'suggestWidget.noSuggestions', 'No suggestions.' )), (lt = Ge( [ Ze(1, Oe.b), Ze(2, Ie.d), Ze(3, E.i6), Ze(4, $.XE), Ze(5, m.Uy), Ze(6, C.h), Ze(7, Pe.v4), Ze(8, $e.co), Ze(9, v.TG), ], lt )), (0, $.Ic)((e, t) => { const i = e.getColor(it); i && t.addRule( `.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: ${i}; }` ); const n = e.getColor(et); n && t.addRule(`.monaco-editor .suggest-widget { color: ${n}; }`); const r = e.getColor(K.ur); r && t.addRule(`.monaco-editor .suggest-widget a { color: ${r}; }`); const s = e.getColor(K.Sw); s && t.addRule( `.monaco-editor .suggest-widget code { background-color: ${s}; }` ); }); let ct = class e extends a.JT { constructor(t, i) { super(), (this._editor = t), (this._enabled = !1), (this._ckAtEnd = e.AtEnd.bindTo(i)), this._register( this._editor.onDidChangeConfiguration( (e) => e.hasChanged(101) && this._update() ) ), this._update(); } dispose() { super.dispose(), (0, a.B9)(this._selectionListener), this._ckAtEnd.reset(); } _update() { const e = 'on' === this._editor.getOption(101); if (this._enabled !== e) if (((this._enabled = e), this._enabled)) { const e = () => { if (!this._editor.hasModel()) return void this._ckAtEnd.set(!1); const e = this._editor.getModel(), t = this._editor.getSelection(), i = e.getWordAtPosition(t.getStartPosition()); i ? this._ckAtEnd.set( i.endColumn === t.getStartPosition().column ) : this._ckAtEnd.set(!1); }; (this._selectionListener = this._editor.onDidChangeCursorSelection( e )), e(); } else this._selectionListener && (this._ckAtEnd.reset(), this._selectionListener.dispose(), (this._selectionListener = void 0)); } }; (ct.AtEnd = new E.uy('atEndOfWord', !1)), (ct = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ (function (e, t) { return function (i, n) { t(i, n, e); }; })(1, E.i6), ], ct )); var dt = i(90469), ht = i(98401), ut = i(44906); class gt { constructor(e, t, i) { (this._disposables = new a.SL()), this._disposables.add( t.onDidShow(() => this._onItem(t.getFocusedItem())) ), this._disposables.add(t.onDidFocus(this._onItem, this)), this._disposables.add(t.onDidHide(this.reset, this)), this._disposables.add( e.onWillType((n) => { if (this._active && !t.isFrozen()) { const t = n.charCodeAt(n.length - 1); this._active.acceptCharacters.has(t) && e.getOption(0) && i(this._active.item); } }) ); } _onItem(e) { if (!e || !(0, r.Of)(e.item.completion.commitCharacters)) return void this.reset(); if (this._active && this._active.item.item === e.item) return; const t = new ut.q(); for (const i of e.item.completion.commitCharacters) i.length > 0 && t.add(i.charCodeAt(0)); this._active = { acceptCharacters: t, item: e }; } reset() { this._active = void 0; } dispose() { this._disposables.dispose(); } } class ft { constructor(e, t) { (this._disposables = new a.SL()), (this._lastOvertyped = []), (this._empty = !0), this._disposables.add( e.onWillType(() => { if (!this._empty) return; if (!e.hasModel()) return; const t = e.getSelections(), i = t.length; let n = !1; for (let e = 0; e < i; e++) if (!t[e].isEmpty()) { n = !0; break; } if (!n) return; this._lastOvertyped = []; const r = e.getModel(); for (let e = 0; e < i; e++) { const i = t[e]; if (r.getValueLengthInRange(i) > ft._maxSelectionLength) return; this._lastOvertyped[e] = { value: r.getValueInRange(i), multiline: i.startLineNumber !== i.endLineNumber, }; } this._empty = !1; }) ), this._disposables.add( t.onDidCancel((e) => { this._empty || (this._empty = !0); }) ); } getLastOvertypedInfo(e) { if (!this._empty && e >= 0 && e < this._lastOvertyped.length) return this._lastOvertyped[e]; } dispose() { this._disposables.dispose(); } } ft._maxSelectionLength = 51200; var pt = i(50187), mt = i(1432), _t = i(43557), bt = i(84013), vt = i(84972), yt = function (e, t) { return function (i, n) { t(i, n, e); }; }; class wt { constructor(e, t) { if ( ((this._model = e), (this._position = t), e.getLineMaxColumn(t.lineNumber) !== t.column) ) { const i = e.getOffsetAt(t), n = e.getPositionAt(i + 1); this._marker = e.deltaDecorations( [], [{ range: h.e.fromPositions(t, n), options: { stickiness: 1 } }] ); } } dispose() { this._marker && !this._model.isDisposed() && this._model.deltaDecorations(this._marker, []); } delta(e) { if ( this._model.isDisposed() || this._position.lineNumber !== e.lineNumber ) return 0; if (this._marker) { const t = this._model.getDecorationRange(this._marker[0]); return ( this._model.getOffsetAt(t.getStartPosition()) - this._model.getOffsetAt(e) ); } return this._model.getLineMaxColumn(e.lineNumber) - e.column; } } let Ct = class e { constructor(e, t, i, n, r, s, l, c) { (this._memoryService = i), (this._commandService = n), (this._contextKeyService = r), (this._instantiationService = s), (this._logService = l), (this._lineSuffix = new a.XK()), (this._toDispose = new a.SL()), (this.editor = e), (this.model = new U(this.editor, t, c)), (this.widget = this._toDispose.add( new b.Ue(() => { const e = this._instantiationService.createInstance( lt, this.editor ); this._toDispose.add(e), this._toDispose.add( e.onDidSelect((e) => this._insertSuggestion(e, 0), this) ); const t = new gt(this.editor, e, (e) => this._insertSuggestion(e, 2) ); this._toDispose.add(t), this._toDispose.add( this.model.onDidSuggest((e) => { 0 === e.completionModel.items.length && t.reset(); }) ); const i = I._y.MakesTextEdit.bindTo(this._contextKeyService), n = I._y.HasInsertAndReplaceRange.bindTo( this._contextKeyService ), r = I._y.CanResolve.bindTo(this._contextKeyService); return ( this._toDispose.add( (0, a.OF)(() => { i.reset(), n.reset(), r.reset(); }) ), this._toDispose.add( e.onDidFocus(({ item: e }) => { const t = this.editor.getPosition(), s = e.editStart.column, o = t.column; let a = !0; 'smart' !== this.editor.getOption(1) || 2 !== this.model.state || e.completion.command || e.completion.additionalTextEdits || 4 & e.completion.insertTextRules || o - s !== e.completion.insertText.length || (a = this.editor .getModel() .getValueInRange({ startLineNumber: t.lineNumber, startColumn: s, endLineNumber: t.lineNumber, endColumn: o, }) !== e.completion.insertText), i.set(a), n.set( !pt.L.equals(e.editInsertEnd, e.editReplaceEnd) ), r.set( Boolean(e.provider.resolveCompletionItem) || Boolean(e.completion.documentation) || e.completion.detail !== e.completion.label ); }) ), this._toDispose.add( e.onDetailsKeyDown((e) => { e.toKeybinding().equals(new o.QC(!0, !1, !1, !1, 33)) || (mt.dz && e.toKeybinding().equals(new o.QC(!1, !1, !1, !0, 33))) ? e.stopPropagation() : e.toKeybinding().isModifierKey() || this.editor.focus(); }) ), e ); }) )), (this._overtypingCapturer = this._toDispose.add( new b.Ue(() => this._toDispose.add(new ft(this.editor, this.model)) ) )), (this._alternatives = this._toDispose.add( new b.Ue(() => this._toDispose.add( new O(this.editor, this._contextKeyService) ) ) )), this._toDispose.add(s.createInstance(ct, e)), this._toDispose.add( this.model.onDidTrigger((e) => { this.widget.value.showTriggered(e.auto, e.shy ? 250 : 50), (this._lineSuffix.value = new wt( this.editor.getModel(), e.position )); }) ), this._toDispose.add( this.model.onDidSuggest((e) => { if (!e.shy) { let t = this._memoryService.select( this.editor.getModel(), this.editor.getPosition(), e.completionModel.items ); this.widget.value.showSuggestions( e.completionModel, t, e.isFrozen, e.auto ); } }) ), this._toDispose.add( this.model.onDidCancel((e) => { e.retrigger || this.widget.value.hideWidget(); }) ), this._toDispose.add( this.editor.onDidBlurEditorWidget(() => { this.model.cancel(), this.model.clear(); }) ); let d = I._y.AcceptSuggestionsOnEnter.bindTo(r), h = () => { const e = this.editor.getOption(1); d.set('on' === e || 'smart' === e); }; this._toDispose.add( this.editor.onDidChangeConfiguration(() => h()) ), h(); } static get(t) { return t.getContribution(e.ID); } dispose() { this._alternatives.dispose(), this._toDispose.dispose(), this.widget.dispose(), this.model.dispose(), this._lineSuffix.dispose(); } _insertSuggestion(e, t) { if (!e || !e.item) return ( this._alternatives.value.reset(), this.model.cancel(), void this.model.clear() ); if (!this.editor.hasModel()) return; const i = this.editor.getModel(), n = i.getAlternativeVersionId(), { item: r } = e, o = [], a = new H.A(); 1 & t || this.editor.pushUndoStop(); const c = this.getOverwriteInfo(r, Boolean(8 & t)); if ( (this._memoryService.memorize(i, this.editor.getPosition(), r), Array.isArray(r.completion.additionalTextEdits)) ) { const e = l.ZF.capture(this.editor); this.editor.executeEdits( 'suggestController.additionalTextEdits.sync', r.completion.additionalTextEdits.map((e) => d.h.replace(h.e.lift(e.range), e.text) ) ), e.restoreRelativeVerticalPositionOfCursor(this.editor); } else if (!r.isResolved) { const e = new bt.G(!0); let n; const s = i.onDidChangeContent((e) => { if (e.isFlush) return a.cancel(), void s.dispose(); for (let t of e.changes) { const e = h.e.getEndPosition(t.range); (n && !pt.L.isBefore(e, n)) || (n = e); } }); let c = t; t |= 2; let u = !1, g = this.editor.onWillType(() => { g.dispose(), (u = !0), 2 & c || this.editor.pushUndoStop(); }); o.push( r .resolve(a.token) .then(() => { if ( !r.completion.additionalTextEdits || a.token.isCancellationRequested ) return !1; if ( n && r.completion.additionalTextEdits.some((e) => pt.L.isBefore(n, h.e.getStartPosition(e.range)) ) ) return !1; u && this.editor.pushUndoStop(); const e = l.ZF.capture(this.editor); return ( this.editor.executeEdits( 'suggestController.additionalTextEdits.async', r.completion.additionalTextEdits.map((e) => d.h.replace(h.e.lift(e.range), e.text) ) ), e.restoreRelativeVerticalPositionOfCursor(this.editor), (!u && 2 & c) || this.editor.pushUndoStop(), !0 ); }) .then((t) => { this._logService.trace( '[suggest] async resolving of edits DONE (ms, applied?)', e.elapsed(), t ), s.dispose(), g.dispose(); }) ); } let { insertText: u } = r.completion; 4 & r.completion.insertTextRules || (u = f.Yj.escape(u)), g.SnippetController2.get(this.editor).insert(u, { overwriteBefore: c.overwriteBefore, overwriteAfter: c.overwriteAfter, undoStopBefore: !1, undoStopAfter: !1, adjustWhitespace: !(1 & r.completion.insertTextRules), clipboardText: e.model.clipboardText, overtypingCapturer: this._overtypingCapturer.value, }), 2 & t || this.editor.pushUndoStop(), r.completion.command ? r.completion.command.id === St.id ? this.model.trigger({ auto: !0, shy: !1 }, !0) : (o.push( this._commandService .executeCommand( r.completion.command.id, ...(r.completion.command.arguments ? [...r.completion.command.arguments] : []) ) .catch(s.dL) ), this.model.cancel()) : this.model.cancel(), 4 & t && this._alternatives.value.set(e, (e) => { for (a.cancel(); i.canUndo(); ) { n !== i.getAlternativeVersionId() && i.undo(), this._insertSuggestion(e, 3 | (8 & t ? 8 : 0)); break; } }), this._alertCompletionItem(r), Promise.all(o).finally(() => { this.model.clear(), a.dispose(); }); } getOverwriteInfo(e, t) { (0, ht.p_)(this.editor.hasModel()); let i = 'replace' === this.editor.getOption(96).insertMode; t && (i = !i); const n = e.position.column - e.editStart.column, r = (i ? e.editReplaceEnd.column : e.editInsertEnd.column) - e.position.column; return { overwriteBefore: n + (this.editor.getPosition().column - e.position.column), overwriteAfter: r + (this._lineSuffix.value ? this._lineSuffix.value.delta(this.editor.getPosition()) : 0), }; } _alertCompletionItem({ completion: e }) { const t = 'string' == typeof e.label ? e.label : e.label.name; if ((0, r.Of)(e.additionalTextEdits)) { let i = D.N( 'arai.alert.snippet', "Accepting '{0}' made {1} additional edits", t, e.additionalTextEdits.length ); (0, n.Z9)(i); } } triggerSuggest(e) { this.editor.hasModel() && (this.model.trigger({ auto: !1, shy: !1 }, !1, e), this.editor.revealLine(this.editor.getPosition().lineNumber, 0), this.editor.focus()); } triggerSuggestAndAcceptBest(e) { if (!this.editor.hasModel()) return; const t = this.editor.getPosition(), i = () => { t.equals(this.editor.getPosition()) && this._commandService.executeCommand(e.fallback); }, n = (e) => { if ( 4 & e.completion.insertTextRules || e.completion.additionalTextEdits ) return !0; const t = this.editor.getPosition(), i = e.editStart.column, n = t.column; return ( n - i !== e.completion.insertText.length || this.editor .getModel() .getValueInRange({ startLineNumber: t.lineNumber, startColumn: i, endLineNumber: t.lineNumber, endColumn: n, }) !== e.completion.insertText ); }; P.ju.once(this.model.onDidTrigger)((e) => { let t = []; P.ju.any(this.model.onDidTrigger, this.model.onDidCancel)( () => { (0, a.B9)(t), i(); }, void 0, t ), this.model.onDidSuggest( ({ completionModel: e }) => { if (((0, a.B9)(t), 0 === e.items.length)) return void i(); const r = this._memoryService.select( this.editor.getModel(), this.editor.getPosition(), e.items ), s = e.items[r]; n(s) ? (this.editor.pushUndoStop(), this._insertSuggestion( { index: r, item: s, model: e }, 7 )) : i(); }, void 0, t ); }), this.model.trigger({ auto: !1, shy: !0 }), this.editor.revealLine(t.lineNumber, 0), this.editor.focus(); } acceptSelectedSuggestion(e, t) { const i = this.widget.value.getFocusedItem(); let n = 0; e && (n |= 4), t && (n |= 8), this._insertSuggestion(i, n); } acceptNextSuggestion() { this._alternatives.value.next(); } acceptPrevSuggestion() { this._alternatives.value.prev(); } cancelSuggestWidget() { this.model.cancel(), this.model.clear(), this.widget.value.hideWidget(); } selectNextSuggestion() { this.widget.value.selectNext(); } selectNextPageSuggestion() { this.widget.value.selectNextPage(); } selectLastSuggestion() { this.widget.value.selectLast(); } selectPrevSuggestion() { this.widget.value.selectPrevious(); } selectPrevPageSuggestion() { this.widget.value.selectPreviousPage(); } selectFirstSuggestion() { this.widget.value.selectFirst(); } toggleSuggestionDetails() { this.widget.value.toggleDetails(); } toggleExplainMode() { this.widget.value.toggleExplainMode(); } toggleSuggestionFocus() { this.widget.value.toggleDetailsFocus(); } }; (Ct.ID = 'editor.contrib.suggestController'), (Ct = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ yt(1, dt.p), yt(2, M), yt(3, N.H), yt(4, E.i6), yt(5, v.TG), yt(6, _t.VZ), yt(7, vt.p), ], Ct )); class St extends c.R6 { constructor() { super({ id: St.id, label: D.N('suggest.trigger.label', 'Trigger Suggest'), alias: 'Trigger Suggest', precondition: E.Ao.and( u.u.writable, u.u.hasCompletionItemProvider ), kbOpts: { kbExpr: u.u.textInputFocus, primary: 2058, mac: { primary: 266, secondary: [521] }, weight: 100, }, }); } run(e, t) { const i = Ct.get(t); i && i.triggerSuggest(); } } (St.id = 'editor.action.triggerSuggest'), (0, c._K)(Ct.ID, Ct), (0, c.Qr)(St); const kt = 190, xt = c._l.bindToContribution(Ct.get); (0, c.fK)( new xt({ id: 'acceptSelectedSuggestion', precondition: I._y.Visible, handler(e) { e.acceptSelectedSuggestion(!0, !1); }, }) ), T.W.registerKeybindingRule({ id: 'acceptSelectedSuggestion', when: E.Ao.and(I._y.Visible, u.u.textInputFocus), primary: 2, weight: kt, }), T.W.registerKeybindingRule({ id: 'acceptSelectedSuggestion', when: E.Ao.and( I._y.Visible, u.u.textInputFocus, I._y.AcceptSuggestionsOnEnter, I._y.MakesTextEdit ), primary: 3, weight: kt, }), $e.BH.appendMenuItem(I.GI, { command: { id: 'acceptSelectedSuggestion', title: D.N( { key: 'accept.accept', comment: ['{0} will be a keybinding, e.g "Enter to insert"'], }, '{0} to insert' ), }, group: 'left', order: 1, when: I._y.HasInsertAndReplaceRange.toNegated(), }), $e.BH.appendMenuItem(I.GI, { command: { id: 'acceptSelectedSuggestion', title: D.N( { key: 'accept.insert', comment: ['{0} will be a keybinding, e.g "Enter to insert"'], }, '{0} to insert' ), }, group: 'left', order: 1, when: E.Ao.and( I._y.HasInsertAndReplaceRange, E.Ao.equals('config.editor.suggest.insertMode', 'insert') ), }), $e.BH.appendMenuItem(I.GI, { command: { id: 'acceptSelectedSuggestion', title: D.N( { key: 'accept.replace', comment: ['{0} will be a keybinding, e.g "Enter to replace"'], }, '{0} to replace' ), }, group: 'left', order: 1, when: E.Ao.and( I._y.HasInsertAndReplaceRange, E.Ao.equals('config.editor.suggest.insertMode', 'replace') ), }), (0, c.fK)( new xt({ id: 'acceptAlternativeSelectedSuggestion', precondition: E.Ao.and(I._y.Visible, u.u.textInputFocus), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 1027, secondary: [1026], }, handler(e) { e.acceptSelectedSuggestion(!1, !0); }, menuOpts: [ { menuId: I.GI, group: 'left', order: 2, when: E.Ao.and( I._y.HasInsertAndReplaceRange, E.Ao.equals('config.editor.suggest.insertMode', 'insert') ), title: D.N( { key: 'accept.replace', comment: [ '{0} will be a keybinding, e.g "Enter to replace"', ], }, '{0} to replace' ), }, { menuId: I.GI, group: 'left', order: 2, when: E.Ao.and( I._y.HasInsertAndReplaceRange, E.Ao.equals('config.editor.suggest.insertMode', 'replace') ), title: D.N( { key: 'accept.insert', comment: [ '{0} will be a keybinding, e.g "Enter to insert"', ], }, '{0} to insert' ), }, ], }) ), N.P.registerCommandAlias( 'acceptSelectedSuggestionOnEnter', 'acceptSelectedSuggestion' ), (0, c.fK)( new xt({ id: 'hideSuggestWidget', precondition: I._y.Visible, handler: (e) => e.cancelSuggestWidget(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 9, secondary: [1033], }, }) ), (0, c.fK)( new xt({ id: 'selectNextSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectNextSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 18, secondary: [2066], mac: { primary: 18, secondary: [2066, 300] }, }, }) ), (0, c.fK)( new xt({ id: 'selectNextPageSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectNextPageSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 12, secondary: [2060], }, }) ), (0, c.fK)( new xt({ id: 'selectLastSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectLastSuggestion(), }) ), (0, c.fK)( new xt({ id: 'selectPrevSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectPrevSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 16, secondary: [2064], mac: { primary: 16, secondary: [2064, 302] }, }, }) ), (0, c.fK)( new xt({ id: 'selectPrevPageSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectPrevPageSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 11, secondary: [2059], }, }) ), (0, c.fK)( new xt({ id: 'selectFirstSuggestion', precondition: E.Ao.and(I._y.Visible, I._y.MultipleSuggestions), handler: (e) => e.selectFirstSuggestion(), }) ), (0, c.fK)( new xt({ id: 'toggleSuggestionDetails', precondition: I._y.Visible, handler: (e) => e.toggleSuggestionDetails(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 2058, mac: { primary: 266 }, }, menuOpts: [ { menuId: I.GI, group: 'right', order: 1, when: E.Ao.and(I._y.DetailsVisible, I._y.CanResolve), title: D.N('detail.more', 'show less'), }, { menuId: I.GI, group: 'right', order: 1, when: E.Ao.and( I._y.DetailsVisible.toNegated(), I._y.CanResolve ), title: D.N('detail.less', 'show more'), }, ], }) ), (0, c.fK)( new xt({ id: 'toggleExplainMode', precondition: I._y.Visible, handler: (e) => e.toggleExplainMode(), kbOpts: { weight: 100, primary: 2133 }, }) ), (0, c.fK)( new xt({ id: 'toggleSuggestionFocus', precondition: I._y.Visible, handler: (e) => e.toggleSuggestionFocus(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 2570, mac: { primary: 778 }, }, }) ), (0, c.fK)( new xt({ id: 'insertBestCompletion', precondition: E.Ao.and( u.u.textInputFocus, E.Ao.equals('config.editor.tabCompletion', 'on'), ct.AtEnd, I._y.Visible.toNegated(), O.OtherSuggestions.toNegated(), g.SnippetController2.InSnippetMode.toNegated() ), handler: (e, t) => { e.triggerSuggestAndAcceptBest( (0, ht.Kn)(t) ? Object.assign({ fallback: 'tab' }, t) : { fallback: 'tab' } ); }, kbOpts: { weight: kt, primary: 2 }, }) ), (0, c.fK)( new xt({ id: 'insertNextSuggestion', precondition: E.Ao.and( u.u.textInputFocus, E.Ao.equals('config.editor.tabCompletion', 'on'), O.OtherSuggestions, I._y.Visible.toNegated(), g.SnippetController2.InSnippetMode.toNegated() ), handler: (e) => e.acceptNextSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 2 }, }) ), (0, c.fK)( new xt({ id: 'insertPrevSuggestion', precondition: E.Ao.and( u.u.textInputFocus, E.Ao.equals('config.editor.tabCompletion', 'on'), O.OtherSuggestions, I._y.Visible.toNegated(), g.SnippetController2.InSnippetMode.toNegated() ), handler: (e) => e.acceptPrevSuggestion(), kbOpts: { weight: kt, kbExpr: u.u.textInputFocus, primary: 1026 }, }) ); }, 19720: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { ToggleTabFocusModeAction: () => a }); var n = i(63580), r = i(85152), s = i(16830), o = i(56345); class a extends s.R6 { constructor() { super({ id: a.ID, label: n.N( { key: 'toggle.tabMovesFocus', comment: [ 'Turn on/off use of tab key for moving focus around VS Code', ], }, 'Toggle Tab Key Moves Focus' ), alias: 'Toggle Tab Key Moves Focus', precondition: void 0, kbOpts: { kbExpr: null, primary: 2091, mac: { primary: 1323 }, weight: 100, }, }); } run(e, t) { const i = !o.nG.getTabFocusMode(); o.nG.setTabFocusMode(i), i ? (0, r.Z9)( n.N( 'toggle.tabMovesFocus.on', 'Pressing Tab will now move focus to the next focusable element' ) ) : (0, r.Z9)( n.N( 'toggle.tabMovesFocus.off', 'Pressing Tab will now insert the tab character' ) ); } } (a.ID = 'editor.action.toggleTabFocusMode'), (0, s.Qr)(a); }, 31725: (e, t, i) => { 'use strict'; i.r(t); var n = i(63580), r = i(5976), s = i(16830), o = i(11640), a = i(28820), l = function (e, t) { return function (i, n) { t(i, n, e); }; }; const c = 'ignoreUnusualLineTerminators'; let d = class extends r.JT { constructor(e, t, i) { super(), (this._editor = e), (this._dialogService = t), (this._codeEditorService = i), (this._config = this._editor.getOption(103)), this._register( this._editor.onDidChangeConfiguration((e) => { e.hasChanged(103) && ((this._config = this._editor.getOption(103)), this._checkForUnusualLineTerminators()); }) ), this._register( this._editor.onDidChangeModel(() => { this._checkForUnusualLineTerminators(); }) ), this._register( this._editor.onDidChangeModelContent((e) => { e.isUndoing || this._checkForUnusualLineTerminators(); }) ); } _checkForUnusualLineTerminators() { return ( (e = this), (t = void 0), (r = function* () { if ('off' === this._config) return; if (!this._editor.hasModel()) return; const e = this._editor.getModel(); e.mightContainUnusualLineTerminators() && !0 !== (function (e, t) { return e.getModelProperty(t.uri, c); })(this._codeEditorService, e) && (this._editor.getOption(72) || ('auto' !== this._config ? (yield this._dialogService.confirm({ title: n.N( 'unusualLineTerminators.title', 'Unusual Line Terminators' ), message: n.N( 'unusualLineTerminators.message', 'Detected unusual line terminators' ), detail: n.N( 'unusualLineTerminators.detail', 'This file contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.' ), primaryButton: n.N( 'unusualLineTerminators.fix', 'Fix this file' ), secondaryButton: n.N( 'unusualLineTerminators.ignore', 'Ignore problem for this file' ), })).confirmed ? e.removeUnusualLineTerminators( this._editor.getSelections() ) : (function (e, t, i) { e.setModelProperty(t.uri, c, !0); })(this._codeEditorService, e) : e.removeUnusualLineTerminators( this._editor.getSelections() ))); }), new ((i = void 0) || (i = Promise))(function (n, s) { function o(e) { try { l(r.next(e)); } catch (e) { s(e); } } function a(e) { try { l(r.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? n(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((r = r.apply(e, t || [])).next()); }) ); var e, t, i, r; } }; (d.ID = 'editor.contrib.unusualLineTerminatorsDetector'), (d = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([l(1, a.S), l(2, o.$)], d)), (0, s._K)(d.ID, d); }, 70185: (e, t, i) => { 'use strict'; i.r(t); var n = i(15393), r = i(5976), s = i(16830), o = i(43775), a = i(51200), l = i(65072), c = i(97781), d = i(33108), h = i(32334), u = function (e, t) { return function (i, n) { t(i, n, e); }; }; let g = class e extends r.JT { constructor(e, t, i, r) { super(), (this._modelService = t), (this._themeService = i), (this._configurationService = r), (this._editor = e), (this._tokenizeViewport = new n.pY( () => this._tokenizeViewportNow(), 100 )), (this._outstandingRequests = []), this._register( this._editor.onDidScrollChange(() => { this._tokenizeViewport.schedule(); }) ), this._register( this._editor.onDidChangeModel(() => { this._cancelAll(), this._tokenizeViewport.schedule(); }) ), this._register( this._editor.onDidChangeModelContent((e) => { this._cancelAll(), this._tokenizeViewport.schedule(); }) ), this._register( o.K7.onDidChange(() => { this._cancelAll(), this._tokenizeViewport.schedule(); }) ), this._register( this._configurationService.onDidChangeConfiguration((e) => { e.affectsConfiguration(h.e3) && (this._cancelAll(), this._tokenizeViewport.schedule()); }) ), this._register( this._themeService.onDidColorThemeChange(() => { this._cancelAll(), this._tokenizeViewport.schedule(); }) ); } static _getSemanticColoringProvider(e) { const t = o.K7.ordered(e); return t.length > 0 ? t[0] : null; } _cancelAll() { for (const e of this._outstandingRequests) e.cancel(); this._outstandingRequests = []; } _removeOutstandingRequest(e) { for (let t = 0, i = this._outstandingRequests.length; t < i; t++) if (this._outstandingRequests[t] === e) return void this._outstandingRequests.splice(t, 1); } _tokenizeViewportNow() { if (!this._editor.hasModel()) return; const t = this._editor.getModel(); if (t.hasSemanticTokens()) return; if (!(0, h.tw)(t, this._themeService, this._configurationService)) return; const i = e._getSemanticColoringProvider(t); if (!i) return; const n = this._modelService.getSemanticTokensProviderStyling(i), r = this._editor.getVisibleRangesPlusViewportAboveBelow(); this._outstandingRequests = this._outstandingRequests.concat( r.map((e) => this._requestRange(t, e, i, n)) ); } _requestRange(e, t, i, r) { const s = e.getVersionId(), o = (0, n.PG)((n) => Promise.resolve(i.provideDocumentRangeSemanticTokens(e, t, n)) ); return ( o .then((i) => { i && !e.isDisposed() && e.getVersionId() === s && e.setPartialSemanticTokens( t, (0, l.h)(i, r, e.getLanguageIdentifier()) ); }) .then( () => this._removeOutstandingRequest(o), () => this._removeOutstandingRequest(o) ), o ); } }; (g.ID = 'editor.contrib.viewportSemanticTokens'), (g = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([u(1, a.q), u(2, c.XE), u(3, d.Ui)], g)), (0, s._K)(g.ID, g); }, 43497: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { getOccurrencesAtPosition: () => L }); var n = i(63580), r = i(9488), s = i(15393), o = i(71050), a = i(17301), l = i(5976), c = i(16830), d = i(24314), h = i(29102), u = i(84973), g = i(3411), f = i(43775), p = i(38819), m = i(73910), _ = i(97781), b = i(85152); const v = (0, m.P6)( 'editor.wordHighlightBackground', { dark: '#575757B8', light: '#57575740', hc: null }, n.N( 'wordHighlight', 'Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), y = (0, m.P6)( 'editor.wordHighlightStrongBackground', { dark: '#004972B8', light: '#0e639c40', hc: null }, n.N( 'wordHighlightStrong', 'Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), w = (0, m.P6)( 'editor.wordHighlightBorder', { light: null, dark: null, hc: m.xL }, n.N( 'wordHighlightBorder', 'Border color of a symbol during read-access, like reading a variable.' ) ), C = (0, m.P6)( 'editor.wordHighlightStrongBorder', { light: null, dark: null, hc: m.xL }, n.N( 'wordHighlightStrongBorder', 'Border color of a symbol during write-access, like writing to a variable.' ) ), S = (0, m.P6)( 'editorOverviewRuler.wordHighlightForeground', { dark: '#A0A0A0CC', light: '#A0A0A0CC', hc: '#A0A0A0CC' }, n.N( 'overviewRulerWordHighlightForeground', 'Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), k = (0, m.P6)( 'editorOverviewRuler.wordHighlightStrongForeground', { dark: '#C0A0C0CC', light: '#C0A0C0CC', hc: '#C0A0C0CC' }, n.N( 'overviewRulerWordHighlightStrongForeground', 'Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), x = new p.uy('hasWordHighlights', !1); function L(e, t, i) { const n = f.vH.ordered(e); return (0, s.Ps)( n.map((n) => () => Promise.resolve(n.provideDocumentHighlights(e, t, i)).then( void 0, a.Cp ) ), r.Of ); } class M { constructor(e, t, i) { (this._wordRange = this._getCurrentWordRange(e, t)), (this.result = (0, s.PG)((n) => this._compute(e, t, i, n))); } _getCurrentWordRange(e, t) { const i = e.getWordAtPosition(t.getPosition()); return i ? new d.e( t.startLineNumber, i.startColumn, t.startLineNumber, i.endColumn ) : null; } isValid(e, t, i) { const n = t.startLineNumber, r = t.startColumn, s = t.endColumn, o = this._getCurrentWordRange(e, t); let a = Boolean(this._wordRange && this._wordRange.equalsRange(o)); for (let t = 0, o = i.length; !a && t < o; t++) { let o = e.getDecorationRange(i[t]); o && o.startLineNumber === n && o.startColumn <= r && o.endColumn >= s && (a = !0); } return a; } cancel() { this.result.cancel(); } } class D extends M { _compute(e, t, i, n) { return L(e, t.getPosition(), n).then((e) => e || []); } } class N extends M { constructor(e, t, i) { super(e, t, i), (this._selectionIsEmpty = t.isEmpty()); } _compute(e, t, i, n) { return (0, s.Vs)(250, n).then(() => { if (!t.isEmpty()) return []; const n = e.getWordAtPosition(t.getPosition()); return !n || n.word.length > 1e3 ? [] : e .findMatches(n.word, !0, !1, !0, i, !1) .map((e) => ({ range: e.range, kind: f.MY.Text })); }); } isValid(e, t, i) { const n = t.isEmpty(); return this._selectionIsEmpty === n && super.isValid(e, t, i); } } (0, c.sb)('_executeDocumentHighlights', (e, t) => L(e, t, o.T.None)); class E { constructor(e, t) { (this.toUnhook = new l.SL()), (this.workerRequestTokenId = 0), (this.workerRequestCompleted = !1), (this.workerRequestValue = []), (this.lastCursorPositionChangeTime = 0), (this.renderDecorationsTimer = -1), (this.editor = e), (this._hasWordHighlights = x.bindTo(t)), (this._ignorePositionChangeEvent = !1), (this.occurrencesHighlight = this.editor.getOption(63)), (this.model = this.editor.getModel()), this.toUnhook.add( e.onDidChangeCursorPosition((e) => { this._ignorePositionChangeEvent || (this.occurrencesHighlight && this._onPositionChanged(e)); }) ), this.toUnhook.add( e.onDidChangeModelContent((e) => { this._stopAll(); }) ), this.toUnhook.add( e.onDidChangeConfiguration((e) => { let t = this.editor.getOption(63); this.occurrencesHighlight !== t && ((this.occurrencesHighlight = t), this._stopAll()); }) ), (this._decorationIds = []), (this.workerRequestTokenId = 0), (this.workerRequest = null), (this.workerRequestCompleted = !1), (this.lastCursorPositionChangeTime = 0), (this.renderDecorationsTimer = -1); } hasDecorations() { return this._decorationIds.length > 0; } restore() { this.occurrencesHighlight && this._run(); } _getSortedHighlights() { return r.kX( this._decorationIds .map((e) => this.model.getDecorationRange(e)) .sort(d.e.compareRangesUsingStarts) ); } moveNext() { let e = this._getSortedHighlights(), t = (r.Zr(e, (e) => e.containsPosition(this.editor.getPosition())) + 1) % e.length, i = e[t]; try { (this._ignorePositionChangeEvent = !0), this.editor.setPosition(i.getStartPosition()), this.editor.revealRangeInCenterIfOutsideViewport(i); const n = this._getWord(); if (n) { const r = this.editor .getModel() .getLineContent(i.startLineNumber); (0, b.Z9)(`${r}, ${t + 1} of ${e.length} for '${n.word}'`); } } finally { this._ignorePositionChangeEvent = !1; } } moveBack() { let e = this._getSortedHighlights(), t = (r.Zr(e, (e) => e.containsPosition(this.editor.getPosition())) - 1 + e.length) % e.length, i = e[t]; try { (this._ignorePositionChangeEvent = !0), this.editor.setPosition(i.getStartPosition()), this.editor.revealRangeInCenterIfOutsideViewport(i); const n = this._getWord(); if (n) { const r = this.editor .getModel() .getLineContent(i.startLineNumber); (0, b.Z9)(`${r}, ${t + 1} of ${e.length} for '${n.word}'`); } } finally { this._ignorePositionChangeEvent = !1; } } _removeDecorations() { this._decorationIds.length > 0 && ((this._decorationIds = this.editor.deltaDecorations( this._decorationIds, [] )), this._hasWordHighlights.set(!1)); } _stopAll() { this._removeDecorations(), -1 !== this.renderDecorationsTimer && (clearTimeout(this.renderDecorationsTimer), (this.renderDecorationsTimer = -1)), null !== this.workerRequest && (this.workerRequest.cancel(), (this.workerRequest = null)), this.workerRequestCompleted || (this.workerRequestTokenId++, (this.workerRequestCompleted = !0)); } _onPositionChanged(e) { this.occurrencesHighlight && 3 === e.reason ? this._run() : this._stopAll(); } _getWord() { let e = this.editor.getSelection(), t = e.startLineNumber, i = e.startColumn; return this.model.getWordAtPosition({ lineNumber: t, column: i }); } _run() { let e = this.editor.getSelection(); if (e.startLineNumber !== e.endLineNumber) return void this._stopAll(); let t = e.startColumn, i = e.endColumn; const n = this._getWord(); if (!n || n.startColumn > t || n.endColumn < i) return void this._stopAll(); const r = this.workerRequest && this.workerRequest.isValid(this.model, e, this._decorationIds); if (((this.lastCursorPositionChangeTime = new Date().getTime()), r)) this.workerRequestCompleted && -1 !== this.renderDecorationsTimer && (clearTimeout(this.renderDecorationsTimer), (this.renderDecorationsTimer = -1), this._beginRenderDecorations()); else { this._stopAll(); let e = ++this.workerRequestTokenId; (this.workerRequestCompleted = !1), (this.workerRequest = ((s = this.model), (o = this.editor.getSelection()), (l = this.editor.getOption(105)), f.vH.has(s) ? new D(s, o, l) : new N(s, o, l))), this.workerRequest.result.then((t) => { e === this.workerRequestTokenId && ((this.workerRequestCompleted = !0), (this.workerRequestValue = t || []), this._beginRenderDecorations()); }, a.dL); } var s, o, l; } _beginRenderDecorations() { let e = new Date().getTime(), t = this.lastCursorPositionChangeTime + 250; e >= t ? ((this.renderDecorationsTimer = -1), this.renderDecorations()) : (this.renderDecorationsTimer = setTimeout(() => { this.renderDecorations(); }, t - e)); } renderDecorations() { this.renderDecorationsTimer = -1; let e = []; for (const t of this.workerRequestValue) t.range && e.push({ range: t.range, options: E._getDecorationOptions(t.kind), }); (this._decorationIds = this.editor.deltaDecorations( this._decorationIds, e )), this._hasWordHighlights.set(this.hasDecorations()); } static _getDecorationOptions(e) { return e === f.MY.Write ? this._WRITE_OPTIONS : e === f.MY.Text ? this._TEXT_OPTIONS : this._REGULAR_OPTIONS; } dispose() { this._stopAll(), this.toUnhook.dispose(); } } (E._WRITE_OPTIONS = g.qx.register({ stickiness: 1, className: 'wordHighlightStrong', overviewRuler: { color: (0, _.EN)(k), position: u.sh.Center }, })), (E._TEXT_OPTIONS = g.qx.register({ stickiness: 1, className: 'selectionHighlight', overviewRuler: { color: (0, _.EN)(m.SP), position: u.sh.Center }, })), (E._REGULAR_OPTIONS = g.qx.register({ stickiness: 1, className: 'wordHighlight', overviewRuler: { color: (0, _.EN)(S), position: u.sh.Center }, })); let T = class e extends l.JT { constructor(e, t) { super(), (this.wordHighlighter = null); const i = () => { e.hasModel() && (this.wordHighlighter = new E(e, t)); }; this._register( e.onDidChangeModel((e) => { this.wordHighlighter && (this.wordHighlighter.dispose(), (this.wordHighlighter = null)), i(); }) ), i(); } static get(t) { return t.getContribution(e.ID); } saveViewState() { return !( !this.wordHighlighter || !this.wordHighlighter.hasDecorations() ); } moveNext() { this.wordHighlighter && this.wordHighlighter.moveNext(); } moveBack() { this.wordHighlighter && this.wordHighlighter.moveBack(); } restoreViewState(e) { this.wordHighlighter && e && this.wordHighlighter.restore(); } dispose() { this.wordHighlighter && (this.wordHighlighter.dispose(), (this.wordHighlighter = null)), super.dispose(); } }; var I, O; (T.ID = 'editor.contrib.wordHighlighter'), (T = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((I = 1), (O = p.i6), function (e, t) { O(e, t, I); }), ], T )); class A extends c.R6 { constructor(e, t) { super(t), (this._isNext = e); } run(e, t) { const i = T.get(t); i && (this._isNext ? i.moveNext() : i.moveBack()); } } class R extends c.R6 { constructor() { super({ id: 'editor.action.wordHighlight.trigger', label: n.N( 'wordHighlight.trigger.label', 'Trigger Symbol Highlight' ), alias: 'Trigger Symbol Highlight', precondition: x.toNegated(), kbOpts: { kbExpr: h.u.editorTextFocus, primary: 0, weight: 100 }, }); } run(e, t, i) { const n = T.get(t); n && n.restoreViewState(!0); } } (0, c._K)(T.ID, T), (0, c.Qr)( class extends A { constructor() { super(!0, { id: 'editor.action.wordHighlight.next', label: n.N( 'wordHighlight.next.label', 'Go to Next Symbol Highlight' ), alias: 'Go to Next Symbol Highlight', precondition: x, kbOpts: { kbExpr: h.u.editorTextFocus, primary: 65, weight: 100, }, }); } } ), (0, c.Qr)( class extends A { constructor() { super(!1, { id: 'editor.action.wordHighlight.prev', label: n.N( 'wordHighlight.previous.label', 'Go to Previous Symbol Highlight' ), alias: 'Go to Previous Symbol Highlight', precondition: x, kbOpts: { kbExpr: h.u.editorTextFocus, primary: 1089, weight: 100, }, }); } } ), (0, c.Qr)(R), (0, _.Ic)((e, t) => { const i = e.getColor(m.Rz); i && (t.addRule( `.monaco-editor .focused .selectionHighlight { background-color: ${i}; }` ), t.addRule( `.monaco-editor .selectionHighlight { background-color: ${i.transparent( 0.5 )}; }` )); const n = e.getColor(v); n && t.addRule( `.monaco-editor .wordHighlight { background-color: ${n}; }` ); const r = e.getColor(y); r && t.addRule( `.monaco-editor .wordHighlightStrong { background-color: ${r}; }` ); const s = e.getColor(m.g_); s && t.addRule( `.monaco-editor .selectionHighlight { border: 1px ${ 'hc' === e.type ? 'dotted' : 'solid' } ${s}; box-sizing: border-box; }` ); const o = e.getColor(w); o && t.addRule( `.monaco-editor .wordHighlight { border: 1px ${ 'hc' === e.type ? 'dashed' : 'solid' } ${o}; box-sizing: border-box; }` ); const a = e.getColor(C); a && t.addRule( `.monaco-editor .wordHighlightStrong { border: 1px ${ 'hc' === e.type ? 'dashed' : 'solid' } ${a}; box-sizing: border-box; }` ); }); }, 99453: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { MoveWordCommand: () => p, WordLeftCommand: () => m, WordRightCommand: () => _, CursorWordStartLeft: () => b, CursorWordEndLeft: () => v, CursorWordLeft: () => y, CursorWordStartLeftSelect: () => w, CursorWordEndLeftSelect: () => C, CursorWordLeftSelect: () => S, CursorWordAccessibilityLeft: () => k, CursorWordAccessibilityLeftSelect: () => x, CursorWordStartRight: () => L, CursorWordEndRight: () => M, CursorWordRight: () => D, CursorWordStartRightSelect: () => N, CursorWordEndRightSelect: () => E, CursorWordRightSelect: () => T, CursorWordAccessibilityRight: () => I, CursorWordAccessibilityRightSelect: () => O, DeleteWordCommand: () => A, DeleteWordLeftCommand: () => R, DeleteWordRightCommand: () => P, DeleteWordStartLeft: () => F, DeleteWordEndLeft: () => B, DeleteWordLeft: () => W, DeleteWordStartRight: () => Y, DeleteWordEndRight: () => H, DeleteWordRight: () => j, }); var n = i(16830), r = i(61329), s = i(33181), o = i(5795), a = i(59410), l = i(50187), c = i(24314), d = i(3860), h = i(29102), u = i(31106), g = i(38819), f = i(64141); class p extends n._l { constructor(e) { super(e), (this._inSelectionMode = e.inSelectionMode), (this._wordNavigationType = e.wordNavigationType); } runEditorCommand(e, t, i) { if (!t.hasModel()) return; const n = (0, a.u)(t.getOption(105)), r = t.getModel(), o = t.getSelections().map((e) => { const t = new l.L(e.positionLineNumber, e.positionColumn), i = this._move(n, r, t, this._wordNavigationType); return this._moveTo(e, i, this._inSelectionMode); }); if ( (r.pushStackElement(), t._getViewModel().setCursorStates( 'moveWordCommand', 0, o.map((e) => s.Vi.fromModelSelection(e)) ), 1 === o.length) ) { const e = new l.L(o[0].positionLineNumber, o[0].positionColumn); t.revealPosition(e, 0); } } _moveTo(e, t, i) { return i ? new d.Y( e.selectionStartLineNumber, e.selectionStartColumn, t.lineNumber, t.column ) : new d.Y(t.lineNumber, t.column, t.lineNumber, t.column); } } class m extends p { _move(e, t, i, n) { return o.w.moveWordLeft(e, t, i, n); } } class _ extends p { _move(e, t, i, n) { return o.w.moveWordRight(e, t, i, n); } } class b extends m { constructor() { super({ inSelectionMode: !1, wordNavigationType: 0, id: 'cursorWordStartLeft', precondition: void 0, }); } } class v extends m { constructor() { super({ inSelectionMode: !1, wordNavigationType: 2, id: 'cursorWordEndLeft', precondition: void 0, }); } } class y extends m { constructor() { super({ inSelectionMode: !1, wordNavigationType: 1, id: 'cursorWordLeft', precondition: void 0, kbOpts: { kbExpr: h.u.textInputFocus, primary: 2063, mac: { primary: 527 }, weight: 100, }, }); } } class w extends m { constructor() { super({ inSelectionMode: !0, wordNavigationType: 0, id: 'cursorWordStartLeftSelect', precondition: void 0, }); } } class C extends m { constructor() { super({ inSelectionMode: !0, wordNavigationType: 2, id: 'cursorWordEndLeftSelect', precondition: void 0, }); } } class S extends m { constructor() { super({ inSelectionMode: !0, wordNavigationType: 1, id: 'cursorWordLeftSelect', precondition: void 0, kbOpts: { kbExpr: h.u.textInputFocus, primary: 3087, mac: { primary: 1551 }, weight: 100, }, }); } } class k extends m { constructor() { super({ inSelectionMode: !1, wordNavigationType: 3, id: 'cursorWordAccessibilityLeft', precondition: void 0, kbOpts: { kbExpr: g.Ao.and(h.u.textInputFocus, u.U), win: { primary: 2063 }, weight: 101, }, }); } _move(e, t, i, n) { return super._move( (0, a.u)(f.BH.wordSeparators.defaultValue), t, i, n ); } } class x extends m { constructor() { super({ inSelectionMode: !0, wordNavigationType: 3, id: 'cursorWordAccessibilityLeftSelect', precondition: void 0, kbOpts: { kbExpr: g.Ao.and(h.u.textInputFocus, u.U), win: { primary: 3087 }, weight: 101, }, }); } _move(e, t, i, n) { return super._move( (0, a.u)(f.BH.wordSeparators.defaultValue), t, i, n ); } } class L extends _ { constructor() { super({ inSelectionMode: !1, wordNavigationType: 0, id: 'cursorWordStartRight', precondition: void 0, }); } } class M extends _ { constructor() { super({ inSelectionMode: !1, wordNavigationType: 2, id: 'cursorWordEndRight', precondition: void 0, kbOpts: { kbExpr: h.u.textInputFocus, primary: 2065, mac: { primary: 529 }, weight: 100, }, }); } } class D extends _ { constructor() { super({ inSelectionMode: !1, wordNavigationType: 2, id: 'cursorWordRight', precondition: void 0, }); } } class N extends _ { constructor() { super({ inSelectionMode: !0, wordNavigationType: 0, id: 'cursorWordStartRightSelect', precondition: void 0, }); } } class E extends _ { constructor() { super({ inSelectionMode: !0, wordNavigationType: 2, id: 'cursorWordEndRightSelect', precondition: void 0, kbOpts: { kbExpr: h.u.textInputFocus, primary: 3089, mac: { primary: 1553 }, weight: 100, }, }); } } class T extends _ { constructor() { super({ inSelectionMode: !0, wordNavigationType: 2, id: 'cursorWordRightSelect', precondition: void 0, }); } } class I extends _ { constructor() { super({ inSelectionMode: !1, wordNavigationType: 3, id: 'cursorWordAccessibilityRight', precondition: void 0, kbOpts: { kbExpr: g.Ao.and(h.u.textInputFocus, u.U), win: { primary: 2065 }, weight: 101, }, }); } _move(e, t, i, n) { return super._move( (0, a.u)(f.BH.wordSeparators.defaultValue), t, i, n ); } } class O extends _ { constructor() { super({ inSelectionMode: !0, wordNavigationType: 3, id: 'cursorWordAccessibilityRightSelect', precondition: void 0, kbOpts: { kbExpr: g.Ao.and(h.u.textInputFocus, u.U), win: { primary: 3089 }, weight: 101, }, }); } _move(e, t, i, n) { return super._move( (0, a.u)(f.BH.wordSeparators.defaultValue), t, i, n ); } } class A extends n._l { constructor(e) { super(e), (this._whitespaceHeuristics = e.whitespaceHeuristics), (this._wordNavigationType = e.wordNavigationType); } runEditorCommand(e, t, i) { if (!t.hasModel()) return; const n = (0, a.u)(t.getOption(105)), s = t.getModel(), o = t.getSelections().map((e) => { const t = this._delete( n, s, e, this._whitespaceHeuristics, this._wordNavigationType ); return new r.T4(t, ''); }); t.pushUndoStop(), t.executeCommands(this.id, o), t.pushUndoStop(); } } class R extends A { _delete(e, t, i, n, r) { return o.w.deleteWordLeft(e, t, i, n, r) || new c.e(1, 1, 1, 1); } } class P extends A { _delete(e, t, i, n, r) { let s = o.w.deleteWordRight(e, t, i, n, r); if (s) return s; const a = t.getLineCount(), l = t.getLineMaxColumn(a); return new c.e(a, l, a, l); } } class F extends R { constructor() { super({ whitespaceHeuristics: !1, wordNavigationType: 0, id: 'deleteWordStartLeft', precondition: h.u.writable, }); } } class B extends R { constructor() { super({ whitespaceHeuristics: !1, wordNavigationType: 2, id: 'deleteWordEndLeft', precondition: h.u.writable, }); } } class W extends R { constructor() { super({ whitespaceHeuristics: !0, wordNavigationType: 0, id: 'deleteWordLeft', precondition: h.u.writable, kbOpts: { kbExpr: h.u.textInputFocus, primary: 2049, mac: { primary: 513 }, weight: 100, }, }); } } class Y extends P { constructor() { super({ whitespaceHeuristics: !1, wordNavigationType: 0, id: 'deleteWordStartRight', precondition: h.u.writable, }); } } class H extends P { constructor() { super({ whitespaceHeuristics: !1, wordNavigationType: 2, id: 'deleteWordEndRight', precondition: h.u.writable, }); } } class j extends P { constructor() { super({ whitespaceHeuristics: !0, wordNavigationType: 2, id: 'deleteWordRight', precondition: h.u.writable, kbOpts: { kbExpr: h.u.textInputFocus, primary: 2068, mac: { primary: 532 }, weight: 100, }, }); } } (0, n.fK)(new b()), (0, n.fK)(new v()), (0, n.fK)(new y()), (0, n.fK)(new w()), (0, n.fK)(new C()), (0, n.fK)(new S()), (0, n.fK)(new L()), (0, n.fK)(new M()), (0, n.fK)(new D()), (0, n.fK)(new N()), (0, n.fK)(new E()), (0, n.fK)(new T()), (0, n.fK)(new k()), (0, n.fK)(new x()), (0, n.fK)(new I()), (0, n.fK)(new O()), (0, n.fK)(new F()), (0, n.fK)(new B()), (0, n.fK)(new W()), (0, n.fK)(new Y()), (0, n.fK)(new H()), (0, n.fK)(new j()); }, 60661: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { DeleteWordPartLeft: () => c, DeleteWordPartRight: () => d, WordPartLeftCommand: () => h, CursorWordPartLeft: () => u, CursorWordPartLeftSelect: () => g, WordPartRightCommand: () => f, CursorWordPartRight: () => p, CursorWordPartRightSelect: () => m, }); var n = i(16830), r = i(5795), s = i(24314), o = i(29102), a = i(99453), l = i(94565); class c extends a.DeleteWordCommand { constructor() { super({ whitespaceHeuristics: !0, wordNavigationType: 0, id: 'deleteWordPartLeft', precondition: o.u.writable, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 769 }, weight: 100, }, }); } _delete(e, t, i, n, o) { return r.L.deleteWordPartLeft(e, t, i, n) || new s.e(1, 1, 1, 1); } } class d extends a.DeleteWordCommand { constructor() { super({ whitespaceHeuristics: !0, wordNavigationType: 2, id: 'deleteWordPartRight', precondition: o.u.writable, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 788 }, weight: 100, }, }); } _delete(e, t, i, n, o) { let a = r.L.deleteWordPartRight(e, t, i, n); if (a) return a; const l = t.getLineCount(), c = t.getLineMaxColumn(l); return new s.e(l, c, l, c); } } class h extends a.MoveWordCommand { _move(e, t, i, n) { return r.L.moveWordPartLeft(e, t, i); } } class u extends h { constructor() { super({ inSelectionMode: !1, wordNavigationType: 0, id: 'cursorWordPartLeft', precondition: void 0, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 783 }, weight: 100, }, }); } } l.P.registerCommandAlias( 'cursorWordPartStartLeft', 'cursorWordPartLeft' ); class g extends h { constructor() { super({ inSelectionMode: !0, wordNavigationType: 0, id: 'cursorWordPartLeftSelect', precondition: void 0, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 1807 }, weight: 100, }, }); } } l.P.registerCommandAlias( 'cursorWordPartStartLeftSelect', 'cursorWordPartLeftSelect' ); class f extends a.MoveWordCommand { _move(e, t, i, n) { return r.L.moveWordPartRight(e, t, i); } } class p extends f { constructor() { super({ inSelectionMode: !1, wordNavigationType: 2, id: 'cursorWordPartRight', precondition: void 0, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 785 }, weight: 100, }, }); } } class m extends f { constructor() { super({ inSelectionMode: !0, wordNavigationType: 2, id: 'cursorWordPartRightSelect', precondition: void 0, kbOpts: { kbExpr: o.u.textInputFocus, primary: 0, mac: { primary: 1809 }, weight: 100, }, }); } } (0, n.fK)(new c()), (0, n.fK)(new d()), (0, n.fK)(new u()), (0, n.fK)(new g()), (0, n.fK)(new p()), (0, n.fK)(new m()); }, 34935: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CancellationTokenSource: () => ea, Emitter: () => ta, KeyCode: () => ia, KeyMod: () => na, MarkerSeverity: () => la, MarkerTag: () => ca, Position: () => ra, Range: () => sa, Selection: () => oa, SelectionDirection: () => aa, Token: () => ha, Uri: () => da, editor: () => ua, languages: () => ga, }); var n, r, s, o, a, l, c, d, h, u, g, f, p, m, _, b, v, y, w, C, S, k, x, L, M, D, N, E, T, I, O, A, R, P = i(64141), F = i(71050), B = i(4669), W = i(22258), Y = i(70666), H = i(50187), j = i(24314), V = i(3860), z = i(85600); !(function (e) { (e[(e.Unknown = 0)] = 'Unknown'), (e[(e.Disabled = 1)] = 'Disabled'), (e[(e.Enabled = 2)] = 'Enabled'); })(n || (n = {})), (function (e) { (e[(e.KeepWhitespace = 1)] = 'KeepWhitespace'), (e[(e.InsertAsSnippet = 4)] = 'InsertAsSnippet'); })(r || (r = {})), (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'); })(s || (s = {})), (function (e) { e[(e.Deprecated = 1)] = 'Deprecated'; })(o || (o = {})), (function (e) { (e[(e.Invoke = 0)] = 'Invoke'), (e[(e.TriggerCharacter = 1)] = 'TriggerCharacter'), (e[(e.TriggerForIncompleteCompletions = 2)] = 'TriggerForIncompleteCompletions'); })(a || (a = {})), (function (e) { (e[(e.EXACT = 0)] = 'EXACT'), (e[(e.ABOVE = 1)] = 'ABOVE'), (e[(e.BELOW = 2)] = 'BELOW'); })(l || (l = {})), (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'); })(c || (c = {})), (function (e) { (e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF'); })(d || (d = {})), (function (e) { (e[(e.Text = 0)] = 'Text'), (e[(e.Read = 1)] = 'Read'), (e[(e.Write = 2)] = 'Write'); })(h || (h = {})), (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'); })(u || (u = {})), (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'); })(g || (g = {})), (function (e) { (e[(e.TextDefined = 0)] = 'TextDefined'), (e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF'); })(f || (f = {})), (function (e) { (e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF'); })(p || (p = {})), (function (e) { (e[(e.None = 0)] = 'None'), (e[(e.Indent = 1)] = 'Indent'), (e[(e.IndentOutdent = 2)] = 'IndentOutdent'), (e[(e.Outdent = 3)] = 'Outdent'); })(m || (m = {})), (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'); })(_ || (_ = {})), (function (e) { (e[(e.Hint = 1)] = 'Hint'), (e[(e.Info = 2)] = 'Info'), (e[(e.Warning = 4)] = 'Warning'), (e[(e.Error = 8)] = 'Error'); })(b || (b = {})), (function (e) { (e[(e.Unnecessary = 1)] = 'Unnecessary'), (e[(e.Deprecated = 2)] = 'Deprecated'); })(v || (v = {})), (function (e) { (e[(e.Inline = 1)] = 'Inline'), (e[(e.Gutter = 2)] = 'Gutter'); })(y || (y = {})), (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'); })(w || (w = {})), (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'); })(C || (C = {})), (function (e) { (e[(e.Left = 1)] = 'Left'), (e[(e.Center = 2)] = 'Center'), (e[(e.Right = 4)] = 'Right'), (e[(e.Full = 7)] = 'Full'); })(S || (S = {})), (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'); })(k || (k = {})), (function (e) { (e[(e.None = 0)] = 'None'), (e[(e.Text = 1)] = 'Text'), (e[(e.Blocks = 2)] = 'Blocks'); })(x || (x = {})), (function (e) { (e[(e.Smooth = 0)] = 'Smooth'), (e[(e.Immediate = 1)] = 'Immediate'); })(L || (L = {})), (function (e) { (e[(e.Auto = 1)] = 'Auto'), (e[(e.Hidden = 2)] = 'Hidden'), (e[(e.Visible = 3)] = 'Visible'); })(M || (M = {})), (function (e) { (e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL'); })(D || (D = {})), (function (e) { (e[(e.Invoke = 1)] = 'Invoke'), (e[(e.TriggerCharacter = 2)] = 'TriggerCharacter'), (e[(e.ContentChange = 3)] = 'ContentChange'); })(N || (N = {})), (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'); })(E || (E = {})), (function (e) { e[(e.Deprecated = 1)] = 'Deprecated'; })(T || (T = {})), (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'); })(I || (I = {})), (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'); })(O || (O = {})), (function (e) { (e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] = 'AlwaysGrowsWhenTypingAtEdges'), (e[(e.NeverGrowsWhenTypingAtEdges = 1)] = 'NeverGrowsWhenTypingAtEdges'), (e[(e.GrowsOnlyWhenTypingBefore = 2)] = 'GrowsOnlyWhenTypingBefore'), (e[(e.GrowsOnlyWhenTypingAfter = 3)] = 'GrowsOnlyWhenTypingAfter'); })(A || (A = {})), (function (e) { (e[(e.None = 0)] = 'None'), (e[(e.Same = 1)] = 'Same'), (e[(e.Indent = 2)] = 'Indent'), (e[(e.DeepIndent = 3)] = 'DeepIndent'); })(R || (R = {})); class U { static chord(e, t) { return (0, W.gx)(e, t); } } function $() { return { editor: void 0, languages: void 0, CancellationTokenSource: F.A, Emitter: B.Q5, KeyCode: _, KeyMod: U, Position: H.L, Range: j.e, Selection: V.Y, SelectionDirection: D, MarkerSeverity: b, MarkerTag: v, Uri: Y.o, Token: z.WU, }; } (U.CtrlCmd = 2048), (U.Shift = 1024), (U.Alt = 512), (U.WinCtrl = 256); var K, q = i(11640), G = i(65321), Z = i(91741), J = i(23897), Q = i(66663), X = i(95935), ee = i(94565), te = i(50988); !(function (e) { (e[(e.API = 0)] = 'API'), (e[(e.USER = 1)] = 'USER'); })(K || (K = {})); var ie = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, ne = function (e, t) { return function (i, n) { t(i, n, e); }; }, re = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; let se = class { constructor(e) { this._commandService = e; } open(e) { return re(this, void 0, void 0, function* () { if (!(0, te.xn)(e, Q.l.command)) return !1; 'string' == typeof e && (e = Y.o.parse(e)); let t = []; try { t = (0, J.Q)(decodeURIComponent(e.query)); } catch (i) { try { t = (0, J.Q)(e.query); } catch (e) {} } return ( Array.isArray(t) || (t = [t]), yield this._commandService.executeCommand(e.path, ...t), !0 ); }); } }; se = ie([ne(0, ee.H)], se); let oe = class { constructor(e) { this._editorService = e; } open(e, t) { return re(this, void 0, void 0, function* () { let i; 'string' == typeof e && (e = Y.o.parse(e)); const n = /^L?(\d+)(?:,(\d+))?/.exec(e.fragment); return ( n && ((i = { startLineNumber: parseInt(n[1]), startColumn: n[2] ? parseInt(n[2]) : 1, }), (e = e.with({ fragment: '' }))), e.scheme === Q.l.file && (e = (0, X.AH)(e)), yield this._editorService.openCodeEditor( { resource: e, options: { selection: i, context: (null == t ? void 0 : t.fromUserGesture) ? K.USER : K.API, }, }, this._editorService.getFocusedCodeEditor(), null == t ? void 0 : t.openToSide ), !0 ); }); } }; oe = ie([ne(0, q.$)], oe); let ae = class { constructor(e, t) { (this._openers = new Z.S()), (this._validators = new Z.S()), (this._resolvers = new Z.S()), (this._externalOpener = { openExternal: (e) => ( (0, te.xn)(e, Q.l.http) || (0, te.xn)(e, Q.l.https) ? G.V3(e) : (window.location.href = e), Promise.resolve(!0) ), }), this._openers.push({ open: (e, t) => re(this, void 0, void 0, function* () { return ( !!( (null == t ? void 0 : t.openExternal) || (0, te.xn)(e, Q.l.mailto) || (0, te.xn)(e, Q.l.http) || (0, te.xn)(e, Q.l.https) ) && (yield this._doOpenExternal(e, t), !0) ); }), }), this._openers.push(new se(t)), this._openers.push(new oe(e)); } open(e, t) { return re(this, void 0, void 0, function* () { for (const t of this._validators.toArray()) if (!(yield t.shouldOpen(e))) return !1; for (const i of this._openers.toArray()) if (yield i.open(e, t)) return !0; return !1; }); } resolveExternalUri(e, t) { return re(this, void 0, void 0, function* () { for (const i of this._resolvers.toArray()) { const n = yield i.resolveExternalUri(e, t); if (n) return n; } return { resolved: e, dispose: () => {} }; }); } _doOpenExternal(e, t) { return re(this, void 0, void 0, function* () { const i = 'string' == typeof e ? Y.o.parse(e) : e, { resolved: n } = yield this.resolveExternalUri(i, t); return 'string' == typeof e && i.toString() === n.toString() ? this._externalOpener.openExternal(e) : this._externalOpener.openExternal(encodeURI(n.toString(!0))); }); } dispose() { this._validators.clear(); } }; ae = ie([ne(0, q.$), ne(1, ee.H)], ae); var le = i(75623), ce = i(27374), de = i(96518), he = i(84973), ue = i(43775), ge = i(28111), fe = i(90469), pe = i(88216), me = i(15393), _e = i(5976), be = i(17301), ve = i(1432), ye = i(98401); let we = !1; function Ce(e) { ve.$L && (we || ((we = !0), console.warn( 'Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq' )), console.warn(e.message)); } class Se { 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 i = String(++this._lastSentReq); return new Promise((n, r) => { (this._pendingReplies[i] = { resolve: n, reject: r }), this._send({ vsWorker: this._workerId, req: i, 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 i = 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 i.reject(e) ); } return void i.resolve(t.res); } let t = e, i = t.req; this._handler.handleMessage(t.method, t.args).then( (e) => { this._send({ vsWorker: this._workerId, seq: i, res: e, err: void 0, }); }, (e) => { e.detail instanceof Error && (e.detail = (0, be.ri)(e.detail)), this._send({ vsWorker: this._workerId, seq: i, res: void 0, err: (0, be.ri)(e), }); } ); } _send(e) { let t = []; if (e.req) { const i = e; for (let e = 0; e < i.args.length; e++) i.args[e] instanceof ArrayBuffer && t.push(i.args[e]); } else { const i = e; i.res instanceof ArrayBuffer && t.push(i.res); } this._handler.sendMessage(e, t); } } class ke extends _e.JT { constructor(e, t, i) { super(); let n = null; (this._worker = this._register( e.create( 'vs/base/common/worker/simpleWorker', (e) => { this._protocol.handleMessage(e); }, (e) => { n && n(e); } ) )), (this._protocol = new Se({ sendMessage: (e, t) => { this._worker.postMessage(e, t); }, handleMessage: (e, t) => { if ('function' != typeof i[e]) return Promise.reject( new Error('Missing method ' + e + ' on main thread host.') ); try { return Promise.resolve(i[e].apply(i, t)); } catch (e) { return Promise.reject(e); } }, })), this._protocol.setWorkerId(this._worker.getId()); let r = null; void 0 !== self.require && 'function' == typeof self.require.getConfig ? (r = self.require.getConfig()) : void 0 !== self.requirejs && (r = self.requirejs.s.contexts._.config); const s = ye.$E(i); this._onModuleLoaded = this._protocol.sendMessage('$initialize', [ this._worker.getId(), JSON.parse(JSON.stringify(r)), t, s, ]); const o = (e, t) => this._request(e, t); this._lazyProxy = new Promise((e, i) => { (n = i), this._onModuleLoaded.then( (t) => { e(ye.IU(t, o)); }, (e) => { i(e), this._onError('Worker failed to load ' + t, e); } ); }); } getProxyObject() { return this._lazyProxy; } _request(e, t) { return new Promise((i, n) => { this._onModuleLoaded.then(() => { this._protocol.sendMessage(e, t).then(i, n); }, n); }); } _onError(e, t) { console.error(e), console.info(t); } } class xe { constructor(e, t, i, n, r) { this.id = t; const s = (function (e, t) { if (ve.li.MonacoEnvironment) { if ('function' == typeof ve.li.MonacoEnvironment.getWorker) return ve.li.MonacoEnvironment.getWorker(e, t); if ('function' == typeof ve.li.MonacoEnvironment.getWorkerUrl) return new Worker(ve.li.MonacoEnvironment.getWorkerUrl(e, t)); } throw new Error( 'You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker' ); })('workerMain.js', i); 'function' == typeof s.then ? (this.worker = s) : (this.worker = Promise.resolve(s)), this.postMessage(e, []), this.worker.then((e) => { (e.onmessage = function (e) { n(e.data); }), (e.onmessageerror = r), 'function' == typeof e.addEventListener && e.addEventListener('error', r); }); } getId() { return this.id; } postMessage(e, t) { this.worker && this.worker.then((i) => i.postMessage(e, t)); } dispose() { this.worker && this.worker.then((e) => e.terminate()), (this.worker = null); } } class Le { constructor(e) { (this._label = e), (this._webWorkerFailedBeforeError = !1); } create(e, t, i) { let n = ++Le.LAST_WORKER_ID; if (this._webWorkerFailedBeforeError) throw this._webWorkerFailedBeforeError; return new xe(e, n, this._label || 'anonymous' + n, t, (e) => { Ce(e), (this._webWorkerFailedBeforeError = e), i(e); }); } } Le.LAST_WORKER_ID = 0; var Me = i(83831), De = i(9488); class Ne { constructor(e, t, i, n) { (this.originalStart = e), (this.originalLength = t), (this.modifiedStart = i), (this.modifiedLength = n); } getOriginalEnd() { return this.originalStart + this.originalLength; } getModifiedEnd() { return this.modifiedStart + this.modifiedLength; } } var Ee = i(89954); class Te { constructor(e) { this.source = e; } getElements() { const e = this.source, t = new Int32Array(e.length); for (let i = 0, n = e.length; i < n; i++) t[i] = e.charCodeAt(i); return t; } } function Ie(e, t, i) { return new Pe(new Te(e), new Te(t)).ComputeDiff(i).changes; } class Oe { static Assert(e, t) { if (!e) throw new Error(t); } } class Ae { static Copy(e, t, i, n, r) { for (let s = 0; s < r; s++) i[n + s] = e[t + s]; } static Copy2(e, t, i, n, r) { for (let s = 0; s < r; s++) i[n + s] = e[t + s]; } } class Re { 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 Ne( 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 Pe { constructor(e, t, i = null) { this.ContinueProcessingPredicate = i; const [n, r, s] = Pe._getElements(e), [o, a, l] = Pe._getElements(t); (this._hasStrings = s && l), (this._originalStringElements = n), (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 (Pe._isStringArray(t)) { const e = new Int32Array(t.length); for (let i = 0, n = t.length; i < n; i++) e[i] = (0, Ee.Cv)(t[i], 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, i, n, r) { const s = [!1]; let o = this.ComputeDiffRecursive(e, t, i, n, s); return ( r && (o = this.PrettifyChanges(o)), { quitEarly: s[0], changes: o } ); } ComputeDiffRecursive(e, t, i, n, r) { for (r[0] = !1; e <= t && i <= n && this.ElementsAreEqual(e, i); ) e++, i++; for (; t >= e && n >= i && this.ElementsAreEqual(t, n); ) t--, n--; if (e > t || i > n) { let r; return ( i <= n ? (Oe.Assert( e === t + 1, 'originalStart should only be one more than originalEnd' ), (r = [new Ne(e, 0, i, n - i + 1)])) : e <= t ? (Oe.Assert( i === n + 1, 'modifiedStart should only be one more than modifiedEnd' ), (r = [new Ne(e, t - e + 1, i, 0)])) : (Oe.Assert( e === t + 1, 'originalStart should only be one more than originalEnd' ), Oe.Assert( i === n + 1, 'modifiedStart should only be one more than modifiedEnd' ), (r = [])), r ); } const s = [0], o = [0], a = this.ComputeRecursionPoint(e, t, i, n, s, o, r), l = s[0], c = o[0]; if (null !== a) return a; if (!r[0]) { const s = this.ComputeDiffRecursive(e, l, i, c, r); let o = []; return ( (o = r[0] ? [new Ne(l + 1, t - (l + 1) + 1, c + 1, n - (c + 1) + 1)] : this.ComputeDiffRecursive(l + 1, t, c + 1, n, r)), this.ConcatenateChanges(s, o) ); } return [new Ne(e, t - e + 1, i, n - i + 1)]; } WALKTRACE(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _) { let b = null, v = null, y = new Re(), w = t, C = i, S = u[0] - p[0] - n, k = -1073741824, x = this.m_forwardHistory.length - 1; do { const t = S + e; t === w || (t < C && l[t - 1] < l[t + 1]) ? ((g = (d = l[t + 1]) - S - n), d < k && y.MarkNextChange(), (k = d), y.AddModifiedElement(d + 1, g), (S = t + 1 - e)) : ((g = (d = l[t - 1] + 1) - S - n), d < k && y.MarkNextChange(), (k = d - 1), y.AddOriginalElement(d, g + 1), (S = t - 1 - e)), x >= 0 && ((e = (l = this.m_forwardHistory[x])[0]), (w = 1), (C = l.length - 1)); } while (--x >= -1); if (((b = y.getReverseChanges()), _[0])) { let e = u[0] + 1, t = p[0] + 1; if (null !== b && b.length > 0) { const i = b[b.length - 1]; (e = Math.max(e, i.getOriginalEnd())), (t = Math.max(t, i.getModifiedEnd())); } v = [new Ne(e, h - e + 1, t, f - t + 1)]; } else { (y = new Re()), (w = s), (C = o), (S = u[0] - p[0] - a), (k = 1073741824), (x = m ? this.m_reverseHistory.length - 1 : this.m_reverseHistory.length - 2); do { const e = S + r; e === w || (e < C && c[e - 1] >= c[e + 1]) ? ((g = (d = c[e + 1] - 1) - S - a), d > k && y.MarkNextChange(), (k = d + 1), y.AddOriginalElement(d + 1, g + 1), (S = e + 1 - r)) : ((g = (d = c[e - 1]) - S - a), d > k && y.MarkNextChange(), (k = d), y.AddModifiedElement(d + 1, g + 1), (S = e - 1 - r)), x >= 0 && ((r = (c = this.m_reverseHistory[x])[0]), (w = 1), (C = c.length - 1)); } while (--x >= -1); v = y.getChanges(); } return this.ConcatenateChanges(b, v); } ComputeRecursionPoint(e, t, i, n, r, s, o) { let a = 0, l = 0, c = 0, d = 0, h = 0, u = 0; e--, i--, (r[0] = 0), (s[0] = 0), (this.m_forwardHistory = []), (this.m_reverseHistory = []); const g = t - e + (n - i), f = g + 1, p = new Int32Array(f), m = new Int32Array(f), _ = n - i, b = t - e, v = e - i, y = t - n, w = (b - _) % 2 == 0; (p[_] = e), (m[b] = t), (o[0] = !1); for (let C = 1; C <= g / 2 + 1; C++) { let g = 0, S = 0; (c = this.ClipDiagonalBound(_ - C, C, _, f)), (d = this.ClipDiagonalBound(_ + C, C, _, f)); for (let e = c; e <= d; e += 2) { (a = e === c || (e < d && p[e - 1] < p[e + 1]) ? p[e + 1] : p[e - 1] + 1), (l = a - (e - _) - v); const i = a; for (; a < t && l < n && this.ElementsAreEqual(a + 1, l + 1); ) a++, l++; if ( ((p[e] = a), a + l > g + S && ((g = a), (S = l)), !w && Math.abs(e - b) <= C - 1 && a >= m[e]) ) return ( (r[0] = a), (s[0] = l), i <= m[e] && C <= 1448 ? this.WALKTRACE( _, c, d, v, b, h, u, y, p, m, a, t, r, l, n, s, w, o ) : null ); } const k = (g - e + (S - i) - C) / 2; if ( null !== this.ContinueProcessingPredicate && !this.ContinueProcessingPredicate(g, k) ) return ( (o[0] = !0), (r[0] = g), (s[0] = S), k > 0 && C <= 1448 ? this.WALKTRACE( _, c, d, v, b, h, u, y, p, m, a, t, r, l, n, s, w, o ) : (e++, i++, [new Ne(e, t - e + 1, i, n - i + 1)]) ); (h = this.ClipDiagonalBound(b - C, C, b, f)), (u = this.ClipDiagonalBound(b + C, C, b, f)); for (let g = h; g <= u; g += 2) { (a = g === h || (g < u && m[g - 1] >= m[g + 1]) ? m[g + 1] - 1 : m[g - 1]), (l = a - (g - b) - y); const f = a; for (; a > e && l > i && this.ElementsAreEqual(a, l); ) a--, l--; if (((m[g] = a), w && Math.abs(g - _) <= C && a <= p[g])) return ( (r[0] = a), (s[0] = l), f >= p[g] && C <= 1448 ? this.WALKTRACE( _, c, d, v, b, h, u, y, p, m, a, t, r, l, n, s, w, o ) : null ); } if (C <= 1447) { let e = new Int32Array(d - c + 2); (e[0] = _ - c + 1), Ae.Copy2(p, c, e, 1, d - c + 1), this.m_forwardHistory.push(e), (e = new Int32Array(u - h + 2)), (e[0] = b - h + 1), Ae.Copy2(m, h, e, 1, u - h + 1), this.m_reverseHistory.push(e); } } return this.WALKTRACE( _, c, d, v, b, h, u, y, p, m, a, t, r, l, n, s, w, o ); } PrettifyChanges(e) { for (let t = 0; t < e.length; t++) { const i = e[t], n = t < e.length - 1 ? e[t + 1].originalStart : this._originalElementsOrHash.length, r = t < e.length - 1 ? e[t + 1].modifiedStart : this._modifiedElementsOrHash.length, s = i.originalLength > 0, o = i.modifiedLength > 0; for ( ; i.originalStart + i.originalLength < n && i.modifiedStart + i.modifiedLength < r && (!s || this.OriginalElementsAreEqual( i.originalStart, i.originalStart + i.originalLength )) && (!o || this.ModifiedElementsAreEqual( i.modifiedStart, i.modifiedStart + i.modifiedLength )); ) i.originalStart++, i.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 i = e[t]; let n = 0, r = 0; if (t > 0) { const i = e[t - 1]; i.originalLength > 0 && (n = i.originalStart + i.originalLength), i.modifiedLength > 0 && (r = i.modifiedStart + i.modifiedLength); } const s = i.originalLength > 0, o = i.modifiedLength > 0; let a = 0, l = this._boundaryScore( i.originalStart, i.originalLength, i.modifiedStart, i.modifiedLength ); for (let e = 1; ; e++) { const t = i.originalStart - e, c = i.modifiedStart - e; if (t < n || c < r) break; if ( s && !this.OriginalElementsAreEqual(t, t + i.originalLength) ) break; if ( o && !this.ModifiedElementsAreEqual(c, c + i.modifiedLength) ) break; const d = this._boundaryScore( t, i.originalLength, c, i.modifiedLength ); d > l && ((l = d), (a = e)); } (i.originalStart -= a), (i.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 i = e + t; if ( this._OriginalIsBoundary(i - 1) || this._OriginalIsBoundary(i) ) 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 i = e + t; if ( this._ModifiedIsBoundary(i - 1) || this._ModifiedIsBoundary(i) ) return !0; } return !1; } _boundaryScore(e, t, i, n) { return ( (this._OriginalRegionIsBoundary(e, t) ? 1 : 0) + (this._ModifiedRegionIsBoundary(i, n) ? 1 : 0) ); } ConcatenateChanges(e, t) { let i = []; if (0 === e.length || 0 === t.length) return t.length > 0 ? t : e; if (this.ChangesOverlap(e[e.length - 1], t[0], i)) { const n = new Array(e.length + t.length - 1); return ( Ae.Copy(e, 0, n, 0, e.length - 1), (n[e.length - 1] = i[0]), Ae.Copy(t, 1, n, e.length, t.length - 1), n ); } { const i = new Array(e.length + t.length); return ( Ae.Copy(e, 0, i, 0, e.length), Ae.Copy(t, 0, i, e.length, t.length), i ); } } ChangesOverlap(e, t, i) { if ( (Oe.Assert( e.originalStart <= t.originalStart, 'Left change is not less than or equal to right change' ), Oe.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 n = 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), (i[0] = new Ne(n, r, s, o)), !0 ); } return (i[0] = null), !1; } ClipDiagonalBound(e, t, i, n) { if (e >= 0 && e < n) return e; const r = t % 2 == 0; return e < 0 ? r === (i % 2 == 0) ? 0 : 1 : r === ((n - i - 1) % 2 == 0) ? n - 1 : n - 2; } } var Fe = i(97295); function Be(e, t, i, n) { return new Pe(e, t, i).ComputeDiff(n); } class We { constructor(e) { const t = [], i = []; for (let n = 0, r = e.length; n < r; n++) (t[n] = ze(e[n], 1)), (i[n] = Ue(e[n], 1)); (this.lines = e), (this._startColumns = t), (this._endColumns = i); } getElements() { const e = []; for (let t = 0, i = this.lines.length; t < i; 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, i) { const n = [], r = [], s = []; let o = 0; for (let a = t; a <= i; a++) { const t = this.lines[a], i = e ? this._startColumns[a] : 1, l = e ? this._endColumns[a] : t.length + 1; for (let e = i; e < l; e++) (n[o] = t.charCodeAt(e - 1)), (r[o] = a + 1), (s[o] = e), o++; } return new Ye(n, r, s); } } class Ye { constructor(e, t, i) { (this._charCodes = e), (this._lineNumbers = t), (this._columns = i); } 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 He { constructor(e, t, i, n, r, s, o, a) { (this.originalStartLineNumber = e), (this.originalStartColumn = t), (this.originalEndLineNumber = i), (this.originalEndColumn = n), (this.modifiedStartLineNumber = r), (this.modifiedStartColumn = s), (this.modifiedEndLineNumber = o), (this.modifiedEndColumn = a); } static createFromDiffChange(e, t, i) { let n, r, s, o, a, l, c, d; return ( 0 === e.originalLength ? ((n = 0), (r = 0), (s = 0), (o = 0)) : ((n = 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), (c = 0), (d = 0)) : ((a = i.getStartLineNumber(e.modifiedStart)), (l = i.getStartColumn(e.modifiedStart)), (c = i.getEndLineNumber( e.modifiedStart + e.modifiedLength - 1 )), (d = i.getEndColumn(e.modifiedStart + e.modifiedLength - 1))), new He(n, r, s, o, a, l, c, d) ); } } class je { constructor(e, t, i, n, r) { (this.originalStartLineNumber = e), (this.originalEndLineNumber = t), (this.modifiedStartLineNumber = i), (this.modifiedEndLineNumber = n), (this.charChanges = r); } static createFromDiffResult(e, t, i, n, r, s, o) { let a, l, c, d, h; if ( (0 === t.originalLength ? ((a = i.getStartLineNumber(t.originalStart) - 1), (l = 0)) : ((a = i.getStartLineNumber(t.originalStart)), (l = i.getEndLineNumber( t.originalStart + t.originalLength - 1 ))), 0 === t.modifiedLength ? ((c = n.getStartLineNumber(t.modifiedStart) - 1), (d = 0)) : ((c = n.getStartLineNumber(t.modifiedStart)), (d = n.getEndLineNumber( t.modifiedStart + t.modifiedLength - 1 ))), s && t.originalLength > 0 && t.originalLength < 20 && t.modifiedLength > 0 && t.modifiedLength < 20 && r()) ) { const s = i.createCharSequence( e, t.originalStart, t.originalStart + t.originalLength - 1 ), a = n.createCharSequence( e, t.modifiedStart, t.modifiedStart + t.modifiedLength - 1 ); let l = Be(s, a, r, !0).changes; o && (l = (function (e) { if (e.length <= 1) return e; const t = [e[0]]; let i = t[0]; for (let n = 1, r = e.length; n < r; n++) { const r = e[n], s = r.originalStart - (i.originalStart + i.originalLength), o = r.modifiedStart - (i.modifiedStart + i.modifiedLength); Math.min(s, o) < 3 ? ((i.originalLength = r.originalStart + r.originalLength - i.originalStart), (i.modifiedLength = r.modifiedStart + r.modifiedLength - i.modifiedStart)) : (t.push(r), (i = r)); } return t; })(l)), (h = []); for (let e = 0, t = l.length; e < t; e++) h.push(He.createFromDiffChange(l[e], s, a)); } return new je(a, l, c, d, h); } } class Ve { constructor(e, t, i) { (this.shouldComputeCharChanges = i.shouldComputeCharChanges), (this.shouldPostProcessCharChanges = i.shouldPostProcessCharChanges), (this.shouldIgnoreTrimWhitespace = i.shouldIgnoreTrimWhitespace), (this.shouldMakePrettyDiff = i.shouldMakePrettyDiff), (this.originalLines = e), (this.modifiedLines = t), (this.original = new We(e)), (this.modified = new We(t)), (this.continueLineDiff = $e(i.maxComputationTime)), (this.continueCharDiff = $e( 0 === i.maxComputationTime ? 0 : Math.min(i.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 = Be( this.original, this.modified, this.continueLineDiff, this.shouldMakePrettyDiff ), t = e.changes, i = e.quitEarly; if (this.shouldIgnoreTrimWhitespace) { const e = []; for (let i = 0, n = t.length; i < n; i++) e.push( je.createFromDiffResult( this.shouldIgnoreTrimWhitespace, t[i], this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges ) ); return { quitEarly: i, changes: e }; } const n = []; let r = 0, s = 0; for (let e = -1, i = t.length; e < i; e++) { const o = e + 1 < i ? 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 i = ze(e, 1), o = ze(t, 1); for ( ; i > 1 && o > 1 && e.charCodeAt(i - 2) === t.charCodeAt(o - 2); ) i--, o--; (i > 1 || o > 1) && this._pushTrimWhitespaceCharChange( n, r + 1, 1, i, s + 1, 1, o ); } { let i = Ue(e, 1), o = Ue(t, 1); const a = e.length + 1, l = t.length + 1; for ( ; i < a && o < l && e.charCodeAt(i - 1) === e.charCodeAt(o - 1); ) i++, o++; (i < a || o < l) && this._pushTrimWhitespaceCharChange( n, r + 1, i, a, s + 1, o, l ); } } r++, s++; } o && (n.push( je.createFromDiffResult( this.shouldIgnoreTrimWhitespace, o, this.original, this.modified, this.continueCharDiff, this.shouldComputeCharChanges, this.shouldPostProcessCharChanges ) ), (r += o.originalLength), (s += o.modifiedLength)); } return { quitEarly: i, changes: n }; } _pushTrimWhitespaceCharChange(e, t, i, n, r, s, o) { if (this._mergeTrimWhitespaceCharChange(e, t, i, n, r, s, o)) return; let a; this.shouldComputeCharChanges && (a = [new He(t, i, t, n, r, s, r, o)]), e.push(new je(t, t, r, r, a)); } _mergeTrimWhitespaceCharChange(e, t, i, n, 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 He(t, i, t, n, r, s, r, o)), !0) ); } } function ze(e, t) { const i = Fe.LC(e); return -1 === i ? t : i + 1; } function Ue(e, t) { const i = Fe.ow(e); return -1 === i ? t : i + 2; } function $e(e) { if (0 === e) return () => !0; const t = Date.now(); return () => Date.now() - t < e; } var Ke = i(3544), qe = i(97461), Ge = i(44906); class Ze { constructor(e, t, i) { const n = new Uint8Array(e * t); for (let r = 0, s = e * t; r < s; r++) n[r] = i; (this._data = n), (this.rows = e), (this.cols = t); } get(e, t) { return this._data[e * this.cols + t]; } set(e, t, i) { this._data[e * this.cols + t] = i; } } class Je { constructor(e) { let t = 0, i = 0; for (let n = 0, r = e.length; n < r; n++) { let [r, s, o] = e[n]; s > t && (t = s), r > i && (i = r), o > i && (i = o); } t++, i++; let n = new Ze(i, t, 0); for (let t = 0, i = e.length; t < i; t++) { let [i, r, s] = e[t]; n.set(i, r, s); } (this._states = n), (this._maxCharCode = t); } nextState(e, t) { return t < 0 || t >= this._maxCharCode ? 0 : this._states.get(e, t); } } let Qe = null, Xe = null; class et { static _createLink(e, t, i, n, r) { let s = r - 1; do { const i = t.charCodeAt(s); if (2 !== e.get(i)) break; s--; } while (s > n); if (n > 0) { const e = t.charCodeAt(n - 1), i = t.charCodeAt(s); ((40 === e && 41 === i) || (91 === e && 93 === i) || (123 === e && 125 === i)) && s--; } return { range: { startLineNumber: i, startColumn: n + 1, endLineNumber: i, endColumn: s + 2, }, url: t.substring(n, s + 1), }; } static computeLinks( e, t = (function () { return ( null === Qe && (Qe = new Je([ [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], ])), Qe ); })() ) { const i = (function () { if (null === Xe) { Xe = new Ge.N(0); const e = ' \t<>\'"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…'; for (let t = 0; t < e.length; t++) Xe.set(e.charCodeAt(t), 1); const t = '.,;'; for (let e = 0; e < t.length; e++) Xe.set(t.charCodeAt(e), 2); } return Xe; })(); let n = []; for (let r = 1, s = e.getLineCount(); r <= s; r++) { const s = e.getLineContent(r), o = s.length; let a = 0, l = 0, c = 0, d = 1, h = !1, u = !1, g = !1, f = !1; for (; a < o; ) { let e = !1; const o = s.charCodeAt(a); if (13 === d) { let t; switch (o) { case 40: (h = !0), (t = 0); break; case 41: t = h ? 0 : 1; break; case 91: (g = !0), (u = !0), (t = 0); break; case 93: (g = !1), (t = u ? 0 : 1); break; case 123: (f = !0), (t = 0); break; case 125: t = f ? 0 : 1; break; case 39: t = 34 === c || 96 === c ? 0 : 1; break; case 34: t = 39 === c || 96 === c ? 0 : 1; break; case 96: t = 39 === c || 34 === c ? 0 : 1; break; case 42: t = 42 === c ? 1 : 0; break; case 124: t = 124 === c ? 1 : 0; break; case 32: t = g ? 0 : 1; break; default: t = i.get(o); } 1 === t && (n.push(et._createLink(i, s, r, l, a)), (e = !0)); } else if (12 === d) { let t; 91 === o ? ((u = !0), (t = 0)) : (t = i.get(o)), 1 === t ? (e = !0) : (d = 13); } else (d = t.nextState(d, o)), 0 === d && (e = !0); e && ((d = 1), (h = !1), (u = !1), (f = !1), (l = a + 1), (c = o)), a++; } 13 === d && n.push(et._createLink(i, s, r, l, o)); } return n; } } class tt { constructor() { this._defaultValueSet = [ ['true', 'false'], ['True', 'False'], [ 'Private', 'Public', 'Friend', 'ReadOnly', 'Partial', 'Protected', 'WriteOnly', ], ['public', 'protected', 'private'], ]; } navigateValueSet(e, t, i, n, r) { if (e && t) { let i = this.doNavigateValueSet(t, r); if (i) return { range: e, value: i }; } if (i && n) { let e = this.doNavigateValueSet(n, r); if (e) return { range: i, value: e }; } return null; } doNavigateValueSet(e, t) { let i = this.numberReplace(e, t); return null !== i ? i : this.textReplace(e, t); } numberReplace(e, t) { let i = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)), n = Number(e), r = parseFloat(e); return isNaN(n) || isNaN(r) || n !== r ? null : 0 !== n || t ? ((n = Math.floor(n * i)), (n += t ? i : -i), String(n / i)) : null; } textReplace(e, t) { return this.valueSetsReplace(this._defaultValueSet, e, t); } valueSetsReplace(e, t, i) { let n = null; for (let r = 0, s = e.length; null === n && r < s; r++) n = this.valueSetReplace(e[r], t, i); return n; } valueSetReplace(e, t, i) { let n = e.indexOf(t); return n >= 0 ? ((n += i ? 1 : -1), n < 0 ? (n = e.length - 1) : (n %= e.length), e[n]) : null; } } tt.INSTANCE = new tt(); var it = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class nt extends class { constructor(e, t, i, n) { (this._uri = e), (this._lines = t), (this._eol = i), (this._versionId = n), (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 H.L(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, i = new Uint32Array(t); for (let n = 0; n < t; n++) i[n] = this._lines[n].length + e; this._lineStarts = new Ke.o(i); } } _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 i = t.split(/\r\n|\r|\n/); if (1 === i.length) return void this._setLineText( e.lineNumber - 1, this._lines[e.lineNumber - 1].substring(0, e.column - 1) + i[0] + this._lines[e.lineNumber - 1].substring(e.column - 1) ); (i[i.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) + i[0] ); let n = new Uint32Array(i.length - 1); for (let t = 1; t < i.length; t++) this._lines.splice(e.lineNumber + t - 1, 0, i[t]), (n[t - 1] = i[t].length + this._eol.length); this._lineStarts && this._lineStarts.insertValues(e.lineNumber, n); } } { 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 i = (0, qe.t2)( e.column, (0, qe.eq)(t), this._lines[e.lineNumber - 1], 0 ); return i ? new j.e(e.lineNumber, i.startColumn, e.lineNumber, i.endColumn) : null; } words(e) { const t = this._lines, i = this._wordenize.bind(this); let n = 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 (!(n < t.length)) break; (r = t[n]), (o = i(r, e)), (s = 0), (n += 1); } }, }; } getLineWords(e, t) { let i = this._lines[e - 1], n = this._wordenize(i, t), r = []; for (const e of n) r.push({ word: i.substring(e.start, e.end), startColumn: e.start + 1, endColumn: e.end + 1, }); return r; } _wordenize(e, t) { const i = []; let n; for (t.lastIndex = 0; (n = t.exec(e)) && 0 !== n[0].length; ) i.push({ start: n.index, end: n.index + n[0].length }); return i; } 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, i = e.startLineNumber - 1, n = e.endLineNumber - 1, r = []; r.push(this._lines[i].substring(e.startColumn - 1)); for (let e = i + 1; e < n; e++) r.push(this._lines[e]); return ( r.push(this._lines[n].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), i = this._lines[t.index].length; return { lineNumber: 1 + t.index, column: 1 + Math.min(t.remainder, i), }; } _validateRange(e) { const t = this._validatePosition({ lineNumber: e.startLineNumber, column: e.startColumn, }), i = this._validatePosition({ lineNumber: e.endLineNumber, column: e.endColumn, }); return t.lineNumber !== e.startLineNumber || t.column !== e.startColumn || i.lineNumber !== e.endLineNumber || i.column !== e.endColumn ? { startLineNumber: t.lineNumber, startColumn: t.column, endLineNumber: i.lineNumber, endColumn: i.column, } : e; } _validatePosition(e) { if (!H.L.isIPosition(e)) throw new Error('bad position'); let { lineNumber: t, column: i } = e, n = !1; if (t < 1) (t = 1), (i = 1), (n = !0); else if (t > this._lines.length) (t = this._lines.length), (i = this._lines[t - 1].length + 1), (n = !0); else { let e = this._lines[t - 1].length + 1; i < 1 ? ((i = 1), (n = !0)) : i > e && ((i = e), (n = !0)); } return n ? { lineNumber: t, column: i } : e; } } class rt { 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 nt( Y.o.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, i, n) { return it(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 Ve(o, a, { shouldComputeCharChanges: !0, shouldPostProcessCharChanges: !0, shouldIgnoreTrimWhitespace: i, shouldMakePrettyDiff: !0, maxComputationTime: n, }).computeDiff(), c = !(l.changes.length > 0) && this._modelsAreIdentical(r, s); return { quitEarly: l.quitEarly, identical: c, changes: l.changes, }; }); } _modelsAreIdentical(e, t) { const i = e.getLineCount(); if (i !== t.getLineCount()) return !1; for (let n = 1; n <= i; n++) if (e.getLineContent(n) !== t.getLineContent(n)) return !1; return !0; } computeMoreMinimalEdits(e, t) { return it(this, void 0, void 0, function* () { const i = this._getModel(e); if (!i) return t; const n = []; let r; t = (0, De.qt)(t, (e, t) => e.range && t.range ? j.e.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), j.e.isEmpty(e) && !s)) continue; const t = i.getValueInRange(e); if (((s = s.replace(/\r\n|\n|\r/g, i.eol)), t === s)) continue; if (Math.max(s.length, t.length) > rt._diffLimit) { n.push({ range: e, text: s }); continue; } const a = Ie(t, s, !1), l = i.offsetAt(j.e.lift(e).getStartPosition()); for (const e of a) { const t = i.positionAt(l + e.originalStart), r = i.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, }, }; i.getValueInRange(o.range) !== o.text && n.push(o); } } return ( 'number' == typeof r && n.push({ eol: r, text: '', range: { startLineNumber: 0, startColumn: 0, endLineNumber: 0, endColumn: 0, }, }), n ); }); } computeLinks(e) { return it(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, i, n) { return it(this, void 0, void 0, function* () { const r = this._getModel(e); if (!r) return null; const s = [], o = new Set(), a = new RegExp(i, n), 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 > rt._suggestionsLimit)) ) break; return s; }); } computeWordRanges(e, t, i, n) { return it(this, void 0, void 0, function* () { let r = this._getModel(e); if (!r) return Object.create(null); const s = new RegExp(i, n), o = Object.create(null); for (let e = t.startLineNumber; e < t.endLineNumber; e++) { let t = r.getLineWords(e, s); for (const i of t) { if (!isNaN(Number(i.word))) continue; let t = o[i.word]; t || ((t = []), (o[i.word] = t)), t.push({ startLineNumber: e, startColumn: i.startColumn, endLineNumber: e, endColumn: i.endColumn, }); } } return o; }); } navigateValueSet(e, t, i, n, r) { return it(this, void 0, void 0, function* () { let s = this._getModel(e); if (!s) return null; let o = new RegExp(n, 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 c = s.getValueInRange(l); return tt.INSTANCE.navigateValueSet(t, a, l, c, i); }); } loadForeignModule(e, t, i) { let n = { host: ye.IU(i, (e, t) => this._host.fhr(e, t)), getMirrorModels: () => this._getModels(), }; return this._foreignModuleFactory ? ((this._foreignModule = this._foreignModuleFactory(n, t)), Promise.resolve(ye.$E(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); } } } (rt._diffLimit = 1e5), (rt._suggestionsLimit = 1e4), 'function' == typeof importScripts && (ve.li.monaco = $()); var st = i(51200), ot = i(33187), at = i(43557), lt = i(84013), ct = function (e, t) { return function (i, n) { t(i, n, e); }; }; function dt(e, t) { let i = e.getModel(t); return !!i && !i.isTooLargeForSyncing(); } let ht = class extends _e.JT { constructor(e, t, i) { super(), (this._modelService = e), (this._workerManager = this._register( new gt(this._modelService) )), (this._logService = i), this._register( ue.pM.register('*', { provideLinks: (e, t) => dt(this._modelService, e.uri) ? this._workerManager .withWorker() .then((t) => t.computeLinks(e.uri)) .then((e) => e && { links: e }) : Promise.resolve({ links: [] }), }) ), this._register( ue.KZ.register( '*', new ut(this._workerManager, t, this._modelService) ) ); } dispose() { super.dispose(); } canComputeDiff(e, t) { return dt(this._modelService, e) && dt(this._modelService, t); } computeDiff(e, t, i, n) { return this._workerManager .withWorker() .then((r) => r.computeDiff(e, t, i, n)); } computeMoreMinimalEdits(e, t) { if ((0, De.Of)(t)) { if (!dt(this._modelService, e)) return Promise.resolve(t); const i = lt.G.create(!0), n = this._workerManager .withWorker() .then((i) => i.computeMoreMinimalEdits(e, t)); return ( n.finally(() => this._logService.trace( 'FORMAT#computeMoreMinimalEdits', e.toString(!0), i.elapsed() ) ), n ); } return Promise.resolve(void 0); } canNavigateValueSet(e) { return dt(this._modelService, e); } navigateValueSet(e, t, i) { return this._workerManager .withWorker() .then((n) => n.navigateValueSet(e, t, i)); } canComputeWordRanges(e) { return dt(this._modelService, e); } computeWordRanges(e, t) { return this._workerManager .withWorker() .then((i) => i.computeWordRanges(e, t)); } }; ht = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([ct(0, st.q), ct(1, ot.V), ct(2, at.VZ)], ht); class ut { constructor(e, t, i) { (this._debugDisplayName = 'wordbasedCompletions'), (this._workerManager = e), (this._configurationService = t), (this._modelService = i); } provideCompletionItems(e, t) { return ( (i = this), (n = void 0), (s = function* () { const { wordBasedSuggestions: i, } = this._configurationService.getValue(e.uri, t, 'editor'); if (!i) return; if (!dt(this._modelService, e.uri)) return; const n = e.getWordAtPosition(t), r = n ? new j.e( t.lineNumber, n.startColumn, t.lineNumber, n.endColumn ) : j.e.fromPositions(t), s = r.setEndPosition(t.lineNumber, t.column), o = yield this._workerManager.withWorker(), a = yield o.textualSuggest(e.uri, t); return a ? { suggestions: a.map((e) => ({ kind: 18, label: e, insertText: e, range: { insert: s, replace: r }, })), } : void 0; }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } } class gt extends _e.JT { constructor(e) { super(), (this._modelService = e), (this._editorWorkerClient = null), (this._lastWorkerUsedTime = new Date().getTime()), this._register(new me.zh()).cancelAndSet( () => this._checkStopIdleWorker(), Math.round(15e4) ), this._register( this._modelService.onModelRemoved((e) => this._checkStopEmptyWorker() ) ); } dispose() { this._editorWorkerClient && (this._editorWorkerClient.dispose(), (this._editorWorkerClient = null)), super.dispose(); } _checkStopEmptyWorker() { this._editorWorkerClient && 0 === this._modelService.getModels().length && (this._editorWorkerClient.dispose(), (this._editorWorkerClient = null)); } _checkStopIdleWorker() { this._editorWorkerClient && new Date().getTime() - this._lastWorkerUsedTime > 3e5 && (this._editorWorkerClient.dispose(), (this._editorWorkerClient = null)); } withWorker() { return ( (this._lastWorkerUsedTime = new Date().getTime()), this._editorWorkerClient || (this._editorWorkerClient = new _t( this._modelService, !1, 'editorWorkerService' )), Promise.resolve(this._editorWorkerClient) ); } } class ft extends _e.JT { constructor(e, t, i) { if ( (super(), (this._syncedModels = Object.create(null)), (this._syncedModelsLastUsedTime = Object.create(null)), (this._proxy = e), (this._modelService = t), !i) ) { let e = new me.zh(); e.cancelAndSet(() => this._checkStopModelSync(), Math.round(3e4)), this._register(e); } } dispose() { for (let e in this._syncedModels) (0, _e.B9)(this._syncedModels[e]); (this._syncedModels = Object.create(null)), (this._syncedModelsLastUsedTime = Object.create(null)), super.dispose(); } ensureSyncedResources(e) { for (const t of e) { let e = t.toString(); this._syncedModels[e] || this._beginModelSync(t), this._syncedModels[e] && (this._syncedModelsLastUsedTime[e] = new Date().getTime()); } } _checkStopModelSync() { let e = new Date().getTime(), t = []; for (let i in this._syncedModelsLastUsedTime) e - this._syncedModelsLastUsedTime[i] > 6e4 && t.push(i); for (const e of t) this._stopModelSync(e); } _beginModelSync(e) { let t = this._modelService.getModel(e); if (!t) return; if (t.isTooLargeForSyncing()) return; let i = e.toString(); this._proxy.acceptNewModel({ url: t.uri.toString(), lines: t.getLinesContent(), EOL: t.getEOL(), versionId: t.getVersionId(), }); const n = new _e.SL(); n.add( t.onDidChangeContent((e) => { this._proxy.acceptModelChanged(i.toString(), e); }) ), n.add( t.onWillDispose(() => { this._stopModelSync(i); }) ), n.add( (0, _e.OF)(() => { this._proxy.acceptRemovedModel(i); }) ), (this._syncedModels[i] = n); } _stopModelSync(e) { let t = this._syncedModels[e]; delete this._syncedModels[e], delete this._syncedModelsLastUsedTime[e], (0, _e.B9)(t); } } class pt { constructor(e) { (this._instance = e), (this._proxyObj = Promise.resolve(this._instance)); } dispose() { this._instance.dispose(); } getProxyObject() { return this._proxyObj; } } class mt { constructor(e) { this._workerClient = e; } fhr(e, t) { return this._workerClient.fhr(e, t); } } class _t extends _e.JT { constructor(e, t, i) { super(), (this._disposed = !1), (this._modelService = e), (this._keepIdleModels = t), (this._workerFactory = new Le(i)), (this._worker = null), (this._modelManager = null); } fhr(e, t) { throw new Error('Not implemented!'); } _getOrCreateWorker() { if (!this._worker) try { this._worker = this._register( new ke( this._workerFactory, 'vs/editor/common/services/editorSimpleWorker', new mt(this) ) ); } catch (e) { Ce(e), (this._worker = new pt(new rt(new mt(this), null))); } return this._worker; } _getProxy() { return this._getOrCreateWorker() .getProxyObject() .then( void 0, (e) => ( Ce(e), (this._worker = new pt(new rt(new mt(this), null))), this._getOrCreateWorker().getProxyObject() ) ); } _getOrCreateModelManager(e) { return ( this._modelManager || (this._modelManager = this._register( new ft(e, this._modelService, this._keepIdleModels) )), this._modelManager ); } _withSyncedResources(e) { return this._disposed ? Promise.reject((0, be.F0)()) : this._getProxy().then( (t) => ( this._getOrCreateModelManager(t).ensureSyncedResources(e), t ) ); } computeDiff(e, t, i, n) { return this._withSyncedResources([e, t]).then((r) => r.computeDiff(e.toString(), t.toString(), i, n) ); } computeMoreMinimalEdits(e, t) { return this._withSyncedResources([e]).then((i) => i.computeMoreMinimalEdits(e.toString(), t) ); } computeLinks(e) { return this._withSyncedResources([e]).then((t) => t.computeLinks(e.toString()) ); } textualSuggest(e, t) { return this._withSyncedResources([e]).then((i) => { let n = this._modelService.getModel(e); if (!n) return null; let r = Me.zu.getWordDefinition(n.getLanguageIdentifier().id), s = r.source, o = (0, Fe.mr)(r); return i.textualSuggest(e.toString(), t, s, o); }); } computeWordRanges(e, t) { return this._withSyncedResources([e]).then((i) => { let n = this._modelService.getModel(e); if (!n) return Promise.resolve(null); let r = Me.zu.getWordDefinition(n.getLanguageIdentifier().id), s = r.source, o = (0, Fe.mr)(r); return i.computeWordRanges(e.toString(), t, s, o); }); } navigateValueSet(e, t, i) { return this._withSyncedResources([e]).then((n) => { let r = this._modelService.getModel(e); if (!r) return null; let s = Me.zu.getWordDefinition(r.getLanguageIdentifier().id), o = s.source, a = (0, Fe.mr)(s); return n.navigateValueSet(e.toString(), t, i, o, a); }); } dispose() { super.dispose(), (this._disposed = !0); } } class bt extends _t { constructor(e, t) { super(e, t.keepIdleModels || !1, t.label), (this._foreignModuleId = t.moduleId), (this._foreignModuleCreateData = t.createData || null), (this._foreignModuleHost = t.host || null), (this._foreignProxy = null); } fhr(e, t) { if ( !this._foreignModuleHost || 'function' != typeof this._foreignModuleHost[e] ) return Promise.reject( new Error( 'Missing method ' + e + ' or missing main thread foreign host.' ) ); try { return Promise.resolve( this._foreignModuleHost[e].apply(this._foreignModuleHost, t) ); } catch (e) { return Promise.reject(e); } } _getForeignProxy() { return ( this._foreignProxy || (this._foreignProxy = this._getProxy().then((e) => { const t = this._foreignModuleHost ? ye.$E(this._foreignModuleHost) : []; return e .loadForeignModule( this._foreignModuleId, this._foreignModuleCreateData, t ) .then((t) => { this._foreignModuleCreateData = null; const i = (t, i) => e.fmr(t, i), n = (e, t) => function () { const i = Array.prototype.slice.call(arguments, 0); return t(e, i); }; let r = {}; for (const e of t) r[e] = n(e, i); return r; }); })), this._foreignProxy ); } getProxy() { return this._getForeignProxy(); } withSyncedResources(e) { return this._withSyncedResources(e).then((e) => this.getProxy()); } } var vt = i(78411), yt = i(77736), wt = i(13824); function Ct(e) { return 'string' == typeof e; } function St(e) { return !Ct(e); } function kt(e) { return !e; } function xt(e, t) { return e.ignoreCase && t ? t.toLowerCase() : t; } function Lt(e) { return e.replace(/[&<>'"_]/g, '-'); } function Mt(e, t) { return new Error(`${e.languageId}: ${t}`); } function Dt(e, t, i, n, r) { let s = null; return t.replace( /\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g, function (t, o, a, l, c, d, h, u, g) { return kt(a) ? kt(l) ? !kt(c) && c < n.length ? xt(e, n[c]) : !kt(h) && e && 'string' == typeof e[h] ? e[h] : (null === s && ((s = r.split('.')), s.unshift(r)), !kt(d) && d < s.length ? xt(e, s[d]) : '') : xt(e, i) : '$'; } ); } function Nt(e, t) { let i = t; for (; i && i.length > 0; ) { const t = e.tokenizer[i]; if (t) return t; const n = i.lastIndexOf('.'); i = n < 0 ? null : i.substr(0, n); } return null; } class Et { constructor(e) { (this._maxCacheDepth = e), (this._entries = Object.create(null)); } static create(e, t) { return this._INSTANCE.create(e, t); } create(e, t) { if (null !== e && e.depth >= this._maxCacheDepth) return new Tt(e, t); let i = Tt.getStackElementId(e); i.length > 0 && (i += '|'), (i += t); let n = this._entries[i]; return n || ((n = new Tt(e, t)), (this._entries[i] = n), n); } } Et._INSTANCE = new Et(5); class Tt { constructor(e, t) { (this.parent = e), (this.state = t), (this.depth = (this.parent ? this.parent.depth : 0) + 1); } static getStackElementId(e) { let t = ''; for (; null !== e; ) t.length > 0 && (t += '|'), (t += e.state), (e = e.parent); return t; } static _equals(e, t) { for (; null !== e && null !== t; ) { if (e === t) return !0; if (e.state !== t.state) return !1; (e = e.parent), (t = t.parent); } return null === e && null === t; } equals(e) { return Tt._equals(this, e); } push(e) { return Et.create(this, e); } pop() { return this.parent; } popall() { let e = this; for (; e.parent; ) e = e.parent; return e; } switchTo(e) { return Et.create(this.parent, e); } } class It { constructor(e, t) { (this.modeId = e), (this.state = t); } equals(e) { return this.modeId === e.modeId && this.state.equals(e.state); } clone() { return this.state.clone() === this.state ? this : new It(this.modeId, this.state); } } class Ot { constructor(e) { (this._maxCacheDepth = e), (this._entries = Object.create(null)); } static create(e, t) { return this._INSTANCE.create(e, t); } create(e, t) { if (null !== t) return new At(e, t); if (null !== e && e.depth >= this._maxCacheDepth) return new At(e, t); let i = Tt.getStackElementId(e), n = this._entries[i]; return n || ((n = new At(e, null)), (this._entries[i] = n), n); } } Ot._INSTANCE = new Ot(5); class At { constructor(e, t) { (this.stack = e), (this.embeddedModeData = t); } clone() { return (this.embeddedModeData ? this.embeddedModeData.clone() : null) === this.embeddedModeData ? this : Ot.create(this.stack, this.embeddedModeData); } equals(e) { return ( e instanceof At && !!this.stack.equals(e.stack) && ((null === this.embeddedModeData && null === e.embeddedModeData) || (null !== this.embeddedModeData && null !== e.embeddedModeData && this.embeddedModeData.equals(e.embeddedModeData))) ); } } class Rt { constructor() { (this._tokens = []), (this._language = null), (this._lastTokenType = null), (this._lastTokenLanguage = null); } enterMode(e, t) { this._language = t; } emit(e, t) { (this._lastTokenType === t && this._lastTokenLanguage === this._language) || ((this._lastTokenType = t), (this._lastTokenLanguage = this._language), this._tokens.push(new z.WU(e, t, this._language))); } nestedModeTokenize(e, t, i) { const n = t.modeId, r = t.state, s = ue.RW.get(n); if (!s) return this.enterMode(i, n), this.emit(i, ''), r; let o = s.tokenize(e, r, i); return ( (this._tokens = this._tokens.concat(o.tokens)), (this._lastTokenType = null), (this._lastTokenLanguage = null), (this._language = null), o.endState ); } finalize(e) { return new z.hG(this._tokens, e); } } class Pt { constructor(e, t) { (this._modeService = e), (this._theme = t), (this._prependTokens = null), (this._tokens = []), (this._currentLanguageId = 0), (this._lastTokenMetadata = 0); } enterMode(e, t) { this._currentLanguageId = this._modeService.getLanguageIdentifier( t ).id; } emit(e, t) { let i = this._theme.match(this._currentLanguageId, t); this._lastTokenMetadata !== i && ((this._lastTokenMetadata = i), this._tokens.push(e), this._tokens.push(i)); } static _merge(e, t, i) { let n = null !== e ? e.length : 0, r = t.length, s = null !== i ? i.length : 0; if (0 === n && 0 === r && 0 === s) return new Uint32Array(0); if (0 === n && 0 === r) return i; if (0 === r && 0 === s) return e; let o = new Uint32Array(n + r + s); null !== e && o.set(e); for (let e = 0; e < r; e++) o[n + e] = t[e]; return null !== i && o.set(i, n + r), o; } nestedModeTokenize(e, t, i) { const n = t.modeId, r = t.state, s = ue.RW.get(n); if (!s) return this.enterMode(i, n), this.emit(i, ''), r; let o = s.tokenize2(e, r, i); return ( (this._prependTokens = Pt._merge( this._prependTokens, this._tokens, o.tokens )), (this._tokens = []), (this._currentLanguageId = 0), (this._lastTokenMetadata = 0), o.endState ); } finalize(e) { return new z.Hi( Pt._merge(this._prependTokens, this._tokens, null), e ); } } class Ft { constructor(e, t, i, n) { (this._modeService = e), (this._standaloneThemeService = t), (this._modeId = i), (this._lexer = n), (this._embeddedModes = Object.create(null)), (this.embeddedLoaded = Promise.resolve(void 0)); let r = !1; this._tokenizationRegistryListener = ue.RW.onDidChange((e) => { if (r) return; let t = !1; for (let i = 0, n = e.changedLanguages.length; i < n; i++) { let n = e.changedLanguages[i]; if (this._embeddedModes[n]) { t = !0; break; } } t && ((r = !0), ue.RW.fire([this._modeId]), (r = !1)); }); } dispose() { this._tokenizationRegistryListener.dispose(); } getLoadStatus() { let e = []; for (let t in this._embeddedModes) { const i = ue.RW.get(t); if (i) { if (i instanceof Ft) { const t = i.getLoadStatus(); !1 === t.loaded && e.push(t.promise); } continue; } const n = ue.RW.getPromise(t); n && e.push(n); } return 0 === e.length ? { loaded: !0 } : { loaded: !1, promise: Promise.all(e).then((e) => {}) }; } getInitialState() { let e = Et.create(null, this._lexer.start); return Ot.create(e, null); } tokenize(e, t, i) { let n = new Rt(), r = this._tokenize(e, t, i, n); return n.finalize(r); } tokenize2(e, t, i) { let n = new Pt( this._modeService, this._standaloneThemeService.getColorTheme().tokenTheme ), r = this._tokenize(e, t, i, n); return n.finalize(r); } _tokenize(e, t, i, n) { return t.embeddedModeData ? this._nestedTokenize(e, t, i, n) : this._myTokenize(e, t, i, n); } _findLeavingNestedModeOffset(e, t) { let i = this._lexer.tokenizer[t.stack.state]; if (!i && ((i = Nt(this._lexer, t.stack.state)), !i)) throw Mt( this._lexer, 'tokenizer state is not defined: ' + t.stack.state ); let n = -1, r = !1; for (const t of i) { if (!St(t.action) || '@pop' !== t.action.nextEmbedded) continue; r = !0; let i = t.regex, s = t.regex.source; if ( '^(?:' === s.substr(0, 4) && ')' === s.substr(s.length - 1, 1) ) { let e = (i.ignoreCase ? 'i' : '') + (i.unicode ? 'u' : ''); i = new RegExp(s.substr(4, s.length - 5), e); } let o = e.search(i); -1 === o || (0 !== o && t.matchOnlyAtLineStart) || ((-1 === n || o < n) && (n = o)); } if (!r) throw Mt( this._lexer, 'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: ' + t.stack.state ); return n; } _nestedTokenize(e, t, i, n) { let r = this._findLeavingNestedModeOffset(e, t); if (-1 === r) { let r = n.nestedModeTokenize(e, t.embeddedModeData, i); return Ot.create(t.stack, new It(t.embeddedModeData.modeId, r)); } let s = e.substring(0, r); s.length > 0 && n.nestedModeTokenize(s, t.embeddedModeData, i); let o = e.substring(r); return this._myTokenize(o, t, i + r, n); } _safeRuleName(e) { return e ? e.name : '(unknown)'; } _myTokenize(e, t, i, n) { n.enterMode(i, this._modeId); const r = e.length; let s = t.embeddedModeData, o = t.stack, a = 0, l = null, c = !0; for (; c || a < r; ) { const t = a, u = o.depth, g = l ? l.groups.length : 0, f = o.state; let p = null, m = null, _ = null, b = null, v = null; if (l) { p = l.matches; const e = l.groups.shift(); (m = e.matched), (_ = e.action), (b = l.rule), 0 === l.groups.length && (l = null); } else { if (!c && a >= r) break; c = !1; let t = this._lexer.tokenizer[f]; if (!t && ((t = Nt(this._lexer, f)), !t)) throw Mt(this._lexer, 'tokenizer state is not defined: ' + f); let i = e.substr(a); for (const e of t) if ( (0 === a || !e.matchOnlyAtLineStart) && ((p = i.match(e.regex)), p) ) { (m = p[0]), (_ = e.action); break; } } if ( (p || ((p = ['']), (m = '')), _ || (a < r && ((p = [e.charAt(a)]), (m = p[0])), (_ = this._lexer.defaultToken)), null === m) ) break; for ( a += m.length; !(function (e) { return Array.isArray(e); })(_) && St(_) && _.test; ) _ = _.test(m, p, f, a === r); let y = null; if ('string' == typeof _ || Array.isArray(_)) y = _; else if (_.group) y = _.group; else if (null !== _.token && void 0 !== _.token) { if ( ((y = _.tokenSubst ? Dt(this._lexer, _.token, m, p, f) : _.token), _.nextEmbedded) ) if ('@pop' === _.nextEmbedded) { if (!s) throw Mt( this._lexer, 'cannot pop embedded mode if not inside one' ); s = null; } else { if (s) throw Mt( this._lexer, 'cannot enter embedded mode from within an embedded mode' ); v = Dt(this._lexer, _.nextEmbedded, m, p, f); } if ( (_.goBack && (a = Math.max(0, a - _.goBack)), _.switchTo && 'string' == typeof _.switchTo) ) { let e = Dt(this._lexer, _.switchTo, m, p, f); if (('@' === e[0] && (e = e.substr(1)), !Nt(this._lexer, e))) throw Mt( this._lexer, "trying to switch to a state '" + e + "' that is undefined in rule: " + this._safeRuleName(b) ); o = o.switchTo(e); } else { if (_.transform && 'function' == typeof _.transform) throw Mt(this._lexer, 'action.transform not supported'); if (_.next) if ('@push' === _.next) { if (o.depth >= this._lexer.maxStack) throw Mt( this._lexer, 'maximum tokenizer stack size reached: [' + o.state + ',' + o.parent.state + ',...]' ); o = o.push(f); } else if ('@pop' === _.next) { if (o.depth <= 1) throw Mt( this._lexer, 'trying to pop an empty stack in rule: ' + this._safeRuleName(b) ); o = o.pop(); } else if ('@popall' === _.next) o = o.popall(); else { let e = Dt(this._lexer, _.next, m, p, f); if ( ('@' === e[0] && (e = e.substr(1)), !Nt(this._lexer, e)) ) throw Mt( this._lexer, "trying to set a next state '" + e + "' that is undefined in rule: " + this._safeRuleName(b) ); o = o.push(e); } } _.log && 'string' == typeof _.log && ((d = this._lexer), (h = this._lexer.languageId + ': ' + Dt(this._lexer, _.log, m, p, f)), console.log(`${d.languageId}: ${h}`)); } if (null === y) throw Mt( this._lexer, 'lexer rule has no well-defined action in rule: ' + this._safeRuleName(b) ); const w = (t) => { let s = this._modeService.getModeIdForLanguageName(t); s && (t = s); const l = this._getNestedEmbeddedModeData(t); if (a < r) { const t = e.substr(a); return this._nestedTokenize(t, Ot.create(o, l), i + a, n); } return Ot.create(o, l); }; if (Array.isArray(y)) { if (l && l.groups.length > 0) throw Mt( this._lexer, 'groups cannot be nested: ' + this._safeRuleName(b) ); if (p.length !== y.length + 1) throw Mt( this._lexer, 'matched number of groups does not match the number of actions in rule: ' + this._safeRuleName(b) ); let e = 0; for (let t = 1; t < p.length; t++) e += p[t].length; if (e !== m.length) throw Mt( this._lexer, 'with groups, all characters should be matched in consecutive groups in rule: ' + this._safeRuleName(b) ); l = { rule: b, matches: p, groups: [] }; for (let e = 0; e < y.length; e++) l.groups[e] = { action: y[e], matched: p[e + 1] }; a -= m.length; } else { { if ( '@rematch' === y && ((a -= m.length), (m = ''), (p = null), (y = ''), null !== v) ) return w(v); if (0 === m.length) { if ( 0 === r || u !== o.depth || f !== o.state || (l ? l.groups.length : 0) !== g ) continue; throw Mt( this._lexer, 'no progress in tokenizer in rule: ' + this._safeRuleName(b) ); } let e = null; if (Ct(y) && 0 === y.indexOf('@brackets')) { let t = y.substr('@brackets'.length), i = Bt(this._lexer, m); if (!i) throw Mt( this._lexer, '@brackets token returned but no bracket defined as: ' + m ); e = Lt(i.token + t); } else e = Lt('' === y ? '' : y + this._lexer.tokenPostfix); n.emit(t + i, e); } if (null !== v) return w(v); } } var d, h; return Ot.create(o, s); } _getNestedEmbeddedModeData(e) { let t = this._locateMode(e); if (t) { let e = ue.RW.get(t); if (e) return new It(t, e.getInitialState()); } return new It(t || ge.TG, ge.nO); } _locateMode(e) { if (!e || !this._modeService.isRegisteredMode(e)) return null; if (e === this._modeId) return e; let t = this._modeService.getModeId(e); return ( t && (this._modeService.triggerMode(t), (this._embeddedModes[t] = !0)), t ); } } function Bt(e, t) { if (!t) return null; t = xt(e, t); let i = e.brackets; for (const e of i) { if (e.open === t) return { token: e.token, bracketType: 1 }; if (e.close === t) return { token: e.token, bracketType: -1 }; } return null; } class Wt { static colorizeElement(e, t, i, n) { let r = (n = n || {}).theme || 'vs', s = n.mimeType || i.getAttribute('lang') || i.getAttribute('data-lang'); if (!s) return console.error('Mode not detected'), Promise.resolve(); e.setTheme(r); let o = i.firstChild ? i.firstChild.nodeValue : ''; return ( (i.className += ' ' + r), this.colorize(t, o || '', s, n).then( (e) => { i.innerHTML = e; }, (e) => console.error(e) ) ); } static colorize(e, t, i, n) { let r = 4; n && 'number' == typeof n.tabSize && (r = n.tabSize), Fe.uS(t) && (t = t.substr(1)); let s = t.split(/\r\n|\r|\n/), o = e.getModeId(i); if (!o) return Promise.resolve(Ht(s, r)); e.triggerMode(o); const a = ue.RW.get(o); if (a) return Yt(s, r, a); const l = ue.RW.getPromise(o); return new Promise( l ? (e, t) => { l.then((i) => { Yt(s, r, i).then(e, t); }, t); } : (e, t) => { let i = null, n = null; const a = () => { i && (i.dispose(), (i = null)), n && (n.dispose(), (n = null)); const a = ue.RW.get(o); a ? Yt(s, r, a).then(e, t) : e(Ht(s, r)); }; (n = new me._F()), n.cancelAndSet(a, 500), (i = ue.RW.onDidChange((e) => { e.changedLanguages.indexOf(o) >= 0 && a(); })); } ); } static colorizeLine(e, t, i, n, r = 4) { const s = wt.wA.isBasicASCII(e, t), o = wt.wA.containsRTL(e, s, i); return (0, yt.tF)( new yt.IJ( !1, !0, e, !1, s, o, 0, n, [], r, 0, 0, 0, 0, -1, 'none', !1, !1, null ) ).html; } static colorizeModelLine(e, t, i = 4) { let n = e.getLineContent(t); e.forceTokenization(t); let r = e.getLineTokens(t).inflate(); return this.colorizeLine( n, e.mightContainNonBasicASCII(), e.mightContainRTL(), r, i ); } } function Yt(e, t, i) { return new Promise((n, r) => { const s = () => { const o = (function (e, t, i) { let n = [], r = i.getInitialState(); for (let s = 0, o = e.length; s < o; s++) { let o = e[s], a = i.tokenize2(o, r, 0); vt.A.convertToEndOffset(a.tokens, o.length); let l = new vt.A(a.tokens, o); const c = wt.wA.isBasicASCII(o, !0), d = wt.wA.containsRTL(o, c, !0); let h = (0, yt.tF)( new yt.IJ( !1, !0, o, !1, c, d, 0, l.inflate(), [], t, 0, 0, 0, 0, -1, 'none', !1, !1, null ) ); (n = n.concat(h.html)), n.push('
    '), (r = a.endState); } return n.join(''); })(e, t, i); if (i instanceof Ft) { const e = i.getLoadStatus(); if (!1 === e.loaded) return void e.promise.then(s, r); } n(o); }; s(); }); } function Ht(e, t) { let i = []; const n = new Uint32Array(2); (n[0] = 0), (n[1] = 16793600); for (let r = 0, s = e.length; r < s; r++) { let s = e[r]; n[0] = s.length; const o = new vt.A(n, s), a = wt.wA.isBasicASCII(s, !0), l = wt.wA.containsRTL(s, a, !0); let c = (0, yt.tF)( new yt.IJ( !1, !0, s, !1, a, l, 0, o, [], t, 0, 0, 0, 0, -1, 'none', !1, !1, null ) ); (i = i.concat(c.html)), i.push('
    '); } return i.join(''); } var jt = i(59069), Vt = i(14603), zt = i(65520), Ut = i(66007), $t = i(56345), Kt = i(69386), qt = i(33108), Gt = i(43702), Zt = i(36248), Jt = i(23193); class Qt { constructor(e = {}, t = [], i = []) { (this._contents = e), (this._keys = t), (this._overrides = i), (this.isFrozen = !1); } get contents() { return this.checkAndFreeze(this._contents); } get overrides() { return this.checkAndFreeze(this._overrides); } get keys() { return this.checkAndFreeze(this._keys); } isEmpty() { return ( 0 === this._keys.length && 0 === Object.keys(this._contents).length && 0 === this._overrides.length ); } getValue(e) { return e ? (0, qt.Mt)(this.contents, e) : this.contents; } override(e) { const t = this.getContentsForOverrideIdentifer(e); if (!t || 'object' != typeof t || !Object.keys(t).length) return this; let i = {}; for (const e of De.EB([ ...Object.keys(this.contents), ...Object.keys(t), ])) { let n = this.contents[e], r = t[e]; r && ('object' == typeof n && 'object' == typeof r ? ((n = Zt.I8(n)), this.mergeContents(n, r)) : (n = r)), (i[e] = n); } return new Qt(i, this.keys, this.overrides); } merge(...e) { const t = Zt.I8(this.contents), i = Zt.I8(this.overrides), n = [...this.keys]; for (const r of e) { this.mergeContents(t, r.contents); for (const e of r.overrides) { const [t] = i.filter((t) => De.fS(t.identifiers, e.identifiers) ); t ? this.mergeContents(t.contents, e.contents) : i.push(Zt.I8(e)); } for (const e of r.keys) -1 === n.indexOf(e) && n.push(e); } return new Qt(t, n, i); } freeze() { return (this.isFrozen = !0), this; } mergeContents(e, t) { for (const i of Object.keys(t)) i in e && ye.Kn(e[i]) && ye.Kn(t[i]) ? this.mergeContents(e[i], t[i]) : (e[i] = Zt.I8(t[i])); } checkAndFreeze(e) { return this.isFrozen && !Object.isFrozen(e) ? Zt._A(e) : e; } getContentsForOverrideIdentifer(e) { for (const t of this.overrides) if (-1 !== t.identifiers.indexOf(e)) return t.contents; return null; } toJSON() { return { contents: this.contents, overrides: this.overrides, keys: this.keys, }; } setValue(e, t) { this.addKey(e), (0, qt.KV)(this.contents, e, t, (e) => { throw new Error(e); }); } removeValue(e) { this.removeKey(e) && (0, qt.xL)(this.contents, e); } addKey(e) { let t = this.keys.length; for (let i = 0; i < t; i++) 0 === e.indexOf(this.keys[i]) && (t = i); this.keys.splice(t, 1, e); } removeKey(e) { let t = this.keys.indexOf(e); return -1 !== t && (this.keys.splice(t, 1), !0); } } class Xt extends Qt { constructor() { const e = (0, qt.O4)(), t = (0, qt.MR)(), i = []; for (const t of Object.keys(e)) Jt.G1.test(t) && i.push({ identifiers: [(0, Jt.Uh)(t).trim()], keys: Object.keys(e[t]), contents: (0, qt.Od)(e[t], (e) => console.error(`Conflict in default settings file: ${e}`) ), }); super(e, t, i); } } class ei { constructor( e, t, i = new Qt(), n = new Qt(), r = new Gt.Y9(), s = new Qt(), o = new Gt.Y9(), a = !0 ) { (this._defaultConfiguration = e), (this._localUserConfiguration = t), (this._remoteUserConfiguration = i), (this._workspaceConfiguration = n), (this._folderConfigurations = r), (this._memoryConfiguration = s), (this._memoryConfigurationByResource = o), (this._freeze = a), (this._workspaceConsolidatedConfiguration = null), (this._foldersConsolidatedConfigurations = new Gt.Y9()), (this._userConfiguration = null); } getValue(e, t, i) { return this.getConsolidateConfigurationModel(t, i).getValue(e); } updateValue(e, t, i = {}) { let n; i.resource ? ((n = this._memoryConfigurationByResource.get(i.resource)), n || ((n = new Qt()), this._memoryConfigurationByResource.set(i.resource, n))) : (n = this._memoryConfiguration), void 0 === t ? n.removeValue(e) : n.setValue(e, t), i.resource || (this._workspaceConsolidatedConfiguration = null); } get userConfiguration() { return ( this._userConfiguration || ((this._userConfiguration = this._remoteUserConfiguration.isEmpty() ? this._localUserConfiguration : this._localUserConfiguration.merge( this._remoteUserConfiguration )), this._freeze && this._userConfiguration.freeze()), this._userConfiguration ); } getConsolidateConfigurationModel(e, t) { let i = this.getConsolidatedConfigurationModelForResource(e, t); return e.overrideIdentifier ? i.override(e.overrideIdentifier) : i; } getConsolidatedConfigurationModelForResource({ resource: e }, t) { let i = this.getWorkspaceConsolidatedConfiguration(); if (t && e) { const n = t.getFolder(e); n && (i = this.getFolderConsolidatedConfiguration(n.uri) || i); const r = this._memoryConfigurationByResource.get(e); r && (i = i.merge(r)); } return i; } getWorkspaceConsolidatedConfiguration() { return ( this._workspaceConsolidatedConfiguration || ((this._workspaceConsolidatedConfiguration = this._defaultConfiguration.merge( this.userConfiguration, this._workspaceConfiguration, this._memoryConfiguration )), this._freeze && (this._workspaceConfiguration = this._workspaceConfiguration.freeze())), this._workspaceConsolidatedConfiguration ); } getFolderConsolidatedConfiguration(e) { let t = this._foldersConsolidatedConfigurations.get(e); if (!t) { const i = this.getWorkspaceConsolidatedConfiguration(), n = this._folderConfigurations.get(e); n ? ((t = i.merge(n)), this._freeze && (t = t.freeze()), this._foldersConsolidatedConfigurations.set(e, t)) : (t = i); } return t; } toData() { return { defaults: { contents: this._defaultConfiguration.contents, overrides: this._defaultConfiguration.overrides, keys: this._defaultConfiguration.keys, }, user: { contents: this.userConfiguration.contents, overrides: this.userConfiguration.overrides, keys: this.userConfiguration.keys, }, workspace: { contents: this._workspaceConfiguration.contents, overrides: this._workspaceConfiguration.overrides, keys: this._workspaceConfiguration.keys, }, folders: [...this._folderConfigurations.keys()].reduce((e, t) => { const { contents: i, overrides: n, keys: r, } = this._folderConfigurations.get(t); return e.push([t, { contents: i, overrides: n, keys: r }]), e; }, []), }; } static parse(e) { const t = this.parseConfigurationModel(e.defaults), i = this.parseConfigurationModel(e.user), n = this.parseConfigurationModel(e.workspace), r = e.folders.reduce( (e, t) => ( e.set(Y.o.revive(t[0]), this.parseConfigurationModel(t[1])), e ), new Gt.Y9() ); return new ei(t, i, new Qt(), n, r, new Qt(), new Gt.Y9(), !1); } static parseConfigurationModel(e) { return new Qt(e.contents, e.keys, e.overrides).freeze(); } } class ti { constructor(e, t, i, n) { (this.change = e), (this.previous = t), (this.currentConfiguraiton = i), (this.currentWorkspace = n), (this._previousConfiguration = void 0); const r = new Set(); e.keys.forEach((e) => r.add(e)), e.overrides.forEach(([, e]) => e.forEach((e) => r.add(e))), (this.affectedKeys = [...r.values()]); const s = new Qt(); this.affectedKeys.forEach((e) => s.setValue(e, {})), (this.affectedKeysTree = s.contents); } get previousConfiguration() { return ( !this._previousConfiguration && this.previous && (this._previousConfiguration = ei.parse(this.previous.data)), this._previousConfiguration ); } affectsConfiguration(e, t) { var i; if (this.doesAffectedKeysTreeContains(this.affectedKeysTree, e)) { if (t) { const n = this.previousConfiguration ? this.previousConfiguration.getValue( e, t, null === (i = this.previous) || void 0 === i ? void 0 : i.workspace ) : void 0, r = this.currentConfiguraiton.getValue( e, t, this.currentWorkspace ); return !Zt.fS(n, r); } return !0; } return !1; } doesAffectedKeysTreeContains(e, t) { let i, n = (0, qt.Od)({ [t]: !0 }, () => {}); for (; 'object' == typeof n && (i = Object.keys(n)[0]); ) { if (!(e = e[i])) return !1; n = n[i]; } return !0; } } var ii = i(63580); class ni extends _e.JT { constructor(e, t, i, n, r) { super(), (this._contextKeyService = e), (this._commandService = t), (this._telemetryService = i), (this._notificationService = n), (this._logService = r), (this._onDidUpdateKeybindings = this._register(new B.Q5())), (this._currentChord = null), (this._currentChordChecker = new me.zh()), (this._currentChordStatusMessage = null), (this._logging = !1); } get onDidUpdateKeybindings() { return this._onDidUpdateKeybindings ? this._onDidUpdateKeybindings.event : B.ju.None; } dispose() { super.dispose(); } _log(e) { this._logging && this._logService.info(`[KeybindingService]: ${e}`); } getKeybindings() { return this._getResolver().getKeybindings(); } lookupKeybindings(e) { return De.kX( this._getResolver() .lookupKeybindings(e) .map((e) => e.resolvedKeybinding) ); } lookupKeybinding(e) { const t = this._getResolver().lookupPrimaryKeybinding(e); if (t) return t.resolvedKeybinding; } dispatchEvent(e, t) { return this._dispatch(e, t); } softDispatch(e, t) { const i = this.resolveKeyboardEvent(e); if (i.isChord()) return ( console.warn('Unexpected keyboard event mapped to a chord'), null ); const [n] = i.getDispatchParts(); if (null === n) return null; const r = this._contextKeyService.getContext(t), s = this._currentChord ? this._currentChord.keypress : null; return this._getResolver().resolve(r, s, n); } _enterChordMode(e, t) { (this._currentChord = { keypress: e, label: t }), (this._currentChordStatusMessage = this._notificationService.status( ii.N( 'first.chord', '({0}) was pressed. Waiting for second key of chord...', t ) )); const i = Date.now(); this._currentChordChecker.cancelAndSet(() => { this._documentHasFocus() ? Date.now() - i > 5e3 && this._leaveChordMode() : this._leaveChordMode(); }, 500); } _leaveChordMode() { this._currentChordStatusMessage && (this._currentChordStatusMessage.dispose(), (this._currentChordStatusMessage = null)), this._currentChordChecker.cancel(), (this._currentChord = null); } _dispatch(e, t) { return this._doDispatch(this.resolveKeyboardEvent(e), t); } _doDispatch(e, t) { let i = !1; if (e.isChord()) return ( console.warn('Unexpected keyboard event mapped to a chord'), !1 ); const [n] = e.getDispatchParts(); if (null === n) return this._log('\\ Keyboard event cannot be dispatched.'), i; const r = this._contextKeyService.getContext(t), s = this._currentChord ? this._currentChord.keypress : null, o = e.getLabel(), a = this._getResolver().resolve(r, s, n); return ( this._logService.trace( 'KeybindingService#dispatch', o, null == a ? void 0 : a.commandId ), a && a.enterChord ? ((i = !0), this._enterChordMode(n, o), i) : (this._currentChord && ((a && a.commandId) || (this._notificationService.status( ii.N( 'missing.chord', 'The key combination ({0}, {1}) is not a command.', this._currentChord.label, o ), { hideAfter: 1e4 } ), (i = !0))), this._leaveChordMode(), a && a.commandId && (a.bubble || (i = !0), void 0 === a.commandArgs ? this._commandService .executeCommand(a.commandId) .then(void 0, (e) => this._notificationService.warn(e) ) : this._commandService .executeCommand(a.commandId, a.commandArgs) .then(void 0, (e) => this._notificationService.warn(e) ), this._telemetryService.publicLog2( 'workbenchActionExecuted', { id: a.commandId, from: 'keybinding' } )), i) ); } mightProducePrintableCharacter(e) { return ( !e.ctrlKey && !e.metaKey && ((e.keyCode >= 31 && e.keyCode <= 56) || (e.keyCode >= 21 && e.keyCode <= 30)) ); } } class ri { constructor(e, t, i) { (this._log = i), (this._defaultKeybindings = e), (this._defaultBoundCommands = new Map()); for (let t = 0, i = e.length; t < i; t++) { const i = e[t].command; i && this._defaultBoundCommands.set(i, !0); } (this._map = new Map()), (this._lookupMap = new Map()), (this._keybindings = ri.combine(e, t)); for (let e = 0, t = this._keybindings.length; e < t; e++) { let t = this._keybindings[e]; 0 !== t.keypressParts.length && ((t.when && 0 === t.when.type) || this._addKeyPress(t.keypressParts[0], t)); } } static _isTargetedForRemoval(e, t, i, n, r) { if (e.command !== n) return !1; if (t && e.keypressParts[0] !== t) return !1; if (i && e.keypressParts[1] !== i) return !1; if (r) { if (!e.when) return !1; if (!r.equals(e.when)) return !1; } return !0; } static combine(e, t) { e = e.slice(0); let i = []; for (const n of t) { if ( !n.command || 0 === n.command.length || '-' !== n.command.charAt(0) ) { i.push(n); continue; } const t = n.command.substr(1), r = n.keypressParts[0], s = n.keypressParts[1], o = n.when; for (let i = e.length - 1; i >= 0; i--) this._isTargetedForRemoval(e[i], r, s, t, o) && e.splice(i, 1); } return e.concat(i); } _addKeyPress(e, t) { const i = this._map.get(e); if (void 0 === i) return this._map.set(e, [t]), void this._addToLookupMap(t); for (let e = i.length - 1; e >= 0; e--) { let n = i[e]; if (n.command === t.command) continue; const r = n.keypressParts.length > 1, s = t.keypressParts.length > 1; (r && s && n.keypressParts[1] !== t.keypressParts[1]) || (ri.whenIsEntirelyIncluded(n.when, t.when) && this._removeFromLookupMap(n)); } i.push(t), this._addToLookupMap(t); } _addToLookupMap(e) { if (!e.command) return; let t = this._lookupMap.get(e.command); void 0 === t ? ((t = [e]), this._lookupMap.set(e.command, t)) : t.push(e); } _removeFromLookupMap(e) { if (!e.command) return; let t = this._lookupMap.get(e.command); if (void 0 !== t) for (let i = 0, n = t.length; i < n; i++) if (t[i] === e) return void t.splice(i, 1); } static whenIsEntirelyIncluded(e, t) { return !t || (!!e && this._implies(e, t)); } static _implies(e, t) { const i = (e) => (9 === e.type ? e.expr : [e]); let n = i(e.negate()).concat(i(t)); for (let e = 0; e < n.length; e++) { const t = n[e].negate(); for (let i = e + 1; i < n.length; i++) { const e = n[i]; if (t.equals(e)) return !0; } } return !1; } getKeybindings() { return this._keybindings; } lookupKeybindings(e) { let t = this._lookupMap.get(e); if (void 0 === t || 0 === t.length) return []; let i = [], n = 0; for (let e = t.length - 1; e >= 0; e--) i[n++] = t[e]; return i; } lookupPrimaryKeybinding(e) { let t = this._lookupMap.get(e); return void 0 === t || 0 === t.length ? null : t[t.length - 1]; } resolve(e, t, i) { this._log(`| Resolving ${i}${t ? ` chorded from ${t}` : ''}`); let n = null; if (null !== t) { const e = this._map.get(t); if (void 0 === e) return this._log('\\ No keybinding entries.'), null; n = []; for (let t = 0, r = e.length; t < r; t++) { let r = e[t]; r.keypressParts[1] === i && n.push(r); } } else { const e = this._map.get(i); if (void 0 === e) return this._log('\\ No keybinding entries.'), null; n = e; } let r = this._findCommand(e, n); return r ? null === t && r.keypressParts.length > 1 && null !== r.keypressParts[1] ? (this._log( `\\ From ${ n.length } keybinding entries, matched chord, when: ${si( r.when )}, source: ${oi(r)}.` ), { enterChord: !0, leaveChord: !1, commandId: null, commandArgs: null, bubble: !1, }) : (this._log( `\\ From ${n.length} keybinding entries, matched ${ r.command }, when: ${si(r.when)}, source: ${oi(r)}.` ), { enterChord: !1, leaveChord: r.keypressParts.length > 1, commandId: r.command, commandArgs: r.commandArgs, bubble: r.bubble, }) : (this._log( `\\ From ${n.length} keybinding entries, no when clauses matched the context.` ), null); } _findCommand(e, t) { for (let i = t.length - 1; i >= 0; i--) { let n = t[i]; if (ri.contextMatchesRules(e, n.when)) return n; } return null; } static contextMatchesRules(e, t) { return !t || t.evaluate(e); } } function si(e) { return e ? `${e.serialize()}` : 'no when condition'; } function oi(e) { return e.isDefault ? e.extensionId ? `built-in extension ${e.extensionId}` : 'built-in' : e.extensionId ? `user extension ${e.extensionId}` : 'user'; } var ai = i(49989); class li { constructor(e, t, i, n, r, s) { (this.resolvedKeybinding = e), (this.keypressParts = e ? (function (e) { let t = []; for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; if (!n) return t; t.push(n); } return t; })(e.getDispatchParts()) : []), (this.bubble = !!t && 94 === t.charCodeAt(0)), (this.command = this.bubble ? t.substr(1) : t), (this.commandArgs = i), (this.when = n), (this.isDefault = r), (this.extensionId = s); } } class ci { constructor(e, t, i = t) { (this.modifierLabels = [null]), (this.modifierLabels[2] = e), (this.modifierLabels[1] = t), (this.modifierLabels[3] = i); } toLabel(e, t, i) { if (0 === t.length) return null; const n = []; for (let r = 0, s = t.length; r < s; r++) { const s = t[r], o = i(s); if (null === o) return null; n[r] = ui(s, o, this.modifierLabels[e]); } return n.join(' '); } } const di = new ci( { ctrlKey: '⌃', shiftKey: '⇧', altKey: '⌥', metaKey: '⌘', separator: '', }, { ctrlKey: ii.N( { key: 'ctrlKey', comment: [ 'This is the short form for the Control key on the keyboard', ], }, 'Ctrl' ), shiftKey: ii.N( { key: 'shiftKey', comment: [ 'This is the short form for the Shift key on the keyboard', ], }, 'Shift' ), altKey: ii.N( { key: 'altKey', comment: [ 'This is the short form for the Alt key on the keyboard', ], }, 'Alt' ), metaKey: ii.N( { key: 'windowsKey', comment: [ 'This is the short form for the Windows key on the keyboard', ], }, 'Windows' ), separator: '+', }, { ctrlKey: ii.N( { key: 'ctrlKey', comment: [ 'This is the short form for the Control key on the keyboard', ], }, 'Ctrl' ), shiftKey: ii.N( { key: 'shiftKey', comment: [ 'This is the short form for the Shift key on the keyboard', ], }, 'Shift' ), altKey: ii.N( { key: 'altKey', comment: [ 'This is the short form for the Alt key on the keyboard', ], }, 'Alt' ), metaKey: ii.N( { key: 'superKey', comment: [ 'This is the short form for the Super key on the keyboard', ], }, 'Super' ), separator: '+', } ), hi = new ci( { ctrlKey: ii.N( { key: 'ctrlKey.long', comment: [ 'This is the long form for the Control key on the keyboard', ], }, 'Control' ), shiftKey: ii.N( { key: 'shiftKey.long', comment: [ 'This is the long form for the Shift key on the keyboard', ], }, 'Shift' ), altKey: ii.N( { key: 'altKey.long', comment: [ 'This is the long form for the Alt key on the keyboard', ], }, 'Alt' ), metaKey: ii.N( { key: 'cmdKey.long', comment: [ 'This is the long form for the Command key on the keyboard', ], }, 'Command' ), separator: '+', }, { ctrlKey: ii.N( { key: 'ctrlKey.long', comment: [ 'This is the long form for the Control key on the keyboard', ], }, 'Control' ), shiftKey: ii.N( { key: 'shiftKey.long', comment: [ 'This is the long form for the Shift key on the keyboard', ], }, 'Shift' ), altKey: ii.N( { key: 'altKey.long', comment: [ 'This is the long form for the Alt key on the keyboard', ], }, 'Alt' ), metaKey: ii.N( { key: 'windowsKey.long', comment: [ 'This is the long form for the Windows key on the keyboard', ], }, 'Windows' ), separator: '+', }, { ctrlKey: ii.N( { key: 'ctrlKey.long', comment: [ 'This is the long form for the Control key on the keyboard', ], }, 'Control' ), shiftKey: ii.N( { key: 'shiftKey.long', comment: [ 'This is the long form for the Shift key on the keyboard', ], }, 'Shift' ), altKey: ii.N( { key: 'altKey.long', comment: [ 'This is the long form for the Alt key on the keyboard', ], }, 'Alt' ), metaKey: ii.N( { key: 'superKey.long', comment: [ 'This is the long form for the Super key on the keyboard', ], }, 'Super' ), separator: '+', } ); function ui(e, t, i) { if (null === t) return ''; const n = []; return ( e.ctrlKey && n.push(i.ctrlKey), e.shiftKey && n.push(i.shiftKey), e.altKey && n.push(i.altKey), e.metaKey && n.push(i.metaKey), '' !== t && n.push(t), n.join(i.separator) ); } class gi extends W.f1 { constructor(e, t) { if ((super(), 0 === t.length)) throw (0, be.b1)('parts'); (this._os = e), (this._parts = t); } getLabel() { return di.toLabel(this._os, this._parts, (e) => this._getLabel(e)); } getAriaLabel() { return hi.toLabel(this._os, this._parts, (e) => this._getAriaLabel(e) ); } isChord() { return this._parts.length > 1; } getParts() { return this._parts.map((e) => this._getPart(e)); } _getPart(e) { return new W.BQ( e.ctrlKey, e.shiftKey, e.altKey, e.metaKey, this._getLabel(e), this._getAriaLabel(e) ); } getDispatchParts() { return this._parts.map((e) => this._getDispatchPart(e)); } } class fi extends gi { constructor(e, t) { super(t, e.parts); } _keyCodeToUILabel(e) { if (2 === this._os) switch (e) { case 15: return '←'; case 16: return '↑'; case 17: return '→'; case 18: return '↓'; } return W.kL.toString(e); } _getLabel(e) { return e.isDuplicateModifierCase() ? '' : this._keyCodeToUILabel(e.keyCode); } _getAriaLabel(e) { return e.isDuplicateModifierCase() ? '' : W.kL.toString(e.keyCode); } _getDispatchPart(e) { return fi.getDispatchStr(e); } static getDispatchStr(e) { if (e.isModifierKey()) return null; let t = ''; return ( e.ctrlKey && (t += 'ctrl+'), e.shiftKey && (t += 'shift+'), e.altKey && (t += 'alt+'), e.metaKey && (t += 'meta+'), (t += W.kL.toString(e.keyCode)), t ); } } var pi = i(59422), mi = i(40382), _i = i(20913), bi = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, vi = function (e, t) { return function (i, n) { t(i, n, e); }; }; class yi { constructor(e) { (this.disposed = !1), (this.model = e), (this._onDispose = new B.Q5()); } get textEditorModel() { return this.model; } dispose() { (this.disposed = !0), this._onDispose.fire(); } } let wi = class { constructor(e) { this.modelService = e; } setEditor(e) { this.editor = e; } createModelReference(e) { let t = null; var i, n, r; return ( this.editor && ((i = this.editor), (n = (t) => this.findModel(t, e)), (r = (t) => this.findModel(t.getOriginalEditor(), e) || this.findModel(t.getModifiedEditor(), e)), (t = (0, zt.CL)(i) ? n(i) : r(i))), t ? Promise.resolve(new _e.Jz(new yi(t))) : Promise.reject(new Error('Model not found')) ); } findModel(e, t) { let i = this.modelService.getModel(t); return i && i.uri.toString() !== t.toString() ? null : i; } }; wi = bi([vi(0, st.q)], wi); class Ci { show() { return Ci.NULL_PROGRESS_RUNNER; } showWhile(e, t) { return Promise.resolve(void 0); } } Ci.NULL_PROGRESS_RUNNER = { done: () => {}, total: () => {}, worked: () => {}, }; class Si { confirm(e) { return this.doConfirm(e).then((e) => ({ confirmed: e, checkboxChecked: !1, })); } doConfirm(e) { let t = e.message; return ( e.detail && (t = t + '\n\n' + e.detail), Promise.resolve(window.confirm(t)) ); } show(e, t, i, n) { return Promise.resolve({ choice: 0 }); } } class ki { info(e) { return this.notify({ severity: Vt.Z.Info, message: e }); } warn(e) { return this.notify({ severity: Vt.Z.Warning, message: e }); } error(e) { return this.notify({ severity: Vt.Z.Error, message: e }); } notify(e) { switch (e.severity) { case Vt.Z.Error: console.error(e.message); break; case Vt.Z.Warning: console.warn(e.message); break; default: console.log(e.message); } return ki.NO_OP; } status(e, t) { return _e.JT.None; } } ki.NO_OP = new pi.EO(); class xi { constructor(e) { (this._onWillExecuteCommand = new B.Q5()), (this._onDidExecuteCommand = new B.Q5()), (this._instantiationService = e); } executeCommand(e, ...t) { const i = ee.P.getCommand(e); if (!i) return Promise.reject(new Error(`command '${e}' not found`)); try { this._onWillExecuteCommand.fire({ commandId: e, args: t }); const n = this._instantiationService.invokeFunction.apply( this._instantiationService, [i.handler, ...t] ); return ( this._onDidExecuteCommand.fire({ commandId: e, args: t }), Promise.resolve(n) ); } catch (e) { return Promise.reject(e); } } } class Li extends ni { constructor(e, t, i, n, r, s) { super(e, t, i, n, r), (this._cachedResolver = null), (this._dynamicKeybindings = []), this._register( G.nm(s, G.tw.KEY_DOWN, (e) => { let t = new jt.y(e); this._dispatch(t, t.target) && (t.preventDefault(), t.stopPropagation()); }) ); } addDynamicKeybinding(e, t, i, n) { const r = (0, W.gm)(t, ve.OS), s = new _e.SL(); return ( r && (this._dynamicKeybindings.push({ keybinding: r, command: e, when: n, weight1: 1e3, weight2: 0, extensionId: null, }), s.add( (0, _e.OF)(() => { for (let t = 0; t < this._dynamicKeybindings.length; t++) if (this._dynamicKeybindings[t].command === e) return ( this._dynamicKeybindings.splice(t, 1), void this.updateResolver({ source: 1 }) ); }) )), s.add(ee.P.registerCommand(e, i)), this.updateResolver({ source: 1 }), s ); } updateResolver(e) { (this._cachedResolver = null), this._onDidUpdateKeybindings.fire(e); } _getResolver() { if (!this._cachedResolver) { const e = this._toNormalizedKeybindingItems( ai.W.getDefaultKeybindings(), !0 ), t = this._toNormalizedKeybindingItems( this._dynamicKeybindings, !1 ); this._cachedResolver = new ri(e, t, (e) => this._log(e)); } return this._cachedResolver; } _documentHasFocus() { return document.hasFocus(); } _toNormalizedKeybindingItems(e, t) { let i = [], n = 0; for (const r of e) { const e = r.when || void 0, s = r.keybinding; if (s) { const o = this.resolveKeybinding(s); for (const s of o) i[n++] = new li(s, r.command, r.commandArgs, e, t, null); } else i[n++] = new li(void 0, r.command, r.commandArgs, e, t, null); } return i; } resolveKeybinding(e) { return [new fi(e, ve.OS)]; } resolveKeyboardEvent(e) { let t = new W.QC( e.ctrlKey, e.shiftKey, e.altKey, e.metaKey, e.keyCode ).toChord(); return new fi(t, ve.OS); } } function Mi(e) { return ( e && 'object' == typeof e && (!e.overrideIdentifier || 'string' == typeof e.overrideIdentifier) && (!e.resource || e.resource instanceof Y.o) ); } class Di { constructor() { (this._onDidChangeConfiguration = new B.Q5()), (this.onDidChangeConfiguration = this._onDidChangeConfiguration.event), (this._configuration = new ei(new Xt(), new Qt())); } getValue(e, t) { const i = 'string' == typeof e ? e : void 0, n = Mi(e) ? e : Mi(t) ? t : {}; return this._configuration.getValue(i, n, void 0); } updateValues(e) { const t = { data: this._configuration.toData() }; let i = []; for (const t of e) { const [e, n] = t; this.getValue(e) !== n && (this._configuration.updateValue(e, n), i.push(e)); } if (i.length > 0) { const e = new ti( { keys: i, overrides: [] }, t, this._configuration ); (e.source = 7), (e.sourceConfig = null), this._onDidChangeConfiguration.fire(e); } return Promise.resolve(); } } class Ni { constructor(e) { (this.configurationService = e), (this._onDidChangeConfiguration = new B.Q5()), this.configurationService.onDidChangeConfiguration((e) => { this._onDidChangeConfiguration.fire({ affectedKeys: e.affectedKeys, affectsConfiguration: (t, i) => e.affectsConfiguration(i), }); }); } getValue(e, t, i) { const n = H.L.isIPosition(t) && t ? 'string' == typeof i ? i : void 0 : 'string' == typeof t ? t : void 0; return void 0 === n ? this.configurationService.getValue() : this.configurationService.getValue(n); } } let Ei = class { constructor(e) { this.configurationService = e; } getEOL(e, t) { const i = this.configurationService.getValue('files.eol', { overrideIdentifier: t, resource: e, }); return i && 'auto' !== i ? i : ve.IJ || ve.dz ? '\n' : '\r\n'; } }; Ei = bi([vi(0, qt.Ui)], Ei); class Ti { publicLog(e, t) { return Promise.resolve(void 0); } publicLog2(e, t) { return this.publicLog(e, t); } } class Ii { constructor() { const e = Y.o.from({ scheme: Ii.SCHEME, authority: 'model', path: '/', }); this.workspace = { id: '4064f6ec-cb38-4ad0-af64-ee6467e63c82', folders: [new mi.md({ uri: e, name: '', index: 0 })], }; } getWorkspace() { return this.workspace; } getWorkspaceFolder(e) { return e && e.scheme === Ii.SCHEME ? this.workspace.folders[0] : null; } } function Oi(e, t, i) { if (!t) return; if (!(e instanceof Di)) return; let n = []; Object.keys(t).forEach((e) => { (0, $t.ei)(e) && n.push([`editor.${e}`, t[e]]), i && (0, $t.Pe)(e) && n.push([`diffEditor.${e}`, t[e]]); }), n.length > 0 && e.updateValues(n); } Ii.SCHEME = 'inmemory'; class Ai { constructor(e) { this._modelService = e; } hasPreviewHandler() { return !1; } apply(e, t) { return ( (i = this), (n = void 0), (s = function* () { const t = new Map(); for (let i of e) { if (!(i instanceof Ut.Gl)) throw new Error('bad edit - only text edits are supported'); const e = this._modelService.getModel(i.resource); if (!e) throw new Error('bad edit - model not found'); if ( 'number' == typeof i.versionId && e.getVersionId() !== i.versionId ) throw new Error( 'bad state - model changed in the meantime' ); let n = t.get(e); n || ((n = []), t.set(e, n)), n.push( Kt.h.replaceMove( j.e.lift(i.textEdit.range), i.textEdit.text ) ); } let i = 0, n = 0; for (const [e, r] of t) e.pushStackElement(), e.pushEditOperations([], r, () => []), e.pushStackElement(), (n += 1), (i += r.length); return { ariaSummary: Fe.WU(_i.UL.bulkEditServiceSummary, i, n), }; }), new ((r = void 0) || (r = Promise))(function (e, t) { function o(e) { try { l(s.next(e)); } catch (e) { t(e); } } function a(e) { try { l(s.throw(e)); } catch (e) { t(e); } } function l(t) { var i; t.done ? e(t.value) : ((i = t.value), i instanceof r ? i : new r(function (e) { e(i); })).then(o, a); } l((s = s.apply(i, n || [])).next()); }) ); var i, n, r, s; } } class Ri { getUriLabel(e, t) { return 'file' === e.scheme ? e.fsPath : e.path; } } class Pi { constructor(e, t) { (this._codeEditorService = e), (this._container = t), (this.onLayout = B.ju.None); } get dimension() { return ( this._dimension || (this._dimension = G.D6(window.document.body)), this._dimension ); } get container() { return this._container; } focus() { var e; null === (e = this._codeEditorService.getFocusedCodeEditor()) || void 0 === e || e.focus(); } } var Fi = i(85152), Bi = i(95190), Wi = i(68143), Yi = i(30653), Hi = i(12095), ji = i(84144), Vi = i(38819), zi = i(5606), Ui = i(72065), $i = i(91847), Ki = i(97781), qi = i(31106), Gi = i(84972), Zi = i(90535), Ji = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, Qi = function (e, t) { return function (i, n) { t(i, n, e); }; }; let Xi = 0, en = !1, tn = class extends Bi.Gm { constructor(e, t, i, n, r, s, o, a, l, c) { ((t = t || {}).ariaLabel = t.ariaLabel || _i.B8.editorViewAccessibleLabel), (t.ariaLabel = t.ariaLabel + ';' + _i.B8.accessibilityHelpMessage), super(e, t, {}, i, n, r, s, a, l, c), (this._standaloneKeybindingService = o instanceof Li ? o : null), en || ((en = !0), Fi.wW(document.body)); } addCommand(e, t, i) { if (!this._standaloneKeybindingService) return ( console.warn( 'Cannot add command because the editor is configured with an unrecognized KeybindingService' ), null ); let n = 'DYNAMIC_' + ++Xi, r = Vi.Ao.deserialize(i); return ( this._standaloneKeybindingService.addDynamicKeybinding( n, e, t, r ), n ); } createContextKey(e, t) { return this._contextKeyService.createKey(e, t); } addAction(e) { if ( 'string' != typeof e.id || 'string' != typeof e.label || 'function' != typeof e.run ) throw new Error( 'Invalid action descriptor, `id`, `label` and `run` are required properties!' ); if (!this._standaloneKeybindingService) return ( console.warn( 'Cannot add keybinding because the editor is configured with an unrecognized KeybindingService' ), _e.JT.None ); const t = e.id, i = e.label, n = Vi.Ao.and( Vi.Ao.equals('editorId', this.getId()), Vi.Ao.deserialize(e.precondition) ), r = e.keybindings, s = Vi.Ao.and(n, Vi.Ao.deserialize(e.keybindingContext)), o = e.contextMenuGroupId || null, a = e.contextMenuOrder || 0, l = (t, ...i) => Promise.resolve(e.run(this, ...i)), c = new _e.SL(), d = this.getId() + ':' + t; if ((c.add(ee.P.registerCommand(d, l)), o)) { let e = { command: { id: d, title: i }, when: n, group: o, order: a, }; c.add(ji.BH.appendMenuItem(ji.eH.EditorContext, e)); } if (Array.isArray(r)) for (const e of r) c.add( this._standaloneKeybindingService.addDynamicKeybinding( d, e, l, s ) ); let h = new Yi.p(d, i, i, n, l, this._contextKeyService); return ( (this._actions[t] = h), c.add( (0, _e.OF)(() => { delete this._actions[t]; }) ), c ); } }; tn = Ji( [ Qi(2, Ui.TG), Qi(3, q.$), Qi(4, ee.H), Qi(5, Vi.i6), Qi(6, $i.d), Qi(7, Ki.XE), Qi(8, pi.lT), Qi(9, qi.F), ], tn ); let nn = class extends tn { constructor(e, t, i, n, r, s, o, a, l, c, d, h, u) { Oi(h, t, !1); const g = c.registerEditorContainer(e); 'string' == typeof (t = t || {}).theme && c.setTheme(t.theme); let f, p = t.model; if ( (delete t.model, super(e, t, n, r, s, o, a, c, d, u), (this._contextViewService = l), (this._configurationService = h), (this._standaloneThemeService = c), this._register(i), this._register(g), void 0 === p ? ((f = self.monaco.editor.createModel( t.value || '', t.language || 'text/plain' )), (this._ownsModel = !0)) : ((f = p), (this._ownsModel = !1)), this._attachModel(f), f) ) { let e = { oldModelUrl: null, newModelUrl: f.uri }; this._onDidChangeModel.fire(e); } } dispose() { super.dispose(); } updateOptions(e) { Oi(this._configurationService, e, !1), 'string' == typeof e.theme && this._standaloneThemeService.setTheme(e.theme), super.updateOptions(e); } _attachModel(e) { super._attachModel(e), this._modelData && this._contextViewService.setContainer( this._modelData.view.domNode.domNode ); } _postDetachModelCleanup(e) { super._postDetachModelCleanup(e), e && this._ownsModel && (e.dispose(), (this._ownsModel = !1)); } }; nn = Ji( [ Qi(3, Ui.TG), Qi(4, q.$), Qi(5, ee.H), Qi(6, Vi.i6), Qi(7, $i.d), Qi(8, zi.u), Qi(9, Hi.Z), Qi(10, pi.lT), Qi(11, qt.Ui), Qi(12, qi.F), ], nn ); let rn = class extends Wi.pL { constructor(e, t, i, n, r, s, o, a, l, c, d, h, u, g, f) { Oi(h, t, !0); const p = c.registerEditorContainer(e); 'string' == typeof (t = t || {}).theme && (t.theme = c.setTheme(t.theme)), super(e, t, f, a, r, n, l, c, d, u, g), (this._contextViewService = o), (this._configurationService = h), (this._standaloneThemeService = c), this._register(i), this._register(p), this._contextViewService.setContainer(this._containerDomElement); } dispose() { super.dispose(); } updateOptions(e) { Oi(this._configurationService, e, !0), 'string' == typeof e.theme && this._standaloneThemeService.setTheme(e.theme), super.updateOptions(e); } _createInnerEditor(e, t, i) { return e.createInstance(tn, t, i); } getOriginalEditor() { return super.getOriginalEditor(); } getModifiedEditor() { return super.getModifiedEditor(); } addCommand(e, t, i) { return this.getModifiedEditor().addCommand(e, t, i); } createContextKey(e, t) { return this.getModifiedEditor().createContextKey(e, t); } addAction(e) { return this.getModifiedEditor().addAction(e); } }; rn = Ji( [ Qi(3, Ui.TG), Qi(4, Vi.i6), Qi(5, $i.d), Qi(6, zi.u), Qi(7, fe.p), Qi(8, q.$), Qi(9, Hi.Z), Qi(10, pi.lT), Qi(11, qt.Ui), Qi(12, zi.i), Qi(13, Zi.e), Qi(14, Gi.p), ], rn ); var sn = i(71531); class on { constructor(e) { this._languageIdentifier = e; } getId() { return this._languageIdentifier.language; } } var an = i(88721), ln = i(14118); const cn = 'text/plain', dn = 'application/unknown'; let hn = [], un = [], gn = []; function fn(e, t = !1) { const i = (function (e) { return { id: e.id, mime: e.mime, filename: e.filename, extension: e.extension, filepattern: e.filepattern, firstline: e.firstline, userConfigured: e.userConfigured, filenameLowercase: e.filename ? e.filename.toLowerCase() : void 0, extensionLowercase: e.extension ? e.extension.toLowerCase() : void 0, filepatternLowercase: e.filepattern ? e.filepattern.toLowerCase() : void 0, filepatternOnPath: !!e.filepattern && e.filepattern.indexOf(an.KR.sep) >= 0, }; })(e); hn.push(i), i.userConfigured ? gn.push(i) : un.push(i), t && !i.userConfigured && hn.forEach((e) => { e.mime === i.mime || e.userConfigured || (i.extension && e.extension === i.extension && console.warn( `Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>` ), i.filename && e.filename === i.filename && console.warn( `Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>` ), i.filepattern && e.filepattern === i.filepattern && console.warn( `Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>` ), i.firstline && e.firstline === i.firstline && console.warn( `Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>` )); }); } function pn(e, t, i) { let n = null, r = null, s = null; for (let o = i.length - 1; o >= 0; o--) { const a = i[o]; if (t === a.filenameLowercase) { n = a; break; } if ( a.filepattern && (!r || a.filepattern.length > r.filepattern.length) ) { const i = a.filepatternOnPath ? e : t; (0, ln.EQ)(a.filepatternLowercase, i) && (r = a); } a.extension && (!s || a.extension.length > s.extension.length) && t.endsWith(a.extensionLowercase) && (s = a); } return n ? n.mime : r ? r.mime : s ? s.mime : null; } var mn = i(71144), _n = i(89872); const bn = Object.prototype.hasOwnProperty; class vn extends _e.JT { constructor(e = !0, t = !1) { super(), (this._onDidChange = this._register(new B.Q5())), (this.onDidChange = this._onDidChange.event), (this._warnOnOverwrite = t), (this._nextLanguageId2 = 1), (this._languageIdToLanguage = []), (this._languageToLanguageId = Object.create(null)), (this._languages = {}), (this._mimeTypesMap = {}), (this._nameMap = {}), (this._lowercaseNameMap = {}), e && (this._initializeFromRegistry(), this._register( mn.dQ.onDidChangeLanguages((e) => this._initializeFromRegistry() ) )); } _initializeFromRegistry() { (this._languages = {}), (this._mimeTypesMap = {}), (this._nameMap = {}), (this._lowercaseNameMap = {}); const e = mn.dQ.getLanguages(); this._registerLanguages(e); } _registerLanguages(e) { for (const t of e) this._registerLanguage(t); (this._mimeTypesMap = {}), (this._nameMap = {}), (this._lowercaseNameMap = {}), Object.keys(this._languages).forEach((e) => { let t = this._languages[e]; t.name && (this._nameMap[t.name] = t.identifier), t.aliases.forEach((e) => { this._lowercaseNameMap[e.toLowerCase()] = t.identifier; }), t.mimetypes.forEach((e) => { this._mimeTypesMap[e] = t.identifier; }); }), _n.B.as(Jt.IP.Configuration).registerOverrideIdentifiers( mn.dQ.getLanguages().map((e) => e.id) ), this._onDidChange.fire(); } _getLanguageId(e) { if (this._languageToLanguageId[e]) return this._languageToLanguageId[e]; const t = this._nextLanguageId2++; return ( (this._languageIdToLanguage[t] = e), (this._languageToLanguageId[e] = t), t ); } _registerLanguage(e) { const t = e.id; let i; if (bn.call(this._languages, t)) i = this._languages[t]; else { const e = this._getLanguageId(t); (i = { identifier: new ue.rl(t, e), name: null, mimetypes: [], aliases: [], extensions: [], filenames: [], configurationFiles: [], }), (this._languages[t] = i); } this._mergeLanguage(i, e); } _mergeLanguage(e, t) { const i = t.id; let n = null; if ( (Array.isArray(t.mimetypes) && t.mimetypes.length > 0 && (e.mimetypes.push(...t.mimetypes), (n = t.mimetypes[0])), n || ((n = `text/x-${i}`), e.mimetypes.push(n)), Array.isArray(t.extensions)) ) { t.configuration ? (e.extensions = t.extensions.concat(e.extensions)) : (e.extensions = e.extensions.concat(t.extensions)); for (let e of t.extensions) fn({ id: i, mime: n, extension: e }, this._warnOnOverwrite); } if (Array.isArray(t.filenames)) for (let r of t.filenames) fn({ id: i, mime: n, filename: r }, this._warnOnOverwrite), e.filenames.push(r); if (Array.isArray(t.filenamePatterns)) for (let e of t.filenamePatterns) fn({ id: i, mime: n, filepattern: e }, this._warnOnOverwrite); if ('string' == typeof t.firstLine && t.firstLine.length > 0) { let e = t.firstLine; '^' !== e.charAt(0) && (e = '^' + e); try { let t = new RegExp(e); Fe.IO(t) || fn({ id: i, mime: n, firstline: t }, this._warnOnOverwrite); } catch (e) { (0, be.dL)(e); } } e.aliases.push(i); let r = null; if ( (void 0 !== t.aliases && Array.isArray(t.aliases) && (r = 0 === t.aliases.length ? [null] : t.aliases), null !== r) ) for (const t of r) t && 0 !== t.length && e.aliases.push(t); let s = null !== r && r.length > 0; if (s && null === r[0]); else { let t = (s ? r[0] : null) || i; (!s && e.name) || (e.name = t); } t.configuration && e.configurationFiles.push(t.configuration); } isRegisteredMode(e) { return ( !!bn.call(this._mimeTypesMap, e) || bn.call(this._languages, e) ); } getModeIdForLanguageNameLowercase(e) { return bn.call(this._lowercaseNameMap, e) ? this._lowercaseNameMap[e].language : null; } extractModeIds(e) { return e ? e .split(',') .map((e) => e.trim()) .map((e) => bn.call(this._mimeTypesMap, e) ? this._mimeTypesMap[e].language : e ) .filter((e) => bn.call(this._languages, e)) : []; } getLanguageIdentifier(e) { if (e === ge.TG || 0 === e) return ge.pA; let t; if ('string' == typeof e) t = e; else if (((t = this._languageIdToLanguage[e]), !t)) return null; return bn.call(this._languages, t) ? this._languages[t].identifier : null; } getModeIdsFromFilepathOrFirstLine(e, t) { if (!e && !t) return []; let i = (function (e, t) { let i; if (e) switch (e.scheme) { case Q.l.file: i = e.fsPath; break; case Q.l.data: i = X.Vb.parseMetaData(e).get(X.Vb.META_DATA_LABEL); break; default: i = e.path; } if (!i) return [dn]; i = i.toLowerCase(); const n = (0, an.EZ)(i), r = pn(i, n, gn); if (r) return [r, cn]; const s = pn(i, n, un); if (s) return [s, cn]; if (t) { const e = (function (e) { if (((0, Fe.uS)(e) && (e = e.substr(1)), e.length > 0)) for (let t = hn.length - 1; t >= 0; t--) { const i = hn[t]; if (!i.firstline) continue; const n = e.match(i.firstline); if (n && n.length > 0) return i.mime; } return null; })(t); if (e) return [e, cn]; } return [dn]; })(e, t); return this.extractModeIds(i.join(',')); } } class yn extends _e.JT { constructor(e, t) { super(), (this._onDidChange = this._register(new B.Q5())), (this.onDidChange = this._onDidChange.event), (this._selector = t), (this.languageIdentifier = this._selector()), this._register(e(() => this._evaluate())); } _evaluate() { let e = this._selector(); e.id !== this.languageIdentifier.id && ((this.languageIdentifier = e), this._onDidChange.fire(this.languageIdentifier)); } } class wn { constructor(e = !1) { (this._onDidCreateMode = new B.Q5()), (this.onDidCreateMode = this._onDidCreateMode.event), (this._onLanguagesMaybeChanged = new B.Q5()), (this.onLanguagesMaybeChanged = this._onLanguagesMaybeChanged.event), (this._instantiatedModes = {}), (this._registry = new vn(!0, e)), this._registry.onDidChange(() => this._onLanguagesMaybeChanged.fire() ); } isRegisteredMode(e) { return this._registry.isRegisteredMode(e); } getModeIdForLanguageName(e) { return this._registry.getModeIdForLanguageNameLowercase(e); } getModeIdByFilepathOrFirstLine(e, t) { const i = this._registry.getModeIdsFromFilepathOrFirstLine(e, t); return (0, De.Xh)(i, null); } getModeId(e) { const t = this._registry.extractModeIds(e); return (0, De.Xh)(t, null); } getLanguageIdentifier(e) { return this._registry.getLanguageIdentifier(e); } create(e) { return new yn(this.onLanguagesMaybeChanged, () => { const t = this.getModeId(e); return this._createModeAndGetLanguageIdentifier(t); }); } createByFilepathOrFirstLine(e, t) { return new yn(this.onLanguagesMaybeChanged, () => { const i = this.getModeIdByFilepathOrFirstLine(e, t); return this._createModeAndGetLanguageIdentifier(i); }); } _createModeAndGetLanguageIdentifier(e) { const t = this.getLanguageIdentifier(e || 'plaintext') || ge.pA; return this._getOrCreateMode(t.language), t; } triggerMode(e) { const t = this.getModeId(e); this._getOrCreateMode(t || 'plaintext'); } _getOrCreateMode(e) { if (!this._instantiatedModes.hasOwnProperty(e)) { let t = this.getLanguageIdentifier(e) || ge.pA; (this._instantiatedModes[e] = new on(t)), this._onDidCreateMode.fire(this._instantiatedModes[e]); } return this._instantiatedModes[e]; } } var Cn = i(32334); class Sn extends _e.JT { constructor() { super(), (this._onCodeEditorAdd = this._register(new B.Q5())), (this.onCodeEditorAdd = this._onCodeEditorAdd.event), (this._onCodeEditorRemove = this._register(new B.Q5())), (this.onCodeEditorRemove = this._onCodeEditorRemove.event), (this._onDiffEditorAdd = this._register(new B.Q5())), (this._onDiffEditorRemove = this._register(new B.Q5())), (this._modelProperties = new Map()), (this._codeEditors = Object.create(null)), (this._diffEditors = Object.create(null)); } addCodeEditor(e) { (this._codeEditors[e.getId()] = e), this._onCodeEditorAdd.fire(e); } removeCodeEditor(e) { delete this._codeEditors[e.getId()] && this._onCodeEditorRemove.fire(e); } listCodeEditors() { return Object.keys(this._codeEditors).map( (e) => this._codeEditors[e] ); } addDiffEditor(e) { (this._diffEditors[e.getId()] = e), this._onDiffEditorAdd.fire(e); } removeDiffEditor(e) { delete this._diffEditors[e.getId()] && this._onDiffEditorRemove.fire(e); } listDiffEditors() { return Object.keys(this._diffEditors).map( (e) => this._diffEditors[e] ); } getFocusedCodeEditor() { let e = null; const t = this.listCodeEditors(); for (const i of t) { if (i.hasTextFocus()) return i; i.hasWidgetFocus() && (e = i); } return e; } setModelProperty(e, t, i) { const n = e.toString(); let r; this._modelProperties.has(n) ? (r = this._modelProperties.get(n)) : ((r = new Map()), this._modelProperties.set(n, r)), r.set(t, i); } getModelProperty(e, t) { const i = e.toString(); if (this._modelProperties.has(i)) return this._modelProperties.get(i).get(t); } } class kn { constructor(e, t, i) { (this._parent = e), (this._editorId = t), (this._styleSheet = i), (this._refCount = 0); } ref() { this._refCount++; } unref() { var e; this._refCount--, 0 === this._refCount && (null === (e = this._styleSheet.parentNode) || void 0 === e || e.removeChild(this._styleSheet), this._parent._removeEditorStyleSheets(this._editorId)); } insertRule(e, t) { this._styleSheet.sheet.insertRule(e, t); } removeRulesContainingSelector(e) { G.uN(e, this._styleSheet); } } class xn { constructor(e) { this._styleSheet = e; } ref() {} unref() {} insertRule(e, t) { this._styleSheet.sheet.insertRule(e, t); } removeRulesContainingSelector(e) { G.uN(e, this._styleSheet); } } let Ln = class extends Sn { constructor(e, t = null) { super(), (this._decorationOptionProviders = new Map()), (this._editorStyleSheets = new Map()), (this._globalStyleSheet = t || null), (this._themeService = e); } _getOrCreateGlobalStyleSheet() { return ( this._globalStyleSheet || (this._globalStyleSheet = new xn(G.dS())), this._globalStyleSheet ); } _getOrCreateStyleSheet(e) { if (!e) return this._getOrCreateGlobalStyleSheet(); const t = e.getContainerDomNode(); if (!G.OO(t)) return this._getOrCreateGlobalStyleSheet(); const i = e.getId(); if (!this._editorStyleSheets.has(i)) { const e = new kn(this, i, G.dS(t)); this._editorStyleSheets.set(i, e); } return this._editorStyleSheets.get(i); } _removeEditorStyleSheets(e) { this._editorStyleSheets.delete(e); } registerDecorationType(e, t, i, n) { let r = this._decorationOptionProviders.get(e); if (!r) { const s = this._getOrCreateStyleSheet(n), o = { styleSheet: s, key: e, parentTypeKey: i, options: t || Object.create(null), }; (r = i ? new Nn(this._themeService, s, o) : new En(this._themeService, s, o)), this._decorationOptionProviders.set(e, r); } r.refCount++; } removeDecorationType(e) { const t = this._decorationOptionProviders.get(e); t && (t.refCount--, t.refCount <= 0 && (this._decorationOptionProviders.delete(e), t.dispose(), this.listCodeEditors().forEach((t) => t.removeDecorations(e)))); } resolveDecorationOptions(e, t) { const i = this._decorationOptionProviders.get(e); if (!i) throw new Error('Unknown decoration type key: ' + e); return i.getOptions(this, t); } }; var Mn, Dn; Ln = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((Mn = 0), (Dn = Ki.XE), function (e, t) { Dn(e, t, Mn); }), ], Ln ); class Nn { constructor(e, t, i) { (this._styleSheet = t), this._styleSheet.ref(), (this._parentTypeKey = i.parentTypeKey), (this.refCount = 0), (this._beforeContentRules = new In(3, i, e)), (this._afterContentRules = new In(4, i, e)); } getOptions(e, t) { const i = e.resolveDecorationOptions(this._parentTypeKey, !0); return ( this._beforeContentRules && (i.beforeContentClassName = this._beforeContentRules.className), this._afterContentRules && (i.afterContentClassName = this._afterContentRules.className), i ); } dispose() { this._beforeContentRules && (this._beforeContentRules.dispose(), (this._beforeContentRules = null)), this._afterContentRules && (this._afterContentRules.dispose(), (this._afterContentRules = null)), this._styleSheet.unref(); } } class En { constructor(e, t, i) { (this._disposables = new _e.SL()), (this._styleSheet = t), this._styleSheet.ref(), (this.refCount = 0); const n = (t) => { const n = new In(t, i, e); if ((this._disposables.add(n), n.hasContent)) return n.className; }; this.className = n(0); const r = ((t) => { const n = new In(1, i, e); return ( this._disposables.add(n), n.hasContent ? { className: n.className, hasLetterSpacing: n.hasLetterSpacing, } : null ); })(); r && ((this.inlineClassName = r.className), (this.inlineClassNameAffectsLetterSpacing = r.hasLetterSpacing)), (this.beforeContentClassName = n(3)), (this.afterContentClassName = n(4)), (this.glyphMarginClassName = n(2)); const s = i.options; (this.isWholeLine = Boolean(s.isWholeLine)), (this.stickiness = s.rangeBehavior); const o = (s.light && s.light.overviewRulerColor) || s.overviewRulerColor, a = (s.dark && s.dark.overviewRulerColor) || s.overviewRulerColor; (void 0 === o && void 0 === a) || (this.overviewRuler = { color: o || a, darkColor: a || o, position: s.overviewRulerLane || he.sh.Center, }); } getOptions(e, t) { return t ? { inlineClassName: this.inlineClassName, beforeContentClassName: this.beforeContentClassName, afterContentClassName: this.afterContentClassName, className: this.className, glyphMarginClassName: this.glyphMarginClassName, isWholeLine: this.isWholeLine, overviewRuler: this.overviewRuler, stickiness: this.stickiness, } : this; } dispose() { this._disposables.dispose(), this._styleSheet.unref(); } } const Tn = { color: 'color:{0} !important;', opacity: 'opacity:{0};', backgroundColor: 'background-color:{0};', outline: 'outline:{0};', outlineColor: 'outline-color:{0};', outlineStyle: 'outline-style:{0};', outlineWidth: 'outline-width:{0};', border: 'border:{0};', borderColor: 'border-color:{0};', borderRadius: 'border-radius:{0};', borderSpacing: 'border-spacing:{0};', borderStyle: 'border-style:{0};', borderWidth: 'border-width:{0};', fontStyle: 'font-style:{0};', fontWeight: 'font-weight:{0};', textDecoration: 'text-decoration:{0};', cursor: 'cursor:{0};', letterSpacing: 'letter-spacing:{0};', gutterIconPath: 'background:{0} center center no-repeat;', gutterIconSize: 'background-size:{0};', contentText: "content:'{0}';", contentIconPath: 'content:{0};', margin: 'margin:{0};', width: 'width:{0};', height: 'height:{0};', }; class In { constructor(e, t, i) { (this._theme = i.getColorTheme()), (this._ruleType = e), (this._providerArgs = t), (this._usesThemeColors = !1), (this._hasContent = !1), (this._hasLetterSpacing = !1); let n = On.getClassName(this._providerArgs.key, e); this._providerArgs.parentTypeKey && (n = n + ' ' + On.getClassName(this._providerArgs.parentTypeKey, e)), (this._className = n), (this._unThemedSelector = On.getSelector( this._providerArgs.key, this._providerArgs.parentTypeKey, e )), this._buildCSS(), this._usesThemeColors ? (this._themeListener = i.onDidColorThemeChange((e) => { (this._theme = i.getColorTheme()), this._removeCSS(), this._buildCSS(); })) : (this._themeListener = null); } dispose() { this._hasContent && (this._removeCSS(), (this._hasContent = !1)), this._themeListener && (this._themeListener.dispose(), (this._themeListener = null)); } get hasContent() { return this._hasContent; } get hasLetterSpacing() { return this._hasLetterSpacing; } get className() { return this._className; } _buildCSS() { const e = this._providerArgs.options; let t, i, n; switch (this._ruleType) { case 0: (t = this.getCSSTextForModelDecorationClassName(e)), (i = this.getCSSTextForModelDecorationClassName(e.light)), (n = this.getCSSTextForModelDecorationClassName(e.dark)); break; case 1: (t = this.getCSSTextForModelDecorationInlineClassName(e)), (i = this.getCSSTextForModelDecorationInlineClassName( e.light )), (n = this.getCSSTextForModelDecorationInlineClassName( e.dark )); break; case 2: (t = this.getCSSTextForModelDecorationGlyphMarginClassName(e)), (i = this.getCSSTextForModelDecorationGlyphMarginClassName( e.light )), (n = this.getCSSTextForModelDecorationGlyphMarginClassName( e.dark )); break; case 3: (t = this.getCSSTextForModelDecorationContentClassName( e.before )), (i = this.getCSSTextForModelDecorationContentClassName( e.light && e.light.before )), (n = this.getCSSTextForModelDecorationContentClassName( e.dark && e.dark.before )); break; case 4: (t = this.getCSSTextForModelDecorationContentClassName( e.after )), (i = this.getCSSTextForModelDecorationContentClassName( e.light && e.light.after )), (n = this.getCSSTextForModelDecorationContentClassName( e.dark && e.dark.after )); break; default: throw new Error('Unknown rule type: ' + this._ruleType); } const r = this._providerArgs.styleSheet; let s = !1; t.length > 0 && (r.insertRule(`${this._unThemedSelector} {${t}}`, 0), (s = !0)), i.length > 0 && (r.insertRule(`.vs${this._unThemedSelector} {${i}}`, 0), (s = !0)), n.length > 0 && (r.insertRule( `.vs-dark${this._unThemedSelector}, .hc-black${this._unThemedSelector} {${n}}`, 0 ), (s = !0)), (this._hasContent = s); } _removeCSS() { this._providerArgs.styleSheet.removeRulesContainingSelector( this._unThemedSelector ); } getCSSTextForModelDecorationClassName(e) { if (!e) return ''; const t = []; return ( this.collectCSSText(e, ['backgroundColor'], t), this.collectCSSText( e, ['outline', 'outlineColor', 'outlineStyle', 'outlineWidth'], t ), this.collectBorderSettingsCSSText(e, t), t.join('') ); } getCSSTextForModelDecorationInlineClassName(e) { if (!e) return ''; const t = []; return ( this.collectCSSText( e, [ 'fontStyle', 'fontWeight', 'textDecoration', 'cursor', 'color', 'opacity', 'letterSpacing', ], t ), e.letterSpacing && (this._hasLetterSpacing = !0), t.join('') ); } getCSSTextForModelDecorationContentClassName(e) { if (!e) return ''; const t = []; if (void 0 !== e) { if ( (this.collectBorderSettingsCSSText(e, t), void 0 !== e.contentIconPath && t.push( Fe.WU( Tn.contentIconPath, G.wY(Y.o.revive(e.contentIconPath)) ) ), 'string' == typeof e.contentText) ) { const i = e.contentText .match(/^.*$/m)[0] .replace(/['\\]/g, '\\$&'); t.push(Fe.WU(Tn.contentText, i)); } this.collectCSSText( e, [ 'fontStyle', 'fontWeight', 'textDecoration', 'color', 'opacity', 'backgroundColor', 'margin', ], t ), this.collectCSSText(e, ['width', 'height'], t) && t.push('display:inline-block;'); } return t.join(''); } getCSSTextForModelDecorationGlyphMarginClassName(e) { if (!e) return ''; const t = []; return ( void 0 !== e.gutterIconPath && (t.push( Fe.WU(Tn.gutterIconPath, G.wY(Y.o.revive(e.gutterIconPath))) ), void 0 !== e.gutterIconSize && t.push(Fe.WU(Tn.gutterIconSize, e.gutterIconSize))), t.join('') ); } collectBorderSettingsCSSText(e, t) { return ( !!this.collectCSSText( e, [ 'border', 'borderColor', 'borderRadius', 'borderSpacing', 'borderStyle', 'borderWidth', ], t ) && (t.push(Fe.WU('box-sizing: border-box;')), !0) ); } collectCSSText(e, t, i) { const n = i.length; for (let n of t) { const t = this.resolveValue(e[n]); 'string' == typeof t && i.push(Fe.WU(Tn[n], t)); } return i.length !== n; } resolveValue(e) { if ((0, de.I)(e)) { this._usesThemeColors = !0; const t = this._theme.getColor(e.id); return t ? t.toString() : 'transparent'; } return e; } } class On { static getClassName(e, t) { return 'ced-' + e + '-' + t; } static getSelector(e, t, i) { let n = '.monaco-editor .' + this.getClassName(e, i); return ( t && (n = n + '.' + this.getClassName(t, i)), 3 === i ? (n += '::before') : 4 === i && (n += '::after'), n ); } } class An extends Ln { getActiveCodeEditor() { return null; } openCodeEditor(e, t, i) { return t ? Promise.resolve(this.doOpenEditor(t, e)) : Promise.resolve(null); } doOpenEditor(e, t) { if (!this.findModel(e, t.resource)) { if (t.resource) { const i = t.resource.scheme; if (i === Q.l.http || i === Q.l.https) return (0, G.V3)(t.resource.toString()), e; } return null; } const i = t.options ? t.options.selection : null; if (i) if ( 'number' == typeof i.endLineNumber && 'number' == typeof i.endColumn ) e.setSelection(i), e.revealRangeInCenter(i, 1); else { const t = { lineNumber: i.startLineNumber, column: i.startColumn, }; e.setPosition(t), e.revealPositionInCenter(t, 1); } return e; } findModel(e, t) { const i = e.getModel(); return i && i.uri.toString() !== t.toString() ? null : i; } } var Rn = i(41264); class Pn { constructor(e, t, i, n, r) { (this.token = e), (this.index = t), (this.fontStyle = i), (this.foreground = n), (this.background = r); } } const Fn = /^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/; class Bn { constructor() { (this._lastColorId = 0), (this._id2color = []), (this._color2id = new Map()); } getId(e) { if (null === e) return 0; const t = e.match(Fn); if (!t) throw new Error('Illegal value for token color: ' + e); e = t[1].toUpperCase(); let i = this._color2id.get(e); return ( i || ((i = ++this._lastColorId), this._color2id.set(e, i), (this._id2color[i] = Rn.Il.fromHex('#' + e)), i) ); } getColorMap() { return this._id2color.slice(0); } } class Wn { constructor(e, t) { (this._colorMap = e), (this._root = t), (this._cache = new Map()); } static createFromRawTokenTheme(e, t) { return this.createFromParsedTokenTheme( (function (e) { if (!e || !Array.isArray(e)) return []; let t = [], i = 0; for (let n = 0, r = e.length; n < r; n++) { let r = e[n], s = -1; if ('string' == typeof r.fontStyle) { s = 0; let e = r.fontStyle.split(' '); for (let t = 0, i = e.length; t < i; t++) switch (e[t]) { case 'italic': s |= 1; break; case 'bold': s |= 2; break; case 'underline': s |= 4; } } let o = null; 'string' == typeof r.foreground && (o = r.foreground); let a = null; 'string' == typeof r.background && (a = r.background), (t[i++] = new Pn(r.token || '', n, s, o, a)); } return t; })(e), t ); } static createFromParsedTokenTheme(e, t) { return (function (e, t) { e.sort((e, t) => { let i = (function (e, t) { return e < t ? -1 : e > t ? 1 : 0; })(e.token, t.token); return 0 !== i ? i : e.index - t.index; }); let i = 0, n = '000000', r = 'ffffff'; for (; e.length >= 1 && '' === e[0].token; ) { let t = e.shift(); -1 !== t.fontStyle && (i = t.fontStyle), null !== t.foreground && (n = t.foreground), null !== t.background && (r = t.background); } let s = new Bn(); for (let e of t) s.getId(e); let o = s.getId(n), a = s.getId(r), l = new Hn(i, o, a), c = new jn(l); for (let t = 0, i = e.length; t < i; t++) { let i = e[t]; c.insert( i.token, i.fontStyle, s.getId(i.foreground), s.getId(i.background) ); } return new Wn(s, c); })(e, t); } getColorMap() { return this._colorMap.getColorMap(); } _match(e) { return this._root.match(e); } match(e, t) { let i = this._cache.get(t); if (void 0 === i) { let e = this._match(t), n = (function (e) { let t = e.match(Yn); if (!t) return 0; switch (t[1]) { case 'comment': return 1; case 'string': return 2; case 'regex': case 'regexp': return 4; } throw new Error('Unexpected match for standard token type!'); })(t); (i = (e.metadata | (n << 8)) >>> 0), this._cache.set(t, i); } return (i | (e << 0)) >>> 0; } } const Yn = /\b(comment|string|regex|regexp)\b/; class Hn { constructor(e, t, i) { (this._fontStyle = e), (this._foreground = t), (this._background = i), (this.metadata = ((this._fontStyle << 11) | (this._foreground << 14) | (this._background << 23)) >>> 0); } clone() { return new Hn(this._fontStyle, this._foreground, this._background); } acceptOverwrite(e, t, i) { -1 !== e && (this._fontStyle = e), 0 !== t && (this._foreground = t), 0 !== i && (this._background = i), (this.metadata = ((this._fontStyle << 11) | (this._foreground << 14) | (this._background << 23)) >>> 0); } } class jn { constructor(e) { (this._mainRule = e), (this._children = new Map()); } match(e) { if ('' === e) return this._mainRule; let t, i, n = e.indexOf('.'); -1 === n ? ((t = e), (i = '')) : ((t = e.substring(0, n)), (i = e.substring(n + 1))); let r = this._children.get(t); return void 0 !== r ? r.match(i) : this._mainRule; } insert(e, t, i, n) { if ('' === e) return void this._mainRule.acceptOverwrite(t, i, n); let r, s, o = e.indexOf('.'); -1 === o ? ((r = e), (s = '')) : ((r = e.substring(0, o)), (s = e.substring(o + 1))); let a = this._children.get(r); void 0 === a && ((a = new jn(this._mainRule.clone())), this._children.set(r, a)), a.insert(s, t, i, n); } } var Vn = i(27869), zn = i(73910); const Un = { base: 'vs', inherit: !1, rules: [ { token: '', foreground: '000000', background: 'fffffe' }, { token: 'invalid', foreground: 'cd3131' }, { token: 'emphasis', fontStyle: 'italic' }, { token: 'strong', fontStyle: 'bold' }, { token: 'variable', foreground: '001188' }, { token: 'variable.predefined', foreground: '4864AA' }, { token: 'constant', foreground: 'dd0000' }, { token: 'comment', foreground: '008000' }, { token: 'number', foreground: '098658' }, { token: 'number.hex', foreground: '3030c0' }, { token: 'regexp', foreground: '800000' }, { token: 'annotation', foreground: '808080' }, { token: 'type', foreground: '008080' }, { token: 'delimiter', foreground: '000000' }, { token: 'delimiter.html', foreground: '383838' }, { token: 'delimiter.xml', foreground: '0000FF' }, { token: 'tag', foreground: '800000' }, { token: 'tag.id.pug', foreground: '4F76AC' }, { token: 'tag.class.pug', foreground: '4F76AC' }, { token: 'meta.scss', foreground: '800000' }, { token: 'metatag', foreground: 'e00000' }, { token: 'metatag.content.html', foreground: 'FF0000' }, { token: 'metatag.html', foreground: '808080' }, { token: 'metatag.xml', foreground: '808080' }, { token: 'metatag.php', fontStyle: 'bold' }, { token: 'key', foreground: '863B00' }, { token: 'string.key.json', foreground: 'A31515' }, { token: 'string.value.json', foreground: '0451A5' }, { token: 'attribute.name', foreground: 'FF0000' }, { token: 'attribute.value', foreground: '0451A5' }, { token: 'attribute.value.number', foreground: '098658' }, { token: 'attribute.value.unit', foreground: '098658' }, { token: 'attribute.value.html', foreground: '0000FF' }, { token: 'attribute.value.xml', foreground: '0000FF' }, { token: 'string', foreground: 'A31515' }, { token: 'string.html', foreground: '0000FF' }, { token: 'string.sql', foreground: 'FF0000' }, { token: 'string.yaml', foreground: '0451A5' }, { token: 'keyword', foreground: '0000FF' }, { token: 'keyword.json', foreground: '0451A5' }, { token: 'keyword.flow', foreground: 'AF00DB' }, { token: 'keyword.flow.scss', foreground: '0000FF' }, { token: 'operator.scss', foreground: '666666' }, { token: 'operator.sql', foreground: '778899' }, { token: 'operator.swift', foreground: '666666' }, { token: 'predefined.sql', foreground: 'FF00FF' }, ], colors: { [zn.cv]: '#FFFFFE', [zn.NO]: '#000000', [zn.ES]: '#E5EBF1', [Vn.tR]: '#D3D3D3', [Vn.Ym]: '#939393', [zn.Rz]: '#ADD6FF4D', }, }, $n = { base: 'vs-dark', inherit: !1, rules: [ { token: '', foreground: 'D4D4D4', background: '1E1E1E' }, { token: 'invalid', foreground: 'f44747' }, { token: 'emphasis', fontStyle: 'italic' }, { token: 'strong', fontStyle: 'bold' }, { token: 'variable', foreground: '74B0DF' }, { token: 'variable.predefined', foreground: '4864AA' }, { token: 'variable.parameter', foreground: '9CDCFE' }, { token: 'constant', foreground: '569CD6' }, { token: 'comment', foreground: '608B4E' }, { token: 'number', foreground: 'B5CEA8' }, { token: 'number.hex', foreground: '5BB498' }, { token: 'regexp', foreground: 'B46695' }, { token: 'annotation', foreground: 'cc6666' }, { token: 'type', foreground: '3DC9B0' }, { token: 'delimiter', foreground: 'DCDCDC' }, { token: 'delimiter.html', foreground: '808080' }, { token: 'delimiter.xml', foreground: '808080' }, { token: 'tag', foreground: '569CD6' }, { token: 'tag.id.pug', foreground: '4F76AC' }, { token: 'tag.class.pug', foreground: '4F76AC' }, { token: 'meta.scss', foreground: 'A79873' }, { token: 'meta.tag', foreground: 'CE9178' }, { token: 'metatag', foreground: 'DD6A6F' }, { token: 'metatag.content.html', foreground: '9CDCFE' }, { token: 'metatag.html', foreground: '569CD6' }, { token: 'metatag.xml', foreground: '569CD6' }, { token: 'metatag.php', fontStyle: 'bold' }, { token: 'key', foreground: '9CDCFE' }, { token: 'string.key.json', foreground: '9CDCFE' }, { token: 'string.value.json', foreground: 'CE9178' }, { token: 'attribute.name', foreground: '9CDCFE' }, { token: 'attribute.value', foreground: 'CE9178' }, { token: 'attribute.value.number.css', foreground: 'B5CEA8' }, { token: 'attribute.value.unit.css', foreground: 'B5CEA8' }, { token: 'attribute.value.hex.css', foreground: 'D4D4D4' }, { token: 'string', foreground: 'CE9178' }, { token: 'string.sql', foreground: 'FF0000' }, { token: 'keyword', foreground: '569CD6' }, { token: 'keyword.flow', foreground: 'C586C0' }, { token: 'keyword.json', foreground: 'CE9178' }, { token: 'keyword.flow.scss', foreground: '569CD6' }, { token: 'operator.scss', foreground: '909090' }, { token: 'operator.sql', foreground: '778899' }, { token: 'operator.swift', foreground: '909090' }, { token: 'predefined.sql', foreground: 'FF00FF' }, ], colors: { [zn.cv]: '#1E1E1E', [zn.NO]: '#D4D4D4', [zn.ES]: '#3A3D41', [Vn.tR]: '#404040', [Vn.Ym]: '#707070', [zn.Rz]: '#ADD6FF26', }, }, Kn = { base: 'hc-black', inherit: !1, rules: [ { token: '', foreground: 'FFFFFF', background: '000000' }, { token: 'invalid', foreground: 'f44747' }, { token: 'emphasis', fontStyle: 'italic' }, { token: 'strong', fontStyle: 'bold' }, { token: 'variable', foreground: '1AEBFF' }, { token: 'variable.parameter', foreground: '9CDCFE' }, { token: 'constant', foreground: '569CD6' }, { token: 'comment', foreground: '608B4E' }, { token: 'number', foreground: 'FFFFFF' }, { token: 'regexp', foreground: 'C0C0C0' }, { token: 'annotation', foreground: '569CD6' }, { token: 'type', foreground: '3DC9B0' }, { token: 'delimiter', foreground: 'FFFF00' }, { token: 'delimiter.html', foreground: 'FFFF00' }, { token: 'tag', foreground: '569CD6' }, { token: 'tag.id.pug', foreground: '4F76AC' }, { token: 'tag.class.pug', foreground: '4F76AC' }, { token: 'meta', foreground: 'D4D4D4' }, { token: 'meta.tag', foreground: 'CE9178' }, { token: 'metatag', foreground: '569CD6' }, { token: 'metatag.content.html', foreground: '1AEBFF' }, { token: 'metatag.html', foreground: '569CD6' }, { token: 'metatag.xml', foreground: '569CD6' }, { token: 'metatag.php', fontStyle: 'bold' }, { token: 'key', foreground: '9CDCFE' }, { token: 'string.key', foreground: '9CDCFE' }, { token: 'string.value', foreground: 'CE9178' }, { token: 'attribute.name', foreground: '569CD6' }, { token: 'attribute.value', foreground: '3FF23F' }, { token: 'string', foreground: 'CE9178' }, { token: 'string.sql', foreground: 'FF0000' }, { token: 'keyword', foreground: '569CD6' }, { token: 'keyword.flow', foreground: 'C586C0' }, { token: 'operator.sql', foreground: '778899' }, { token: 'operator.swift', foreground: '909090' }, { token: 'predefined.sql', foreground: 'FF00FF' }, ], colors: { [zn.cv]: '#000000', [zn.NO]: '#FFFFFF', [Vn.tR]: '#FFFFFF', [Vn.Ym]: '#FFFFFF', }, }; var qn = i(28609); const Gn = 'vs', Zn = 'vs-dark', Jn = 'hc-black', Qn = _n.B.as(zn.IP.ColorContribution), Xn = _n.B.as(Ki.IP.ThemingContribution); class er { constructor(e, t) { (this.semanticHighlighting = !1), (this.themeData = t); let i = t.base; e.length > 0 ? ((this.id = i + ' ' + e), (this.themeName = e)) : ((this.id = i), (this.themeName = i)), (this.colors = null), (this.defaultColors = Object.create(null)), (this._tokenTheme = null); } get base() { return this.themeData.base; } notifyBaseUpdated() { this.themeData.inherit && ((this.colors = null), (this._tokenTheme = null)); } getColors() { if (!this.colors) { const e = new Map(); for (let t in this.themeData.colors) e.set(t, Rn.Il.fromHex(this.themeData.colors[t])); if (this.themeData.inherit) { let t = ir(this.themeData.base); for (let i in t.colors) e.has(i) || e.set(i, Rn.Il.fromHex(t.colors[i])); } this.colors = e; } return this.colors; } getColor(e, t) { return ( this.getColors().get(e) || (!1 !== t ? this.getDefault(e) : void 0) ); } getDefault(e) { let t = this.defaultColors[e]; return ( t || ((t = Qn.resolveDefaultColor(e, this)), (this.defaultColors[e] = t), t) ); } defines(e) { return Object.prototype.hasOwnProperty.call(this.getColors(), e); } get type() { switch (this.base) { case Gn: return 'light'; case Jn: return 'hc'; default: return 'dark'; } } get tokenTheme() { if (!this._tokenTheme) { let e = [], t = []; if (this.themeData.inherit) { let i = ir(this.themeData.base); (e = i.rules), i.encodedTokensColors && (t = i.encodedTokensColors); } (e = e.concat(this.themeData.rules)), this.themeData.encodedTokensColors && (t = this.themeData.encodedTokensColors), (this._tokenTheme = Wn.createFromRawTokenTheme(e, t)); } return this._tokenTheme; } getTokenStyleMetadata(e, t, i) { const n = this.tokenTheme._match([e].concat(t).join('.')).metadata, r = ue.NX.getForeground(n), s = ue.NX.getFontStyle(n); return { foreground: r, italic: Boolean(1 & s), bold: Boolean(2 & s), underline: Boolean(4 & s), }; } } function tr(e) { return e === Gn || e === Zn || e === Jn; } function ir(e) { switch (e) { case Gn: return Un; case Zn: return $n; case Jn: return Kn; } } function nr(e) { let t = ir(e); return new er(e, t); } class rr extends _e.JT { constructor() { super(), (this._onColorThemeChange = this._register(new B.Q5())), (this.onDidColorThemeChange = this._onColorThemeChange.event), (this._environment = Object.create(null)), (this._knownThemes = new Map()), this._knownThemes.set(Gn, nr(Gn)), this._knownThemes.set(Zn, nr(Zn)), this._knownThemes.set(Jn, nr(Jn)), (this._codiconCSS = qn.D.getCSS()), (this._themeCSS = ''), (this._allCSS = `${this._codiconCSS}\n${this._themeCSS}`), (this._globalStyleElement = null), (this._styleElements = []), this.setTheme(Gn), qn.D.onDidChange(() => { (this._codiconCSS = qn.D.getCSS()), this._updateCSS(); }); } registerEditorContainer(e) { return G.OO(e) ? this._registerShadowDomContainer(e) : this._registerRegularEditorContainer(); } _registerRegularEditorContainer() { return ( this._globalStyleElement || ((this._globalStyleElement = G.dS()), (this._globalStyleElement.className = 'monaco-colors'), (this._globalStyleElement.innerHTML = this._allCSS), this._styleElements.push(this._globalStyleElement)), _e.JT.None ); } _registerShadowDomContainer(e) { const t = G.dS(e); return ( (t.className = 'monaco-colors'), (t.innerHTML = this._allCSS), this._styleElements.push(t), { dispose: () => { for (let e = 0; e < this._styleElements.length; e++) if (this._styleElements[e] === t) return void this._styleElements.splice(e, 1); }, } ); } defineTheme(e, t) { if (!/^[a-z0-9\-]+$/i.test(e)) throw new Error('Illegal theme name!'); if (!tr(t.base) && !tr(e)) throw new Error('Illegal theme base!'); this._knownThemes.set(e, new er(e, t)), tr(e) && this._knownThemes.forEach((t) => { t.base === e && t.notifyBaseUpdated(); }), this._theme && this._theme.themeName === e && this.setTheme(e); } getColorTheme() { return this._theme; } setTheme(e) { let t; if ( ((t = this._knownThemes.has(e) ? this._knownThemes.get(e) : this._knownThemes.get(Gn)), this._theme === t) ) return t.id; this._theme = t; let i = [], n = {}, r = { addRule: (e) => { n[e] || (i.push(e), (n[e] = !0)); }, }; Xn.getThemingParticipants().forEach((e) => e(t, r, this._environment) ); let s = t.tokenTheme.getColorMap(); return ( r.addRule( (function (e) { let t = []; for (let i = 1, n = e.length; i < n; i++) { let n = e[i]; t[i] = `.mtk${i} { color: ${n}; }`; } return ( t.push('.mtki { font-style: italic; }'), t.push('.mtkb { font-weight: bold; }'), t.push( '.mtku { text-decoration: underline; text-underline-position: under; }' ), t.join('\n') ); })(s) ), (this._themeCSS = i.join('\n')), this._updateCSS(), ue.RW.setColorMap(s), this._onColorThemeChange.fire(t), t.id ); } _updateCSS() { (this._allCSS = `${this._codiconCSS}\n${this._themeCSS}`), this._styleElements.forEach((e) => (e.innerHTML = this._allCSS)); } getFileIconTheme() { return { hasFileIcons: !1, hasFolderIcons: !1, hidesExplorerArrows: !1, }; } } const sr = 'data-keybinding-context'; class or { constructor(e, t) { (this._id = e), (this._parent = t), (this._value = Object.create(null)), (this._value._contextId = e); } setValue(e, t) { return this._value[e] !== t && ((this._value[e] = t), !0); } removeValue(e) { return e in this._value && (delete this._value[e], !0); } getValue(e) { const t = this._value[e]; return void 0 === t && this._parent ? this._parent.getValue(e) : t; } } class ar extends or { constructor() { super(-1, null); } setValue(e, t) { return !1; } removeValue(e) { return !1; } getValue(e) {} } ar.INSTANCE = new ar(); class lr extends or { constructor(e, t, i) { super(e, null), (this._configurationService = t), (this._values = new Map()), (this._listener = this._configurationService.onDidChangeConfiguration( (e) => { if (6 === e.source) { const e = Array.from(this._values.keys()); this._values.clear(), i.fire(new hr(e)); } else { const t = []; for (const i of e.affectedKeys) { const e = `config.${i}`; this._values.has(e) && (this._values.delete(e), t.push(e)); } i.fire(new hr(t)); } } )); } dispose() { this._listener.dispose(); } getValue(e) { if (0 !== e.indexOf(lr._keyPrefix)) return super.getValue(e); if (this._values.has(e)) return this._values.get(e); const t = e.substr(lr._keyPrefix.length), i = this._configurationService.getValue(t); let n; switch (typeof i) { case 'number': case 'boolean': case 'string': n = i; break; default: Array.isArray(i) && (n = JSON.stringify(i)); } return this._values.set(e, n), n; } setValue(e, t) { return super.setValue(e, t); } removeValue(e) { return super.removeValue(e); } } lr._keyPrefix = 'config.'; class cr { constructor(e, t, i) { (this._service = e), (this._key = t), (this._defaultValue = i), this.reset(); } set(e) { this._service.setContext(this._key, e); } reset() { void 0 === this._defaultValue ? this._service.removeContext(this._key) : this._service.setContext(this._key, this._defaultValue); } get() { return this._service.getContextKeyValue(this._key); } } class dr { constructor(e) { this.key = e; } affectsSome(e) { return e.has(this.key); } } class hr { constructor(e) { this.keys = e; } affectsSome(e) { for (const t of this.keys) if (e.has(t)) return !0; return !1; } } class ur { constructor(e) { this.events = e; } affectsSome(e) { for (const t of this.events) if (t.affectsSome(e)) return !0; return !1; } } class gr { constructor(e) { (this._onDidChangeContext = new B.K3({ merge: (e) => new ur(e) })), (this._isDisposed = !1), (this._myContextId = e); } createKey(e, t) { if (this._isDisposed) throw new Error('AbstractContextKeyService has been disposed'); return new cr(this, e, t); } get onDidChangeContext() { return this._onDidChangeContext.event; } bufferChangeEvents(e) { this._onDidChangeContext.pause(); try { e(); } finally { this._onDidChangeContext.resume(); } } createScoped(e) { if (this._isDisposed) throw new Error('AbstractContextKeyService has been disposed'); return new pr(this, e); } contextMatchesRules(e) { if (this._isDisposed) throw new Error('AbstractContextKeyService has been disposed'); const t = this.getContextValuesContainer(this._myContextId); return ri.contextMatchesRules(t, e); } getContextKeyValue(e) { if (!this._isDisposed) return this.getContextValuesContainer(this._myContextId).getValue( e ); } setContext(e, t) { if (this._isDisposed) return; const i = this.getContextValuesContainer(this._myContextId); i && i.setValue(e, t) && this._onDidChangeContext.fire(new dr(e)); } removeContext(e) { this._isDisposed || (this.getContextValuesContainer(this._myContextId).removeValue( e ) && this._onDidChangeContext.fire(new dr(e))); } getContext(e) { return this._isDisposed ? ar.INSTANCE : this.getContextValuesContainer( (function (e) { for (; e; ) { if (e.hasAttribute(sr)) { const t = e.getAttribute(sr); return t ? parseInt(t, 10) : NaN; } e = e.parentElement; } return 0; })(e) ); } } let fr = class extends gr { constructor(e) { super(0), (this._contexts = new Map()), (this._toDispose = new _e.SL()), (this._lastContextId = 0); const t = new lr(this._myContextId, e, this._onDidChangeContext); this._contexts.set(this._myContextId, t), this._toDispose.add(t); } dispose() { (this._isDisposed = !0), this._toDispose.dispose(); } getContextValuesContainer(e) { return this._isDisposed ? ar.INSTANCE : this._contexts.get(e) || ar.INSTANCE; } createChildContext(e = this._myContextId) { if (this._isDisposed) throw new Error('ContextKeyService has been disposed'); let t = ++this._lastContextId; return ( this._contexts.set( t, new or(t, this.getContextValuesContainer(e)) ), t ); } disposeContext(e) { this._isDisposed || this._contexts.delete(e); } }; fr = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ (function (e, t) { return function (i, n) { t(i, n, e); }; })(0, qt.Ui), ], fr ); class pr extends gr { constructor(e, t) { super(e.createChildContext()), (this._parent = e), t && ((this._domNode = t), this._domNode.setAttribute(sr, String(this._myContextId))); } dispose() { (this._isDisposed = !0), this._parent.disposeContext(this._myContextId), this._domNode && (this._domNode.removeAttribute(sr), (this._domNode = void 0)); } get onDidChangeContext() { return B.ju.any( this._parent.onDidChangeContext, this._onDidChangeContext.event ); } getContextValuesContainer(e) { return this._isDisposed ? ar.INSTANCE : this._parent.getContextValuesContainer(e); } createChildContext(e = this._myContextId) { if (this._isDisposed) throw new Error('ScopedContextKeyService has been disposed'); return this._parent.createChildContext(e); } disposeContext(e) { this._isDisposed || this._parent.disposeContext(e); } } ee.P.registerCommand(Vi.Eq, function (e, t, i) { e.get(Vi.i6).createKey(String(t), i); }); var mr = i(74741), _r = i(90317), br = i(9802), vr = i(61134), yr = i(10161); function wr(e, t, i) { const n = i.offset + i.size; return 0 === i.position ? t <= e - n ? n : t <= i.offset ? i.offset - t : Math.max(e - t, 0) : t <= i.offset ? i.offset - t : t <= e - n ? n : 0; } class Cr extends _e.JT { constructor(e, t) { super(), (this.container = null), (this.delegate = null), (this.toDisposeOnClean = _e.JT.None), (this.toDisposeOnSetContainer = _e.JT.None), (this.shadowRoot = null), (this.shadowRootHostElement = null), (this.view = G.$('.context-view')), (this.useFixedPosition = !1), (this.useShadowDOM = !1), G.Cp(this.view), this.setContainer(e, t), this._register((0, _e.OF)(() => this.setContainer(null, 1))); } setContainer(e, t) { if ( (this.container && (this.toDisposeOnSetContainer.dispose(), this.shadowRoot ? (this.shadowRoot.removeChild(this.view), (this.shadowRoot = null), G.ZF(this.shadowRootHostElement), (this.shadowRootHostElement = null)) : this.container.removeChild(this.view), (this.container = null)), e) ) { (this.container = e), (this.useFixedPosition = 1 !== t), (this.useShadowDOM = 3 === t), this.useShadowDOM ? ((this.shadowRootHostElement = G.$('.shadow-root-host')), this.container.appendChild(this.shadowRootHostElement), (this.shadowRoot = this.shadowRootHostElement.attachShadow({ mode: 'open', })), (this.shadowRoot.innerHTML = `\n\t\t\t\t\t\n\t\t\t\t`), this.shadowRoot.appendChild(this.view), this.shadowRoot.appendChild(G.$('slot'))) : this.container.appendChild(this.view); const i = new _e.SL(); Cr.BUBBLE_UP_EVENTS.forEach((e) => { i.add( G.mu(this.container, e, (e) => { this.onDOMEvent(e, !1); }) ); }), Cr.BUBBLE_DOWN_EVENTS.forEach((e) => { i.add( G.mu( this.container, e, (e) => { this.onDOMEvent(e, !0); }, !0 ) ); }), (this.toDisposeOnSetContainer = i); } } show(e) { this.isVisible() && this.hide(), G.PO(this.view), (this.view.className = 'context-view'), (this.view.style.top = '0px'), (this.view.style.left = '0px'), (this.view.style.zIndex = '2500'), (this.view.style.position = this.useFixedPosition ? 'fixed' : 'absolute'), G.$Z(this.view), (this.toDisposeOnClean = e.render(this.view) || _e.JT.None), (this.delegate = e), this.doLayout(), this.delegate.focus && this.delegate.focus(); } getViewElement() { return this.view; } layout() { this.isVisible() && (!1 !== this.delegate.canRelayout || (ve.gn && yr.D.pointerEvents) ? (this.delegate.layout && this.delegate.layout(), this.doLayout()) : this.hide()); } doLayout() { if (!this.isVisible()) return; let e, t = this.delegate.getAnchor(); if (G.Re(t)) { let i = G.i(t); e = { top: i.top, left: i.left, width: i.width, height: i.height, }; } else e = { top: t.y, left: t.x, width: t.width || 1, height: t.height || 2, }; const i = G.w(this.view), n = G.wn(this.view), r = this.delegate.anchorPosition || 0, s = this.delegate.anchorAlignment || 0, o = { offset: e.top - window.pageYOffset, size: e.height, position: 0 === r ? 0 : 1, }; let a; a = 0 === s ? { offset: e.left, size: 0, position: 0 } : { offset: e.left + e.width, size: 0, position: 1 }; const l = wr(window.innerHeight, n, o) + window.pageYOffset; vr.e.intersects( { start: l, end: l + n }, { start: o.offset, end: o.offset + o.size } ) && ((a.size = e.width), 1 === s && (a.offset = e.left)); const c = wr(window.innerWidth, i, a); G.GK(this.view, 'top', 'bottom', 'left', 'right'), G.cn(this.view, 0 === r ? 'bottom' : 'top'), G.cn(this.view, 0 === s ? 'left' : 'right'), G.og(this.view, 'fixed', this.useFixedPosition); const d = G.i(this.container); (this.view.style.top = l - (this.useFixedPosition ? G.i(this.view).top : d.top) + 'px'), (this.view.style.left = c - (this.useFixedPosition ? G.i(this.view).left : d.left) + 'px'), (this.view.style.width = 'initial'); } hide(e) { const t = this.delegate; (this.delegate = null), (null == t ? void 0 : t.onHide) && t.onHide(e), this.toDisposeOnClean.dispose(), G.Cp(this.view); } isVisible() { return !!this.delegate; } onDOMEvent(e, t) { this.delegate && (this.delegate.onDOMEvent ? this.delegate.onDOMEvent(e, document.activeElement) : t && !G.jg(e.target, this.container) && this.hide()); } dispose() { this.hide(), super.dispose(); } } (Cr.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur']), (Cr.BUBBLE_DOWN_EVENTS = ['click']); let Sr = '\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t@font-face {\n\t\tfont-family: "codicon";\n\t\tsrc: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n'; var kr = i(73046), xr = i(76033), Lr = i(16268), Mr = i(23938); const Dr = /\(&([^\s&])\)|(^|[^&])&([^\s&])/, Nr = /(&)?(&)([^\s&])/g, Er = (0, kr.q5)('menu-selection', kr.lA.check), Tr = (0, kr.q5)('menu-submenu', kr.lA.chevronRight); var Ir; !(function (e) { (e[(e.Right = 0)] = 'Right'), (e[(e.Left = 1)] = 'Left'); })(Ir || (Ir = {})); class Or extends _r.o { constructor(e, t, i = {}) { (0, G.cn)(e, 'monaco-menu-container'), e.setAttribute('role', 'presentation'); const n = document.createElement('div'); (0, G.cn)(n, 'monaco-menu'), n.setAttribute('role', 'presentation'), super(n, { orientation: 2, actionViewItemProvider: (e) => this.doGetActionViewItem(e, i, r), context: i.context, actionRunner: i.actionRunner, ariaLabel: i.ariaLabel, triggerKeys: { keys: [3, ...(ve.dz || ve.IJ ? [10] : [])], keyDown: !0, }, }), (this.menuElement = n), this.actionsList.setAttribute('role', 'menu'), (this.actionsList.tabIndex = 0), (this.menuDisposables = this._register(new _e.SL())), this.initializeStyleSheet(e), (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { new jt.y(e).equals(2) && e.preventDefault(); }), i.enableMnemonics && this.menuDisposables.add( (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { const t = e.key.toLocaleLowerCase(); if (this.mnemonics.has(t)) { G.zB.stop(e, !0); const i = this.mnemonics.get(t); if ( (1 === i.length && (i[0] instanceof Rr && i[0].container && this.focusItemByElement(i[0].container), i[0].onClick(e)), i.length > 1) ) { const e = i.shift(); e && e.container && (this.focusItemByElement(e.container), i.push(e)), this.mnemonics.set(t, i); } } }) ), ve.IJ && this._register( (0, G.nm)(n, G.tw.KEY_DOWN, (e) => { const t = new jt.y(e); t.equals(14) || t.equals(11) ? ((this.focusedItem = this.viewItems.length - 1), this.focusNext(), G.zB.stop(e, !0)) : (t.equals(13) || t.equals(12)) && ((this.focusedItem = 0), this.focusPrevious(), G.zB.stop(e, !0)); }) ), this._register( (0, G.nm)(this.domNode, G.tw.MOUSE_OUT, (e) => { let t = e.relatedTarget; (0, G.jg)(t, this.domNode) || ((this.focusedItem = void 0), this.updateFocus(), e.stopPropagation()); }) ), this._register( (0, G.nm)(this.actionsList, G.tw.MOUSE_OVER, (e) => { let t = e.target; if ( t && (0, G.jg)(t, this.actionsList) && t !== this.actionsList ) { for ( ; t.parentElement !== this.actionsList && null !== t.parentElement; ) t = t.parentElement; if ((0, G.pv)(t, 'action-item')) { const e = this.focusedItem; this.setFocusedItem(t), e !== this.focusedItem && this.updateFocus(); } } }) ); let r = { parent: this }; (this.mnemonics = new Map()), (this.scrollableElement = this._register( new br.s$(n, { alwaysConsumeMouseWheel: !0, horizontal: 2, vertical: 3, verticalScrollbarSize: 7, handleMouseWheel: !0, useShadows: !0, }) )); const s = this.scrollableElement.getDomNode(); (s.style.position = ''), this._register( (0, G.nm)(s, G.tw.MOUSE_UP, (e) => { e.preventDefault(); }) ), (n.style.maxHeight = `${Math.max( 10, window.innerHeight - e.getBoundingClientRect().top - 35 )}px`), (t = t.filter((e) => { var t; return ( !(null === (t = i.submenuIds) || void 0 === t ? void 0 : t.has(e.id)) || (console.warn(`Found submenu cycle: ${e.id}`), !1) ); })), this.push(t, { icon: !0, label: !0, isMenu: !0 }), e.appendChild(this.scrollableElement.getDomNode()), this.scrollableElement.scanDomNode(), this.viewItems .filter((e) => !(e instanceof Pr)) .forEach((e, t, i) => { e.updatePositionInSet(t + 1, i.length); }); } initializeStyleSheet(e) { (0, G.OO)(e) ? ((this.styleSheet = (0, G.dS)(e)), (this.styleSheet.innerHTML = Fr)) : (Or.globalStyleSheet || ((Or.globalStyleSheet = (0, G.dS)()), (Or.globalStyleSheet.innerHTML = Fr)), (this.styleSheet = Or.globalStyleSheet)); } style(e) { const t = this.getContainer(), i = e.foregroundColor ? `${e.foregroundColor}` : '', n = e.backgroundColor ? `${e.backgroundColor}` : '', r = e.borderColor ? `1px solid ${e.borderColor}` : '', s = e.shadowColor ? `0 2px 4px ${e.shadowColor}` : ''; (t.style.border = r), (this.domNode.style.color = i), (this.domNode.style.backgroundColor = n), (t.style.boxShadow = s), this.viewItems && this.viewItems.forEach((t) => { (t instanceof Ar || t instanceof Pr) && t.style(e); }); } getContainer() { return this.scrollableElement.getDomNode(); } get onScroll() { return this.scrollableElement.onScroll; } focusItemByElement(e) { const t = this.focusedItem; this.setFocusedItem(e), t !== this.focusedItem && this.updateFocus(); } setFocusedItem(e) { for (let t = 0; t < this.actionsList.children.length; t++) if (e === this.actionsList.children[t]) { this.focusedItem = t; break; } } updateFocus(e) { super.updateFocus(e, !0), void 0 !== this.focusedItem && this.scrollableElement.setScrollPosition({ scrollTop: Math.round(this.menuElement.scrollTop), }); } doGetActionViewItem(e, t, i) { if (e instanceof mr.Z0) return new Pr(t.context, e, { icon: !0 }); if (e instanceof mr.wY) { const n = new Rr( e, e.actions, i, Object.assign(Object.assign({}, t), { submenuIds: new Set([...(t.submenuIds || []), e.id]), }) ); if (t.enableMnemonics) { const e = n.getMnemonic(); if (e && n.isEnabled()) { let t = []; this.mnemonics.has(e) && (t = this.mnemonics.get(e)), t.push(n), this.mnemonics.set(e, t); } } return n; } { const i = { enableMnemonics: t.enableMnemonics, useEventAsContext: t.useEventAsContext, }; if (t.getKeyBinding) { const n = t.getKeyBinding(e); if (n) { const e = n.getLabel(); e && (i.keybinding = e); } } const n = new Ar(t.context, e, i); if (t.enableMnemonics) { const e = n.getMnemonic(); if (e && n.isEnabled()) { let t = []; this.mnemonics.has(e) && (t = this.mnemonics.get(e)), t.push(n), this.mnemonics.set(e, t); } } return n; } } } class Ar extends xr.Y { constructor(e, t, i = {}) { if ( ((i.isMenu = !0), super(t, t, i), (this.options = i), (this.options.icon = void 0 !== i.icon && i.icon), (this.options.label = void 0 === i.label || i.label), (this.cssClass = ''), this.options.label && i.enableMnemonics) ) { let e = this.getAction().label; if (e) { let t = Dr.exec(e); t && (this.mnemonic = (t[1] ? t[1] : t[3]).toLocaleLowerCase()); } } (this.runOnceToEnableMouseUp = new me.pY(() => { this.element && (this._register( (0, G.nm)(this.element, G.tw.MOUSE_UP, (e) => { if ((G.zB.stop(e, !0), Lr.vU)) { if (new Mr.n(e).rightButton) return; this.onClick(e); } setTimeout(() => { this.onClick(e); }, 0); }) ), this._register( (0, G.nm)(this.element, G.tw.CONTEXT_MENU, (e) => { G.zB.stop(e, !0); }) )); }, 100)), this._register(this.runOnceToEnableMouseUp); } render(e) { super.render(e), this.element && ((this.container = e), (this.item = (0, G.R3)( this.element, (0, G.$)('a.action-menu-item') )), this._action.id === mr.Z0.ID ? this.item.setAttribute('role', 'presentation') : (this.item.setAttribute('role', 'menuitem'), this.mnemonic && this.item.setAttribute( 'aria-keyshortcuts', `${this.mnemonic}` )), (this.check = (0, G.R3)( this.item, (0, G.$)('span.menu-item-check' + Er.cssSelector) )), this.check.setAttribute('role', 'none'), (this.label = (0, G.R3)( this.item, (0, G.$)('span.action-label') )), this.options.label && this.options.keybinding && ((0, G.R3)( this.item, (0, G.$)('span.keybinding') ).textContent = this.options.keybinding), this.runOnceToEnableMouseUp.schedule(), this.updateClass(), this.updateLabel(), this.updateTooltip(), this.updateEnabled(), this.updateChecked()); } blur() { super.blur(), this.applyStyle(); } focus() { super.focus(), this.item && this.item.focus(), this.applyStyle(); } updatePositionInSet(e, t) { this.item && (this.item.setAttribute('aria-posinset', `${e}`), this.item.setAttribute('aria-setsize', `${t}`)); } updateLabel() { if (this.label && this.options.label) { (0, G.PO)(this.label); let e = (0, kr.QF)(this.getAction().label); if (e) { const t = (function (e) { const t = Dr, i = t.exec(e); if (!i) return e; const n = !i[1]; return e.replace(t, n ? '$2$3' : '').trim(); })(e); this.options.enableMnemonics || (e = t), this.label.setAttribute('aria-label', t.replace(/&&/g, '&')); const i = Dr.exec(e); if (i) { (e = Fe.YU(e)), (Nr.lastIndex = 0); let t = Nr.exec(e); for (; t && t[1]; ) t = Nr.exec(e); const n = (e) => e.replace(/&&/g, '&'); t ? this.label.append( Fe.j3(n(e.substr(0, t.index)), ' '), (0, G.$)('u', { 'aria-hidden': 'true' }, t[3]), Fe.oL(n(e.substr(t.index + t[0].length)), ' ') ) : (this.label.innerText = n(e).trim()), this.item && this.item.setAttribute( 'aria-keyshortcuts', (i[1] ? i[1] : i[3]).toLocaleLowerCase() ); } else this.label.innerText = e.replace(/&&/g, '&').trim(); } } } updateTooltip() { let e = null; this.getAction().tooltip ? (e = this.getAction().tooltip) : !this.options.label && this.getAction().label && this.options.icon && ((e = this.getAction().label), this.options.keybinding && (e = ii.N( { key: 'titleLabel', comment: ['action title', 'action keybinding'], }, '{0} ({1})', e, this.options.keybinding ))), e && this.item && (this.item.title = e); } updateClass() { this.cssClass && this.item && (0, G.GK)(this.item, this.cssClass), this.options.icon && this.label ? ((this.cssClass = this.getAction().class || ''), (0, G.cn)(this.label, 'icon'), this.cssClass && (0, G.PT)(this.label, this.cssClass), this.updateEnabled()) : this.label && (0, G.IV)(this.label, 'icon'); } updateEnabled() { this.getAction().enabled ? (this.element && (0, G.IV)(this.element, 'disabled'), this.item && ((0, G.IV)(this.item, 'disabled'), (this.item.tabIndex = 0))) : (this.element && (0, G.cn)(this.element, 'disabled'), this.item && ((0, G.cn)(this.item, 'disabled'), (0, G.eJ)(this.item))); } updateChecked() { this.item && (this.getAction().checked ? ((0, G.cn)(this.item, 'checked'), this.item.setAttribute('role', 'menuitemcheckbox'), this.item.setAttribute('aria-checked', 'true')) : ((0, G.IV)(this.item, 'checked'), this.item.setAttribute('role', 'menuitem'), this.item.setAttribute('aria-checked', 'false'))); } getMnemonic() { return this.mnemonic; } applyStyle() { if (!this.menuStyle) return; const e = this.element && (0, G.pv)(this.element, 'focused'), t = e && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor, i = e && this.menuStyle.selectionBackgroundColor ? this.menuStyle.selectionBackgroundColor : void 0, n = e && this.menuStyle.selectionBorderColor ? `thin solid ${this.menuStyle.selectionBorderColor}` : ''; this.item && ((this.item.style.color = t ? t.toString() : ''), (this.item.style.backgroundColor = i ? i.toString() : '')), this.check && (this.check.style.color = t ? t.toString() : ''), this.container && (this.container.style.border = n); } style(e) { (this.menuStyle = e), this.applyStyle(); } } class Rr extends Ar { constructor(e, t, i, n) { super(e, e, n), (this.submenuActions = t), (this.parentData = i), (this.submenuOptions = n), (this.mysubmenu = null), (this.submenuDisposables = this._register(new _e.SL())), (this.mouseOver = !1), (this.expandDirection = n && void 0 !== n.expandDirection ? n.expandDirection : Ir.Right), (this.showScheduler = new me.pY(() => { this.mouseOver && (this.cleanupExistingSubmenu(!1), this.createSubmenu(!1)); }, 250)), (this.hideScheduler = new me.pY(() => { this.element && !(0, G.jg)((0, G.vY)(), this.element) && this.parentData.submenu === this.mysubmenu && (this.parentData.parent.focus(!1), this.cleanupExistingSubmenu(!0)); }, 750)); } render(e) { super.render(e), this.element && (this.item && ((0, G.cn)(this.item, 'monaco-submenu-item'), this.item.setAttribute('aria-haspopup', 'true'), this.updateAriaExpanded('false'), (this.submenuIndicator = (0, G.R3)( this.item, (0, G.$)('span.submenu-indicator' + Tr.cssSelector) )), this.submenuIndicator.setAttribute('aria-hidden', 'true')), this._register( (0, G.nm)(this.element, G.tw.KEY_UP, (e) => { let t = new jt.y(e); (t.equals(17) || t.equals(3)) && (G.zB.stop(e, !0), this.createSubmenu(!0)); }) ), this._register( (0, G.nm)(this.element, G.tw.KEY_DOWN, (e) => { let t = new jt.y(e); (0, G.vY)() === this.item && (t.equals(17) || t.equals(3)) && G.zB.stop(e, !0); }) ), this._register( (0, G.nm)(this.element, G.tw.MOUSE_OVER, (e) => { this.mouseOver || ((this.mouseOver = !0), this.showScheduler.schedule()); }) ), this._register( (0, G.nm)(this.element, G.tw.MOUSE_LEAVE, (e) => { this.mouseOver = !1; }) ), this._register( (0, G.nm)(this.element, G.tw.FOCUS_OUT, (e) => { this.element && !(0, G.jg)((0, G.vY)(), this.element) && this.hideScheduler.schedule(); }) ), this._register( this.parentData.parent.onScroll(() => { this.parentData.parent.focus(!1), this.cleanupExistingSubmenu(!1); }) )); } onClick(e) { G.zB.stop(e, !0), this.cleanupExistingSubmenu(!1), this.createSubmenu(!0); } cleanupExistingSubmenu(e) { if ( this.parentData.submenu && (e || this.parentData.submenu !== this.mysubmenu) ) { try { this.parentData.submenu.dispose(); } catch (e) {} (this.parentData.submenu = void 0), this.updateAriaExpanded('false'), this.submenuContainer && (this.submenuDisposables.clear(), (this.submenuContainer = void 0)); } } calculateSubmenuMenuLayout(e, t, i, n) { const r = { top: 0, left: 0 }; return ( (r.left = wr(e.width, t.width, { position: n === Ir.Right ? 0 : 1, offset: i.left, size: i.width, })), r.left >= i.left && r.left < i.left + i.width && (i.left + 10 + t.width <= e.width && (r.left = i.left + 10), (i.top += 10), (i.height = 0)), (r.top = wr(e.height, t.height, { position: 0, offset: i.top, size: 0, })), r.top + t.height === i.top && r.top + i.height + t.height <= e.height && (r.top += i.height), r ); } createSubmenu(e = !0) { if (this.element) if (this.parentData.submenu) this.parentData.submenu.focus(!1); else { this.updateAriaExpanded('true'), (this.submenuContainer = (0, G.R3)( this.element, (0, G.$)('div.monaco-submenu') )), (0, G.PT)( this.submenuContainer, 'menubar-menu-items-holder', 'context-view' ); const t = getComputedStyle(this.parentData.parent.domNode), i = parseFloat(t.paddingTop || '0') || 0; (this.submenuContainer.style.zIndex = '1'), (this.submenuContainer.style.position = 'fixed'), (this.submenuContainer.style.top = '0'), (this.submenuContainer.style.left = '0'), (this.parentData.submenu = new Or( this.submenuContainer, this.submenuActions, this.submenuOptions )), this.menuStyle && this.parentData.submenu.style(this.menuStyle); const n = this.element.getBoundingClientRect(), r = { top: n.top - i, left: n.left, height: n.height + 2 * i, width: n.width, }, s = this.submenuContainer.getBoundingClientRect(), { top: o, left: a } = this.calculateSubmenuMenuLayout( { height: window.innerHeight, width: window.innerWidth }, s, r, this.expandDirection ); (this.submenuContainer.style.left = `${a}px`), (this.submenuContainer.style.top = `${o}px`), this.submenuDisposables.add( (0, G.nm)(this.submenuContainer, G.tw.KEY_UP, (e) => { new jt.y(e).equals(15) && (G.zB.stop(e, !0), this.parentData.parent.focus(), this.cleanupExistingSubmenu(!0)); }) ), this.submenuDisposables.add( (0, G.nm)(this.submenuContainer, G.tw.KEY_DOWN, (e) => { new jt.y(e).equals(15) && G.zB.stop(e, !0); }) ), this.submenuDisposables.add( this.parentData.submenu.onDidCancel(() => { this.parentData.parent.focus(), this.cleanupExistingSubmenu(!0); }) ), this.parentData.submenu.focus(e), (this.mysubmenu = this.parentData.submenu); } } updateAriaExpanded(e) { var t; this.item && (null === (t = this.item) || void 0 === t || t.setAttribute('aria-expanded', e)); } applyStyle() { if ((super.applyStyle(), !this.menuStyle)) return; const e = this.element && (0, G.pv)(this.element, 'focused') && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor; this.submenuIndicator && (this.submenuIndicator.style.color = e ? `${e}` : ''), this.parentData.submenu && this.parentData.submenu.style(this.menuStyle); } dispose() { super.dispose(), this.hideScheduler.dispose(), this.mysubmenu && (this.mysubmenu.dispose(), (this.mysubmenu = null)), this.submenuContainer && (this.submenuContainer = void 0); } } class Pr extends xr.g { style(e) { this.label && (this.label.style.borderBottomColor = e.separatorColor ? `${e.separatorColor}` : ''); } } let Fr = `\n.monaco-menu {\n\tfont-size: 13px;\n\n}\n\n${(0, qn.a)( Er )}\n${(0, qn.a)( Tr )}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.4;\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tpadding: 0.5em 0 0 0;\n\tmargin-bottom: 0.5em;\n\twidth: 100%;\n\theight: 0px !important;\n\tmargin-left: .8em !important;\n\tmargin-right: .8em !important;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tborder: thin solid transparent; /* prevents jumping behaviour on hover or focus */\n}\n\n\n/* High Contrast Theming */\n:host-context(.hc-black) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: .5em 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 1.8em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tpadding: 0.2em 0 0 0;\n\tmargin-bottom: 0.2em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: #DDD 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: #DDD 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: #DDD 6px 6px 6px -6px inset;\n}\n\n/* ---------- Default Style ---------- */\n\n:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(100, 100, 100, .4);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(121, 121, 121, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(111, 195, 223, .6);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(100, 100, 100, .7);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(111, 195, 223, .8);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(0, 0, 0, .6);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(191, 191, 191, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(111, 195, 223, 1);\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: #000 6px 0 6px -6px inset;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: #000 6px 6px 6px -6px inset;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: none;\n}\n`; var Br = i(88810), Wr = i(4850); class Yr { constructor(e, t, i, n, r) { (this.contextViewService = e), (this.telemetryService = t), (this.notificationService = i), (this.keybindingService = n), (this.themeService = r), (this.focusToReturn = null), (this.block = null), (this.options = { blockMouse: !0 }); } configure(e) { this.options = e; } showContextMenu(e) { const t = e.getActions(); if (!t.length) return; let i; this.focusToReturn = document.activeElement; let n = (0, G.Re)(e.domForShadowRoot) ? e.domForShadowRoot : void 0; this.contextViewService.showContextView( { getAnchor: () => e.getAnchor(), canRelayout: !1, anchorAlignment: e.anchorAlignment, render: (n) => { let r = e.getMenuClassName ? e.getMenuClassName() : ''; r && (n.className += ' ' + r), this.options.blockMouse && ((this.block = n.appendChild( (0, G.$)('.context-view-block') )), (this.block.style.position = 'fixed'), (this.block.style.cursor = 'initial'), (this.block.style.left = '0'), (this.block.style.top = '0'), (this.block.style.width = '100%'), (this.block.style.height = '100%'), (this.block.style.zIndex = '-1'), (0, Wr.j)( this.block, G.tw.MOUSE_DOWN )((e) => e.stopPropagation())); const s = new _e.SL(), o = e.actionRunner || new mr.Wi(); return ( o.onDidBeforeRun(this.onActionRun, this, s), o.onDidRun(this.onDidActionRun, this, s), (i = new Or(n, t, { actionViewItemProvider: e.getActionViewItem, context: e.getActionsContext ? e.getActionsContext() : null, actionRunner: o, getKeyBinding: e.getKeyBinding ? e.getKeyBinding : (e) => this.keybindingService.lookupKeybinding(e.id), })), s.add((0, Br.tj)(i, this.themeService)), i.onDidCancel( () => this.contextViewService.hideContextView(!0), null, s ), i.onDidBlur( () => this.contextViewService.hideContextView(!0), null, s ), (0, Wr.j)(window, G.tw.BLUR)( () => { this.contextViewService.hideContextView(!0); }, null, s ), (0, Wr.j)(window, G.tw.MOUSE_DOWN)( (e) => { if (e.defaultPrevented) return; let t = new Mr.n(e), i = t.target; if (!t.rightButton) { for (; i; ) { if (i === n) return; i = i.parentElement; } this.contextViewService.hideContextView(!0); } }, null, s ), (0, _e.F8)(s, i) ); }, focus: () => { i && i.focus(!!e.autoSelectFirstItem); }, onHide: (t) => { e.onHide && e.onHide(!!t), this.block && ((0, G.ZF)(this.block), (this.block = null)), this.focusToReturn && this.focusToReturn.focus(); }, }, n, !!n ); } onActionRun(e) { this.telemetryService && this.telemetryService.publicLog2('workbenchActionExecuted', { id: e.action.id, from: 'contextMenu', }), this.contextViewService.hideContextView(!1), this.focusToReturn && this.focusToReturn.focus(); } onDidActionRun(e) { e.error && this.notificationService && this.notificationService.error(e.error); } } var Hr = i(10829), jr = function (e, t) { return function (i, n) { t(i, n, e); }; }; let Vr = class extends _e.JT { constructor(e, t, i, n, r) { super(), (this._onDidContextMenu = this._register(new B.Q5())), (this.onDidContextMenu = this._onDidContextMenu.event), (this.contextMenuHandler = new Yr(i, e, t, n, r)); } configure(e) { this.contextMenuHandler.configure(e); } showContextMenu(e) { this.contextMenuHandler.showContextMenu(e), this._onDidContextMenu.fire(); } }; Vr = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [jr(0, Hr.b), jr(1, pi.lT), jr(2, zi.u), jr(3, $i.d), jr(4, Ki.XE)], Vr ); const zr = (0, Ui.yh)('layoutService'); let Ur = class extends _e.JT { constructor(e) { super(), (this.layoutService = e), (this.currentViewDisposable = _e.JT.None), (this.container = e.container), (this.contextView = this._register(new Cr(this.container, 1))), this.layout(), this._register(e.onLayout(() => this.layout())); } setContainer(e, t) { this.contextView.setContainer(e, t || 1); } showContextView(e, t, i) { t ? t !== this.container && ((this.container = t), this.setContainer(t, i ? 3 : 2)) : this.container !== this.layoutService.container && ((this.container = this.layoutService.container), this.setContainer(this.container, 1)), this.contextView.show(e); const n = (0, _e.OF)(() => { this.currentViewDisposable === n && this.hideContextView(); }); return (this.currentViewDisposable = n), n; } getContextViewElement() { return this.contextView.getViewElement(); } layout() { this.contextView.layout(); } hideContextView(e) { this.contextView.hide(e); } }; Ur = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ (function (e, t) { return function (i, n) { t(i, n, e); }; })(0, zr), ], Ur ); var $r = i(28820); class Kr { constructor(e) { (this.incoming = new Map()), (this.outgoing = new Map()), (this.data = e); } } class qr { constructor(e) { (this._hashFn = e), (this._nodes = new Map()); } roots() { const e = []; for (let t of this._nodes.values()) 0 === t.outgoing.size && e.push(t); return e; } insertEdge(e, t) { const i = this.lookupOrInsertNode(e), n = this.lookupOrInsertNode(t); i.outgoing.set(this._hashFn(t), n), n.incoming.set(this._hashFn(e), i); } removeNode(e) { const t = this._hashFn(e); this._nodes.delete(t); for (let e of this._nodes.values()) e.outgoing.delete(t), e.incoming.delete(t); } lookupOrInsertNode(e) { const t = this._hashFn(e); let i = this._nodes.get(t); return i || ((i = new Kr(e)), this._nodes.set(t, i)), i; } isEmpty() { return 0 === this._nodes.size; } toString() { let e = []; for (let [t, i] of this._nodes) e.push( `${t}, (incoming)[${[...i.incoming.keys()].join( ', ' )}], (outgoing)[${[...i.outgoing.keys()].join(',')}]` ); return e.join('\n'); } } var Gr = i(97108), Zr = i(60972); class Jr extends Error { constructor(e) { super('cyclic dependency between services'), (this.message = e.toString()); } } class Qr { constructor(e = new Zr.y(), t = !1, i) { (this._services = e), (this._strict = t), (this._parent = i), this._services.set(Ui.TG, this); } createChild(e) { return new Qr(e, this._strict, this); } invokeFunction(e, ...t) { let i = Xr.traceInvocation(e), n = !1; try { return e( { get: (e, t) => { if (n) throw (0, be.L6)( 'service accessor is only valid during the invocation of its target method' ); const r = this._getOrCreateServiceInstance(e, i); if (!r && t !== Ui.jt) throw new Error( `[invokeFunction] unknown service '${e}'` ); return r; }, }, ...t ); } finally { (n = !0), i.stop(); } } createInstance(e, ...t) { let i, n; return ( e instanceof Gr.M ? ((i = Xr.traceCreation(e.ctor)), (n = this._createInstance( e.ctor, e.staticArguments.concat(t), i ))) : ((i = Xr.traceCreation(e)), (n = this._createInstance(e, t, i))), i.stop(), n ); } _createInstance(e, t = [], i) { let n = Ui.I8.getServiceDependencies(e).sort( (e, t) => e.index - t.index ), r = []; for (const t of n) { let n = this._getOrCreateServiceInstance(t.id, i); if (!n && this._strict && !t.optional) throw new Error( `[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.` ); r.push(n); } let s = n.length > 0 ? n[0].index : t.length; if (t.length !== s) { console.warn( `[createInstance] First service dependency of ${ e.name } at position ${s + 1} conflicts with ${ t.length } static arguments` ); let i = s - t.length; t = i > 0 ? t.concat(new Array(i)) : t.slice(0, s); } return new e(...[...t, ...r]); } _setServiceInstance(e, t) { if (this._services.get(e) instanceof Gr.M) this._services.set(e, t); else { if (!this._parent) throw new Error( 'illegalState - setting UNKNOWN service instance' ); this._parent._setServiceInstance(e, t); } } _getServiceInstanceOrDescriptor(e) { let t = this._services.get(e); return !t && this._parent ? this._parent._getServiceInstanceOrDescriptor(e) : t; } _getOrCreateServiceInstance(e, t) { let i = this._getServiceInstanceOrDescriptor(e); return i instanceof Gr.M ? this._createAndCacheServiceInstance(e, i, t.branch(e, !0)) : (t.branch(e, !1), i); } _createAndCacheServiceInstance(e, t, i) { const n = new qr((e) => e.id.toString()); let r = 0; const s = [{ id: e, desc: t, _trace: i }]; for (; s.length; ) { const t = s.pop(); if ((n.lookupOrInsertNode(t), r++ > 1e3)) throw new Jr(n); for (let i of Ui.I8.getServiceDependencies(t.desc.ctor)) { let r = this._getServiceInstanceOrDescriptor(i.id); if ( (r || i.optional || console.warn( `[createInstance] ${e} depends on ${i.id} which is NOT registered.` ), r instanceof Gr.M) ) { const e = { id: i.id, desc: r, _trace: t._trace.branch(i.id, !0), }; n.insertEdge(t, e), s.push(e); } } } for (;;) { const e = n.roots(); if (0 === e.length) { if (!n.isEmpty()) throw new Jr(n); break; } for (const { data: t } of e) { const e = this._createServiceInstanceWithOwner( t.id, t.desc.ctor, t.desc.staticArguments, t.desc.supportsDelayedInstantiation, t._trace ); this._setServiceInstance(t.id, e), n.removeNode(t); } } return this._getServiceInstanceOrDescriptor(e); } _createServiceInstanceWithOwner(e, t, i = [], n, r) { if (this._services.get(e) instanceof Gr.M) return this._createServiceInstance(t, i, n, r); if (this._parent) return this._parent._createServiceInstanceWithOwner( e, t, i, n, r ); throw new Error( `illegalState - creating UNKNOWN service instance ${t.name}` ); } _createServiceInstance(e, t = [], i, n) { if (i) { const i = new me.Ue(() => this._createInstance(e, t, n)); return new Proxy(Object.create(null), { get(e, t) { if (t in e) return e[t]; let n = i.value, r = n[t]; return ( 'function' != typeof r || ((r = r.bind(n)), (e[t] = r)), r ); }, set: (e, t, n) => ((i.value[t] = n), !0), }); } return this._createInstance(e, t, n); } } class Xr { constructor(e, t) { (this.type = e), (this.name = t), (this._start = Date.now()), (this._dep = []); } static traceInvocation(e) { return Xr._None; } static traceCreation(e) { return Xr._None; } branch(e, t) { let i = new Xr(2, e.toString()); return this._dep.push([e, t, i]), i; } stop() { let e = Date.now() - this._start; Xr._totals += e; let t = !1, i = [ `${0 === this.type ? 'CREATE' : 'CALL'} ${this.name}`, `${(function e(i, n) { let r = [], s = new Array(i + 1).join('\t'); for (const [o, a, l] of n._dep) if (a && l) { (t = !0), r.push(`${s}CREATES -> ${o}`); let n = e(i + 1, l); n && r.push(n); } else r.push(`${s}uses -> ${o}`); return r.join('\n'); })(1, this)}`, `DONE, took ${e.toFixed(2)}ms (grand total ${Xr._totals.toFixed( 2 )}ms)`, ]; (e > 2 || t) && console.log(i.join('\n')); } } (Xr._None = new (class extends Xr { constructor() { super(-1, null); } stop() {} branch() { return this; } })()), (Xr._totals = 0); var es = i(44349), ts = i(58664), is = i(98674), ns = i(53725); class rs { constructor() { (this._byResource = new Gt.Y9()), (this._byOwner = new Map()); } set(e, t, i) { let n = this._byResource.get(e); n || ((n = new Map()), this._byResource.set(e, n)), n.set(t, i); let r = this._byOwner.get(t); r || ((r = new Gt.Y9()), this._byOwner.set(t, r)), r.set(e, i); } get(e, t) { let i = this._byResource.get(e); return null == i ? void 0 : i.get(t); } delete(e, t) { let i = !1, n = !1, r = this._byResource.get(e); r && (i = r.delete(t)); let s = this._byOwner.get(t); if ((s && (n = s.delete(e)), i !== n)) throw new Error('illegal state'); return i && n; } values(e) { var t, i, n, r; return 'string' == typeof e ? null !== (i = null === (t = this._byOwner.get(e)) || void 0 === t ? void 0 : t.values()) && void 0 !== i ? i : ns.$.empty() : Y.o.isUri(e) ? null !== (r = null === (n = this._byResource.get(e)) || void 0 === n ? void 0 : n.values()) && void 0 !== r ? r : ns.$.empty() : ns.$.map(ns.$.concat(...this._byOwner.values()), (e) => e[1]); } } class ss { constructor(e) { (this.errors = 0), (this.infos = 0), (this.warnings = 0), (this.unknowns = 0), (this._data = new Gt.Y9()), (this._service = e), (this._subscription = e.onMarkerChanged(this._update, this)); } dispose() { this._subscription.dispose(); } _update(e) { for (const t of e) { const e = this._data.get(t); e && this._substract(e); const i = this._resourceStats(t); this._add(i), this._data.set(t, i); } } _resourceStats(e) { const t = { errors: 0, warnings: 0, infos: 0, unknowns: 0 }; if ( e.scheme === Q.l.inMemory || e.scheme === Q.l.walkThrough || e.scheme === Q.l.walkThroughSnippet ) return t; for (const { severity: i } of this._service.read({ resource: e })) i === is.ZL.Error ? (t.errors += 1) : i === is.ZL.Warning ? (t.warnings += 1) : i === is.ZL.Info ? (t.infos += 1) : (t.unknowns += 1); return t; } _substract(e) { (this.errors -= e.errors), (this.warnings -= e.warnings), (this.infos -= e.infos), (this.unknowns -= e.unknowns); } _add(e) { (this.errors += e.errors), (this.warnings += e.warnings), (this.infos += e.infos), (this.unknowns += e.unknowns); } } class os { constructor() { (this._onMarkerChanged = new B.Q5()), (this.onMarkerChanged = B.ju.debounce( this._onMarkerChanged.event, os._debouncer, 0 )), (this._data = new rs()), (this._stats = new ss(this)); } dispose() { this._stats.dispose(); } remove(e, t) { for (const i of t || []) this.changeOne(e, i, []); } changeOne(e, t, i) { if ((0, De.XY)(i)) this._data.delete(t, e) && this._onMarkerChanged.fire([t]); else { const n = []; for (const r of i) { const i = os._toMarker(e, t, r); i && n.push(i); } this._data.set(t, e, n), this._onMarkerChanged.fire([t]); } } static _toMarker(e, t, i) { let { code: n, severity: r, message: s, source: o, startLineNumber: a, startColumn: l, endLineNumber: c, endColumn: d, relatedInformation: h, tags: u, } = i; if (s) return ( (a = a > 0 ? a : 1), (l = l > 0 ? l : 1), (c = c >= a ? c : a), (d = d > 0 ? d : l), { resource: t, owner: e, code: n, severity: r, message: s, source: o, startLineNumber: a, startColumn: l, endLineNumber: c, endColumn: d, relatedInformation: h, tags: u, } ); } read(e = Object.create(null)) { let { owner: t, resource: i, severities: n, take: r } = e; if (((!r || r < 0) && (r = -1), t && i)) { const e = this._data.get(i, t); if (e) { const t = []; for (const i of e) if (os._accept(i, n)) { const e = t.push(i); if (r > 0 && e === r) break; } return t; } return []; } if (t || i) { const e = this._data.values(null != i ? i : t), s = []; for (const t of e) for (const e of t) if (os._accept(e, n)) { const t = s.push(e); if (r > 0 && t === r) return s; } return s; } { const e = []; for (let t of this._data.values()) for (let i of t) if (os._accept(i, n)) { const t = e.push(i); if (r > 0 && t === r) return e; } return e; } } static _accept(e, t) { return void 0 === t || (t & e.severity) === e.severity; } static _debouncer(e, t) { e || ((os._dedupeMap = new Gt.Y9()), (e = [])); for (const i of t) os._dedupeMap.has(i) || (os._dedupeMap.set(i, !0), e.push(i)); return e; } } var as = i(52365), ls = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, cs = function (e, t) { return function (i, n) { t(i, n, e); }; }; let ds = class { constructor(e) { this._commandService = e; } createMenu(e, t) { return new hs(e, this._commandService, t, this); } }; ds = ls([cs(0, ee.H)], ds); let hs = class e { constructor(e, t, i, n) { (this._id = e), (this._commandService = t), (this._contextKeyService = i), (this._menuService = n), (this._onDidChange = new B.Q5()), (this._dispoables = new _e.SL()), (this._menuGroups = []), (this._contextKeys = new Set()), this._build(), this._dispoables.add( B.ju.debounce( B.ju.filter(ji.BH.onDidChangeMenu, (e) => e.has(this._id)), () => {}, 50 )(this._build, this) ), this._dispoables.add( B.ju.debounce( this._contextKeyService.onDidChangeContext, (e, t) => e || t.affectsSome(this._contextKeys), 50 )((e) => e && this._onDidChange.fire(void 0), this) ); } dispose() { this._dispoables.dispose(), this._onDidChange.dispose(); } _build() { (this._menuGroups.length = 0), this._contextKeys.clear(); const t = ji.BH.getMenuItems(this._id); let i; t.sort(e._compareMenuItems); for (let n of t) { const t = n.group || ''; if ( ((i && i[0] === t) || ((i = [t, []]), this._menuGroups.push(i)), i[1].push(n), e._fillInKbExprKeys(n.when, this._contextKeys), (0, ji.vr)(n) && n.command.precondition && e._fillInKbExprKeys( n.command.precondition, this._contextKeys ), (0, ji.vr)(n) && n.command.toggled) ) { const t = n.command.toggled.condition || n.command.toggled; e._fillInKbExprKeys(t, this._contextKeys); } } this._onDidChange.fire(this); } get onDidChange() { return this._onDidChange.event; } getActions(e) { const t = []; for (let i of this._menuGroups) { const [n, r] = i, s = []; for (const t of r) if (this._contextKeyService.contextMatchesRules(t.when)) { const i = (0, ji.vr)(t) ? new ji.U8( t.command, t.alt, e, this._contextKeyService, this._commandService ) : new ji.NZ( t, this._menuService, this._contextKeyService, e ); s.push(i); } s.length > 0 && t.push([n, s]); } return t; } static _fillInKbExprKeys(e, t) { if (e) for (let i of e.keys()) t.add(i); } static _compareMenuItems(t, i) { let n = t.group, r = i.group; if (n !== r) { if (!n) return 1; if (!r) return -1; if ('navigation' === n) return -1; if ('navigation' === r) return 1; let e = n.localeCompare(r); if (0 !== e) return e; } let s = t.order || 0, o = i.order || 0; return s < o ? -1 : s > o ? 1 : e._compareTitles( (0, ji.vr)(t) ? t.command.title : t.title, (0, ji.vr)(i) ? i.command.title : i.title ); } static _compareTitles(e, t) { const i = 'string' == typeof e ? e : e.value, n = 'string' == typeof t ? t : t.value; return i.localeCompare(n); } }; hs = ls([cs(1, ee.H), cs(2, Vi.i6), cs(3, ji.co)], hs); var us = i(26479), gs = function (e, t) { return function (i, n) { t(i, n, e); }; }; function fs(e) { return e.toString(); } class ps extends _e.JT { constructor(e) { super(), (this.model = e), (this._markersData = new Map()), this._register( (0, _e.OF)(() => { this.model.deltaDecorations( [...this._markersData.keys()], [] ), this._markersData.clear(); }) ); } update(e, t) { const i = [...this._markersData.keys()]; this._markersData.clear(); const n = this.model.deltaDecorations(i, t); for (let t = 0; t < n.length; t++) this._markersData.set(n[t], e[t]); return 0 !== i.length || 0 !== n.length; } getMarker(e) { return this._markersData.get(e.id); } } let ms = class extends _e.JT { constructor(e, t) { super(), (this._markerService = t), (this._onDidChangeMarker = this._register(new B.Q5())), (this._markerDecorations = new Map()), e.getModels().forEach((e) => this._onModelAdded(e)), this._register(e.onModelAdded(this._onModelAdded, this)), this._register(e.onModelRemoved(this._onModelRemoved, this)), this._register( this._markerService.onMarkerChanged( this._handleMarkerChange, this ) ); } dispose() { super.dispose(), this._markerDecorations.forEach((e) => e.dispose()), this._markerDecorations.clear(); } getMarker(e, t) { const i = this._markerDecorations.get(fs(e.uri)); return (i && i.getMarker(t)) || null; } _handleMarkerChange(e) { e.forEach((e) => { const t = this._markerDecorations.get(fs(e)); t && this._updateDecorations(t); }); } _onModelAdded(e) { const t = new ps(e); this._markerDecorations.set(fs(e.uri), t), this._updateDecorations(t); } _onModelRemoved(e) { const t = this._markerDecorations.get(fs(e.uri)); t && (t.dispose(), this._markerDecorations.delete(fs(e.uri))), (e.uri.scheme !== Q.l.inMemory && e.uri.scheme !== Q.l.internal && e.uri.scheme !== Q.l.vscode) || (this._markerService && this._markerService .read({ resource: e.uri }) .map((e) => e.owner) .forEach((t) => this._markerService.remove(t, [e.uri]))); } _updateDecorations(e) { const t = this._markerService.read({ resource: e.model.uri, take: 500, }); let i = t.map((t) => ({ range: this._createDecorationRange(e.model, t), options: this._createDecorationOption(t), })); e.update(t, i) && this._onDidChangeMarker.fire(e.model); } _createDecorationRange(e, t) { let i = j.e.lift(t); if ( (t.severity !== is.ZL.Hint || this._hasMarkerTag(t, 1) || this._hasMarkerTag(t, 2) || (i = i.setEndPosition(i.startLineNumber, i.startColumn + 2)), (i = e.validateRange(i)), i.isEmpty()) ) { let t = e.getWordAtPosition(i.getStartPosition()); if (t) i = new j.e( i.startLineNumber, t.startColumn, i.endLineNumber, t.endColumn ); else { let t = e.getLineLastNonWhitespaceColumn(i.startLineNumber) || e.getLineMaxColumn(i.startLineNumber); 1 === t || (i = i.endColumn >= t ? new j.e(i.startLineNumber, t - 1, i.endLineNumber, t) : new j.e( i.startLineNumber, i.startColumn, i.endLineNumber, i.endColumn + 1 )); } } else if ( t.endColumn === Number.MAX_VALUE && 1 === t.startColumn && i.startLineNumber === i.endLineNumber ) { let n = e.getLineFirstNonWhitespaceColumn(t.startLineNumber); n < i.endColumn && ((i = new j.e( i.startLineNumber, n, i.endLineNumber, i.endColumn )), (t.startColumn = n)); } return i; } _createDecorationOption(e) { let t, i, n, r, s; switch (e.severity) { case is.ZL.Hint: (t = this._hasMarkerTag(e, 2) ? void 0 : this._hasMarkerTag(e, 1) ? 'squiggly-unnecessary' : 'squiggly-hint'), (n = 0); break; case is.ZL.Warning: (t = 'squiggly-warning'), (i = (0, Ki.EN)(Vn.Re)), (n = 20), (s = { color: (0, Ki.EN)(zn.Iv), position: he.F5.Inline }); break; case is.ZL.Info: (t = 'squiggly-info'), (i = (0, Ki.EN)(Vn.eS)), (n = 10); break; case is.ZL.Error: default: (t = 'squiggly-error'), (i = (0, Ki.EN)(Vn.lK)), (n = 30), (s = { color: (0, Ki.EN)(zn.Gj), position: he.F5.Inline }); } return ( e.tags && (-1 !== e.tags.indexOf(1) && (r = 'squiggly-inline-unnecessary'), -1 !== e.tags.indexOf(2) && (r = 'squiggly-inline-deprecated')), { stickiness: 1, className: t, showIfCollapsed: !0, overviewRuler: { color: i, position: he.sh.Right }, minimap: s, zIndex: n, inlineClassName: r, } ); } _hasMarkerTag(e, t) { return !!e.tags && e.tags.indexOf(t) >= 0; } }; ms = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([gs(0, st.q), gs(1, is.lT)], ms); var _s = i(65026), bs = function (e, t) { return function (i, n) { t(i, n, e); }; }; let vs = class extends _e.JT { constructor(e, t) { super(), (this._contextKeyService = e), (this._configurationService = t), (this._accessibilitySupport = 0), (this._onDidChangeScreenReaderOptimized = new B.Q5()), (this._accessibilityModeEnabledContext = qi.U.bindTo( this._contextKeyService )); const i = () => this._accessibilityModeEnabledContext.set( this.isScreenReaderOptimized() ); this._register( this._configurationService.onDidChangeConfiguration((e) => { e.affectsConfiguration('editor.accessibilitySupport') && (i(), this._onDidChangeScreenReaderOptimized.fire()); }) ), i(), this.onDidChangeScreenReaderOptimized(() => i()); } get onDidChangeScreenReaderOptimized() { return this._onDidChangeScreenReaderOptimized.event; } isScreenReaderOptimized() { const e = this._configurationService.getValue( 'editor.accessibilitySupport' ); return ( 'on' === e || ('auto' === e && 2 === this._accessibilitySupport) ); } getAccessibilitySupport() { return this._accessibilitySupport; } }; vs = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([bs(0, Vi.i6), bs(1, qt.Ui)], vs); var ys = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class ws { constructor() { (this.mapTextToType = new Map()), (this.findText = ''); } writeText(e, t) { return ys(this, void 0, void 0, function* () { if (t) return void this.mapTextToType.set(t, e); try { return yield navigator.clipboard.writeText(e); } catch (e) { console.error(e); } const i = document.activeElement, n = document.body.appendChild( (0, G.$)('textarea', { 'aria-hidden': !0 }) ); (n.style.height = '1px'), (n.style.width = '1px'), (n.style.position = 'absolute'), (n.value = e), n.focus(), n.select(), document.execCommand('copy'), i instanceof HTMLElement && i.focus(), document.body.removeChild(n); }); } readText(e) { return ys(this, void 0, void 0, function* () { if (e) return this.mapTextToType.get(e) || ''; try { return yield navigator.clipboard.readText(); } catch (e) { return console.error(e), ''; } }); } readFindText() { return ys(this, void 0, void 0, function* () { return this.findText; }); } writeFindText(e) { return ys(this, void 0, void 0, function* () { this.findText = e; }); } } var Cs = i(64862), Ss = function (e, t) { return function (i, n) { t(i, n, e); }; }, ks = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function xs(e) { return e.scheme === Q.l.file ? e.fsPath : e.path; } let Ls = 0; class Ms { constructor(e, t, i) { (this.id = ++Ls), (this.type = 0), (this.actual = e), (this.label = e.label), (this.resourceLabel = t), (this.strResource = i), (this.resourceLabels = [this.resourceLabel]), (this.strResources = [this.strResource]), (this.isValid = !0); } setValid(e) { this.isValid = e; } toString() { return `[${this.id}] [${this.isValid ? 'VALID' : 'INVALID'}] ${ this.actual }`; } } class Ds { constructor(e, t) { (this.resourceLabel = e), (this.reason = t); } } class Ns { constructor() { this.elements = new Map(); } createMessage() { const e = [], t = []; for (const [, i] of this.elements) (0 === i.reason ? e : t).push(i.resourceLabel); let i = []; return ( e.length > 0 && i.push( ii.N( { key: 'externalRemoval', comment: ['{0} is a list of filenames'], }, 'The following files have been closed and modified on disk: {0}.', e.join(', ') ) ), t.length > 0 && i.push( ii.N( { key: 'noParallelUniverses', comment: ['{0} is a list of filenames'], }, 'The following files have been modified in an incompatible way: {0}.', t.join(', ') ) ), i.join('\n') ); } get size() { return this.elements.size; } has(e) { return this.elements.has(e); } set(e, t) { this.elements.set(e, t); } delete(e) { return this.elements.delete(e); } } class Es { constructor(e, t, i) { (this.id = ++Ls), (this.type = 1), (this.actual = e), (this.label = e.label), (this.resourceLabels = t), (this.strResources = i), (this.removedResources = null), (this.invalidatedResources = null); } canSplit() { return 'function' == typeof this.actual.split; } removeResource(e, t, i) { this.removedResources || (this.removedResources = new Ns()), this.removedResources.has(t) || this.removedResources.set(t, new Ds(e, i)); } setValid(e, t, i) { i ? this.invalidatedResources && (this.invalidatedResources.delete(t), 0 === this.invalidatedResources.size && (this.invalidatedResources = null)) : (this.invalidatedResources || (this.invalidatedResources = new Ns()), this.invalidatedResources.has(t) || this.invalidatedResources.set(t, new Ds(e, 0))); } toString() { return `[${this.id}] [${ this.invalidatedResources ? 'INVALID' : 'VALID' }] ${this.actual}`; } } class Ts { constructor(e, t) { (this.resourceLabel = e), (this.strResource = t), (this._past = []), (this._future = []), (this.locked = !1), (this.versionId = 1); } dispose() { for (const e of this._past) 1 === e.type && e.removeResource(this.resourceLabel, this.strResource, 0); for (const e of this._future) 1 === e.type && e.removeResource(this.resourceLabel, this.strResource, 0); this.versionId++; } toString() { let e = []; e.push(`* ${this.strResource}:`); for (let t = 0; t < this._past.length; t++) e.push(` * [UNDO] ${this._past[t]}`); for (let t = this._future.length - 1; t >= 0; t--) e.push(` * [REDO] ${this._future[t]}`); return e.join('\n'); } flushAllElements() { (this._past = []), (this._future = []), this.versionId++; } _setElementValidFlag(e, t) { 1 === e.type ? e.setValid(this.resourceLabel, this.strResource, t) : e.setValid(t); } setElementsValidFlag(e, t) { for (const i of this._past) t(i.actual) && this._setElementValidFlag(i, e); for (const i of this._future) t(i.actual) && this._setElementValidFlag(i, e); } pushElement(e) { for (const e of this._future) 1 === e.type && e.removeResource(this.resourceLabel, this.strResource, 1); if (((this._future = []), this._past.length > 0)) { const e = this._past[this._past.length - 1]; 0 !== e.type || e.isValid || (this._past = []); } this._past.push(e), this.versionId++; } createSnapshot(e) { const t = []; for (let e = 0, i = this._past.length; e < i; e++) t.push(this._past[e].id); for (let e = this._future.length - 1; e >= 0; e--) t.push(this._future[e].id); return new Cs.Y(e, t); } restoreSnapshot(e) { const t = e.elements.length; let i = !0, n = 0, r = -1; for (let s = 0, o = this._past.length; s < o; s++, n++) { const o = this._past[s]; i && (n >= t || o.id !== e.elements[n]) && ((i = !1), (r = 0)), i || 1 !== o.type || o.removeResource(this.resourceLabel, this.strResource, 0); } let s = -1; for (let r = this._future.length - 1; r >= 0; r--, n++) { const o = this._future[r]; i && (n >= t || o.id !== e.elements[n]) && ((i = !1), (s = r)), i || 1 !== o.type || o.removeResource(this.resourceLabel, this.strResource, 0); } -1 !== r && (this._past = this._past.slice(0, r)), -1 !== s && (this._future = this._future.slice(s + 1)), this.versionId++; } getElements() { const e = [], t = []; for (const t of this._past) e.push(t.actual); for (const e of this._future) t.push(e.actual); return { past: e, future: t }; } getClosestPastElement() { return 0 === this._past.length ? null : this._past[this._past.length - 1]; } getClosestFutureElement() { return 0 === this._future.length ? null : this._future[this._future.length - 1]; } hasPastElements() { return this._past.length > 0; } hasFutureElements() { return this._future.length > 0; } splitPastWorkspaceElement(e, t) { for (let i = this._past.length - 1; i >= 0; i--) if (this._past[i] === e) { t.has(this.strResource) ? (this._past[i] = t.get(this.strResource)) : this._past.splice(i, 1); break; } this.versionId++; } splitFutureWorkspaceElement(e, t) { for (let i = this._future.length - 1; i >= 0; i--) if (this._future[i] === e) { t.has(this.strResource) ? (this._future[i] = t.get(this.strResource)) : this._future.splice(i, 1); break; } this.versionId++; } moveBackward(e) { this._past.pop(), this._future.push(e), this.versionId++; } moveForward(e) { this._future.pop(), this._past.push(e), this.versionId++; } } class Is { constructor(e) { (this.editStacks = e), (this._versionIds = []); for (let e = 0, t = this.editStacks.length; e < t; e++) this._versionIds[e] = this.editStacks[e].versionId; } isValid() { for (let e = 0, t = this.editStacks.length; e < t; e++) if (this._versionIds[e] !== this.editStacks[e].versionId) return !1; return !0; } } const Os = new Ts('', ''); Os.locked = !0; let As = class { constructor(e, t) { (this._dialogService = e), (this._notificationService = t), (this._editStacks = new Map()), (this._uriComparisonKeyComputers = []); } getUriComparisonKey(e) { for (const t of this._uriComparisonKeyComputers) if (t[0] === e.scheme) return t[1].getComparisonKey(e); return e.toString(); } _print(e) { console.log('------------------------------------'), console.log(`AFTER ${e}: `); let t = []; for (const e of this._editStacks) t.push(e[1].toString()); console.log(t.join('\n')); } pushElement(e) { if (0 === e.type) { const t = xs(e.resource), i = this.getUriComparisonKey(e.resource); this._pushElement(new Ms(e, t, i)); } else { const t = new Set(), i = [], n = []; for (const r of e.resources) { const e = xs(r), s = this.getUriComparisonKey(r); t.has(s) || (t.add(s), i.push(e), n.push(s)); } 1 === i.length ? this._pushElement(new Ms(e, i[0], n[0])) : this._pushElement(new Es(e, i, n)); } } _pushElement(e) { for (let t = 0, i = e.strResources.length; t < i; t++) { const i = e.resourceLabels[t], n = e.strResources[t]; let r; this._editStacks.has(n) ? (r = this._editStacks.get(n)) : ((r = new Ts(i, n)), this._editStacks.set(n, r)), r.pushElement(e); } } getLastElement(e) { const t = this.getUriComparisonKey(e); if (this._editStacks.has(t)) { const e = this._editStacks.get(t); if (e.hasFutureElements()) return null; const i = e.getClosestPastElement(); return i ? i.actual : null; } return null; } _splitPastWorkspaceElement(e, t) { const i = e.actual.split(), n = new Map(); for (const e of i) { const t = xs(e.resource), i = this.getUriComparisonKey(e.resource), r = new Ms(e, t, i); n.set(r.strResource, r); } for (const i of e.strResources) (t && t.has(i)) || this._editStacks.get(i).splitPastWorkspaceElement(e, n); } _splitFutureWorkspaceElement(e, t) { const i = e.actual.split(), n = new Map(); for (const e of i) { const t = xs(e.resource), i = this.getUriComparisonKey(e.resource), r = new Ms(e, t, i); n.set(r.strResource, r); } for (const i of e.strResources) (t && t.has(i)) || this._editStacks.get(i).splitFutureWorkspaceElement(e, n); } removeElements(e) { const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); this._editStacks.has(t) && (this._editStacks.get(t).dispose(), this._editStacks.delete(t)); } setElementsValidFlag(e, t, i) { const n = this.getUriComparisonKey(e); this._editStacks.has(n) && this._editStacks.get(n).setElementsValidFlag(t, i); } createSnapshot(e) { const t = this.getUriComparisonKey(e); return this._editStacks.has(t) ? this._editStacks.get(t).createSnapshot(e) : new Cs.Y(e, []); } restoreSnapshot(e) { const t = this.getUriComparisonKey(e.resource); if (this._editStacks.has(t)) { const i = this._editStacks.get(t); i.restoreSnapshot(e), i.hasPastElements() || i.hasFutureElements() || (i.dispose(), this._editStacks.delete(t)); } } getElements(e) { const t = this.getUriComparisonKey(e); return this._editStacks.has(t) ? this._editStacks.get(t).getElements() : { past: [], future: [] }; } canUndo(e) { const t = this.getUriComparisonKey(e); return ( !!this._editStacks.has(t) && this._editStacks.get(t).hasPastElements() ); } _onError(e, t) { (0, be.dL)(e); for (const e of t.strResources) this.removeElements(e); this._notificationService.error(e); } _acquireLocks(e) { for (const t of e.editStacks) if (t.locked) throw new Error('Cannot acquire edit stack lock'); for (const t of e.editStacks) t.locked = !0; return () => { for (const t of e.editStacks) t.locked = !1; }; } _safeInvokeWithLocks(e, t, i, n = _e.JT.None) { const r = this._acquireLocks(i); let s; try { s = t(); } catch (t) { return r(), n.dispose(), this._onError(t, e); } if (s) return s.then( () => { r(), n.dispose(); }, (t) => (r(), n.dispose(), this._onError(t, e)) ); r(), n.dispose(); } _invokeWorkspacePrepare(e) { return ks(this, void 0, void 0, function* () { if (void 0 === e.actual.prepareUndoRedo) return _e.JT.None; const t = e.actual.prepareUndoRedo(); return void 0 === t ? _e.JT.None : t; }); } _invokeResourcePrepare(e, t) { if (1 !== e.actual.type || void 0 === e.actual.prepareUndoRedo) return void t(_e.JT.None); const i = e.actual.prepareUndoRedo(); if (i) { if (!(0, _e.Wf)(i)) return i.then((e) => { t(e); }); t(i); } else t(_e.JT.None); } _getAffectedEditStacks(e) { const t = []; for (const i of e.strResources) t.push(this._editStacks.get(i) || Os); return new Is(t); } _tryToSplitAndUndo(e, t, i, n) { if (t.canSplit()) return ( this._splitPastWorkspaceElement(t, i), this._notificationService.info(n), new Rs(this.undo(e)) ); for (const e of t.strResources) this.removeElements(e); return this._notificationService.info(n), new Rs(); } _checkWorkspaceUndo(e, t, i, n) { if (t.removedResources) return this._tryToSplitAndUndo( e, t, t.removedResources, ii.N( { key: 'cannotWorkspaceUndo', comment: [ '{0} is a label for an operation. {1} is another message.', ], }, "Could not undo '{0}' across all files. {1}", t.label, t.removedResources.createMessage() ) ); if (n && t.invalidatedResources) return this._tryToSplitAndUndo( e, t, t.invalidatedResources, ii.N( { key: 'cannotWorkspaceUndo', comment: [ '{0} is a label for an operation. {1} is another message.', ], }, "Could not undo '{0}' across all files. {1}", t.label, t.invalidatedResources.createMessage() ) ); const r = []; for (const e of i.editStacks) e.getClosestPastElement() !== t && r.push(e.resourceLabel); if (r.length > 0) return this._tryToSplitAndUndo( e, t, null, ii.N( { key: 'cannotWorkspaceUndoDueToChanges', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not undo '{0}' across all files because changes were made to {1}", t.label, r.join(', ') ) ); const s = []; for (const e of i.editStacks) e.locked && s.push(e.resourceLabel); return s.length > 0 ? this._tryToSplitAndUndo( e, t, null, ii.N( { key: 'cannotWorkspaceUndoDueToInProgressUndoRedo', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}", t.label, s.join(', ') ) ) : i.isValid() ? null : this._tryToSplitAndUndo( e, t, null, ii.N( { key: 'cannotWorkspaceUndoDueToInMeantimeUndoRedo', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime", t.label ) ); } _workspaceUndo(e, t) { const i = this._getAffectedEditStacks(t), n = this._checkWorkspaceUndo(e, t, i, !1); return n ? n.returnValue : this._confirmAndExecuteWorkspaceUndo(e, t, i); } _confirmAndExecuteWorkspaceUndo(e, t, i) { return ks(this, void 0, void 0, function* () { if (t.canSplit()) { const n = yield this._dialogService.show( Vt.Z.Info, ii.N( 'confirmWorkspace', "Would you like to undo '{0}' across all files?", t.label ), [ ii.N( { key: 'ok', comment: ['{0} denotes a number that is > 1'], }, 'Undo in {0} Files', i.editStacks.length ), ii.N('nok', 'Undo this File'), ii.N('cancel', 'Cancel'), ], { cancelId: 2 } ); if (2 === n.choice) return; if (1 === n.choice) return this._splitPastWorkspaceElement(t, null), this.undo(e); const r = this._checkWorkspaceUndo(e, t, i, !1); if (r) return r.returnValue; } let n; try { n = yield this._invokeWorkspacePrepare(t); } catch (e) { return this._onError(e, t); } const r = this._checkWorkspaceUndo(e, t, i, !0); if (r) return n.dispose(), r.returnValue; for (const e of i.editStacks) e.moveBackward(t); return this._safeInvokeWithLocks(t, () => t.actual.undo(), i, n); }); } _resourceUndo(e, t) { if (t.isValid) { if (!e.locked) return this._invokeResourcePrepare( t, (i) => ( e.moveBackward(t), this._safeInvokeWithLocks( t, () => t.actual.undo(), new Is([e]), i ) ) ); { const e = ii.N( { key: 'cannotResourceUndoDueToInProgressUndoRedo', comment: ['{0} is a label for an operation.'], }, "Could not undo '{0}' because there is already an undo or redo operation running.", t.label ); this._notificationService.info(e); } } else e.flushAllElements(); } undo(e) { const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); if (!this._editStacks.has(t)) return; const i = this._editStacks.get(t), n = i.getClosestPastElement(); if (n) try { return 1 === n.type ? this._workspaceUndo(t, n) : this._resourceUndo(i, n); } finally { } } canRedo(e) { const t = this.getUriComparisonKey(e); return ( !!this._editStacks.has(t) && this._editStacks.get(t).hasFutureElements() ); } _tryToSplitAndRedo(e, t, i, n) { if (t.canSplit()) return ( this._splitFutureWorkspaceElement(t, i), this._notificationService.info(n), new Rs(this.redo(e)) ); for (const e of t.strResources) this.removeElements(e); return this._notificationService.info(n), new Rs(); } _checkWorkspaceRedo(e, t, i, n) { if (t.removedResources) return this._tryToSplitAndRedo( e, t, t.removedResources, ii.N( { key: 'cannotWorkspaceRedo', comment: [ '{0} is a label for an operation. {1} is another message.', ], }, "Could not redo '{0}' across all files. {1}", t.label, t.removedResources.createMessage() ) ); if (n && t.invalidatedResources) return this._tryToSplitAndRedo( e, t, t.invalidatedResources, ii.N( { key: 'cannotWorkspaceRedo', comment: [ '{0} is a label for an operation. {1} is another message.', ], }, "Could not redo '{0}' across all files. {1}", t.label, t.invalidatedResources.createMessage() ) ); const r = []; for (const e of i.editStacks) e.getClosestFutureElement() !== t && r.push(e.resourceLabel); if (r.length > 0) return this._tryToSplitAndRedo( e, t, null, ii.N( { key: 'cannotWorkspaceRedoDueToChanges', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not redo '{0}' across all files because changes were made to {1}", t.label, r.join(', ') ) ); const s = []; for (const e of i.editStacks) e.locked && s.push(e.resourceLabel); return s.length > 0 ? this._tryToSplitAndRedo( e, t, null, ii.N( { key: 'cannotWorkspaceRedoDueToInProgressUndoRedo', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}", t.label, s.join(', ') ) ) : i.isValid() ? null : this._tryToSplitAndRedo( e, t, null, ii.N( { key: 'cannotWorkspaceRedoDueToInMeantimeUndoRedo', comment: [ '{0} is a label for an operation. {1} is a list of filenames.', ], }, "Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime", t.label ) ); } _workspaceRedo(e, t) { const i = this._getAffectedEditStacks(t), n = this._checkWorkspaceRedo(e, t, i, !1); return n ? n.returnValue : this._executeWorkspaceRedo(e, t, i); } _executeWorkspaceRedo(e, t, i) { return ks(this, void 0, void 0, function* () { let n; try { n = yield this._invokeWorkspacePrepare(t); } catch (e) { return this._onError(e, t); } const r = this._checkWorkspaceRedo(e, t, i, !0); if (r) return n.dispose(), r.returnValue; for (const e of i.editStacks) e.moveForward(t); return this._safeInvokeWithLocks(t, () => t.actual.redo(), i, n); }); } _resourceRedo(e, t) { if (t.isValid) { if (!e.locked) return this._invokeResourcePrepare( t, (i) => ( e.moveForward(t), this._safeInvokeWithLocks( t, () => t.actual.redo(), new Is([e]), i ) ) ); { const e = ii.N( { key: 'cannotResourceRedoDueToInProgressUndoRedo', comment: ['{0} is a label for an operation.'], }, "Could not redo '{0}' because there is already an undo or redo operation running.", t.label ); this._notificationService.info(e); } } else e.flushAllElements(); } redo(e) { const t = 'string' == typeof e ? e : this.getUriComparisonKey(e); if (!this._editStacks.has(t)) return; const i = this._editStacks.get(t), n = i.getClosestFutureElement(); if (n) try { return 1 === n.type ? this._workspaceRedo(t, n) : this._resourceRedo(i, n); } finally { } } }; As = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([Ss(0, $r.S), Ss(1, pi.lT)], As); class Rs { constructor(e) { this.returnValue = e; } } (0, _s.z)(Cs.t, As); var Ps = i(16830), Fs = i(67746), Bs = i(60703); const Ws = new me.Ue(() => { const e = new Intl.Collator(void 0, { numeric: !0, sensitivity: 'base', }); return { collator: e, collatorIsNumeric: e.resolvedOptions().numeric, }; }); var Ys = i(59834), Hs = i(34650), js = i(49898), Vs = i(44742); const zs = {}, Us = new Vs.R('quick-input-button-icon-'); function $s(e) { if (!e) return; let t; const i = e.dark.toString(); return ( zs[i] ? (t = zs[i]) : ((t = Us.nextId()), G.fk(`.${t}`, `background-image: ${G.wY(e.light || e.dark)}`), G.fk( `.vs-dark .${t}, .hc-black .${t}`, `background-image: ${G.wY(e.dark)}` ), (zs[i] = t)), t ); } const Ks = G.$; class qs { constructor(e, t, i) { (this.os = t), (this.options = i), (this.domNode = G.R3(e, Ks('.monaco-keybinding'))), (this.didEverRender = !1), e.appendChild(this.domNode); } set(e, t) { (this.didEverRender && this.keybinding === e && qs.areSame(this.matches, t)) || ((this.keybinding = e), (this.matches = t), this.render()); } render() { if ((G.PO(this.domNode), this.keybinding)) { let [e, t] = this.keybinding.getParts(); e && this.renderPart( this.domNode, e, this.matches ? this.matches.firstPart : null ), t && (G.R3( this.domNode, Ks( 'span.monaco-keybinding-key-chord-separator', void 0, ' ' ) ), this.renderPart( this.domNode, t, this.matches ? this.matches.chordPart : null )), (this.domNode.title = this.keybinding.getAriaLabel() || ''); } else this.options && this.options.renderUnboundKeybindings && this.renderUnbound(this.domNode); this.didEverRender = !0; } renderPart(e, t, i) { const n = di.modifierLabels[this.os]; t.ctrlKey && this.renderKey( e, n.ctrlKey, Boolean(null == i ? void 0 : i.ctrlKey), n.separator ), t.shiftKey && this.renderKey( e, n.shiftKey, Boolean(null == i ? void 0 : i.shiftKey), n.separator ), t.altKey && this.renderKey( e, n.altKey, Boolean(null == i ? void 0 : i.altKey), n.separator ), t.metaKey && this.renderKey( e, n.metaKey, Boolean(null == i ? void 0 : i.metaKey), n.separator ); const r = t.keyLabel; r && this.renderKey(e, r, Boolean(null == i ? void 0 : i.keyCode), ''); } renderKey(e, t, i, n) { G.R3( e, Ks( 'span.monaco-keybinding-key' + (i ? '.highlight' : ''), void 0, t ) ), n && G.R3(e, Ks('span.monaco-keybinding-key-separator', void 0, n)); } renderUnbound(e) { G.R3( e, Ks( 'span.monaco-keybinding-key', void 0, (0, ii.N)('unbound', 'Unbound') ) ); } static areSame(e, t) { return ( e === t || (!e && !t) || (!!e && !!t && (0, Zt.fS)(e.firstPart, t.firstPart) && (0, Zt.fS)(e.chordPart, t.chordPart)) ); } } var Gs = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }; const Zs = G.$; class Js { constructor(e) { (this.hidden = !1), (this._onChecked = new B.Q5()), (this.onChecked = this._onChecked.event), (0, Zt.f0)(this, e); } get checked() { return !!this._checked; } set checked(e) { e !== this._checked && ((this._checked = e), this._onChecked.fire(e)); } dispose() { this._onChecked.dispose(); } } class Qs { get templateId() { return Qs.ID; } renderTemplate(e) { const t = Object.create(null); (t.toDisposeElement = []), (t.toDisposeTemplate = []), (t.entry = G.R3(e, Zs('.quick-input-list-entry'))); const i = G.R3(t.entry, Zs('label.quick-input-list-label')); t.toDisposeTemplate.push( G.mu(i, G.tw.CLICK, (e) => { t.checkbox.offsetParent || e.preventDefault(); }) ), (t.checkbox = G.R3(i, Zs('input.quick-input-list-checkbox'))), (t.checkbox.type = 'checkbox'), t.toDisposeTemplate.push( G.mu(t.checkbox, G.tw.CHANGE, (e) => { t.element.checked = t.checkbox.checked; }) ); const n = G.R3(i, Zs('.quick-input-list-rows')), r = G.R3(n, Zs('.quick-input-list-row')), s = G.R3(n, Zs('.quick-input-list-row')); t.label = new Ys.g(r, { supportHighlights: !0, supportDescriptionHighlights: !0, supportCodicons: !0, }); const o = G.R3(r, Zs('.quick-input-list-entry-keybinding')); t.keybinding = new qs(o, ve.OS); const a = G.R3(s, Zs('.quick-input-list-label-meta')); return ( (t.detail = new Hs.q(a, !0)), (t.separator = G.R3(t.entry, Zs('.quick-input-list-separator'))), (t.actionBar = new _r.o(t.entry)), t.actionBar.domNode.classList.add( 'quick-input-list-entry-action-bar' ), t.toDisposeTemplate.push(t.actionBar), t ); } renderElement(e, t, i) { (i.toDisposeElement = (0, _e.B9)(i.toDisposeElement)), (i.element = e), (i.checkbox.checked = e.checked), i.toDisposeElement.push( e.onChecked((e) => (i.checkbox.checked = e)) ); const { labelHighlights: n, descriptionHighlights: r, detailHighlights: s, } = e, o = Object.create(null); (o.matches = n || []), (o.descriptionTitle = e.saneDescription), (o.descriptionMatches = r || []), (o.extraClasses = e.item.iconClasses), (o.italic = e.item.italic), (o.strikethrough = e.item.strikethrough), i.label.setLabel(e.saneLabel, e.saneDescription, o), i.keybinding.set(e.item.keybinding), i.detail.set(e.saneDetail, s), e.separator && e.separator.label ? ((i.separator.textContent = e.separator.label), (i.separator.style.display = '')) : (i.separator.style.display = 'none'), e.separator ? G.cn(i.entry, 'quick-input-list-separator-border') : G.IV(i.entry, 'quick-input-list-separator-border'), i.actionBar.clear(); const a = e.item.buttons; a && a.length ? (i.actionBar.push( a.map((t, i) => { let n = t.iconClass || (t.iconPath ? $s(t.iconPath) : void 0); t.alwaysVisible && (n = n ? `${n} always-visible` : 'always-visible'); const r = new mr.aU( `id-${i}`, '', n, !0, () => ( e.fireButtonTriggered({ button: t, item: e.item }), Promise.resolve() ) ); return (r.tooltip = t.tooltip || ''), r; }), { icon: !0, label: !1 } ), G.cn(i.entry, 'has-actions')) : G.IV(i.entry, 'has-actions'); } disposeElement(e, t, i) { i.toDisposeElement = (0, _e.B9)(i.toDisposeElement); } disposeTemplate(e) { (e.toDisposeElement = (0, _e.B9)(e.toDisposeElement)), (e.toDisposeTemplate = (0, _e.B9)(e.toDisposeTemplate)); } } Qs.ID = 'listelement'; class Xs { getHeight(e) { return e.saneDetail ? 44 : 22; } getTemplateId(e) { return Qs.ID; } } var eo; !(function (e) { (e[(e.First = 1)] = 'First'), (e[(e.Second = 2)] = 'Second'), (e[(e.Last = 3)] = 'Last'), (e[(e.Next = 4)] = 'Next'), (e[(e.Previous = 5)] = 'Previous'), (e[(e.NextPage = 6)] = 'NextPage'), (e[(e.PreviousPage = 7)] = 'PreviousPage'); })(eo || (eo = {})); class to { constructor(e, t, i) { (this.parent = e), (this.inputElements = []), (this.elements = []), (this.elementsToIndexes = new Map()), (this.matchOnDescription = !1), (this.matchOnDetail = !1), (this.matchOnLabel = !0), (this.sortByLabel = !0), (this._onChangedAllVisibleChecked = new B.Q5()), (this.onChangedAllVisibleChecked = this._onChangedAllVisibleChecked.event), (this._onChangedCheckedCount = new B.Q5()), (this.onChangedCheckedCount = this._onChangedCheckedCount.event), (this._onChangedVisibleCount = new B.Q5()), (this.onChangedVisibleCount = this._onChangedVisibleCount.event), (this._onChangedCheckedElements = new B.Q5()), (this.onChangedCheckedElements = this._onChangedCheckedElements.event), (this._onButtonTriggered = new B.Q5()), (this.onButtonTriggered = this._onButtonTriggered.event), (this._onKeyDown = new B.Q5()), (this.onKeyDown = this._onKeyDown.event), (this._onLeave = new B.Q5()), (this.onLeave = this._onLeave.event), (this._fireCheckedEvents = !0), (this.elementDisposables = []), (this.disposables = []), (this.id = t), (this.container = G.R3(this.parent, Zs('.quick-input-list'))); const n = new Xs(), r = new io(); (this.list = i.createList( 'QuickInput', this.container, n, [new Qs()], { identityProvider: { getId: (e) => e.saneLabel }, setRowLineHeight: !1, multipleSelectionSupport: !1, horizontalScrolling: !1, accessibilityProvider: r, } )), (this.list.getHTMLElement().id = t), this.disposables.push(this.list), this.disposables.push( this.list.onKeyDown((e) => { const t = new jt.y(e); switch (t.keyCode) { case 10: this.toggleCheckbox(); break; case 31: (ve.dz ? e.metaKey : e.ctrlKey) && this.list.setFocus((0, De.w6)(this.list.length)); break; case 16: const t = this.list.getFocus(); 1 === t.length && 0 === t[0] && this._onLeave.fire(); break; case 18: const i = this.list.getFocus(); 1 === i.length && i[0] === this.list.length - 1 && this._onLeave.fire(); } this._onKeyDown.fire(t); }) ), this.disposables.push( this.list.onMouseDown((e) => { 2 !== e.browserEvent.button && e.browserEvent.preventDefault(); }) ), this.disposables.push( G.nm(this.container, G.tw.CLICK, (e) => { (e.x || e.y) && this._onLeave.fire(); }) ), this.disposables.push( this.list.onMouseMiddleClick((e) => { this._onLeave.fire(); }) ), this.disposables.push( this.list.onContextMenu((e) => { 'number' == typeof e.index && (e.browserEvent.preventDefault(), this.list.setSelection([e.index])); }) ), this.disposables.push( this._onChangedAllVisibleChecked, this._onChangedCheckedCount, this._onChangedVisibleCount, this._onChangedCheckedElements, this._onButtonTriggered, this._onLeave, this._onKeyDown ); } get onDidChangeFocus() { return B.ju.map(this.list.onDidChangeFocus, (e) => e.elements.map((e) => e.item) ); } get onDidChangeSelection() { return B.ju.map(this.list.onDidChangeSelection, (e) => ({ items: e.elements.map((e) => e.item), event: e.browserEvent, })); } getAllVisibleChecked() { return this.allVisibleChecked(this.elements, !1); } allVisibleChecked(e, t = !0) { for (let i = 0, n = e.length; i < n; i++) { const n = e[i]; if (!n.hidden) { if (!n.checked) return !1; t = !0; } } return t; } getCheckedCount() { let e = 0; const t = this.elements; for (let i = 0, n = t.length; i < n; i++) t[i].checked && e++; return e; } getVisibleCount() { let e = 0; const t = this.elements; for (let i = 0, n = t.length; i < n; i++) t[i].hidden || e++; return e; } setAllVisibleChecked(e) { try { (this._fireCheckedEvents = !1), this.elements.forEach((t) => { t.hidden || (t.checked = e); }); } finally { (this._fireCheckedEvents = !0), this.fireCheckedEvents(); } } setElements(e) { this.elementDisposables = (0, _e.B9)(this.elementDisposables); const t = (e) => this.fireButtonTriggered(e); (this.inputElements = e), (this.elements = e.reduce((i, n, r) => { var s, o, a; if ('separator' !== n.type) { const l = r && e[r - 1], c = n.label && n.label.replace(/\r?\n/g, ' '), d = n.description && n.description.replace(/\r?\n/g, ' '), h = n.detail && n.detail.replace(/\r?\n/g, ' '), u = n.ariaLabel || [c, d, h] .map((e) => e && (0, Bs.fe)(e).text) .filter((e) => !!e) .join(', '); i.push( new Js({ index: r, item: n, saneLabel: c, saneAriaLabel: u, saneDescription: d, saneDetail: h, labelHighlights: null === (s = n.highlights) || void 0 === s ? void 0 : s.label, descriptionHighlights: null === (o = n.highlights) || void 0 === o ? void 0 : o.description, detailHighlights: null === (a = n.highlights) || void 0 === a ? void 0 : a.detail, checked: !1, separator: l && 'separator' === l.type ? l : void 0, fireButtonTriggered: t, }) ); } return i; }, [])), this.elementDisposables.push(...this.elements), this.elementDisposables.push( ...this.elements.map((e) => e.onChecked(() => this.fireCheckedEvents()) ) ), (this.elementsToIndexes = this.elements.reduce( (e, t, i) => (e.set(t.item, i), e), new Map() )), this.list.splice(0, this.list.length), this.list.splice(0, this.list.length, this.elements), this._onChangedVisibleCount.fire(this.elements.length); } getFocusedElements() { return this.list.getFocusedElements().map((e) => e.item); } setFocusedElements(e) { if ( (this.list.setFocus( e .filter((e) => this.elementsToIndexes.has(e)) .map((e) => this.elementsToIndexes.get(e)) ), e.length > 0) ) { const e = this.list.getFocus()[0]; 'number' == typeof e && this.list.reveal(e); } } getActiveDescendant() { return this.list .getHTMLElement() .getAttribute('aria-activedescendant'); } setSelectedElements(e) { this.list.setSelection( e .filter((e) => this.elementsToIndexes.has(e)) .map((e) => this.elementsToIndexes.get(e)) ); } getCheckedElements() { return this.elements.filter((e) => e.checked).map((e) => e.item); } setCheckedElements(e) { try { this._fireCheckedEvents = !1; const t = new Set(); for (const i of e) t.add(i); for (const e of this.elements) e.checked = t.has(e.item); } finally { (this._fireCheckedEvents = !0), this.fireCheckedEvents(); } } set enabled(e) { this.list.getHTMLElement().style.pointerEvents = e ? '' : 'none'; } focus(e) { if (!this.list.length) return; switch ( (e === eo.Next && this.list.getFocus()[0] === this.list.length - 1 && (e = eo.First), e === eo.Previous && 0 === this.list.getFocus()[0] && (e = eo.Last), e === eo.Second && this.list.length < 2 && (e = eo.First), e) ) { case eo.First: this.list.focusFirst(); break; case eo.Second: this.list.focusNth(1); break; case eo.Last: this.list.focusLast(); break; case eo.Next: this.list.focusNext(); break; case eo.Previous: this.list.focusPrevious(); break; case eo.NextPage: this.list.focusNextPage(); break; case eo.PreviousPage: this.list.focusPreviousPage(); } const t = this.list.getFocus()[0]; 'number' == typeof t && this.list.reveal(t); } clearFocus() { this.list.setFocus([]); } domFocus() { this.list.domFocus(); } layout(e) { (this.list.getHTMLElement().style.maxHeight = e ? `calc(${44 * Math.floor(e / 44)}px)` : ''), this.list.layout(); } filter(e) { if ( !( this.sortByLabel || this.matchOnLabel || this.matchOnDescription || this.matchOnDetail ) ) return this.list.layout(), !1; (e = e.trim()) && (this.matchOnLabel || this.matchOnDescription || this.matchOnDetail) ? this.elements.forEach((t) => { const i = this.matchOnLabel ? (0, ye.f6)((0, Bs.YU)(e, (0, Bs.fe)(t.saneLabel))) : void 0, n = this.matchOnDescription ? (0, ye.f6)( (0, Bs.YU)(e, (0, Bs.fe)(t.saneDescription || '')) ) : void 0, r = this.matchOnDetail ? (0, ye.f6)( (0, Bs.YU)(e, (0, Bs.fe)(t.saneDetail || '')) ) : void 0; i || n || r ? ((t.labelHighlights = i), (t.descriptionHighlights = n), (t.detailHighlights = r), (t.hidden = !1)) : ((t.labelHighlights = void 0), (t.descriptionHighlights = void 0), (t.detailHighlights = void 0), (t.hidden = !t.item.alwaysShow)), (t.separator = void 0); }) : this.elements.forEach((e) => { (e.labelHighlights = void 0), (e.descriptionHighlights = void 0), (e.detailHighlights = void 0), (e.hidden = !1); const t = e.index && this.inputElements[e.index - 1]; e.separator = t && 'separator' === t.type ? t : void 0; }); const t = this.elements.filter((e) => !e.hidden); if (this.sortByLabel && e) { const i = e.toLowerCase(); t.sort((e, t) => (function (e, t, i) { const n = e.labelHighlights || [], r = t.labelHighlights || []; return n.length && !r.length ? -1 : !n.length && r.length ? 1 : 0 === n.length && 0 === r.length ? 0 : (function (e, t, i) { const n = e.toLowerCase(), r = t.toLowerCase(), s = (function (e, t, i) { const n = e.toLowerCase(), r = t.toLowerCase(), s = n.startsWith(i), o = r.startsWith(i); if (s !== o) return s ? -1 : 1; if (s && o) { if (n.length < r.length) return -1; if (n.length > r.length) return 1; } return 0; })(e, t, i); if (s) return s; const o = n.endsWith(i); if (o !== r.endsWith(i)) return o ? -1 : 1; const a = (function (e, t, i = !1) { const n = e || '', r = t || '', s = Ws.value.collator.compare(n, r); return Ws.value.collatorIsNumeric && 0 === s && n !== r ? n < r ? -1 : 1 : s; })(n, r); return 0 !== a ? a : n.localeCompare(r); })(e.saneLabel, t.saneLabel, i); })(e, t, i) ); } return ( (this.elementsToIndexes = t.reduce( (e, t, i) => (e.set(t.item, i), e), new Map() )), this.list.splice(0, this.list.length, t), this.list.setFocus([]), this.list.layout(), this._onChangedAllVisibleChecked.fire( this.getAllVisibleChecked() ), this._onChangedVisibleCount.fire(t.length), !0 ); } toggleCheckbox() { try { this._fireCheckedEvents = !1; const e = this.list.getFocusedElements(), t = this.allVisibleChecked(e); for (const i of e) i.checked = !t; } finally { (this._fireCheckedEvents = !0), this.fireCheckedEvents(); } } display(e) { this.container.style.display = e ? '' : 'none'; } isDisplayed() { return 'none' !== this.container.style.display; } dispose() { (this.elementDisposables = (0, _e.B9)(this.elementDisposables)), (this.disposables = (0, _e.B9)(this.disposables)); } fireCheckedEvents() { this._fireCheckedEvents && (this._onChangedAllVisibleChecked.fire( this.getAllVisibleChecked() ), this._onChangedCheckedCount.fire(this.getCheckedCount()), this._onChangedCheckedElements.fire(this.getCheckedElements())); } fireButtonTriggered(e) { this._onButtonTriggered.fire(e); } style(e) { this.list.style(e); } } Gs([js.H], to.prototype, 'onDidChangeFocus', null), Gs([js.H], to.prototype, 'onDidChangeSelection', null); class io { getWidgetAriaLabel() { return (0, ii.N)('quickInput', 'Quick Input'); } getAriaLabel(e) { return e.saneAriaLabel; } getWidgetRole() { return 'listbox'; } getRole() { return 'option'; } } var no = i(77927); const ro = G.$; class so extends _e.JT { constructor(e) { super(), (this.parent = e), (this.onKeyDown = (e) => G.nm(this.inputBox.inputElement, G.tw.KEY_DOWN, (t) => { e(new jt.y(t)); })), (this.onMouseDown = (e) => G.nm(this.inputBox.inputElement, G.tw.MOUSE_DOWN, (t) => { e(new Mr.n(t)); })), (this.onDidChange = (e) => this.inputBox.onDidChange(e)), (this.container = G.R3(this.parent, ro('.quick-input-box'))), (this.inputBox = this._register( new no.W(this.container, void 0) )); } get value() { return this.inputBox.value; } set value(e) { this.inputBox.value = e; } select(e = null) { this.inputBox.select(e); } isSelectionAtEnd() { return this.inputBox.isSelectionAtEnd(); } get placeholder() { return this.inputBox.inputElement.getAttribute('placeholder') || ''; } set placeholder(e) { this.inputBox.setPlaceHolder(e); } get ariaLabel() { return this.inputBox.getAriaLabel(); } set ariaLabel(e) { this.inputBox.setAriaLabel(e); } get password() { return 'password' === this.inputBox.inputElement.type; } set password(e) { this.inputBox.inputElement.type = e ? 'password' : 'text'; } setAttribute(e, t) { this.inputBox.inputElement.setAttribute(e, t); } removeAttribute(e) { this.inputBox.inputElement.removeAttribute(e); } showDecoration(e) { e === Vt.Z.Ignore ? this.inputBox.hideMessage() : this.inputBox.showMessage({ type: e === Vt.Z.Info ? 1 : e === Vt.Z.Warning ? 2 : 3, content: '', }); } stylesForType(e) { return this.inputBox.stylesForType( e === Vt.Z.Info ? 1 : e === Vt.Z.Warning ? 2 : 3 ); } setFocus() { this.inputBox.focus(); } layout() { this.inputBox.layout(); } style(e) { this.inputBox.style(e); } } var oo = i(67488); const ao = 'done', lo = 'active', co = 'infinite', ho = 'discrete', uo = { progressBarBackground: Rn.Il.fromHex('#0E70C0') }; class go extends _e.JT { constructor(e, t) { super(), (this.options = t || Object.create(null)), (0, Zt.jB)(this.options, uo, !1), (this.workedVal = 0), (this.progressBarBackground = this.options.progressBarBackground), this._register( (this.showDelayedScheduler = new me.pY( () => (0, G.$Z)(this.element), 0 )) ), this.create(e); } create(e) { (this.element = document.createElement('div')), (0, G.cn)(this.element, 'monaco-progress-container'), e.appendChild(this.element), (this.bit = document.createElement('div')), (0, G.cn)(this.bit, 'progress-bit'), this.element.appendChild(this.bit), this.applyStyles(); } off() { (this.bit.style.width = 'inherit'), (this.bit.style.opacity = '1'), (0, G.GK)(this.element, lo, co, ho), (this.workedVal = 0), (this.totalWork = void 0); } stop() { return this.doDone(!1); } doDone(e) { return ( (0, G.cn)(this.element, ao), (0, G.pv)(this.element, co) ? ((this.bit.style.opacity = '0'), e ? setTimeout(() => this.off(), 200) : this.off()) : ((this.bit.style.width = 'inherit'), e ? setTimeout(() => this.off(), 200) : this.off()), this ); } infinite() { return ( (this.bit.style.width = '2%'), (this.bit.style.opacity = '1'), (0, G.GK)(this.element, ho, ao), (0, G.PT)(this.element, lo, co), this ); } getContainer() { return this.element; } style(e) { (this.progressBarBackground = e.progressBarBackground), this.applyStyles(); } applyStyles() { if (this.bit) { const e = this.progressBarBackground ? this.progressBarBackground.toString() : ''; this.bit.style.backgroundColor = e; } } } var fo = i(10553); const po = { buttonBackground: Rn.Il.fromHex('#0E639C'), buttonHoverBackground: Rn.Il.fromHex('#006BB3'), buttonForeground: Rn.Il.white, }; class mo extends _e.JT { constructor(e, t) { super(), (this._onDidClick = this._register(new B.Q5())), (this.options = t || Object.create(null)), (0, Zt.jB)(this.options, po, !1), (this.buttonForeground = this.options.buttonForeground), (this.buttonBackground = this.options.buttonBackground), (this.buttonHoverBackground = this.options.buttonHoverBackground), (this.buttonSecondaryForeground = this.options.buttonSecondaryForeground), (this.buttonSecondaryBackground = this.options.buttonSecondaryBackground), (this.buttonSecondaryHoverBackground = this.options.buttonSecondaryHoverBackground), (this.buttonBorder = this.options.buttonBorder), (this._element = document.createElement('a')), G.cn(this._element, 'monaco-button'), (this._element.tabIndex = 0), this._element.setAttribute('role', 'button'), e.appendChild(this._element), this._register(fo.o.addTarget(this._element)), [G.tw.CLICK, fo.t.Tap].forEach((e) => { this._register( G.nm(this._element, e, (e) => { this.enabled ? this._onDidClick.fire(e) : G.zB.stop(e); }) ); }), this._register( G.nm(this._element, G.tw.KEY_DOWN, (e) => { const t = new jt.y(e); let i = !1; this.enabled && (t.equals(3) || t.equals(10)) ? (this._onDidClick.fire(e), (i = !0)) : t.equals(9) && (this._element.blur(), (i = !0)), i && G.zB.stop(t, !0); }) ), this._register( G.nm(this._element, G.tw.MOUSE_OVER, (e) => { G.pv(this._element, 'disabled') || this.setHoverBackground(); }) ), this._register( G.nm(this._element, G.tw.MOUSE_OUT, (e) => { this.applyStyles(); }) ), (this.focusTracker = this._register(G.go(this._element))), this._register( this.focusTracker.onDidFocus(() => this.setHoverBackground()) ), this._register( this.focusTracker.onDidBlur(() => this.applyStyles()) ), this.applyStyles(); } get onDidClick() { return this._onDidClick.event; } setHoverBackground() { let e; (e = this.options.secondary ? this.buttonSecondaryHoverBackground ? this.buttonSecondaryHoverBackground.toString() : null : this.buttonHoverBackground ? this.buttonHoverBackground.toString() : null), e && (this._element.style.backgroundColor = e); } style(e) { (this.buttonForeground = e.buttonForeground), (this.buttonBackground = e.buttonBackground), (this.buttonHoverBackground = e.buttonHoverBackground), (this.buttonSecondaryForeground = e.buttonSecondaryForeground), (this.buttonSecondaryBackground = e.buttonSecondaryBackground), (this.buttonSecondaryHoverBackground = e.buttonSecondaryHoverBackground), (this.buttonBorder = e.buttonBorder), this.applyStyles(); } applyStyles() { if (this._element) { let e, t; this.options.secondary ? ((t = this.buttonSecondaryForeground ? this.buttonSecondaryForeground.toString() : ''), (e = this.buttonSecondaryBackground ? this.buttonSecondaryBackground.toString() : '')) : ((t = this.buttonForeground ? this.buttonForeground.toString() : ''), (e = this.buttonBackground ? this.buttonBackground.toString() : '')); const i = this.buttonBorder ? this.buttonBorder.toString() : ''; (this._element.style.color = t), (this._element.style.backgroundColor = e), (this._element.style.borderWidth = i ? '1px' : ''), (this._element.style.borderStyle = i ? 'solid' : ''), (this._element.style.borderColor = i); } } get element() { return this._element; } set label(e) { G.pv(this._element, 'monaco-text-button') || G.cn(this._element, 'monaco-text-button'), this.options.supportCodicons ? G.mc( this._element, ...(function (e) { const t = new Array(); let i, n = 0, r = 0; for (; null !== (i = kr.b3.exec(e)); ) { (r = i.index || 0), t.push(e.substring(n, r)), (n = (i.index || 0) + i[0].length); const [, s, o, a, l] = i; t.push( s ? `$(${o})` : G.$( `span.codicon.codicon-${a}${ l ? `.codicon-animation-${l}` : '' }` ) ); } return n < e.length && t.push(e.substring(n)), t; })(e) ) : (this._element.textContent = e), 'string' == typeof this.options.title ? (this._element.title = this.options.title) : this.options.title && (this._element.title = e); } set enabled(e) { e ? (G.IV(this._element, 'disabled'), this._element.setAttribute('aria-disabled', String(!1)), (this._element.tabIndex = 0)) : (G.cn(this._element, 'disabled'), this._element.setAttribute('aria-disabled', String(!0)), G.eJ(this._element)); } get enabled() { return !G.pv(this._element, 'disabled'); } } var _o = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const bo = G.$, vo = { iconClass: (0, kr.q5)('quick-input-back', kr.lA.arrowLeft) .classNames, tooltip: (0, ii.N)('quickInput.back', 'Back'), handle: -1, }; class yo extends _e.JT { constructor(e) { super(), (this.ui = e), (this.visible = !1), (this._enabled = !0), (this._busy = !1), (this._ignoreFocusOut = !1), (this._buttons = []), (this.buttonsUpdated = !1), (this.onDidTriggerButtonEmitter = this._register(new B.Q5())), (this.onDidHideEmitter = this._register(new B.Q5())), (this.onDisposeEmitter = this._register(new B.Q5())), (this.visibleDisposables = this._register(new _e.SL())), (this.onDidHide = this.onDidHideEmitter.event); } get title() { return this._title; } set title(e) { (this._title = e), this.update(); } get description() { return this._description; } set description(e) { (this._description = e), this.update(); } get step() { return this._steps; } set step(e) { (this._steps = e), this.update(); } get totalSteps() { return this._totalSteps; } set totalSteps(e) { (this._totalSteps = e), this.update(); } get enabled() { return this._enabled; } set enabled(e) { (this._enabled = e), this.update(); } get contextKey() { return this._contextKey; } set contextKey(e) { (this._contextKey = e), this.update(); } get busy() { return this._busy; } set busy(e) { (this._busy = e), this.update(); } get ignoreFocusOut() { return this._ignoreFocusOut; } set ignoreFocusOut(e) { (this._ignoreFocusOut = e), this.update(); } get buttons() { return this._buttons; } set buttons(e) { (this._buttons = e), (this.buttonsUpdated = !0), this.update(); } show() { this.visible || (this.visibleDisposables.add( this.ui.onDidTriggerButton((e) => { -1 !== this.buttons.indexOf(e) && this.onDidTriggerButtonEmitter.fire(e); }) ), this.ui.show(this), (this.visible = !0), this.update()); } hide() { this.visible && this.ui.hide(); } didHide() { (this.visible = !1), this.visibleDisposables.clear(), this.onDidHideEmitter.fire(); } update() { if (!this.visible) return; const e = this.getTitle(); e && this.ui.title.textContent !== e ? (this.ui.title.textContent = e) : e || ' ' === this.ui.title.innerHTML || (this.ui.title.innerText = ' ;'); const t = this.getDescription(); if ( (this.ui.description.textContent !== t && (this.ui.description.textContent = t), this.busy && !this.busyDelay && ((this.busyDelay = new me._F()), this.busyDelay.setIfNotSet(() => { this.visible && this.ui.progressBar.infinite(); }, 800)), !this.busy && this.busyDelay && (this.ui.progressBar.stop(), this.busyDelay.cancel(), (this.busyDelay = void 0)), this.buttonsUpdated) ) { (this.buttonsUpdated = !1), this.ui.leftActionBar.clear(); const e = this.buttons.filter((e) => e === vo); this.ui.leftActionBar.push( e.map((e, t) => { const i = new mr.aU( `id-${t}`, '', e.iconClass || $s(e.iconPath), !0, () => _o(this, void 0, void 0, function* () { this.onDidTriggerButtonEmitter.fire(e); }) ); return (i.tooltip = e.tooltip || ''), i; }), { icon: !0, label: !1 } ), this.ui.rightActionBar.clear(); const t = this.buttons.filter((e) => e !== vo); this.ui.rightActionBar.push( t.map((e, t) => { const i = new mr.aU( `id-${t}`, '', e.iconClass || $s(e.iconPath), !0, () => _o(this, void 0, void 0, function* () { this.onDidTriggerButtonEmitter.fire(e); }) ); return (i.tooltip = e.tooltip || ''), i; }), { icon: !0, label: !1 } ); } (this.ui.ignoreFocusOut = this.ignoreFocusOut), this.ui.setEnabled(this.enabled), this.ui.setContextKey(this.contextKey); } getTitle() { return this.title && this.step ? `${this.title} (${this.getSteps()})` : this.title ? this.title : this.step ? this.getSteps() : ''; } getDescription() { return this.description || ''; } getSteps() { return this.step && this.totalSteps ? (0, ii.N)( 'quickInput.steps', '{0}/{1}', this.step, this.totalSteps ) : this.step ? String(this.step) : ''; } showMessageDecoration(e) { if ((this.ui.inputBox.showDecoration(e), e === Vt.Z.Error)) { const t = this.ui.inputBox.stylesForType(e); (this.ui.message.style.color = t.foreground ? `${t.foreground}` : ''), (this.ui.message.style.backgroundColor = t.background ? `${t.background}` : ''), (this.ui.message.style.border = t.border ? `1px solid ${t.border}` : ''), (this.ui.message.style.paddingBottom = '4px'); } else (this.ui.message.style.color = ''), (this.ui.message.style.backgroundColor = ''), (this.ui.message.style.border = ''), (this.ui.message.style.paddingBottom = ''); } dispose() { this.hide(), this.onDisposeEmitter.fire(), super.dispose(); } } class wo extends yo { constructor() { super(...arguments), (this._value = ''), (this.onDidChangeValueEmitter = this._register(new B.Q5())), (this.onDidAcceptEmitter = this._register(new B.Q5())), (this.onDidCustomEmitter = this._register(new B.Q5())), (this._items = []), (this.itemsUpdated = !1), (this._canSelectMany = !1), (this._canAcceptInBackground = !1), (this._matchOnDescription = !1), (this._matchOnDetail = !1), (this._matchOnLabel = !0), (this._sortByLabel = !0), (this._autoFocusOnList = !0), (this._itemActivation = this.ui.isScreenReaderOptimized() ? Fs.j.NONE : Fs.j.FIRST), (this._activeItems = []), (this.activeItemsUpdated = !1), (this.activeItemsToConfirm = []), (this.onDidChangeActiveEmitter = this._register(new B.Q5())), (this._selectedItems = []), (this.selectedItemsUpdated = !1), (this.selectedItemsToConfirm = []), (this.onDidChangeSelectionEmitter = this._register(new B.Q5())), (this.onDidTriggerItemButtonEmitter = this._register(new B.Q5())), (this.valueSelectionUpdated = !0), (this._ok = 'default'), (this._customButton = !1), (this.filterValue = (e) => e), (this.onDidChangeValue = this.onDidChangeValueEmitter.event), (this.onDidAccept = this.onDidAcceptEmitter.event), (this.onDidChangeActive = this.onDidChangeActiveEmitter.event), (this.onDidChangeSelection = this.onDidChangeSelectionEmitter.event), (this.onDidTriggerItemButton = this.onDidTriggerItemButtonEmitter.event); } get quickNavigate() { return this._quickNavigate; } set quickNavigate(e) { (this._quickNavigate = e), this.update(); } get value() { return this._value; } set value(e) { (this._value = e || ''), this.update(); } set ariaLabel(e) { (this._ariaLabel = e), this.update(); } get ariaLabel() { return this._ariaLabel; } get placeholder() { return this._placeholder; } set placeholder(e) { (this._placeholder = e), this.update(); } get items() { return this._items; } set items(e) { (this._items = e), (this.itemsUpdated = !0), this.update(); } get canSelectMany() { return this._canSelectMany; } set canSelectMany(e) { (this._canSelectMany = e), this.update(); } get canAcceptInBackground() { return this._canAcceptInBackground; } set canAcceptInBackground(e) { this._canAcceptInBackground = e; } get matchOnDescription() { return this._matchOnDescription; } set matchOnDescription(e) { (this._matchOnDescription = e), this.update(); } get matchOnDetail() { return this._matchOnDetail; } set matchOnDetail(e) { (this._matchOnDetail = e), this.update(); } get matchOnLabel() { return this._matchOnLabel; } set matchOnLabel(e) { (this._matchOnLabel = e), this.update(); } get sortByLabel() { return this._sortByLabel; } set sortByLabel(e) { (this._sortByLabel = e), this.update(); } get autoFocusOnList() { return this._autoFocusOnList; } set autoFocusOnList(e) { (this._autoFocusOnList = e), this.update(); } get itemActivation() { return this._itemActivation; } set itemActivation(e) { this._itemActivation = e; } get activeItems() { return this._activeItems; } set activeItems(e) { (this._activeItems = e), (this.activeItemsUpdated = !0), this.update(); } get selectedItems() { return this._selectedItems; } set selectedItems(e) { (this._selectedItems = e), (this.selectedItemsUpdated = !0), this.update(); } get keyMods() { return this._quickNavigate ? Fs.X : this.ui.keyMods; } set valueSelection(e) { (this._valueSelection = e), (this.valueSelectionUpdated = !0), this.update(); } get validationMessage() { return this._validationMessage; } set validationMessage(e) { (this._validationMessage = e), this.update(); } get customButton() { return this._customButton; } set customButton(e) { (this._customButton = e), this.update(); } get customLabel() { return this._customButtonLabel; } set customLabel(e) { (this._customButtonLabel = e), this.update(); } get customHover() { return this._customButtonHover; } set customHover(e) { (this._customButtonHover = e), this.update(); } get ok() { return this._ok; } set ok(e) { (this._ok = e), this.update(); } get hideInput() { return !!this._hideInput; } set hideInput(e) { (this._hideInput = e), this.update(); } trySelectFirst() { this.autoFocusOnList && (this.canSelectMany || this.ui.list.focus(eo.First)); } show() { this.visible || (this.visibleDisposables.add( this.ui.inputBox.onDidChange((e) => { e !== this.value && ((this._value = e), this.ui.list.filter( this.filterValue(this.ui.inputBox.value) ) && this.trySelectFirst(), this.onDidChangeValueEmitter.fire(e)); }) ), this.visibleDisposables.add( this.ui.inputBox.onMouseDown((e) => { this.autoFocusOnList || this.ui.list.clearFocus(); }) ), this.visibleDisposables.add( (this._hideInput ? this.ui.list : this.ui.inputBox).onKeyDown( (e) => { switch (e.keyCode) { case 18: this.ui.list.focus(eo.Next), this.canSelectMany && this.ui.list.domFocus(), G.zB.stop(e, !0); break; case 16: this.ui.list.getFocusedElements().length ? this.ui.list.focus(eo.Previous) : this.ui.list.focus(eo.Last), this.canSelectMany && this.ui.list.domFocus(), G.zB.stop(e, !0); break; case 12: this.ui.list.focus(eo.NextPage), this.canSelectMany && this.ui.list.domFocus(), G.zB.stop(e, !0); break; case 11: this.ui.list.focus(eo.PreviousPage), this.canSelectMany && this.ui.list.domFocus(), G.zB.stop(e, !0); break; case 17: if (!this._canAcceptInBackground) return; if (!this.ui.inputBox.isSelectionAtEnd()) return; this.activeItems[0] && ((this._selectedItems = [this.activeItems[0]]), this.onDidChangeSelectionEmitter.fire( this.selectedItems ), this.onDidAcceptEmitter.fire({ inBackground: !0 })); break; case 14: (!e.ctrlKey && !e.metaKey) || e.shiftKey || e.altKey || (this.ui.list.focus(eo.First), G.zB.stop(e, !0)); break; case 13: (!e.ctrlKey && !e.metaKey) || e.shiftKey || e.altKey || (this.ui.list.focus(eo.Last), G.zB.stop(e, !0)); } } ) ), this.visibleDisposables.add( this.ui.onDidAccept(() => { !this.canSelectMany && this.activeItems[0] && ((this._selectedItems = [this.activeItems[0]]), this.onDidChangeSelectionEmitter.fire(this.selectedItems)), this.onDidAcceptEmitter.fire({ inBackground: !1 }); }) ), this.visibleDisposables.add( this.ui.onDidCustom(() => { this.onDidCustomEmitter.fire(); }) ), this.visibleDisposables.add( this.ui.list.onDidChangeFocus((e) => { this.activeItemsUpdated || (this.activeItemsToConfirm !== this._activeItems && (0, De.fS)(e, this._activeItems, (e, t) => e === t)) || ((this._activeItems = e), this.onDidChangeActiveEmitter.fire(e)); }) ), this.visibleDisposables.add( this.ui.list.onDidChangeSelection(({ items: e, event: t }) => { this.canSelectMany ? e.length && this.ui.list.setSelectedElements([]) : (this.selectedItemsToConfirm !== this._selectedItems && (0, De.fS)( e, this._selectedItems, (e, t) => e === t )) || ((this._selectedItems = e), this.onDidChangeSelectionEmitter.fire(e), e.length && this.onDidAcceptEmitter.fire({ inBackground: t instanceof MouseEvent && 1 === t.button, })); }) ), this.visibleDisposables.add( this.ui.list.onChangedCheckedElements((e) => { this.canSelectMany && ((this.selectedItemsToConfirm !== this._selectedItems && (0, De.fS)(e, this._selectedItems, (e, t) => e === t)) || ((this._selectedItems = e), this.onDidChangeSelectionEmitter.fire(e))); }) ), this.visibleDisposables.add( this.ui.list.onButtonTriggered((e) => this.onDidTriggerItemButtonEmitter.fire(e) ) ), this.visibleDisposables.add(this.registerQuickNavigation()), (this.valueSelectionUpdated = !0)), super.show(); } registerQuickNavigation() { return G.nm(this.ui.container, G.tw.KEY_UP, (e) => { if (this.canSelectMany || !this._quickNavigate) return; const t = new jt.y(e), i = t.keyCode; this._quickNavigate.keybindings.some((e) => { const [n, r] = e.getParts(); return !( r || (n.shiftKey && 4 === i ? t.ctrlKey || t.altKey || t.metaKey : !( (n.altKey && 6 === i) || (n.ctrlKey && 5 === i) || (n.metaKey && 57 === i) )) ); }) && (this.activeItems[0] && ((this._selectedItems = [this.activeItems[0]]), this.onDidChangeSelectionEmitter.fire(this.selectedItems), this.onDidAcceptEmitter.fire({ inBackground: !1 })), (this._quickNavigate = void 0)); }); } update() { if (!this.visible) return; let e = !1, t = !1; this._hideInput && this._items.length > 0 && (this.ui.isScreenReaderOptimized() ? (t = !0) : (e = !0)), G.og(this.ui.container, 'hidden-input', e); const i = { title: !!this.title || !!this.step || !!this.buttons.length, description: !!this.description, checkAll: this.canSelectMany, inputBox: !e, progressBar: !e, visibleCount: !0, count: this.canSelectMany, ok: 'default' === this.ok ? this.canSelectMany : this.ok, list: !0, message: !!this.validationMessage, customButton: this.customButton, }; if ( (this.ui.setVisibilities(i), super.update(), this.ui.inputBox.value !== this.value && (this.ui.inputBox.value = this.value), this.valueSelectionUpdated && ((this.valueSelectionUpdated = !1), this.ui.inputBox.select( this._valueSelection && { start: this._valueSelection[0], end: this._valueSelection[1], } )), this.ui.inputBox.placeholder !== (this.placeholder || '') && (this.ui.inputBox.placeholder = this.placeholder || ''), t) ) this.ui.inputBox.ariaLabel = ''; else { const e = this.ariaLabel || this.placeholder || wo.DEFAULT_ARIA_LABEL; this.ui.inputBox.ariaLabel !== e && (this.ui.inputBox.ariaLabel = e); } if ( ((this.ui.list.matchOnDescription = this.matchOnDescription), (this.ui.list.matchOnDetail = this.matchOnDetail), (this.ui.list.matchOnLabel = this.matchOnLabel), (this.ui.list.sortByLabel = this.sortByLabel), this.itemsUpdated) ) switch ( ((this.itemsUpdated = !1), this.ui.list.setElements(this.items), this.ui.list.filter(this.filterValue(this.ui.inputBox.value)), (this.ui.checkAll.checked = this.ui.list.getAllVisibleChecked()), this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()), this.ui.count.setCount(this.ui.list.getCheckedCount()), this._itemActivation) ) { case Fs.j.NONE: this._itemActivation = Fs.j.FIRST; break; case Fs.j.SECOND: this.ui.list.focus(eo.Second), (this._itemActivation = Fs.j.FIRST); break; case Fs.j.LAST: this.ui.list.focus(eo.Last), (this._itemActivation = Fs.j.FIRST); break; default: this.trySelectFirst(); } this.ui.container.classList.contains('show-checkboxes') !== !!this.canSelectMany && (this.canSelectMany ? this.ui.list.clearFocus() : this.trySelectFirst()), this.activeItemsUpdated && ((this.activeItemsUpdated = !1), (this.activeItemsToConfirm = this._activeItems), this.ui.list.setFocusedElements(this.activeItems), this.activeItemsToConfirm === this._activeItems && (this.activeItemsToConfirm = null)), this.selectedItemsUpdated && ((this.selectedItemsUpdated = !1), (this.selectedItemsToConfirm = this._selectedItems), this.canSelectMany ? this.ui.list.setCheckedElements(this.selectedItems) : this.ui.list.setSelectedElements(this.selectedItems), this.selectedItemsToConfirm === this._selectedItems && (this.selectedItemsToConfirm = null)), this.validationMessage ? ((this.ui.message.textContent = this.validationMessage), this.showMessageDecoration(Vt.Z.Error)) : ((this.ui.message.textContent = null), this.showMessageDecoration(Vt.Z.Ignore)), (this.ui.customButton.label = this.customLabel || ''), (this.ui.customButton.element.title = this.customHover || ''), this.ui.setComboboxAccessibility(!0), i.inputBox || this.ui.list.domFocus(); } } wo.DEFAULT_ARIA_LABEL = (0, ii.N)( 'quickInputBox.ariaLabel', 'Type to narrow down results.' ); class Co extends _e.JT { constructor(e) { super(), (this.options = e), (this.comboboxAccessibility = !1), (this.enabled = !0), (this.onDidAcceptEmitter = this._register(new B.Q5())), (this.onDidCustomEmitter = this._register(new B.Q5())), (this.onDidTriggerButtonEmitter = this._register(new B.Q5())), (this.keyMods = { ctrlCmd: !1, alt: !1 }), (this.controller = null), (this.onShowEmitter = this._register(new B.Q5())), (this.onShow = this.onShowEmitter.event), (this.onHideEmitter = this._register(new B.Q5())), (this.onHide = this.onHideEmitter.event), (this.idPrefix = e.idPrefix), (this.parentElement = e.container), (this.styles = e.styles), this.registerKeyModsListeners(); } registerKeyModsListeners() { const e = (e) => { (this.keyMods.ctrlCmd = e.ctrlKey || e.metaKey), (this.keyMods.alt = e.altKey); }; this._register(G.nm(window, G.tw.KEY_DOWN, e, !0)), this._register(G.nm(window, G.tw.KEY_UP, e, !0)), this._register(G.nm(window, G.tw.MOUSE_DOWN, e, !0)); } getUI() { if (this.ui) return this.ui; const e = G.R3( this.parentElement, bo('.quick-input-widget.show-file-icons') ); (e.tabIndex = -1), (e.style.display = 'none'); const t = G.dS(e), i = G.R3(e, bo('.quick-input-titlebar')), n = this._register(new _r.o(i)); n.domNode.classList.add('quick-input-left-action-bar'); const r = G.R3(i, bo('.quick-input-title')), s = this._register(new _r.o(i)); s.domNode.classList.add('quick-input-right-action-bar'); const o = G.R3(e, bo('.quick-input-description')), a = G.R3(e, bo('.quick-input-header')), l = G.R3(a, bo('input.quick-input-check-all')); (l.type = 'checkbox'), this._register( G.mu(l, G.tw.CHANGE, (e) => { const t = l.checked; C.setAllVisibleChecked(t); }) ), this._register( G.nm(l, G.tw.CLICK, (e) => { (e.x || e.y) && h.setFocus(); }) ); const c = G.R3(a, bo('.quick-input-and-message')), d = G.R3(c, bo('.quick-input-filter')), h = this._register(new so(d)); h.setAttribute('aria-describedby', `${this.idPrefix}message`); const u = G.R3(d, bo('.quick-input-visible-count')); u.setAttribute('aria-live', 'polite'), u.setAttribute('aria-atomic', 'true'); const g = new oo.Z(u, { countFormat: (0, ii.N)( { key: 'quickInput.visibleCount', comment: [ 'This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers.', ], }, '{0} Results' ), }), f = G.R3(d, bo('.quick-input-count')); f.setAttribute('aria-live', 'polite'); const p = new oo.Z(f, { countFormat: (0, ii.N)( { key: 'quickInput.countSelected', comment: [ 'This tells the user how many items are selected in a list of items to select from. The items can be anything.', ], }, '{0} Selected' ), }), m = G.R3(a, bo('.quick-input-action')), _ = new mo(m); (_.label = (0, ii.N)('ok', 'OK')), this._register( _.onDidClick((e) => { this.onDidAcceptEmitter.fire(); }) ); const b = G.R3(a, bo('.quick-input-action')), v = new mo(b); (v.label = (0, ii.N)('custom', 'Custom')), this._register( v.onDidClick((e) => { this.onDidCustomEmitter.fire(); }) ); const y = G.R3( c, bo(`#${this.idPrefix}message.quick-input-message`) ), w = new go(e); G.cn(w.getContainer(), 'quick-input-progress'); const C = this._register( new to(e, this.idPrefix + 'list', this.options) ); this._register( C.onChangedAllVisibleChecked((e) => { l.checked = e; }) ), this._register( C.onChangedVisibleCount((e) => { g.setCount(e); }) ), this._register( C.onChangedCheckedCount((e) => { p.setCount(e); }) ), this._register( C.onLeave(() => { setTimeout(() => { h.setFocus(), this.controller instanceof wo && this.controller.canSelectMany && C.clearFocus(); }, 0); }) ), this._register( C.onDidChangeFocus(() => { this.comboboxAccessibility && this.getUI().inputBox.setAttribute( 'aria-activedescendant', this.getUI().list.getActiveDescendant() || '' ); }) ); const S = G.go(e); return ( this._register(S), this._register( G.nm( e, G.tw.FOCUS, (e) => { this.previousFocusElement = e.relatedTarget instanceof HTMLElement ? e.relatedTarget : void 0; }, !0 ) ), this._register( S.onDidBlur(() => { this.getUI().ignoreFocusOut || this.options.ignoreFocusOut() || this.hide(), (this.previousFocusElement = void 0); }) ), this._register( G.nm(e, G.tw.FOCUS, (e) => { h.setFocus(); }) ), this._register( G.nm(e, G.tw.KEY_DOWN, (t) => { const i = new jt.y(t); switch (i.keyCode) { case 3: G.zB.stop(t, !0), this.onDidAcceptEmitter.fire(); break; case 9: G.zB.stop(t, !0), this.hide(); break; case 2: if (!i.altKey && !i.ctrlKey && !i.metaKey) { const n = ['.action-label.codicon']; e.classList.contains('show-checkboxes') ? n.push('input') : n.push('input[type=text]'), this.getUI().list.isDisplayed() && n.push('.monaco-list'); const r = e.querySelectorAll(n.join(', ')); i.shiftKey && i.target === r[0] ? (G.zB.stop(t, !0), r[r.length - 1].focus()) : i.shiftKey || i.target !== r[r.length - 1] || (G.zB.stop(t, !0), r[0].focus()); } } }) ), (this.ui = { container: e, styleSheet: t, leftActionBar: n, titleBar: i, title: r, description: o, rightActionBar: s, checkAll: l, filterContainer: d, inputBox: h, visibleCountContainer: u, visibleCount: g, countContainer: f, count: p, okContainer: m, ok: _, message: y, customButtonContainer: b, customButton: v, progressBar: w, list: C, onDidAccept: this.onDidAcceptEmitter.event, onDidCustom: this.onDidCustomEmitter.event, onDidTriggerButton: this.onDidTriggerButtonEmitter.event, ignoreFocusOut: !1, keyMods: this.keyMods, isScreenReaderOptimized: () => this.options.isScreenReaderOptimized(), show: (e) => this.show(e), hide: () => this.hide(), setVisibilities: (e) => this.setVisibilities(e), setComboboxAccessibility: (e) => this.setComboboxAccessibility(e), setEnabled: (e) => this.setEnabled(e), setContextKey: (e) => this.options.setContextKey(e), }), this.updateStyles(), this.ui ); } pick(e, t = {}, i = F.T.None) { return new Promise((n, r) => { let s = (e) => { (s = n), t.onKeyMods && t.onKeyMods(o.keyMods), n(e); }; if (i.isCancellationRequested) return void s(void 0); const o = this.createQuickPick(); let a; const l = [ o, o.onDidAccept(() => { if (o.canSelectMany) s(o.selectedItems.slice()), o.hide(); else { const e = o.activeItems[0]; e && (s(e), o.hide()); } }), o.onDidChangeActive((e) => { const i = e[0]; i && t.onDidFocus && t.onDidFocus(i); }), o.onDidChangeSelection((e) => { if (!o.canSelectMany) { const t = e[0]; t && (s(t), o.hide()); } }), o.onDidTriggerItemButton( (e) => t.onDidTriggerItemButton && t.onDidTriggerItemButton( Object.assign(Object.assign({}, e), { removeItem: () => { const t = o.items.indexOf(e.item); if (-1 !== t) { const e = o.items.slice(); e.splice(t, 1), (o.items = e); } }, }) ) ), o.onDidChangeValue((e) => { !a || e || (1 === o.activeItems.length && o.activeItems[0] === a) || (o.activeItems = [a]); }), i.onCancellationRequested(() => { o.hide(); }), o.onDidHide(() => { (0, _e.B9)(l), s(void 0); }), ]; (o.canSelectMany = !!t.canPickMany), (o.placeholder = t.placeHolder), (o.ignoreFocusOut = !!t.ignoreFocusLost), (o.matchOnDescription = !!t.matchOnDescription), (o.matchOnDetail = !!t.matchOnDetail), (o.matchOnLabel = void 0 === t.matchOnLabel || t.matchOnLabel), (o.autoFocusOnList = void 0 === t.autoFocusOnList || t.autoFocusOnList), (o.quickNavigate = t.quickNavigate), (o.contextKey = t.contextKey), (o.busy = !0), Promise.all([e, t.activeItem]).then(([e, t]) => { (a = t), (o.busy = !1), (o.items = e), o.canSelectMany && (o.selectedItems = e.filter( (e) => 'separator' !== e.type && e.picked )), a && (o.activeItems = [a]); }), o.show(), Promise.resolve(e).then(void 0, (e) => { r(e), o.hide(); }); }); } createQuickPick() { const e = this.getUI(); return new wo(e); } show(e) { const t = this.getUI(); this.onShowEmitter.fire(); const i = this.controller; (this.controller = e), i && i.didHide(), this.setEnabled(!0), t.leftActionBar.clear(), (t.title.textContent = ''), (t.description.textContent = ''), t.rightActionBar.clear(), (t.checkAll.checked = !1), (t.inputBox.placeholder = ''), (t.inputBox.password = !1), t.inputBox.showDecoration(Vt.Z.Ignore), t.visibleCount.setCount(0), t.count.setCount(0), (t.message.textContent = ''), t.progressBar.stop(), t.list.setElements([]), (t.list.matchOnDescription = !1), (t.list.matchOnDetail = !1), (t.list.matchOnLabel = !0), (t.list.sortByLabel = !0), (t.ignoreFocusOut = !1), this.setComboboxAccessibility(!1), (t.inputBox.ariaLabel = ''); const n = this.options.backKeybindingLabel(); (vo.tooltip = n ? (0, ii.N)('quickInput.backWithKeybinding', 'Back ({0})', n) : (0, ii.N)('quickInput.back', 'Back')), (t.container.style.display = ''), this.updateLayout(), t.inputBox.setFocus(); } setVisibilities(e) { const t = this.getUI(); (t.title.style.display = e.title ? '' : 'none'), (t.description.style.display = e.description ? '' : 'none'), (t.checkAll.style.display = e.checkAll ? '' : 'none'), (t.filterContainer.style.display = e.inputBox ? '' : 'none'), (t.visibleCountContainer.style.display = e.visibleCount ? '' : 'none'), (t.countContainer.style.display = e.count ? '' : 'none'), (t.okContainer.style.display = e.ok ? '' : 'none'), (t.customButtonContainer.style.display = e.customButton ? '' : 'none'), (t.message.style.display = e.message ? '' : 'none'), (t.progressBar.getContainer().style.display = e.progressBar ? '' : 'none'), t.list.display(!!e.list), t.container.classList[e.checkAll ? 'add' : 'remove']( 'show-checkboxes' ), this.updateLayout(); } setComboboxAccessibility(e) { if (e !== this.comboboxAccessibility) { const t = this.getUI(); (this.comboboxAccessibility = e), this.comboboxAccessibility ? (t.inputBox.setAttribute('role', 'combobox'), t.inputBox.setAttribute('aria-haspopup', 'true'), t.inputBox.setAttribute('aria-autocomplete', 'list'), t.inputBox.setAttribute( 'aria-activedescendant', t.list.getActiveDescendant() || '' )) : (t.inputBox.removeAttribute('role'), t.inputBox.removeAttribute('aria-haspopup'), t.inputBox.removeAttribute('aria-autocomplete'), t.inputBox.removeAttribute('aria-activedescendant')); } } setEnabled(e) { if (e !== this.enabled) { this.enabled = e; for (const t of this.getUI().leftActionBar.viewItems) t.getAction().enabled = e; for (const t of this.getUI().rightActionBar.viewItems) t.getAction().enabled = e; (this.getUI().checkAll.disabled = !e), (this.getUI().ok.enabled = e), (this.getUI().list.enabled = e); } } hide() { var e; const t = this.controller; if (t) { const i = !(null === (e = this.ui) || void 0 === e ? void 0 : e.container.contains(document.activeElement)); (this.controller = null), this.onHideEmitter.fire(), (this.getUI().container.style.display = 'none'), i || (this.previousFocusElement && this.previousFocusElement.offsetParent ? (this.previousFocusElement.focus(), (this.previousFocusElement = void 0)) : this.options.returnFocus()), t.didHide(); } } layout(e, t) { (this.dimension = e), (this.titleBarOffset = t), this.updateLayout(); } updateLayout() { if (this.ui) { this.ui.container.style.top = `${this.titleBarOffset}px`; const e = this.ui.container.style, t = Math.min(0.62 * this.dimension.width, Co.MAX_WIDTH); (e.width = t + 'px'), (e.marginLeft = '-' + t / 2 + 'px'), this.ui.inputBox.layout(), this.ui.list.layout( this.dimension && 0.4 * this.dimension.height ); } } applyStyles(e) { (this.styles = e), this.updateStyles(); } updateStyles() { if (this.ui) { const { quickInputTitleBackground: e, quickInputBackground: t, quickInputForeground: i, contrastBorder: n, widgetShadow: r, } = this.styles.widget; (this.ui.titleBar.style.backgroundColor = e ? e.toString() : ''), (this.ui.container.style.backgroundColor = t ? t.toString() : ''), (this.ui.container.style.color = i ? i.toString() : ''), (this.ui.container.style.border = n ? `1px solid ${n}` : ''), (this.ui.container.style.boxShadow = r ? `0 5px 8px ${r}` : ''), this.ui.inputBox.style(this.styles.inputBox), this.ui.count.style(this.styles.countBadge), this.ui.ok.style(this.styles.button), this.ui.customButton.style(this.styles.button), this.ui.progressBar.style(this.styles.progressBar), this.ui.list.style(this.styles.list); const s = []; this.styles.list.listInactiveFocusForeground && (s.push( `.monaco-list .monaco-list-row.focused { color: ${this.styles.list.listInactiveFocusForeground}; }` ), s.push( `.monaco-list .monaco-list-row.focused:hover { color: ${this.styles.list.listInactiveFocusForeground}; }` )), this.styles.list.pickerGroupBorder && s.push( `.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }` ), this.styles.list.pickerGroupForeground && s.push( `.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }` ); const o = s.join('\n'); o !== this.ui.styleSheet.innerHTML && (this.ui.styleSheet.innerHTML = o); } } } Co.MAX_WIDTH = 600; var So = i(41157), ko = i(90725), xo = i(88289), Lo = function (e, t) { return function (i, n) { t(i, n, e); }; }; let Mo = class extends _e.JT { constructor(e, t) { super(), (this.quickInputService = e), (this.instantiationService = t), (this.registry = _n.B.as(ko.IP.Quickaccess)), (this.mapProviderToDescriptor = new Map()), (this.lastAcceptedPickerValues = new Map()), (this.visibleQuickAccess = void 0); } show(e = '', t) { var i; const [n, r] = this.getOrInstantiateProvider(e), s = this.visibleQuickAccess, o = null == s ? void 0 : s.descriptor; if (s && r && o === r) return ( e === r.prefix || (null == t ? void 0 : t.preserveValue) || (s.picker.value = e), void this.adjustValueSelection(s.picker, r, t) ); if (r && !(null == t ? void 0 : t.preserveValue)) { let t; if (s && o && o !== r) { const e = s.value.substr(o.prefix.length); e && (t = `${r.prefix}${e}`); } if (!t) { const e = null == n ? void 0 : n.defaultFilterValue; e === ko.Ry.LAST ? (t = this.lastAcceptedPickerValues.get(r)) : 'string' == typeof e && (t = `${r.prefix}${e}`); } 'string' == typeof t && (e = t); } const a = new _e.SL(), l = a.add(this.quickInputService.createQuickPick()); (l.value = e), this.adjustValueSelection(l, r, t), (l.placeholder = null == r ? void 0 : r.placeholder), (l.quickNavigate = null == t ? void 0 : t.quickNavigateConfiguration), (l.hideInput = !!l.quickNavigate && !s), ('number' == typeof (null == t ? void 0 : t.itemActivation) || (null == t ? void 0 : t.quickNavigateConfiguration)) && (l.itemActivation = null !== (i = null == t ? void 0 : t.itemActivation) && void 0 !== i ? i : So.jG.SECOND), (l.contextKey = null == r ? void 0 : r.contextKey), (l.filterValue = (e) => e.substring(r ? r.prefix.length : 0)), (null == r ? void 0 : r.placeholder) && (l.ariaLabel = null == r ? void 0 : r.placeholder); const c = this.registerPickerListeners(l, n, r, e, a); n && a.add(n.provide(l, c)), l.show(); } adjustValueSelection(e, t, i) { var n; let r; (r = (null == i ? void 0 : i.preserveValue) ? [e.value.length, e.value.length] : [ null !== (n = null == t ? void 0 : t.prefix.length) && void 0 !== n ? n : 0, e.value.length, ]), (e.valueSelection = r); } registerPickerListeners(e, t, i, n, r) { const s = (this.visibleQuickAccess = { picker: e, descriptor: i, value: n, }); r.add( (0, _e.OF)(() => { s === this.visibleQuickAccess && (this.visibleQuickAccess = void 0); }) ), r.add( e.onDidChangeValue((e) => { const [i] = this.getOrInstantiateProvider(e); i !== t ? this.show(e, { preserveValue: !0 }) : (s.value = e); }) ), i && r.add( e.onDidAccept(() => { this.lastAcceptedPickerValues.set(i, e.value); }) ); const o = r.add(new F.A()); return ( (0, xo.I)(e.onDidHide)(() => { 0 === e.selectedItems.length && o.cancel(), r.dispose(); }), o.token ); } getOrInstantiateProvider(e) { const t = this.registry.getQuickAccessProvider(e); if (!t) return [void 0, void 0]; let i = this.mapProviderToDescriptor.get(t); return ( i || ((i = this.instantiationService.createInstance(t.ctor)), this.mapProviderToDescriptor.set(t, i)), [i, t] ); } }; Mo = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([Lo(0, So.eJ), Lo(1, Ui.TG)], Mo); var Do = function (e, t) { return function (i, n) { t(i, n, e); }; }; let No = class extends Ki.bB { constructor(e, t, i, n, r) { super(i), (this.instantiationService = e), (this.contextKeyService = t), (this.accessibilityService = n), (this.layoutService = r), (this.contexts = new Map()); } get controller() { return ( this._controller || (this._controller = this._register(this.createController())), this._controller ); } get quickAccess() { return ( this._quickAccess || (this._quickAccess = this._register( this.instantiationService.createInstance(Mo) )), this._quickAccess ); } createController(e = this.layoutService, t) { var i, n; const r = { idPrefix: 'quickInput_', container: e.container, ignoreFocusOut: () => !1, isScreenReaderOptimized: () => this.accessibilityService.isScreenReaderOptimized(), backKeybindingLabel: () => {}, setContextKey: (e) => this.setContextKey(e), returnFocus: () => e.focus(), createList: (e, t, i, n, r) => this.instantiationService.createInstance( ts.ev, e, t, i, n, r ), styles: this.computeStyles(), }, s = this._register( new Co(Object.assign(Object.assign({}, r), t)) ); return ( s.layout( e.dimension, null !== (n = null === (i = e.offset) || void 0 === i ? void 0 : i.top) && void 0 !== n ? n : 0 ), this._register( e.onLayout((t) => { var i, n; return s.layout( t, null !== (n = null === (i = e.offset) || void 0 === i ? void 0 : i.top) && void 0 !== n ? n : 0 ); }) ), this._register(s.onShow(() => this.resetContextKeys())), this._register(s.onHide(() => this.resetContextKeys())), s ); } setContextKey(e) { let t; e && ((t = this.contexts.get(e)), t || ((t = new Vi.uy(e, !1).bindTo(this.contextKeyService)), this.contexts.set(e, t))), (t && t.get()) || (this.resetContextKeys(), t && t.set(!0)); } resetContextKeys() { this.contexts.forEach((e) => { e.get() && e.reset(); }); } pick(e, t = {}, i = F.T.None) { return this.controller.pick(e, t, i); } createQuickPick() { return this.controller.createQuickPick(); } updateStyles() { this.controller.applyStyles(this.computeStyles()); } computeStyles() { return { widget: Object.assign( {}, (0, Br.o)(this.theme, { quickInputBackground: zn.zK, quickInputForeground: zn.tZ, quickInputTitleBackground: zn.lo, contrastBorder: zn.lR, widgetShadow: zn.rh, }) ), inputBox: (0, Br.o)(this.theme, { inputForeground: zn.zJ, inputBackground: zn.sE, inputBorder: zn.dt, inputValidationInfoBackground: zn._l, inputValidationInfoForeground: zn.YI, inputValidationInfoBorder: zn.EP, inputValidationWarningBackground: zn.RV, inputValidationWarningForeground: zn.SU, inputValidationWarningBorder: zn.C3, inputValidationErrorBackground: zn.p, inputValidationErrorForeground: zn._t, inputValidationErrorBorder: zn.OZ, }), countBadge: (0, Br.o)(this.theme, { badgeBackground: zn.g8, badgeForeground: zn.qe, badgeBorder: zn.lR, }), button: (0, Br.o)(this.theme, { buttonForeground: zn.j5, buttonBackground: zn.b7, buttonHoverBackground: zn.GO, buttonBorder: zn.lR, }), progressBar: (0, Br.o)(this.theme, { progressBarBackground: zn.zR, }), list: (0, Br.o)(this.theme, { listBackground: zn.zK, listInactiveFocusForeground: zn._2, listInactiveFocusBackground: zn._b, listFocusOutline: zn.xL, listInactiveFocusOutline: zn.xL, pickerGroupBorder: zn.op, pickerGroupForeground: zn.kJ, }), }; } }; No = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [Do(0, Ui.TG), Do(1, Vi.i6), Do(2, Ki.XE), Do(3, qi.F), Do(4, zr)], No ); var Eo = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, To = function (e, t) { return function (i, n) { t(i, n, e); }; }; let Io = class extends No { constructor(e, t, i, n, r, s) { super(t, i, n, r, s), (this.host = void 0); const o = Ao.get(e); this.host = { _serviceBrand: void 0, get container() { return o.widget.getDomNode(); }, get dimension() { return e.getLayoutInfo(); }, get onLayout() { return e.onDidLayoutChange; }, focus: () => e.focus(), }; } createController() { return super.createController(this.host); } }; Io = Eo( [To(1, Ui.TG), To(2, Vi.i6), To(3, Ki.XE), To(4, qi.F), To(5, zr)], Io ); let Oo = class { constructor(e, t) { (this.instantiationService = e), (this.codeEditorService = t), (this.mapEditorToService = new Map()); } get activeService() { const e = this.codeEditorService.getFocusedCodeEditor(); if (!e) throw new Error( 'Quick input service needs a focused editor to work.' ); let t = this.mapEditorToService.get(e); if (!t) { const i = (t = this.instantiationService.createInstance(Io, e)); this.mapEditorToService.set(e, t), (0, xo.I)(e.onDidDispose)(() => { i.dispose(), this.mapEditorToService.delete(e); }); } return t; } get quickAccess() { return this.activeService.quickAccess; } pick(e, t = {}, i = F.T.None) { return this.activeService.pick(e, t, i); } createQuickPick() { return this.activeService.createQuickPick(); } }; Oo = Eo([To(0, Ui.TG), To(1, q.$)], Oo); class Ao { constructor(e) { (this.editor = e), (this.widget = new Ro(this.editor)); } static get(e) { return e.getContribution(Ao.ID); } dispose() { this.widget.dispose(); } } Ao.ID = 'editor.controller.quickInput'; class Ro { constructor(e) { (this.codeEditor = e), (this.domNode = document.createElement('div')), this.codeEditor.addOverlayWidget(this); } getId() { return Ro.ID; } getDomNode() { return this.domNode; } getPosition() { return { preference: 2 }; } dispose() { this.codeEditor.removeOverlayWidget(this); } } (Ro.ID = 'editor.contrib.quickInputWidget'), (0, Ps._K)(Ao.ID, Ao); var Po, Fo = i(37280); !(function (e) { const t = new Zr.y(); class i { constructor(e, t) { (this._serviceId = e), (this._factory = t), (this._value = null); } get id() { return this._serviceId; } get(e) { if (!this._value) { if ( (e && (this._value = e[this._serviceId.toString()]), this._value || (this._value = this._factory(e)), !this._value) ) throw new Error( 'Service ' + this._serviceId + ' is missing!' ); t.set(this._serviceId, this._value); } return this._value; } } e.LazyStaticService = i; let n = []; function r(e, t) { let r = new i(e, t); return n.push(r), r; } (e.init = function (e) { let t = new Zr.y(); for (const [e, i] of (0, _s.d)()) t.set(e, i); for (let i in e) e.hasOwnProperty(i) && t.set((0, Ui.yh)(i), e[i]); n.forEach((i) => t.set(i.id, i.get(e))); let i = new Qr(t, !0); return t.set(Ui.TG, i), [t, i]; }), (e.instantiationService = r(Ui.TG, () => new Qr(t, !0))); const s = new Di(); (e.configurationService = r(qt.Ui, () => s)), (e.resourceConfigurationService = r(ot.V, () => new Ni(s))), (e.resourcePropertiesService = r(ot.y, () => new Ei(s))), (e.contextService = r(mi.ec, () => new Ii())), (e.labelService = r(es.e, () => new Ri())), (e.telemetryService = r(Hr.b, () => new Ti())), (e.dialogService = r($r.S, () => new Si())), (e.notificationService = r(pi.lT, () => new ki())), (e.markerService = r(is.lT, () => new os())), (e.modeService = r(sn.h, (e) => new wn())), (e.standaloneThemeService = r(Hi.Z, () => new rr())), (e.logService = r(at.VZ, () => new at.d8())), (e.undoRedoService = r( Cs.t, (t) => new As(e.dialogService.get(t), e.notificationService.get(t)) )), (e.modelService = r( st.q, (t) => new Cn.BR( e.configurationService.get(t), e.resourcePropertiesService.get(t), e.standaloneThemeService.get(t), e.logService.get(t), e.undoRedoService.get(t) ) )), (e.markerDecorationsService = r( us.i, (t) => new ms(e.modelService.get(t), e.markerService.get(t)) )), (e.codeEditorService = r( q.$, (t) => new An(e.standaloneThemeService.get(t)) )), (e.editorProgressService = r(Zi.e, () => new Ci())), (e.storageService = r(as.Uy, () => new as.vm())), (e.storageSyncService = r(Fo.u, () => new Fo.i())), (e.editorWorkerService = r( fe.p, (t) => new ht( e.modelService.get(t), e.resourceConfigurationService.get(t), e.logService.get(t) ) )); })(Po || (Po = {})); class Bo extends _e.JT { constructor(e, t) { super(); const [i, n] = Po.init(t); (this._serviceCollection = i), (this._instantiationService = n); const r = this.get(qt.Ui), s = this.get(pi.lT), o = this.get(Hr.b), a = this.get(Ki.XE), l = this.get(at.VZ); let c = (e, i) => { let n = null; return ( t && (n = t[e.toString()]), n || (n = i()), this._serviceCollection.set(e, n), n ); }, d = c(Vi.i6, () => this._register(new fr(r))); c(qi.F, () => new vs(d, r)), c(ts.Lw, () => new ts.XN(a)); let h = c(ee.H, () => new xi(this._instantiationService)), u = c($i.d, () => this._register(new Li(d, h, o, s, l, e))), g = c(zr, () => new Pi(Po.codeEditorService.get(q.$), e)); c(So.eJ, () => new Oo(n, Po.codeEditorService.get(q.$))); let f = c(zi.u, () => this._register(new Ur(g))); c(Gi.p, () => new ws()), c(zi.i, () => { const e = new Vr(o, s, f, u, a); return e.configure({ blockMouse: !1 }), this._register(e); }), c(ji.co, () => new ds(h)), c(Ut.vu, () => new Ai(Po.modelService.get(st.q))); } get(e) { let t = this._serviceCollection.get(e); if (!t) throw new Error('Missing service ' + e); return t; } set(e, t) { this._serviceCollection.set(e, t); } has(e) { return this._serviceCollection.has(e); } } var Wo = i(89052); function Yo(e, t, i) { let n = new Bo(e, t), r = null; n.has(pe.S) || ((r = new wi(Po.modelService.get())), n.set(pe.S, r)), n.has(te.v4) || n.set(te.v4, new ae(n.get(q.$), n.get(ee.H))); let s = i(n); return r && r.setEditor(s), s; } function Ho(e, t, i) { return Po.modelService.get().createModel(e, t, i); } function jo(e, t) { return 'boolean' == typeof e ? e : t; } function Vo(e, t) { return 'string' == typeof e ? e : t; } function zo(e, t = !1) { t && (e = e.map(function (e) { return e.toLowerCase(); })); const i = (function (e) { const t = {}; for (const i of e) t[i] = !0; return t; })(e); return t ? function (e) { return ( void 0 !== i[e.toLowerCase()] && i.hasOwnProperty(e.toLowerCase()) ); } : function (e) { return void 0 !== i[e] && i.hasOwnProperty(e); }; } function Uo(e, t) { let i = 0; for (; t.indexOf('@') >= 0 && i < 5; ) i++, (t = t.replace(/@(\w+)/g, function (i, n) { let r = ''; if ('string' == typeof e[n]) r = e[n]; else { if (!(e[n] && e[n] instanceof RegExp)) throw void 0 === e[n] ? Mt( e, "language definition does not contain attribute '" + n + "', used at: " + t ) : Mt( e, "attribute reference '" + n + "' must be a string, used at: " + t ); r = e[n].source; } return kt(r) ? '' : '(?:' + r + ')'; })); let n = (e.ignoreCase ? 'i' : '') + (e.unicode ? 'u' : ''); return new RegExp(t, n); } function $o(e, t, i, n) { let r = -1, s = i, o = i.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/); o && (o[3] && ((r = parseInt(o[3])), o[2] && (r += 100)), (s = o[4])); let a, l = '~', c = s; if ( (s && 0 !== s.length ? /^\w*$/.test(c) ? (l = '==') : ((o = s.match(/^(@|!@|~|!~|==|!=)(.*)$/)), o && ((l = o[1]), (c = o[2]))) : ((l = '!='), (c = '')), ('~' !== l && '!~' !== l) || !/^(\w|\|)*$/.test(c)) ) if ('@' === l || '!@' === l) { let i = e[c]; if (!i) throw Mt( e, "the @ match target '" + c + "' is not defined, in rule: " + t ); if ( !(function (e, t) { if (!t) return !1; if (!Array.isArray(t)) return !1; for (const e of t) if ('string' != typeof e) return !1; return !0; })(0, i) ) throw Mt( e, "the @ match target '" + c + "' must be an array of strings, in rule: " + t ); let n = zo(i, e.ignoreCase); a = function (e) { return '@' === l ? n(e) : !n(e); }; } else if ('~' === l || '!~' === l) if (c.indexOf('$') < 0) { let t = Uo(e, '^' + c + '$'); a = function (e) { return '~' === l ? t.test(e) : !t.test(e); }; } else a = function (t, i, n, r) { return Uo(e, '^' + Dt(e, c, i, n, r) + '$').test(t); }; else if (c.indexOf('$') < 0) { let t = xt(e, c); a = function (e) { return '==' === l ? e === t : e !== t; }; } else { let t = xt(e, c); a = function (i, n, r, s, o) { let a = Dt(e, t, n, r, s); return '==' === l ? i === a : i !== a; }; } else { let t = zo(c.split('|'), e.ignoreCase); a = function (e) { return '~' === l ? t(e) : !t(e); }; } return -1 === r ? { name: i, value: n, test: function (e, t, i, n) { return a(e, e, t, i, n); }, } : { name: i, value: n, test: function (e, t, i, n) { let s = (function (e, t, i, n) { if (n < 0) return e; if (n < t.length) return t[n]; if (n >= 100) { n -= 100; let e = i.split('.'); if ((e.unshift(i), n < e.length)) return e[n]; } return null; })(e, t, i, r); return a(s || '', e, t, i, n); }, }; } function Ko(e, t, i) { if (i) { if ('string' == typeof i) return i; if (i.token || '' === i.token) { if ('string' != typeof i.token) throw Mt( e, "a 'token' attribute must be of type string, in rule: " + t ); { let n = { token: i.token }; if ( (i.token.indexOf('$') >= 0 && (n.tokenSubst = !0), 'string' == typeof i.bracket) ) if ('@open' === i.bracket) n.bracket = 1; else { if ('@close' !== i.bracket) throw Mt( e, "a 'bracket' attribute must be either '@open' or '@close', in rule: " + t ); n.bracket = -1; } if (i.next) { if ('string' != typeof i.next) throw Mt( e, 'the next state must be a string value in rule: ' + t ); { let r = i.next; if ( !/^(@pop|@push|@popall)$/.test(r) && ('@' === r[0] && (r = r.substr(1)), r.indexOf('$') < 0 && !(function (e, t) { let i = t; for (; i && i.length > 0; ) { if (e.stateNames[i]) return !0; const t = i.lastIndexOf('.'); i = t < 0 ? null : i.substr(0, t); } return !1; })(e, Dt(e, r, '', [], ''))) ) throw Mt( e, "the next state '" + i.next + "' is not defined in rule: " + t ); n.next = r; } } return ( 'number' == typeof i.goBack && (n.goBack = i.goBack), 'string' == typeof i.switchTo && (n.switchTo = i.switchTo), 'string' == typeof i.log && (n.log = i.log), 'string' == typeof i.nextEmbedded && ((n.nextEmbedded = i.nextEmbedded), (e.usesEmbedded = !0)), n ); } } if (Array.isArray(i)) { let n = []; for (let r = 0, s = i.length; r < s; r++) n[r] = Ko(e, t, i[r]); return { group: n }; } if (i.cases) { let n = []; for (let r in i.cases) if (i.cases.hasOwnProperty(r)) { const s = Ko(e, t, i.cases[r]); '@default' === r || '@' === r || '' === r ? n.push({ test: void 0, value: s, name: r }) : '@eos' === r ? n.push({ test: function (e, t, i, n) { return n; }, value: s, name: r, }) : n.push($o(e, t, r, s)); } const r = e.defaultToken; return { test: function (e, t, i, s) { for (const r of n) if (!r.test || r.test(e, t, i, s)) return r.value; return r; }, }; } throw Mt( e, "an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: " + t ); } return { token: '' }; } class qo { constructor(e) { (this.regex = new RegExp('')), (this.action = { token: '' }), (this.matchOnlyAtLineStart = !1), (this.name = ''), (this.name = e); } setRegex(e, t) { let i; if ('string' == typeof t) i = t; else { if (!(t instanceof RegExp)) throw Mt( e, 'rules must start with a match string or regular expression: ' + this.name ); i = t.source; } (this.matchOnlyAtLineStart = i.length > 0 && '^' === i[0]), (this.name = this.name + ': ' + i), (this.regex = Uo( e, '^(?:' + (this.matchOnlyAtLineStart ? i.substr(1) : i) + ')' )); } setAction(e, t) { this.action = Ko(e, this.name, t); } } class Go { constructor(e) { this._actual = e; } getInitialState() { return this._actual.getInitialState(); } tokenize(e, t, i) { throw new Error('Not supported!'); } tokenize2(e, t) { let i = this._actual.tokenizeEncoded(e, t); return new z.Hi(i.tokens, i.endState); } } class Zo { constructor(e, t, i) { (this._standaloneThemeService = e), (this._languageIdentifier = t), (this._actual = i); } getInitialState() { return this._actual.getInitialState(); } _toClassicTokens(e, t, i) { let n = [], r = 0; for (let s = 0, o = e.length; s < o; s++) { const o = e[s]; let a = o.startIndex; 0 === s ? (a = 0) : a < r && (a = r), (n[s] = new z.WU(a + i, o.scopes, t)), (r = a); } return n; } tokenize(e, t, i) { let n, r = this._actual.tokenize(e, t), s = this._toClassicTokens( r.tokens, this._languageIdentifier.language, i ); return (n = r.endState.equals(t) ? t : r.endState), new z.hG(s, n); } _toBinaryTokens(e, t) { const i = this._languageIdentifier.id, n = this._standaloneThemeService.getColorTheme().tokenTheme; let r = [], s = 0, o = 0; for (let a = 0, l = e.length; a < l; a++) { const l = e[a], c = n.match(i, l.scopes); if (s > 0 && r[s - 1] === c) continue; let d = l.startIndex; 0 === a ? (d = 0) : d < o && (d = o), (r[s++] = d + t), (r[s++] = c), (o = d); } let a = new Uint32Array(s); for (let e = 0; e < s; e++) a[e] = r[e]; return a; } tokenize2(e, t, i) { let n, r = this._actual.tokenize(e, t), s = this._toBinaryTokens(r.tokens, i); return (n = r.endState.equals(t) ? t : r.endState), new z.Hi(s, n); } } function Jo(e) { return e && 'function' == typeof e.then; } const Qo = self; (P.BH.wrappingIndent.defaultValue = 0), (P.BH.glyphMargin.defaultValue = !1), (P.BH.autoIndent.defaultValue = 3), (P.BH.overviewRulerLanes.defaultValue = 2); const Xo = $(); (Xo.editor = { create: function (e, t, i) { return Yo( e, i || {}, (i) => new nn( e, t, i, i.get(Ui.TG), i.get(q.$), i.get(ee.H), i.get(Vi.i6), i.get($i.d), i.get(zi.u), i.get(Hi.Z), i.get(pi.lT), i.get(qt.Ui), i.get(qi.F) ) ); }, onDidCreateEditor: function (e) { return Po.codeEditorService.get().onCodeEditorAdd((t) => { e(t); }); }, createDiffEditor: function (e, t, i) { return Yo( e, i || {}, (i) => new rn( e, t, i, i.get(Ui.TG), i.get(Vi.i6), i.get($i.d), i.get(zi.u), i.get(fe.p), i.get(q.$), i.get(Hi.Z), i.get(pi.lT), i.get(qt.Ui), i.get(zi.i), i.get(Zi.e), i.get(Gi.p) ) ); }, createDiffNavigator: function (e, t) { return new le.F(e, t); }, createModel: function (e, t, i) { if (((e = e || ''), !t)) { let t = e.indexOf('\n'), n = e; return ( -1 !== t && (n = e.substring(0, t)), Ho( e, Po.modeService .get() .createByFilepathOrFirstLine(i || null, n), i ) ); } return Ho(e, Po.modeService.get().create(t), i); }, setModelLanguage: function (e, t) { Po.modelService.get().setMode(e, Po.modeService.get().create(t)); }, setModelMarkers: function (e, t, i) { e && Po.markerService.get().changeOne(t, e.uri, i); }, getModelMarkers: function (e) { return Po.markerService.get().read(e); }, getModels: function () { return Po.modelService.get().getModels(); }, getModel: function (e) { return Po.modelService.get().getModel(e); }, onDidCreateModel: function (e) { return Po.modelService.get().onModelAdded(e); }, onWillDisposeModel: function (e) { return Po.modelService.get().onModelRemoved(e); }, onDidChangeModelLanguage: function (e) { return Po.modelService.get().onModelModeChanged((t) => { e({ model: t.model, oldLanguage: t.oldModeId }); }); }, createWebWorker: function (e) { return (function (e, t) { return new bt(e, t); })(Po.modelService.get(), e); }, colorizeElement: function (e, t) { const i = Po.standaloneThemeService.get(); return ( i.registerEditorContainer(e), Wt.colorizeElement(i, Po.modeService.get(), e, t) ); }, colorize: function (e, t, i) { return ( Po.standaloneThemeService .get() .registerEditorContainer(document.body), Wt.colorize(Po.modeService.get(), e, t, i) ); }, colorizeModelLine: function (e, t, i = 4) { return ( Po.standaloneThemeService .get() .registerEditorContainer(document.body), Wt.colorizeModelLine(e, t, i) ); }, tokenize: function (e, t) { Po.modeService.get().triggerMode(t); let i = ((n = t), ue.RW.get(n) || { getInitialState: () => ge.nO, tokenize: (e, t, i) => (0, ge.Ri)(n, e, t, i), }); var n; let r = e.split(/\r\n|\r|\n/), s = [], o = i.getInitialState(); for (let e = 0, t = r.length; e < t; e++) { let t = r[e], n = i.tokenize(t, o, 0); (s[e] = n.tokens), (o = n.endState); } return s; }, defineTheme: function (e, t) { Po.standaloneThemeService.get().defineTheme(e, t); }, setTheme: function (e) { Po.standaloneThemeService.get().setTheme(e); }, remeasureFonts: function () { (0, Wo.P)(); }, AccessibilitySupport: n, ContentWidgetPositionPreference: l, CursorChangeReason: c, DefaultEndOfLine: d, EditorAutoIndentStrategy: u, EditorOption: g, EndOfLinePreference: f, EndOfLineSequence: p, MinimapPosition: y, MouseTargetType: w, OverlayWidgetPositionPreference: C, OverviewRulerLane: S, RenderLineNumbersType: k, RenderMinimap: x, ScrollbarVisibility: M, ScrollType: L, TextEditorCursorBlinkingStyle: I, TextEditorCursorStyle: O, TrackedRangeStickiness: A, WrappingIndent: R, ConfigurationChangedEvent: P.Bb, BareFontInfo: ce.E, FontInfo: ce.p, TextModelResolvedOptions: he.dJ, FindMatch: he.tk, EditorType: de.g, EditorOptions: P.BH, }), (Xo.languages = { register: function (e) { mn.dQ.registerLanguage(e); }, getLanguages: function () { let e = []; return (e = e.concat(mn.dQ.getLanguages())), e; }, onLanguage: function (e, t) { let i = Po.modeService.get().onDidCreateMode((n) => { n.getId() === e && (i.dispose(), t()); }); return i; }, getEncodedLanguageId: function (e) { let t = Po.modeService.get().getLanguageIdentifier(e); return t ? t.id : 0; }, setLanguageConfiguration: function (e, t) { let i = Po.modeService.get().getLanguageIdentifier(e); if (!i) throw new Error( `Cannot set configuration for unknown language ${e}` ); return Me.zu.register(i, t); }, setTokensProvider: function (e, t) { let i = Po.modeService.get().getLanguageIdentifier(e); if (!i) throw new Error( `Cannot set tokens provider for unknown language ${e}` ); const n = (e) => (function (e) { return 'tokenizeEncoded' in e; })(e) ? new Go(e) : new Zo(Po.standaloneThemeService.get(), i, e); return Jo(t) ? ue.RW.registerPromise( e, t.then((e) => n(e)) ) : ue.RW.register(e, n(t)); }, setMonarchTokensProvider: function (e, t) { const i = (t) => (function (e, t, i, n) { return new Ft(e, t, i, n); })( Po.modeService.get(), Po.standaloneThemeService.get(), e, (function (e, t) { if (!t || 'object' != typeof t) throw new Error( 'Monarch: expecting a language definition object' ); let i = {}; (i.languageId = e), (i.noThrow = !1), (i.maxStack = 100), (i.start = 'string' == typeof t.start ? t.start : null), (i.ignoreCase = jo(t.ignoreCase, !1)), (i.unicode = jo(t.unicode, !1)), (i.tokenPostfix = Vo(t.tokenPostfix, '.' + i.languageId)), (i.defaultToken = Vo(t.defaultToken, 'source')), (i.usesEmbedded = !1); let n = t; function r(e, s, o) { for (const a of o) { let o = a.include; if (o) { if ('string' != typeof o) throw Mt( i, "an 'include' attribute must be a string at: " + e ); if ( ('@' === o[0] && (o = o.substr(1)), !t.tokenizer[o]) ) throw Mt( i, "include target '" + o + "' is not defined at: " + e ); r(e + '.' + o, s, t.tokenizer[o]); } else { const t = new qo(e); if ( Array.isArray(a) && a.length >= 1 && a.length <= 3 ) if ((t.setRegex(n, a[0]), a.length >= 3)) if ('string' == typeof a[1]) t.setAction(n, { token: a[1], next: a[2] }); else { if ('object' != typeof a[1]) throw Mt( i, 'a next state as the last element of a rule can only be given if the action is either an object or a string, at: ' + e ); { const e = a[1]; (e.next = a[2]), t.setAction(n, e); } } else t.setAction(n, a[1]); else { if (!a.regex) throw Mt( i, "a rule must either be an array, or an object with a 'regex' or 'include' field at: " + e ); a.name && 'string' == typeof a.name && (t.name = a.name), a.matchOnlyAtStart && (t.matchOnlyAtLineStart = jo( a.matchOnlyAtLineStart, !1 )), t.setRegex(n, a.regex), t.setAction(n, a.action); } s.push(t); } } } if ( ((n.languageId = e), (n.ignoreCase = i.ignoreCase), (n.unicode = i.unicode), (n.noThrow = i.noThrow), (n.usesEmbedded = i.usesEmbedded), (n.stateNames = t.tokenizer), (n.defaultToken = i.defaultToken), !t.tokenizer || 'object' != typeof t.tokenizer) ) throw Mt( i, "a language definition must define the 'tokenizer' attribute as an object" ); i.tokenizer = []; for (let e in t.tokenizer) if (t.tokenizer.hasOwnProperty(e)) { i.start || (i.start = e); const n = t.tokenizer[e]; (i.tokenizer[e] = new Array()), r('tokenizer.' + e, i.tokenizer[e], n); } if (((i.usesEmbedded = n.usesEmbedded), t.brackets)) { if (!Array.isArray(t.brackets)) throw Mt( i, "the 'brackets' attribute must be defined as an array" ); } else t.brackets = [ { open: '{', close: '}', token: 'delimiter.curly' }, { open: '[', close: ']', token: 'delimiter.square' }, { open: '(', close: ')', token: 'delimiter.parenthesis', }, { open: '<', close: '>', token: 'delimiter.angle' }, ]; let s = []; for (let e of t.brackets) { let t = e; if ( (t && Array.isArray(t) && 3 === t.length && (t = { token: t[2], open: t[0], close: t[1] }), t.open === t.close) ) throw Mt( i, "open and close brackets in a 'brackets' attribute must be different: " + t.open + "\n hint: use the 'bracket' attribute if matching on equal brackets is required." ); if ( 'string' != typeof t.open || 'string' != typeof t.token || 'string' != typeof t.close ) throw Mt( i, "every element in the 'brackets' array must be a '{open,close,token}' object or array" ); s.push({ token: t.token + i.tokenPostfix, open: xt(i, t.open), close: xt(i, t.close), }); } return (i.brackets = s), (i.noThrow = !0), i; })(e, t) ); return Jo(t) ? ue.RW.registerPromise( e, t.then((e) => i(e)) ) : ue.RW.register(e, i(t)); }, registerReferenceProvider: function (e, t) { return ue.FL.register(e, t); }, registerRenameProvider: function (e, t) { return ue.G0.register(e, t); }, registerCompletionItemProvider: function (e, t) { return ue.KZ.register(e, t); }, registerSignatureHelpProvider: function (e, t) { return ue.nD.register(e, t); }, registerHoverProvider: function (e, t) { return ue.xp.register(e, { provideHover: (e, i, n) => { let r = e.getWordAtPosition(i); return Promise.resolve(t.provideHover(e, i, n)).then((e) => { if (e) return ( !e.range && r && (e.range = new j.e( i.lineNumber, r.startColumn, i.lineNumber, r.endColumn )), e.range || (e.range = new j.e( i.lineNumber, i.column, i.lineNumber, i.column )), e ); }); }, }); }, registerDocumentSymbolProvider: function (e, t) { return ue.vJ.register(e, t); }, registerDocumentHighlightProvider: function (e, t) { return ue.vH.register(e, t); }, registerOnTypeRenameProvider: function (e, t) { return ue.jC.register(e, t); }, registerDefinitionProvider: function (e, t) { return ue.Ct.register(e, t); }, registerImplementationProvider: function (e, t) { return ue.vI.register(e, t); }, registerTypeDefinitionProvider: function (e, t) { return ue.tA.register(e, t); }, registerCodeLensProvider: function (e, t) { return ue.He.register(e, t); }, registerCodeActionProvider: function (e, t) { return ue.H9.register(e, { provideCodeActions: (e, i, n, r) => { let s = Po.markerService .get() .read({ resource: e.uri }) .filter((e) => j.e.areIntersectingOrTouching(e, i)); return t.provideCodeActions( e, i, { markers: s, only: n.only }, r ); }, }); }, registerDocumentFormattingEditProvider: function (e, t) { return ue.Az.register(e, t); }, registerDocumentRangeFormattingEditProvider: function (e, t) { return ue.vN.register(e, t); }, registerOnTypeFormattingEditProvider: function (e, t) { return ue.ln.register(e, t); }, registerLinkProvider: function (e, t) { return ue.pM.register(e, t); }, registerColorProvider: function (e, t) { return ue.OH.register(e, t); }, registerFoldingRangeProvider: function (e, t) { return ue.aC.register(e, t); }, registerDeclarationProvider: function (e, t) { return ue.RN.register(e, t); }, registerSelectionRangeProvider: function (e, t) { return ue.AC.register(e, t); }, registerDocumentSemanticTokensProvider: function (e, t) { return ue.wT.register(e, t); }, registerDocumentRangeSemanticTokensProvider: function (e, t) { return ue.K7.register(e, t); }, DocumentHighlightKind: h, CompletionItemKind: s, CompletionItemTag: o, CompletionItemInsertTextRule: r, SymbolKind: E, SymbolTag: T, IndentAction: m, CompletionTriggerKind: a, SignatureHelpTriggerKind: N, FoldingRangeKind: ue.AD, }); const ea = Xo.CancellationTokenSource, ta = Xo.Emitter, ia = Xo.KeyCode, na = Xo.KeyMod, ra = Xo.Position, sa = Xo.Range, oa = Xo.Selection, aa = Xo.SelectionDirection, la = Xo.MarkerSeverity, ca = Xo.MarkerTag, da = Xo.Uri, ha = Xo.Token, ua = Xo.editor, ga = Xo.languages; (Qo.monaco = Xo), void 0 !== Qo.require && 'function' == typeof Qo.require.config && Qo.require.config({ ignoreDuplicateModules: [ 'vscode-languageserver-types', 'vscode-languageserver-types/main', 'vscode-languageserver-textdocument', 'vscode-languageserver-textdocument/main', 'vscode-nls', 'vscode-nls/vscode-nls', 'jsonc-parser', 'jsonc-parser/main', 'vscode-uri', 'vscode-uri/index', 'vs/basic-languages/typescript/typescript', ], }); }, 98368: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { CancellationTokenSource: () => l.CancellationTokenSource, Emitter: () => l.Emitter, KeyCode: () => l.KeyCode, KeyMod: () => l.KeyMod, MarkerSeverity: () => l.MarkerSeverity, MarkerTag: () => l.MarkerTag, Position: () => l.Position, Range: () => l.Range, Selection: () => l.Selection, SelectionDirection: () => l.SelectionDirection, Token: () => l.Token, Uri: () => l.Uri, __esModule: () => l.__esModule, editor: () => l.editor, languages: () => l.languages, }); var n, r, s, o, a, l = i(50158), c = i(91429); !(function (e) { (e[(e.None = 0)] = 'None'), (e[(e.CommonJS = 1)] = 'CommonJS'), (e[(e.AMD = 2)] = 'AMD'), (e[(e.UMD = 3)] = 'UMD'), (e[(e.System = 4)] = 'System'), (e[(e.ES2015 = 5)] = 'ES2015'), (e[(e.ESNext = 99)] = 'ESNext'); })(n || (n = {})), (function (e) { (e[(e.None = 0)] = 'None'), (e[(e.Preserve = 1)] = 'Preserve'), (e[(e.React = 2)] = 'React'), (e[(e.ReactNative = 3)] = 'ReactNative'); })(r || (r = {})), (function (e) { (e[(e.CarriageReturnLineFeed = 0)] = 'CarriageReturnLineFeed'), (e[(e.LineFeed = 1)] = 'LineFeed'); })(s || (s = {})), (function (e) { (e[(e.ES3 = 0)] = 'ES3'), (e[(e.ES5 = 1)] = 'ES5'), (e[(e.ES2015 = 2)] = 'ES2015'), (e[(e.ES2016 = 3)] = 'ES2016'), (e[(e.ES2017 = 4)] = 'ES2017'), (e[(e.ES2018 = 5)] = 'ES2018'), (e[(e.ES2019 = 6)] = 'ES2019'), (e[(e.ES2020 = 7)] = 'ES2020'), (e[(e.ESNext = 99)] = 'ESNext'), (e[(e.JSON = 100)] = 'JSON'), (e[(e.Latest = 99)] = 'Latest'); })(o || (o = {})), (function (e) { (e[(e.Classic = 1)] = 'Classic'), (e[(e.NodeJs = 2)] = 'NodeJs'); })(a || (a = {})); var d = (function () { function e(e, t, i) { (this._onDidChange = new c.Q5()), (this._onDidExtraLibsChange = new c.Q5()), (this._extraLibs = Object.create(null)), (this._removedExtraLibs = Object.create(null)), (this._eagerModelSync = !1), this.setCompilerOptions(e), this.setDiagnosticsOptions(t), this.setWorkerOptions(i), (this._onDidExtraLibsChangeTimeout = -1); } return ( Object.defineProperty(e.prototype, 'onDidChange', { get: function () { return this._onDidChange.event; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'onDidExtraLibsChange', { get: function () { return this._onDidExtraLibsChange.event; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'workerOptions', { get: function () { return this._workerOptions; }, enumerable: !1, configurable: !0, }), (e.prototype.getExtraLibs = function () { return this._extraLibs; }), (e.prototype.addExtraLib = function (e, t) { var i, n = this; if ( ((i = void 0 === t ? 'ts:extralib-' + Math.random().toString(36).substring(2, 15) : t), this._extraLibs[i] && this._extraLibs[i].content === e) ) return { dispose: function () {} }; var r = 1; return ( this._removedExtraLibs[i] && (r = this._removedExtraLibs[i] + 1), this._extraLibs[i] && (r = this._extraLibs[i].version + 1), (this._extraLibs[i] = { content: e, version: r }), this._fireOnDidExtraLibsChangeSoon(), { dispose: function () { var e = n._extraLibs[i]; e && e.version === r && (delete n._extraLibs[i], (n._removedExtraLibs[i] = r), n._fireOnDidExtraLibsChangeSoon()); }, } ); }), (e.prototype.setExtraLibs = function (e) { for (var t in this._extraLibs) this._removedExtraLibs[t] = this._extraLibs[t].version; if ( ((this._extraLibs = Object.create(null)), e && e.length > 0) ) for (var i = 0, n = e; i < n.length; i++) { var r = n[i], s = ((t = r.filePath || 'ts:extralib-' + Math.random().toString(36).substring(2, 15)), r.content), o = 1; this._removedExtraLibs[t] && (o = this._removedExtraLibs[t] + 1), (this._extraLibs[t] = { content: s, version: o }); } this._fireOnDidExtraLibsChangeSoon(); }), (e.prototype._fireOnDidExtraLibsChangeSoon = function () { var e = this; -1 === this._onDidExtraLibsChangeTimeout && (this._onDidExtraLibsChangeTimeout = setTimeout(function () { (e._onDidExtraLibsChangeTimeout = -1), e._onDidExtraLibsChange.fire(void 0); }, 0)); }), (e.prototype.getCompilerOptions = function () { return this._compilerOptions; }), (e.prototype.setCompilerOptions = function (e) { (this._compilerOptions = e || Object.create(null)), this._onDidChange.fire(void 0); }), (e.prototype.getDiagnosticsOptions = function () { return this._diagnosticsOptions; }), (e.prototype.setDiagnosticsOptions = function (e) { (this._diagnosticsOptions = e || Object.create(null)), this._onDidChange.fire(void 0); }), (e.prototype.setWorkerOptions = function (e) { (this._workerOptions = e || Object.create(null)), this._onDidChange.fire(void 0); }), (e.prototype.setMaximumWorkerIdleTime = function (e) {}), (e.prototype.setEagerModelSync = function (e) { this._eagerModelSync = e; }), (e.prototype.getEagerModelSync = function () { return this._eagerModelSync; }), e ); })(), h = new d( { allowNonTsExtensions: !0, target: o.Latest }, { noSemanticValidation: !1, noSyntaxValidation: !1 }, {} ), u = new d( { allowNonTsExtensions: !0, allowJs: !0, target: o.Latest }, { noSemanticValidation: !0, noSyntaxValidation: !1 }, {} ); function g() { return i.e(8183).then(i.bind(i, 68183)); } (c.Mj.typescript = { ModuleKind: n, JsxEmit: r, NewLineKind: s, ScriptTarget: o, ModuleResolutionKind: a, typescriptVersion: '4.0.3', typescriptDefaults: h, javascriptDefaults: u, getTypeScriptWorker: function () { return g().then(function (e) { return e.getTypeScriptWorker(); }); }, getJavaScriptWorker: function () { return g().then(function (e) { return e.getJavaScriptWorker(); }); }, }), c.Mj.onLanguage('typescript', function () { return g().then(function (e) { return e.setupTypeScript(h); }); }), c.Mj.onLanguage('javascript', function () { return g().then(function (e) { return e.setupJavaScript(u); }); }); var f = i(61460), p = (function () { function e(e, t, i) { (this._onDidChange = new f.Q5()), (this._languageId = e), this.setDiagnosticsOptions(t), this.setModeConfiguration(i); } return ( Object.defineProperty(e.prototype, 'onDidChange', { get: function () { return this._onDidChange.event; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'languageId', { get: function () { return this._languageId; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'modeConfiguration', { get: function () { return this._modeConfiguration; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'diagnosticsOptions', { get: function () { return this._diagnosticsOptions; }, enumerable: !1, configurable: !0, }), (e.prototype.setDiagnosticsOptions = function (e) { (this._diagnosticsOptions = e || Object.create(null)), this._onDidChange.fire(this); }), (e.prototype.setModeConfiguration = function (e) { (this._modeConfiguration = e || Object.create(null)), this._onDidChange.fire(this); }), e ); })(), m = { validate: !0, lint: { compatibleVendorPrefixes: 'ignore', vendorPrefix: 'warning', duplicateProperties: 'warning', emptyRules: 'warning', importStatement: 'ignore', boxModel: 'ignore', universalSelector: 'ignore', zeroUnits: 'ignore', fontFaceProperties: 'warning', hexColorLength: 'error', argumentsInColorFunction: 'error', unknownProperties: 'warning', ieHack: 'ignore', unknownVendorSpecificProperties: 'ignore', propertyIgnoredDueToDisplay: 'warning', important: 'ignore', float: 'ignore', idSelector: 'ignore', }, }, _ = { completionItems: !0, hovers: !0, documentSymbols: !0, definitions: !0, references: !0, documentHighlights: !0, rename: !0, colors: !0, foldingRanges: !0, diagnostics: !0, selectionRanges: !0, }, b = new p('css', m, _), v = new p('scss', m, _), y = new p('less', m, _); function w() { return i.e(6917).then(i.bind(i, 46917)); } (f.Mj.css = { cssDefaults: b, lessDefaults: y, scssDefaults: v }), f.Mj.onLanguage('less', function () { w().then(function (e) { return e.setupMode(y); }); }), f.Mj.onLanguage('scss', function () { w().then(function (e) { return e.setupMode(v); }); }), f.Mj.onLanguage('css', function () { w().then(function (e) { return e.setupMode(b); }); }), i(72323); var C = i(47650), S = (function () { function e(e, t, i) { (this._onDidChange = new C.Q5()), (this._languageId = e), this.setOptions(t), this.setModeConfiguration(i); } return ( Object.defineProperty(e.prototype, 'onDidChange', { get: function () { return this._onDidChange.event; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'languageId', { get: function () { return this._languageId; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'options', { get: function () { return this._options; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'modeConfiguration', { get: function () { return this._modeConfiguration; }, enumerable: !1, configurable: !0, }), (e.prototype.setOptions = function (e) { (this._options = e || Object.create(null)), this._onDidChange.fire(this); }), (e.prototype.setModeConfiguration = function (e) { (this._modeConfiguration = e || Object.create(null)), this._onDidChange.fire(this); }), e ); })(), k = { tabSize: 4, insertSpaces: !1, wrapLineLength: 120, unformatted: 'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var', contentUnformatted: 'pre', indentInnerHtml: !1, preserveNewLines: !0, maxPreserveNewLines: null, indentHandlebars: !1, endWithNewline: !1, extraLiners: 'head, body, /html', wrapAttributes: 'auto', }, x = { format: k, suggest: { html5: !0 } }, L = { format: k, suggest: { html5: !0, razor: !0 } }; function M(e) { return { completionItems: !0, hovers: !0, documentSymbols: !0, links: !0, documentHighlights: !0, rename: !0, colors: !0, foldingRanges: !0, selectionRanges: !0, diagnostics: e === D, documentFormattingEdits: e === D, documentRangeFormattingEdits: e === D, }; } var D = 'html', N = 'handlebars', E = 'razor', T = new S( D, { format: k, suggest: { html5: !0, angular1: !0, ionic: !0 } }, M(D) ), I = new S(N, x, M(N)), O = new S(E, L, M(E)); function A() { return i.e(5470).then(i.bind(i, 65470)); } (C.Mj.html = { htmlDefaults: T, razorDefaults: O, handlebarDefaults: I, }), C.Mj.onLanguage(D, function () { A().then(function (e) { return e.setupMode(T); }); }), C.Mj.onLanguage(N, function () { A().then(function (e) { return e.setupMode(I); }); }), C.Mj.onLanguage(E, function () { A().then(function (e) { return e.setupMode(O); }); }); var R = i(89587), P = {}, F = {}, B = (function () { function e(e) { var t = this; (this._languageId = e), (this._loadingTriggered = !1), (this._lazyLoadPromise = new Promise(function (e, i) { (t._lazyLoadPromiseResolve = e), (t._lazyLoadPromiseReject = i); })); } return ( (e.getOrCreate = function (t) { return F[t] || (F[t] = new e(t)), F[t]; }), (e.prototype.whenLoaded = function () { return this._lazyLoadPromise; }), (e.prototype.load = function () { var e = this; return ( this._loadingTriggered || ((this._loadingTriggered = !0), P[this._languageId].loader().then( function (t) { return e._lazyLoadPromiseResolve(t); }, function (t) { return e._lazyLoadPromiseReject(t); } )), this._lazyLoadPromise ); }), e ); })(); function W(e) { var t = e.id; (P[t] = e), R.Mj.register(e); var i = B.getOrCreate(t); R.Mj.setMonarchTokensProvider( t, i.whenLoaded().then(function (e) { return e.language; }) ), R.Mj.onLanguage(t, function () { i.load().then(function (e) { R.Mj.setLanguageConfiguration(t, e.conf); }); }); } W({ id: 'abap', extensions: ['.abap'], aliases: ['abap', 'ABAP'], loader: function () { return i.e(848).then(i.bind(i, 40848)); }, }), W({ id: 'apex', extensions: ['.cls'], aliases: ['Apex', 'apex'], mimetypes: ['text/x-apex-source', 'text/x-apex'], loader: function () { return i.e(4386).then(i.bind(i, 54386)); }, }), W({ id: 'azcli', extensions: ['.azcli'], aliases: ['Azure CLI', 'azcli'], loader: function () { return i.e(1471).then(i.bind(i, 31471)); }, }), W({ id: 'bat', extensions: ['.bat', '.cmd'], aliases: ['Batch', 'bat'], loader: function () { return i.e(4129).then(i.bind(i, 84129)); }, }), W({ id: 'cameligo', extensions: ['.mligo'], aliases: ['Cameligo'], loader: function () { return i.e(1448).then(i.bind(i, 11448)); }, }), W({ id: 'clojure', extensions: ['.clj', '.cljs', '.cljc', '.edn'], aliases: ['clojure', 'Clojure'], loader: function () { return i.e(3036).then(i.bind(i, 33036)); }, }), W({ id: 'coffeescript', extensions: ['.coffee'], aliases: ['CoffeeScript', 'coffeescript', 'coffee'], mimetypes: ['text/x-coffeescript', 'text/coffeescript'], loader: function () { return i.e(1147).then(i.bind(i, 21147)); }, }), W({ id: 'c', extensions: ['.c', '.h'], aliases: ['C', 'c'], loader: function () { return i.e(1960).then(i.bind(i, 71960)); }, }), W({ id: 'cpp', extensions: ['.cpp', '.cc', '.cxx', '.hpp', '.hh', '.hxx'], aliases: ['C++', 'Cpp', 'cpp'], loader: function () { return i.e(1960).then(i.bind(i, 71960)); }, }), W({ id: 'csharp', extensions: ['.cs', '.csx', '.cake'], aliases: ['C#', 'csharp'], loader: function () { return i.e(8719).then(i.bind(i, 18719)); }, }), W({ id: 'csp', extensions: [], aliases: ['CSP', 'csp'], loader: function () { return i.e(8946).then(i.bind(i, 68946)); }, }), W({ id: 'css', extensions: ['.css'], aliases: ['CSS', 'css'], mimetypes: ['text/css'], loader: function () { return i.e(2075).then(i.bind(i, 62075)); }, }), W({ id: 'dart', extensions: ['.dart'], aliases: ['Dart', 'dart'], mimetypes: ['text/x-dart-source', 'text/x-dart'], loader: function () { return i.e(9343).then(i.bind(i, 39343)); }, }), W({ id: 'dockerfile', extensions: ['.dockerfile'], filenames: ['Dockerfile'], aliases: ['Dockerfile'], loader: function () { return i.e(5849).then(i.bind(i, 25849)); }, }), W({ id: 'fsharp', extensions: ['.fs', '.fsi', '.ml', '.mli', '.fsx', '.fsscript'], aliases: ['F#', 'FSharp', 'fsharp'], loader: function () { return i.e(6241).then(i.bind(i, 96241)); }, }), W({ id: 'go', extensions: ['.go'], aliases: ['Go'], loader: function () { return i.e(249).then(i.bind(i, 80249)); }, }), W({ id: 'graphql', extensions: ['.graphql', '.gql'], aliases: ['GraphQL', 'graphql', 'gql'], mimetypes: ['application/graphql'], loader: function () { return i.e(6489).then(i.bind(i, 66489)); }, }), W({ id: 'handlebars', extensions: ['.handlebars', '.hbs'], aliases: ['Handlebars', 'handlebars'], mimetypes: ['text/x-handlebars-template'], loader: function () { return i.e(5703).then(i.bind(i, 15703)); }, }), W({ id: 'hcl', extensions: ['.tf', '.tfvars', '.hcl'], aliases: ['Terraform', 'tf', 'HCL', 'hcl'], loader: function () { return i.e(3632).then(i.bind(i, 48534)); }, }), W({ id: 'html', extensions: [ '.html', '.htm', '.shtml', '.xhtml', '.mdoc', '.jsp', '.asp', '.aspx', '.jshtm', ], aliases: ['HTML', 'htm', 'html', 'xhtml'], mimetypes: [ 'text/html', 'text/x-jshtm', 'text/template', 'text/ng-template', ], loader: function () { return i.e(2571).then(i.bind(i, 2571)); }, }), W({ id: 'ini', extensions: ['.ini', '.properties', '.gitconfig'], filenames: [ 'config', '.gitattributes', '.gitconfig', '.editorconfig', ], aliases: ['Ini', 'ini'], loader: function () { return i.e(2798).then(i.bind(i, 52798)); }, }), W({ id: 'java', extensions: ['.java', '.jav'], aliases: ['Java', 'java'], mimetypes: ['text/x-java-source', 'text/x-java'], loader: function () { return i.e(7043).then(i.bind(i, 17043)); }, }), W({ id: 'javascript', extensions: ['.js', '.es6', '.jsx', '.mjs'], firstLine: '^#!.*\\bnode', filenames: ['jakefile'], aliases: ['JavaScript', 'javascript', 'js'], mimetypes: ['text/javascript'], loader: function () { return i.e(1134).then(i.bind(i, 41134)); }, }), W({ id: 'julia', extensions: ['.jl'], aliases: ['julia', 'Julia'], loader: function () { return i.e(4946).then(i.bind(i, 34946)); }, }), W({ id: 'kotlin', extensions: ['.kt'], aliases: ['Kotlin', 'kotlin'], mimetypes: ['text/x-kotlin-source', 'text/x-kotlin'], loader: function () { return i.e(4368).then(i.bind(i, 84368)); }, }), W({ id: 'less', extensions: ['.less'], aliases: ['Less', 'less'], mimetypes: ['text/x-less', 'text/less'], loader: function () { return i.e(5593).then(i.bind(i, 35593)); }, }), W({ id: 'lexon', extensions: ['.lex'], aliases: ['Lexon'], loader: function () { return i.e(4912).then(i.bind(i, 64912)); }, }), W({ id: 'lua', extensions: ['.lua'], aliases: ['Lua', 'lua'], loader: function () { return i.e(911).then(i.bind(i, 20911)); }, }), W({ id: 'markdown', extensions: [ '.md', '.markdown', '.mdown', '.mkdn', '.mkd', '.mdwn', '.mdtxt', '.mdtext', ], aliases: ['Markdown', 'markdown'], loader: function () { return i.e(2954).then(i.bind(i, 42954)); }, }), W({ id: 'mips', extensions: ['.s'], aliases: ['MIPS', 'MIPS-V'], mimetypes: ['text/x-mips', 'text/mips', 'text/plaintext'], loader: function () { return i.e(854).then(i.bind(i, 60854)); }, }), W({ id: 'msdax', extensions: ['.dax', '.msdax'], aliases: ['DAX', 'MSDAX'], loader: function () { return i.e(9398).then(i.bind(i, 79398)); }, }), W({ id: 'mysql', extensions: [], aliases: ['MySQL', 'mysql'], loader: function () { return i.e(1961).then(i.bind(i, 31961)); }, }), W({ id: 'objective-c', extensions: ['.m'], aliases: ['Objective-C'], loader: function () { return i.e(9537).then(i.bind(i, 79537)); }, }), W({ id: 'pascal', extensions: ['.pas', '.p', '.pp'], aliases: ['Pascal', 'pas'], mimetypes: ['text/x-pascal-source', 'text/x-pascal'], loader: function () { return i.e(6082).then(i.bind(i, 86082)); }, }), W({ id: 'pascaligo', extensions: ['.ligo'], aliases: ['Pascaligo', 'ligo'], loader: function () { return i.e(8084).then(i.bind(i, 98084)); }, }), W({ id: 'perl', extensions: ['.pl'], aliases: ['Perl', 'pl'], loader: function () { return i.e(8070).then(i.bind(i, 8070)); }, }), W({ id: 'pgsql', extensions: [], aliases: ['PostgreSQL', 'postgres', 'pg', 'postgre'], loader: function () { return i.e(996).then(i.bind(i, 20996)); }, }), W({ id: 'php', extensions: ['.php', '.php4', '.php5', '.phtml', '.ctp'], aliases: ['PHP', 'php'], mimetypes: ['application/x-php'], loader: function () { return i.e(7835).then(i.bind(i, 47835)); }, }), W({ id: 'postiats', extensions: ['.dats', '.sats', '.hats'], aliases: ['ATS', 'ATS/Postiats'], loader: function () { return i.e(8180).then(i.bind(i, 48180)); }, }), W({ id: 'powerquery', extensions: ['.pq', '.pqm'], aliases: ['PQ', 'M', 'Power Query', 'Power Query M'], loader: function () { return i.e(4407).then(i.bind(i, 94407)); }, }), W({ id: 'powershell', extensions: ['.ps1', '.psm1', '.psd1'], aliases: ['PowerShell', 'powershell', 'ps', 'ps1'], loader: function () { return i.e(7562).then(i.bind(i, 37562)); }, }), W({ id: 'pug', extensions: ['.jade', '.pug'], aliases: ['Pug', 'Jade', 'jade'], loader: function () { return i.e(2892).then(i.bind(i, 22892)); }, }), W({ id: 'python', extensions: ['.py', '.rpy', '.pyw', '.cpy', '.gyp', '.gypi'], aliases: ['Python', 'py'], firstLine: '^#!/.*\\bpython[0-9.-]*\\b', loader: function () { return i.e(7287).then(i.bind(i, 37287)); }, }), W({ id: 'r', extensions: ['.r', '.rhistory', '.rmd', '.rprofile', '.rt'], aliases: ['R', 'r'], loader: function () { return i.e(2140).then(i.bind(i, 22140)); }, }), W({ id: 'razor', extensions: ['.cshtml'], aliases: ['Razor', 'razor'], mimetypes: ['text/x-cshtml'], loader: function () { return i.e(6424).then(i.bind(i, 76424)); }, }), W({ id: 'redis', extensions: ['.redis'], aliases: ['redis'], loader: function () { return i.e(1259).then(i.bind(i, 91259)); }, }), W({ id: 'redshift', extensions: [], aliases: ['Redshift', 'redshift'], loader: function () { return i.e(6449).then(i.bind(i, 56449)); }, }), W({ id: 'restructuredtext', extensions: ['.rst'], aliases: ['reStructuredText', 'restructuredtext'], loader: function () { return i.e(1065).then(i.bind(i, 71065)); }, }), W({ id: 'ruby', extensions: ['.rb', '.rbx', '.rjs', '.gemspec', '.pp'], filenames: ['rakefile', 'Gemfile'], aliases: ['Ruby', 'rb'], loader: function () { return i.e(9684).then(i.bind(i, 69684)); }, }), W({ id: 'rust', extensions: ['.rs', '.rlib'], aliases: ['Rust', 'rust'], loader: function () { return i.e(8715).then(i.bind(i, 8715)); }, }), W({ id: 'sb', extensions: ['.sb'], aliases: ['Small Basic', 'sb'], loader: function () { return i.e(5062).then(i.bind(i, 78)); }, }), W({ id: 'scala', extensions: ['.scala', '.sc', '.sbt'], aliases: ['Scala', 'scala', 'SBT', 'Sbt', 'sbt', 'Dotty', 'dotty'], mimetypes: [ 'text/x-scala-source', 'text/x-scala', 'text/x-sbt', 'text/x-dotty', ], loader: function () { return i.e(180).then(i.bind(i, 90180)); }, }), W({ id: 'scheme', extensions: ['.scm', '.ss', '.sch', '.rkt'], aliases: ['scheme', 'Scheme'], loader: function () { return i.e(2060).then(i.bind(i, 32060)); }, }), W({ id: 'scss', extensions: ['.scss'], aliases: ['Sass', 'sass', 'scss'], mimetypes: ['text/x-scss', 'text/scss'], loader: function () { return i.e(525).then(i.bind(i, 90525)); }, }), W({ id: 'shell', extensions: ['.sh', '.bash'], aliases: ['Shell', 'sh'], loader: function () { return i.e(8670).then(i.bind(i, 88670)); }, }), W({ id: 'sol', extensions: ['.sol'], aliases: ['sol', 'solidity', 'Solidity'], loader: function () { return i.e(1156).then(i.bind(i, 1156)); }, }), W({ id: 'aes', extensions: ['.aes'], aliases: ['aes', 'sophia', 'Sophia'], loader: function () { return i.e(3919).then(i.bind(i, 63919)); }, }), W({ id: 'sql', extensions: ['.sql'], aliases: ['SQL'], loader: function () { return i.e(7778).then(i.bind(i, 27778)); }, }), W({ id: 'st', extensions: ['.st', '.iecst', '.iecplc', '.lc3lib'], aliases: ['StructuredText', 'scl', 'stl'], loader: function () { return i.e(6587).then(i.bind(i, 75458)); }, }), W({ id: 'swift', aliases: ['Swift', 'swift'], extensions: ['.swift'], mimetypes: ['text/swift'], loader: function () { return i.e(2911).then(i.bind(i, 42911)); }, }), W({ id: 'systemverilog', extensions: ['.sv', '.svh'], aliases: ['SV', 'sv', 'SystemVerilog', 'systemverilog'], loader: function () { return i.e(1886).then(i.bind(i, 81886)); }, }), W({ id: 'verilog', extensions: ['.v', '.vh'], aliases: ['V', 'v', 'Verilog', 'verilog'], loader: function () { return i.e(1886).then(i.bind(i, 81886)); }, }), W({ id: 'tcl', extensions: ['.tcl'], aliases: ['tcl', 'Tcl', 'tcltk', 'TclTk', 'tcl/tk', 'Tcl/Tk'], loader: function () { return i.e(7637).then(i.bind(i, 57637)); }, }), W({ id: 'twig', extensions: ['.twig'], aliases: ['Twig', 'twig'], mimetypes: ['text/x-twig'], loader: function () { return i.e(8424).then(i.bind(i, 98424)); }, }), W({ id: 'typescript', extensions: ['.ts', '.tsx'], aliases: ['TypeScript', 'ts', 'typescript'], mimetypes: ['text/typescript'], loader: function () { return i.e(6717).then(i.bind(i, 96717)); }, }), W({ id: 'vb', extensions: ['.vb'], aliases: ['Visual Basic', 'vb'], loader: function () { return i.e(9907).then(i.bind(i, 39907)); }, }), W({ id: 'xml', extensions: [ '.xml', '.dtd', '.ascx', '.csproj', '.config', '.wxi', '.wxl', '.wxs', '.xaml', '.svg', '.svgz', '.opf', '.xsl', ], firstLine: '(\\<\\?xml.*)|(\\ e.symbol)); let s = []; return i.isCancellationRequested ? s : (t ? Q(s, r, '') : (s = r), s.sort(J)); }); } function J(e, t) { return H.e.compareRangesUsingStarts(e.range, t.range); } function Q(e, t, i) { for (let n of t) e.push({ kind: n.kind, tags: n.tags, name: n.name, detail: n.detail, containerName: n.containerName || i, range: n.range, selectionRange: n.selectionRange, children: void 0, }), n.children && Q(e, n.children, n.name); } $.P.registerCommand( '_executeDocumentSymbolProvider', function (e, ...t) { return G(this, void 0, void 0, function* () { const [i] = t; (0, K.p_)(Y.o.isUri(i)); const n = e.get(j.q).getModel(i); if (n) return Z(n, !1, V.T.None); const r = yield e.get(z.S).createModelReference(i); try { return yield Z(r.object.textEditorModel, !1, V.T.None); } finally { r.dispose(); } }); } ), i(92729), i(10365), i(42698), i(25217), i(80638), i(83554), i(42408), i(34800), i(38486), i(40517), i(55027), i(4454), i(81955), i(78694), i(24993); var X = i(63580), ee = i(16830), te = i(84013); class ie extends ee.R6 { constructor() { super({ id: 'editor.action.forceRetokenize', label: X.N('forceRetokenize', 'Developer: Force Retokenize'), alias: 'Developer: Force Retokenize', precondition: void 0, }); } run(e, t) { if (!t.hasModel()) return; const i = t.getModel(); i.resetTokenization(); const n = new te.G(!0); i.forceTokenization(i.getLineCount()), n.stop(), console.log(`tokenization took ${n.elapsed()}`); } } (0, ee.Qr)(ie), i(19720), i(31725), i(70185), i(43497), i(99453), i(60661), i(20913), i(28609), i(29477), i(19646), i(97830), i(78944), i(62097), i(98936), i(97720); var ne = i(11640), re = i(19192), se = i(33108), oe = i(38819), ae = i(72065), le = i(59422), ce = i(52365), de = function (e, t) { return function (i, n) { t(i, n, e); }; }; let he = class extends re.J { constructor(e, t, i, n, r, s, o) { super(!0, e, t, i, n, r, s, o); } }; (he = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ de(1, oe.i6), de(2, ne.$), de(3, le.lT), de(4, ae.TG), de(5, ce.Uy), de(6, se.Ui), ], he )), (0, ee._K)(re.J.ID, he), i(15662); }, 29477: (e, t, i) => { 'use strict'; i.r(t); var n = i(65321), r = i(38626), s = i(48764), o = i(85152), a = i(93794), l = i(5976), c = i(1432), d = i(97295), h = i(70666), u = i(16830), g = i(29102), f = i(19720), p = i(38819), m = i(72065), _ = i(91847), b = i(50988), v = i(73910), y = i(97781), w = i(20913), C = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, S = function (e, t) { return function (i, n) { t(i, n, e); }; }; const k = new p.uy('accessibilityHelpWidgetVisible', !1); let x = class e extends l.JT { constructor(e, t) { super(), (this._editor = e), (this._widget = this._register( t.createInstance(L, this._editor) )); } static get(t) { return t.getContribution(e.ID); } show() { this._widget.show(); } hide() { this._widget.hide(); } }; (x.ID = 'editor.contrib.accessibilityHelpController'), (x = C([S(1, m.TG)], x)); let L = class e extends a.$ { constructor(e, t, i, s) { super(), (this._contextKeyService = t), (this._keybindingService = i), (this._openerService = s), (this._editor = e), (this._isVisibleKey = k.bindTo(this._contextKeyService)), (this._domNode = (0, r.X)(document.createElement('div'))), this._domNode.setClassName('accessibilityHelpWidget'), this._domNode.setDisplay('none'), this._domNode.setAttribute('role', 'dialog'), this._domNode.setAttribute('aria-hidden', 'true'), (this._contentDomNode = (0, r.X)(document.createElement('div'))), this._contentDomNode.setAttribute('role', 'document'), this._domNode.appendChild(this._contentDomNode), (this._isVisible = !1), this._register( this._editor.onDidLayoutChange(() => { this._isVisible && this._layout(); }) ), this._register( n.mu(this._contentDomNode.domNode, 'keydown', (e) => { if ( this._isVisible && (e.equals(2083) && ((0, o.Z9)(w.Oe.emergencyConfOn), this._editor.updateOptions({ accessibilitySupport: 'on', }), n.PO(this._contentDomNode.domNode), this._buildContent(), this._contentDomNode.domNode.focus(), e.preventDefault(), e.stopPropagation()), e.equals(2086)) ) { (0, o.Z9)(w.Oe.openingDocs); let t = this._editor.getRawOptions().accessibilityHelpUrl; void 0 === t && (t = 'https://go.microsoft.com/fwlink/?linkid=852450'), this._openerService.open(h.o.parse(t)), e.preventDefault(), e.stopPropagation(); } }) ), this.onblur(this._contentDomNode.domNode, () => { this.hide(); }), this._editor.addOverlayWidget(this); } dispose() { this._editor.removeOverlayWidget(this), super.dispose(); } getId() { return e.ID; } getDomNode() { return this._domNode.domNode; } getPosition() { return { preference: null }; } show() { this._isVisible || ((this._isVisible = !0), this._isVisibleKey.set(!0), this._layout(), this._domNode.setDisplay('block'), this._domNode.setAttribute('aria-hidden', 'false'), (this._contentDomNode.domNode.tabIndex = 0), this._buildContent(), this._contentDomNode.domNode.focus()); } _descriptionForCommand(e, t, i) { let n = this._keybindingService.lookupKeybinding(e); return n ? d.WU(t, n.getAriaLabel()) : d.WU(i, e); } _buildContent() { const e = this._editor.getOptions(), t = this._editor.getSelections(); let i = 0; if (t) { const e = this._editor.getModel(); e && t.forEach((t) => { i += e.getValueLengthInRange(t); }); } let n = (function (e, t) { return e && 0 !== e.length ? 1 === e.length ? t ? d.WU( w.Oe.singleSelectionRange, e[0].positionLineNumber, e[0].positionColumn, t ) : d.WU( w.Oe.singleSelection, e[0].positionLineNumber, e[0].positionColumn ) : t ? d.WU(w.Oe.multiSelectionRange, e.length, t) : e.length > 0 ? d.WU(w.Oe.multiSelection, e.length) : '' : w.Oe.noSelection; })(t, i); e.get(47) ? e.get(72) ? (n += w.Oe.readonlyDiffEditor) : (n += w.Oe.editableDiffEditor) : e.get(72) ? (n += w.Oe.readonlyEditor) : (n += w.Oe.editableEditor); const r = c.dz ? w.Oe.changeConfigToOnMac : w.Oe.changeConfigToOnWinLinux; switch (e.get(2)) { case 0: n += '\n\n - ' + r; break; case 2: n += '\n\n - ' + w.Oe.auto_on; break; case 1: (n += '\n\n - ' + w.Oe.auto_off), (n += ' ' + r); } e.get(116) ? (n += '\n\n - ' + this._descriptionForCommand( f.ToggleTabFocusModeAction.ID, w.Oe.tabFocusModeOnMsg, w.Oe.tabFocusModeOnMsgNoKb )) : (n += '\n\n - ' + this._descriptionForCommand( f.ToggleTabFocusModeAction.ID, w.Oe.tabFocusModeOffMsg, w.Oe.tabFocusModeOffMsgNoKb )), (n += '\n\n - ' + (c.dz ? w.Oe.openDocMac : w.Oe.openDocWinLinux)), (n += '\n\n' + w.Oe.outroMsg), this._contentDomNode.domNode.appendChild((0, s.BO)(n)), this._contentDomNode.domNode.setAttribute('aria-label', n); } hide() { this._isVisible && ((this._isVisible = !1), this._isVisibleKey.reset(), this._domNode.setDisplay('none'), this._domNode.setAttribute('aria-hidden', 'true'), (this._contentDomNode.domNode.tabIndex = -1), n.PO(this._contentDomNode.domNode), this._editor.focus()); } _layout() { let t = this._editor.getLayoutInfo(), i = Math.max(5, Math.min(e.WIDTH, t.width - 40)), n = Math.max(5, Math.min(e.HEIGHT, t.height - 40)); this._domNode.setWidth(i), this._domNode.setHeight(n); let r = Math.round((t.height - n) / 2); this._domNode.setTop(r); let s = Math.round((t.width - i) / 2); this._domNode.setLeft(s); } }; (L.ID = 'editor.contrib.accessibilityHelpWidget'), (L.WIDTH = 500), (L.HEIGHT = 300), (L = C([S(1, p.i6), S(2, _.d), S(3, b.v4)], L)); class M extends u.R6 { constructor() { super({ id: 'editor.action.showAccessibilityHelp', label: w.Oe.showAccessibilityHelpAction, alias: 'Show Accessibility Help', precondition: void 0, kbOpts: { kbExpr: g.u.focus, primary: 571, weight: 100, linux: { primary: 1595, secondary: [571] }, }, }); } run(e, t) { let i = x.get(t); i && i.show(); } } (0, u._K)(x.ID, x), (0, u.Qr)(M); const D = u._l.bindToContribution(x.get); (0, u.fK)( new D({ id: 'closeAccessibilityHelp', precondition: k, handler: (e) => e.hide(), kbOpts: { weight: 200, kbExpr: g.u.focus, primary: 9, secondary: [1033], }, }) ), (0, y.Ic)((e, t) => { const i = e.getColor(v.D0); i && t.addRule( `.monaco-editor .accessibilityHelpWidget { background-color: ${i}; }` ); const n = e.getColor(v.Hf); n && t.addRule( `.monaco-editor .accessibilityHelpWidget { color: ${n}; }` ); const r = e.getColor(v.rh); r && t.addRule( `.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ${r}; }` ); const s = e.getColor(v.lR); s && t.addRule( `.monaco-editor .accessibilityHelpWidget { border: 2px solid ${s}; }` ); }); }, 19646: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { IPadShowKeyboard: () => a }); var n = i(16268), r = i(65321), s = i(5976), o = i(16830); class a extends s.JT { constructor(e) { super(), (this.editor = e), (this.widget = null), n.zc && (this._register( e.onDidChangeConfiguration(() => this.update()) ), this.update()); } update() { const e = !this.editor.getOption(72); !this.widget && e ? (this.widget = new l(this.editor)) : this.widget && !e && (this.widget.dispose(), (this.widget = null)); } dispose() { super.dispose(), this.widget && (this.widget.dispose(), (this.widget = null)); } } a.ID = 'editor.contrib.iPadShowKeyboard'; class l extends s.JT { constructor(e) { super(), (this.editor = e), (this._domNode = document.createElement('textarea')), (this._domNode.className = 'iPadShowKeyboard'), this._register( r.nm(this._domNode, 'touchstart', (e) => { this.editor.focus(); }) ), this._register( r.nm(this._domNode, 'focus', (e) => { this.editor.focus(); }) ), this.editor.addOverlayWidget(this); } dispose() { this.editor.removeOverlayWidget(this), super.dispose(); } getId() { return l.ID; } getDomNode() { return this._domNode; } getPosition() { return { preference: 1 }; } } (l.ID = 'editor.contrib.ShowKeyboardWidget'), (0, o._K)(a.ID, a); }, 97830: (e, t, i) => { 'use strict'; i.r(t); var n = i(65321), r = i(41264), s = i(5976), o = i(16830), a = i(43775), l = i(28111), c = i(71531), d = i(12095), h = i(73910), u = i(97781), g = i(20913), f = function (e, t) { return function (i, n) { t(i, n, e); }; }; let p = class e extends s.JT { constructor(e, t, i) { super(), (this._editor = e), (this._modeService = i), (this._widget = null), this._register(this._editor.onDidChangeModel((e) => this.stop())), this._register( this._editor.onDidChangeModelLanguage((e) => this.stop()) ), this._register(a.RW.onDidChange((e) => this.stop())), this._register( this._editor.onKeyUp((e) => 9 === e.keyCode && this.stop()) ); } static get(t) { return t.getContribution(e.ID); } dispose() { this.stop(), super.dispose(); } launch() { this._widget || (this._editor.hasModel() && (this._widget = new _(this._editor, this._modeService))); } stop() { this._widget && (this._widget.dispose(), (this._widget = null)); } }; (p.ID = 'editor.contrib.inspectTokens'), (p = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })([f(1, d.Z), f(2, c.h)], p)); class m extends o.R6 { constructor() { super({ id: 'editor.action.inspectTokens', label: g.ug.inspectTokensAction, alias: 'Developer: Inspect Tokens', precondition: void 0, }); } run(e, t) { let i = p.get(t); i && i.launch(); } } class _ extends s.JT { constructor(e, t) { var i; super(), (this.allowEditorOverflow = !0), (this._editor = e), (this._modeService = t), (this._model = this._editor.getModel()), (this._domNode = document.createElement('div')), (this._domNode.className = 'tokens-inspect-widget'), (this._tokenizationSupport = ((i = this._model.getLanguageIdentifier()), a.RW.get(i.language) || { getInitialState: () => l.nO, tokenize: (e, t, n) => (0, l.Ri)(i.language, e, t, n), tokenize2: (e, t, n) => (0, l.mh)(i.id, e, t, n), })), this._compute(this._editor.getPosition()), this._register( this._editor.onDidChangeCursorPosition((e) => this._compute(this._editor.getPosition()) ) ), this._editor.addContentWidget(this); } dispose() { this._editor.removeContentWidget(this), super.dispose(); } getId() { return _._ID; } _compute(e) { let t = this._getTokensAtLine(e.lineNumber), i = 0; for (let n = t.tokens1.length - 1; n >= 0; n--) { let r = t.tokens1[n]; if (e.column - 1 >= r.offset) { i = n; break; } } let s = 0; for (let i = t.tokens2.length >>> 1; i >= 0; i--) if (e.column - 1 >= t.tokens2[i << 1]) { s = i; break; } let o = this._model.getLineContent(e.lineNumber), a = ''; if (i < t.tokens1.length) { let e = t.tokens1[i].offset, n = i + 1 < t.tokens1.length ? t.tokens1[i + 1].offset : o.length; a = o.substring(e, n); } (0, n.mc)( this._domNode, (0, n.$)( 'h2.tm-token', void 0, (function (e) { let t = ''; for (let i = 0, n = e.length; i < n; i++) { let n = e.charCodeAt(i); switch (n) { case 9: t += '→'; break; case 32: t += '·'; break; default: t += String.fromCharCode(n); } } return t; })(a), (0, n.$)( 'span.tm-token-length', void 0, `${a.length} ${1 === a.length ? 'char' : 'chars'}` ) ) ), (0, n.R3)( this._domNode, (0, n.$)('hr.tokens-inspect-separator', { style: 'clear:both' }) ); const l = 1 + (s << 1) < t.tokens2.length ? this._decodeMetadata(t.tokens2[1 + (s << 1)]) : null; (0, n.R3)( this._domNode, (0, n.$)( 'table.tm-metadata-table', void 0, (0, n.$)( 'tbody', void 0, (0, n.$)( 'tr', void 0, (0, n.$)('td.tm-metadata-key', void 0, 'language'), (0, n.$)( 'td.tm-metadata-value', void 0, `${l ? l.languageIdentifier.language : '-?-'}` ) ), (0, n.$)( 'tr', void 0, (0, n.$)('td.tm-metadata-key', void 0, 'token type'), (0, n.$)( 'td.tm-metadata-value', void 0, `${l ? this._tokenTypeToString(l.tokenType) : '-?-'}` ) ), (0, n.$)( 'tr', void 0, (0, n.$)('td.tm-metadata-key', void 0, 'font style'), (0, n.$)( 'td.tm-metadata-value', void 0, `${l ? this._fontStyleToString(l.fontStyle) : '-?-'}` ) ), (0, n.$)( 'tr', void 0, (0, n.$)('td.tm-metadata-key', void 0, 'foreground'), (0, n.$)( 'td.tm-metadata-value', void 0, `${l ? r.Il.Format.CSS.formatHex(l.foreground) : '-?-'}` ) ), (0, n.$)( 'tr', void 0, (0, n.$)('td.tm-metadata-key', void 0, 'background'), (0, n.$)( 'td.tm-metadata-value', void 0, `${l ? r.Il.Format.CSS.formatHex(l.background) : '-?-'}` ) ) ) ) ), (0, n.R3)(this._domNode, (0, n.$)('hr.tokens-inspect-separator')), i < t.tokens1.length && (0, n.R3)( this._domNode, (0, n.$)('span.tm-token-type', void 0, t.tokens1[i].type) ), this._editor.layoutContentWidget(this); } _decodeMetadata(e) { let t = a.RW.getColorMap(), i = a.NX.getLanguageId(e), n = a.NX.getTokenType(e), r = a.NX.getFontStyle(e), s = a.NX.getForeground(e), o = a.NX.getBackground(e); return { languageIdentifier: this._modeService.getLanguageIdentifier(i), tokenType: n, fontStyle: r, foreground: t[s], background: t[o], }; } _tokenTypeToString(e) { switch (e) { case 0: return 'Other'; case 1: return 'Comment'; case 2: return 'String'; case 4: return 'RegEx'; default: return '??'; } } _fontStyleToString(e) { let t = ''; return ( 1 & e && (t += 'italic '), 2 & e && (t += 'bold '), 4 & e && (t += 'underline '), 0 === t.length && (t = '---'), t ); } _getTokensAtLine(e) { let t = this._getStateBeforeLine(e), i = this._tokenizationSupport.tokenize( this._model.getLineContent(e), t, 0 ), n = this._tokenizationSupport.tokenize2( this._model.getLineContent(e), t, 0 ); return { startState: t, tokens1: i.tokens, tokens2: n.tokens, endState: i.endState, }; } _getStateBeforeLine(e) { let t = this._tokenizationSupport.getInitialState(); for (let i = 1; i < e; i++) t = this._tokenizationSupport.tokenize( this._model.getLineContent(i), t, 0 ).endState; return t; } getDomNode() { return this._domNode; } getPosition() { return { position: this._editor.getPosition(), preference: [2, 1] }; } } (_._ID = 'editor.contrib.inspectTokensWidget'), (0, o._K)(p.ID, p), (0, o.Qr)(m), (0, u.Ic)((e, t) => { const i = e.getColor(h.CN); if (i) { let n = e.type === u.QP ? 2 : 1; t.addRule( `.monaco-editor .tokens-inspect-widget { border: ${n}px solid ${i}; }` ), t.addRule( `.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ${i}; }` ); } const n = e.getColor(h.yJ); n && t.addRule( `.monaco-editor .tokens-inspect-widget { background-color: ${n}; }` ); const r = e.getColor(h.Sb); r && t.addRule( `.monaco-editor .tokens-inspect-widget { color: ${r}; }` ); }); }, 97720: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { GotoLineAction: () => z, StandaloneCommandsQuickAccessProvider: () => V, }); var n, r = i(89872), s = i(90725), o = i(20913), a = i(11640), l = i(63580), c = i(71050), d = i(5976), h = i(15393), u = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function g(e) { const t = e; return Array.isArray(t.items); } !(function (e) { (e[(e.NO_ACTION = 0)] = 'NO_ACTION'), (e[(e.CLOSE_PICKER = 1)] = 'CLOSE_PICKER'), (e[(e.REFRESH_PICKER = 2)] = 'REFRESH_PICKER'), (e[(e.REMOVE_ITEM = 3)] = 'REMOVE_ITEM'); })(n || (n = {})); class f extends d.JT { constructor(e, t) { super(), (this.prefix = e), (this.options = t); } provide(e, t) { var i; const r = new d.SL(); let s; (e.canAcceptInBackground = !!(null === (i = this.options) || void 0 === i ? void 0 : i.canAcceptInBackground)), (e.matchOnLabel = e.matchOnDescription = e.matchOnDetail = e.sortByLabel = !1); const o = r.add(new d.XK()), a = () => u(this, void 0, void 0, function* () { const i = (o.value = new d.SL()); null == s || s.dispose(!0), (e.busy = !1), (s = new c.A(t)); const n = s.token, r = e.value.substr(this.prefix.length).trim(), a = this.getPicks(r, i, n), l = (t, i) => { var n; let s, o; if ( (g(t) ? ((s = t.items), (o = t.active)) : (s = t), 0 === s.length) ) { if (i) return !1; r.length > 0 && (null === (n = this.options) || void 0 === n ? void 0 : n.noResultsPick) && (s = [this.options.noResultsPick]); } return (e.items = s), o && (e.activeItems = [o]), !0; }; if (null === a); else if ( (function (e) { const t = e; return !!t.picks && t.additionalPicks instanceof Promise; })(a) ) { let t = !1, i = !1; yield Promise.all([ (() => u(this, void 0, void 0, function* () { yield (0, h.Vs)(f.FAST_PICKS_RACE_DELAY), n.isCancellationRequested || i || (t = l(a.picks, !0)); }))(), (() => u(this, void 0, void 0, function* () { e.busy = !0; try { const r = yield a.additionalPicks; if (n.isCancellationRequested) return; let s, o, c, d; if ( (g(a.picks) ? ((s = a.picks.items), (o = a.picks.active)) : (s = a.picks), g(r) ? ((c = r.items), (d = r.active)) : (c = r), c.length > 0 || !t) ) { let t; if (!o && !d) { const i = e.activeItems[0]; i && -1 !== s.indexOf(i) && (t = i); } l({ items: [...s, ...c], active: o || d || t }); } } finally { n.isCancellationRequested || (e.busy = !1), (i = !0); } }))(), ]); } else if (a instanceof Promise) { e.busy = !0; try { const t = yield a; if (n.isCancellationRequested) return; l(t); } finally { n.isCancellationRequested || (e.busy = !1); } } else l(a); }); return ( r.add(e.onDidChangeValue(() => a())), a(), r.add( e.onDidAccept((t) => { const [i] = e.selectedItems; 'function' == typeof (null == i ? void 0 : i.accept) && (t.inBackground || e.hide(), i.accept(e.keyMods, t)); }) ), r.add( e.onDidTriggerItemButton(({ button: i, item: r }) => u(this, void 0, void 0, function* () { var s, o; if ('function' == typeof r.trigger) { const l = null !== (o = null === (s = r.buttons) || void 0 === s ? void 0 : s.indexOf(i)) && void 0 !== o ? o : -1; if (l >= 0) { const i = r.trigger(l, e.keyMods), s = 'number' == typeof i ? i : yield i; if (t.isCancellationRequested) return; switch (s) { case n.NO_ACTION: break; case n.CLOSE_PICKER: e.hide(); break; case n.REFRESH_PICKER: a(); break; case n.REMOVE_ITEM: const t = e.items.indexOf(r); if (-1 !== t) { const i = e.items.slice(); i.splice(t, 1), (e.items = i); } } } } }) ) ), r ); } } f.FAST_PICKS_RACE_DELAY = 200; var p = i(75392), m = i(98401), _ = i(43702), b = i(52365), v = i(33108), y = i(72065), w = i(91847), C = i(94565), S = i(10829), k = i(17301), x = i(59422), L = i(9488); function M(e, t) { return t && (e.stack || e.stacktrace) ? l.N( 'stackTrace.format', '{0}: {1}', N(e), D(e.stack) || D(e.stacktrace) ) : N(e); } function D(e) { return Array.isArray(e) ? e.join('\n') : e; } function N(e) { return 'string' == typeof e.code && 'number' == typeof e.errno && 'string' == typeof e.syscall ? l.N( 'nodeExceptionMessage', 'A system error occurred ({0})', e.message ) : e.message || l.N( 'error.defaultMessage', 'An unknown error occurred. Please consult the log for more details.' ); } function E(e = null, t = !1) { if (!e) return l.N( 'error.defaultMessage', 'An unknown error occurred. Please consult the log for more details.' ); if (Array.isArray(e)) { const i = L.kX(e), n = E(i[0], t); return i.length > 1 ? l.N( 'error.moreErrors', '{0} ({1} errors in total)', n, i.length ) : n; } if (m.HD(e)) return e; if (e.detail) { const i = e.detail; if (i.error) return M(i.error, t); if (i.exception) return M(i.exception, t); } return e.stack ? M(e, t) : e.message ? e.message : l.N( 'error.defaultMessage', 'An unknown error occurred. Please consult the log for more details.' ); } var T = i(37280), I = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, O = function (e, t) { return function (i, n) { t(i, n, e); }; }, A = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; let R = class e extends f { constructor(t, i, n, r, s, o) { super(e.PREFIX, t), (this.options = t), (this.instantiationService = i), (this.keybindingService = n), (this.commandService = r), (this.telemetryService = s), (this.notificationService = o), (this.commandsHistory = this._register( this.instantiationService.createInstance(P) )); } getPicks(t, i, n) { return A(this, void 0, void 0, function* () { const r = yield this.getCommandPicks(i, n); if (n.isCancellationRequested) return []; const s = []; for (const i of r) { const n = (0, m.f6)(e.WORD_FILTER(t, i.label)), r = i.commandAlias ? (0, m.f6)(e.WORD_FILTER(t, i.commandAlias)) : void 0; n || r ? ((i.highlights = { label: n, detail: this.options.showAlias ? r : void 0, }), s.push(i)) : t === i.commandId && s.push(i); } const o = new Map(); for (const e of s) { const t = o.get(e.label); t ? ((e.description = e.commandId), (t.description = t.commandId)) : o.set(e.label, e); } s.sort((e, t) => { const i = this.commandsHistory.peek(e.commandId), n = this.commandsHistory.peek(t.commandId); return i && n ? i > n ? -1 : 1 : i ? -1 : n ? 1 : e.label.localeCompare(t.label); }); const a = []; let c = !1; for (let e = 0; e < s.length; e++) { const t = s[e], i = this.keybindingService.lookupKeybinding(t.commandId), n = i ? (0, l.N)( 'commandPickAriaLabelWithKeybinding', '{0}, {1}', t.label, i.getAriaLabel() ) : t.label; 0 === e && this.commandsHistory.peek(t.commandId) && (a.push({ type: 'separator', label: (0, l.N)('recentlyUsed', 'recently used'), }), (c = !0)), 0 !== e && c && !this.commandsHistory.peek(t.commandId) && (a.push({ type: 'separator', label: (0, l.N)('morecCommands', 'other commands'), }), (c = !1)), a.push( Object.assign(Object.assign({}, t), { ariaLabel: n, detail: this.options.showAlias && t.commandAlias !== t.label ? t.commandAlias : void 0, keybinding: i, accept: () => A(this, void 0, void 0, function* () { this.commandsHistory.push(t.commandId), this.telemetryService.publicLog2( 'workbenchActionExecuted', { id: t.commandId, from: 'quick open' } ); try { yield this.commandService.executeCommand( t.commandId ); } catch (e) { (0, k.VV)(e) || this.notificationService.error( (0, l.N)( 'canNotRun', "Command '{0}' resulted in an error ({1})", t.label, E(e) ) ); } }), }) ); } return a; }); } }; (R.PREFIX = '>'), (R.WORD_FILTER = (0, p.or)(p.Ji, p.KZ, p.ir)), (R = I([O(1, y.TG), O(2, w.d), O(3, C.H), O(4, S.b), O(5, x.lT)], R)); let P = class e extends d.JT { constructor(t, i, n) { super(), (this.storageService = t), (this.configurationService = i), (this.configuredCommandsHistoryLength = 0), n.registerStorageKey({ key: e.PREF_KEY_CACHE, version: 1 }), n.registerStorageKey({ key: e.PREF_KEY_COUNTER, version: 1 }), this.updateConfiguration(), this.load(), this.registerListeners(); } registerListeners() { this._register( this.configurationService.onDidChangeConfiguration(() => this.updateConfiguration() ) ); } updateConfiguration() { (this.configuredCommandsHistoryLength = e.getConfiguredCommandHistoryLength( this.configurationService )), e.cache && e.cache.limit !== this.configuredCommandsHistoryLength && ((e.cache.limit = this.configuredCommandsHistoryLength), e.saveState(this.storageService)); } load() { const t = this.storageService.get(e.PREF_KEY_CACHE, 0); let i; if (t) try { i = JSON.parse(t); } catch (e) {} const n = (e.cache = new _.z6( this.configuredCommandsHistoryLength, 1 )); if (i) { let e; (e = i.usesLRU ? i.entries : i.entries.sort((e, t) => e.value - t.value)), e.forEach((e) => n.set(e.key, e.value)); } e.counter = this.storageService.getNumber( e.PREF_KEY_COUNTER, 0, e.counter ); } push(t) { e.cache && (e.cache.set(t, e.counter++), e.saveState(this.storageService)); } peek(t) { var i; return null === (i = e.cache) || void 0 === i ? void 0 : i.peek(t); } static saveState(t) { if (!e.cache) return; const i = { usesLRU: !0, entries: [] }; e.cache.forEach((e, t) => i.entries.push({ key: t, value: e })), t.store(e.PREF_KEY_CACHE, JSON.stringify(i), 0), t.store(e.PREF_KEY_COUNTER, e.counter, 0); } static getConfiguredCommandHistoryLength(t) { var i, n; const r = null === (n = null === (i = t.getValue().workbench) || void 0 === i ? void 0 : i.commandPalette) || void 0 === n ? void 0 : n.history; return 'number' == typeof r ? r : e.DEFAULT_COMMANDS_HISTORY_LENGTH; } }; (P.DEFAULT_COMMANDS_HISTORY_LENGTH = 50), (P.PREF_KEY_CACHE = 'commandPalette.mru.cache'), (P.PREF_KEY_COUNTER = 'commandPalette.mru.counter'), (P.counter = 1), (P = I([O(0, b.Uy), O(1, v.Ui), O(2, T.u)], P)); var F = i(73046); class B extends R { constructor(e, t, i, n, r, s) { super(e, t, i, n, r, s); } getCodeEditorCommandPicks() { const e = this.activeTextEditorControl; if (!e) return []; const t = []; for (const i of e.getSupportedActions()) t.push({ commandId: i.id, commandAlias: i.alias, label: (0, F.QF)(i.label) || i.id, }); return t; } } var W = i(16830), Y = i(29102), H = i(41157), j = function (e, t) { return function (i, n) { t(i, n, e); }; }; let V = class extends B { constructor(e, t, i, n, r, s) { super({ showAlias: !1 }, e, i, n, r, s), (this.codeEditorService = t); } get activeTextEditorControl() { return (0, m.f6)(this.codeEditorService.getFocusedCodeEditor()); } getCommandPicks() { return ( (e = this), (t = void 0), (n = function* () { return this.getCodeEditorCommandPicks(); }), new ((i = void 0) || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }) ); var e, t, i, n; } }; (V = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [j(0, y.TG), j(1, a.$), j(2, w.d), j(3, C.H), j(4, S.b), j(5, x.lT)], V )), r.B.as(s.IP.Quickaccess).registerQuickAccessProvider({ ctor: V, prefix: V.PREFIX, helpEntries: [ { description: o.UX.quickCommandHelp, needsEditor: !0 }, ], }); class z extends W.R6 { constructor() { super({ id: 'editor.action.quickCommand', label: o.UX.quickCommandActionLabel, alias: 'Command Palette', precondition: void 0, kbOpts: { kbExpr: Y.u.focus, primary: 59, weight: 100 }, contextMenuOpts: { group: 'z_commands', order: 1 }, }); } run(e) { e.get(H.eJ).quickAccess.show(V.PREFIX); } } (0, W.Qr)(z); }, 62097: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { GotoLineAction: () => y, StandaloneGotoLineQuickAccessProvider: () => _, }); var n = i(63580), r = i(5976), s = i(98275), o = i(65520); class a extends s.X { constructor() { super({ canAcceptInBackground: !0 }); } provideWithoutTextEditor(e) { const t = (0, n.N)( 'cannotRunGotoLine', 'Open a text editor first to go to a line.' ); return (e.items = [{ label: t }]), (e.ariaLabel = t), r.JT.None; } provideWithTextEditor(e, t, i) { const n = new r.SL(); n.add( t.onDidAccept((i) => { const [n] = t.selectedItems; if (n) { if (!this.isValidLineNumber(e, n.lineNumber)) return; this.gotoLocation(e, { range: this.toRange(n.lineNumber, n.column), keyMods: t.keyMods, preserveFocus: i.inBackground, }), i.inBackground || t.hide(); } }) ); const s = () => { const i = this.parsePosition( e, t.value.trim().substr(a.PREFIX.length) ), n = this.getPickLabel(e, i.lineNumber, i.column); if ( ((t.items = [ { lineNumber: i.lineNumber, column: i.column, label: n }, ]), (t.ariaLabel = n), !this.isValidLineNumber(e, i.lineNumber)) ) return void this.clearDecorations(e); const r = this.toRange(i.lineNumber, i.column); e.revealRangeInCenter(r, 0), this.addDecorations(e, r); }; s(), n.add(t.onDidChangeValue(() => s())); const l = (0, o.Pi)(e); return ( l && 2 === l.getOptions().get(52).renderType && (l.updateOptions({ lineNumbers: 'on' }), n.add( (0, r.OF)(() => l.updateOptions({ lineNumbers: 'relative' })) )), n ); } toRange(e = 1, t = 1) { return { startLineNumber: e, startColumn: t, endLineNumber: e, endColumn: t, }; } parsePosition(e, t) { const i = t .split(/,|:|#/) .map((e) => parseInt(e, 10)) .filter((e) => !isNaN(e)), n = this.lineCount(e) + 1; return { lineNumber: i[0] > 0 ? i[0] : n + i[0], column: i[1] }; } getPickLabel(e, t, i) { if (this.isValidLineNumber(e, t)) return this.isValidColumn(e, t, i) ? (0, n.N)( 'gotoLineColumnLabel', 'Go to line {0} and column {1}.', t, i ) : (0, n.N)('gotoLineLabel', 'Go to line {0}.', t); const r = e.getPosition() || { lineNumber: 1, column: 1 }, s = this.lineCount(e); return s > 1 ? (0, n.N)( 'gotoLineLabelEmptyWithLimit', 'Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.', r.lineNumber, r.column, s ) : (0, n.N)( 'gotoLineLabelEmpty', 'Current Line: {0}, Character: {1}. Type a line number to navigate to.', r.lineNumber, r.column ); } isValidLineNumber(e, t) { return ( !(!t || 'number' != typeof t) && t > 0 && t <= this.lineCount(e) ); } isValidColumn(e, t, i) { if (!i || 'number' != typeof i) return !1; const n = this.getModel(e); if (!n) return !1; const r = { lineNumber: t, column: i }; return n.validatePosition(r).equals(r); } lineCount(e) { var t, i; return null !== (i = null === (t = this.getModel(e)) || void 0 === t ? void 0 : t.getLineCount()) && void 0 !== i ? i : 0; } } a.PREFIX = ':'; var l = i(89872), c = i(90725), d = i(11640), h = i(98401), u = i(20913), g = i(4669), f = i(16830), p = i(29102), m = i(41157); let _ = class extends a { constructor(e) { super(), (this.editorService = e), (this.onDidActiveTextEditorControlChange = g.ju.None); } get activeTextEditorControl() { return (0, h.f6)(this.editorService.getFocusedCodeEditor()); } }; var b, v; (_ = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((b = 0), (v = d.$), function (e, t) { v(e, t, b); }), ], _ )), l.B.as(c.IP.Quickaccess).registerQuickAccessProvider({ ctor: _, prefix: _.PREFIX, helpEntries: [ { description: u.qq.gotoLineActionLabel, needsEditor: !0 }, ], }); class y extends f.R6 { constructor() { super({ id: 'editor.action.gotoLine', label: u.qq.gotoLineActionLabel, alias: 'Go to Line/Column...', precondition: void 0, kbOpts: { kbExpr: p.u.focus, primary: 2085, mac: { primary: 293 }, weight: 100, }, }); } run(e) { e.get(m.eJ).quickAccess.show(_.PREFIX); } } (0, f.Qr)(y); }, 98936: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { GotoLineAction: () => W, StandaloneGotoSymbolQuickAccessProvider: () => P, }); var n = i(63580), r = i(71050), s = i(5976), o = i(24314), a = i(98275), l = i(43775), c = i(86895), d = i(97295), h = i(75392), u = i(88721), g = i(1432); const f = [void 0, []]; function p(e, t, i = 0, n = 0) { const r = t; return r.values && r.values.length > 1 ? (function (e, t, i, n) { let r = 0; const s = []; for (const o of t) { const [t, a] = m(e, o, i, n); if ('number' != typeof t) return f; (r += t), s.push(...a); } return [r, _(s)]; })(e, r.values, i, n) : m(e, t, i, n); } function m(e, t, i, n) { const r = (0, h.EW)( t.original, t.originalLowercase, i, e, e.toLowerCase(), n, !0 ); return r ? [r[0], (0, h.mB)(r)] : f; } function _(e) { const t = e.sort((e, t) => e.start - t.start), i = []; let n; for (const e of t) !n || ((s = e), (r = n).end < s.start || s.end < r.start) ? ((n = e), i.push(e)) : ((n.start = Math.min(n.start, e.start)), (n.end = Math.max(n.end, e.end))); var r, s; return i; } function b(e) { 'string' != typeof e && (e = ''); const t = e.toLowerCase(), { pathNormalized: i, normalized: n, normalizedLowercase: r } = v(e), s = i.indexOf(u.ir) >= 0; let o; const a = e.split(' '); if (a.length > 1) for (const e of a) { const { pathNormalized: t, normalized: i, normalizedLowercase: n, } = v(e); i && (o || (o = []), o.push({ original: e, originalLowercase: e.toLowerCase(), pathNormalized: t, normalized: i, normalizedLowercase: n, })); } return { original: e, originalLowercase: t, pathNormalized: i, normalized: n, normalizedLowercase: r, values: o, containsPathSeparator: s, }; } function v(e) { let t; t = g.ED ? e.replace(/\//g, u.ir) : e.replace(/\\/g, u.ir); const i = (0, d.R1)(t).replace(/\s/g, ''); return { pathNormalized: t, normalized: i, normalizedLowercase: i.toLowerCase(), }; } function y(e) { return Array.isArray(e) ? b(e.map((e) => e.original).join(' ')) : b(e.original); } var w = i(53725), C = i(73046), S = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; class k extends a.X { constructor(e = Object.create(null)) { super(e), (this.options = e), (e.canAcceptInBackground = !0); } provideWithoutTextEditor(e) { return ( this.provideLabelPick( e, (0, n.N)( 'cannotRunGotoSymbolWithoutEditor', 'To go to a symbol, first open a text editor with symbol information.' ) ), s.JT.None ); } provideWithTextEditor(e, t, i) { const n = this.getModel(e); return n ? l.vJ.has(n) ? this.doProvideWithEditorSymbols(e, n, t, i) : this.doProvideWithoutEditorSymbols(e, n, t, i) : s.JT.None; } doProvideWithoutEditorSymbols(e, t, i, r) { const o = new s.SL(); return ( this.provideLabelPick( i, (0, n.N)( 'cannotRunGotoSymbolWithoutSymbolProvider', 'The active text editor does not provide symbol information.' ) ), (() => { S(this, void 0, void 0, function* () { (yield this.waitForLanguageSymbolRegistry(t, o)) && !r.isCancellationRequested && o.add(this.doProvideWithEditorSymbols(e, t, i, r)); }); })(), o ); } provideLabelPick(e, t) { (e.items = [{ label: t, index: 0, kind: 14 }]), (e.ariaLabel = t); } waitForLanguageSymbolRegistry(e, t) { return S(this, void 0, void 0, function* () { if (l.vJ.has(e)) return !0; let i; const n = new Promise((e) => (i = e)), r = t.add( l.vJ.onDidChange(() => { l.vJ.has(e) && (r.dispose(), i(!0)); }) ); return t.add((0, s.OF)(() => i(!1))), n; }); } doProvideWithEditorSymbols(e, t, i, o) { const a = new s.SL(); a.add( i.onDidAccept((t) => { const [n] = i.selectedItems; n && n.range && (this.gotoLocation(e, { range: n.range.selection, keyMods: i.keyMods, preserveFocus: t.inBackground, }), t.inBackground || i.hide()); }) ), a.add( i.onDidTriggerItemButton(({ item: t }) => { t && t.range && (this.gotoLocation(e, { range: t.range.selection, keyMods: i.keyMods, forceSideBySide: !0, }), i.hide()); }) ); const l = this.getDocumentSymbols(t, !0, o); let c; const d = () => S(this, void 0, void 0, function* () { null == c || c.dispose(!0), (i.busy = !1), (c = new r.A(o)), (i.busy = !0); try { const e = b(i.value.substr(k.PREFIX.length).trim()), t = yield this.doGetSymbolPicks(l, e, void 0, c.token); if (o.isCancellationRequested) return; t.length > 0 ? (i.items = t) : e.original.length > 0 ? this.provideLabelPick( i, (0, n.N)( 'noMatchingSymbolResults', 'No matching editor symbols' ) ) : this.provideLabelPick( i, (0, n.N)('noSymbolResults', 'No editor symbols') ); } finally { o.isCancellationRequested || (i.busy = !1); } }); a.add(i.onDidChangeValue(() => d())), d(); let h = !0; return ( a.add( i.onDidChangeActive(() => { const [t] = i.activeItems; if (t && t.range) { if (h) return void (h = !1); e.revealRangeInCenter(t.range.selection, 0), this.addDecorations(e, t.range.decoration); } }) ), a ); } doGetSymbolPicks(e, t, i, r) { return S(this, void 0, void 0, function* () { const s = yield e; if (r.isCancellationRequested) return []; const a = 0 === t.original.indexOf(k.SCOPE_PREFIX), c = a ? 1 : 0; let h, u; t.values && t.values.length > 1 ? ((h = y(t.values[0])), (u = y(t.values.slice(1)))) : (h = t); const g = []; for (let e = 0; e < s.length; e++) { const r = s[e], a = (0, d.fy)(r.name), f = `$(symbol-${l.uZ.toString(r.kind) || 'property'}) ${a}`, m = f.length - a.length; let _, b, v, y, w = r.containerName; if ( ((null == i ? void 0 : i.extraContainerLabel) && (w = w ? `${i.extraContainerLabel} • ${w}` : i.extraContainerLabel), t.original.length > c) ) { let e = !1; if ( (h !== t && (([_, b] = p( f, Object.assign(Object.assign({}, t), { values: void 0 }), c, m )), 'number' == typeof _ && (e = !0)), 'number' != typeof _ && (([_, b] = p(f, h, c, m)), 'number' != typeof _)) ) continue; if (!e && u) { if ( (w && u.original.length > 0 && ([v, y] = p(w, u)), 'number' != typeof v) ) continue; 'number' == typeof _ && (_ += v); } } const S = r.tags && r.tags.indexOf(1) >= 0; g.push({ index: e, kind: r.kind, score: _, label: f, ariaLabel: a, description: w, highlights: S ? void 0 : { label: b, description: y }, range: { selection: o.e.collapseToStart(r.selectionRange), decoration: r.range, }, strikethrough: S, buttons: (() => { var e, t; const i = ( null === (e = this.options) || void 0 === e ? void 0 : e.openSideBySideDirection ) ? null === (t = this.options) || void 0 === t ? void 0 : t.openSideBySideDirection() : void 0; if (i) return [ { iconClass: 'right' === i ? C.lA.splitHorizontal.classNames : C.lA.splitVertical.classNames, tooltip: 'right' === i ? (0, n.N)('openToSide', 'Open to the Side') : (0, n.N)('openToBottom', 'Open to the Bottom'), }, ]; })(), }); } const f = g.sort((e, t) => a ? this.compareByKindAndScore(e, t) : this.compareByScore(e, t) ); let m = []; if (a) { let e, t, i = 0; function _() { t && 'number' == typeof e && i > 0 && (t.label = (0, d.WU)(L[e] || x, i)); } for (const n of f) e !== n.kind ? (_(), (e = n.kind), (i = 1), (t = { type: 'separator' }), m.push(t)) : i++, m.push(n); _(); } else f.length > 0 && (m = [{ label: (0, n.N)('symbols', 'symbols ({0})', g.length), type: 'separator' }, ...f]); return m; }); } compareByScore(e, t) { if ('number' != typeof e.score && 'number' == typeof t.score) return 1; if ('number' == typeof e.score && 'number' != typeof t.score) return -1; if ('number' == typeof e.score && 'number' == typeof t.score) { if (e.score > t.score) return -1; if (e.score < t.score) return 1; } return e.index < t.index ? -1 : e.index > t.index ? 1 : 0; } compareByKindAndScore(e, t) { const i = L[e.kind] || x, n = L[t.kind] || x, r = i.localeCompare(n); return 0 === r ? this.compareByScore(e, t) : r; } getDocumentSymbols(e, t, i) { return S(this, void 0, void 0, function* () { const n = yield c.C3.create(e, i); if (i.isCancellationRequested) return []; const r = []; for (const e of n.children.values()) e instanceof c.sT ? r.push(e.symbol) : r.push(...w.$.map(e.children.values(), (e) => e.symbol)); let s = []; return ( t ? this.flattenDocumentSymbols(s, r, '') : (s = r), s.sort((e, t) => o.e.compareRangesUsingStarts(e.range, t.range)) ); }); } flattenDocumentSymbols(e, t, i) { for (const n of t) e.push({ kind: n.kind, tags: n.tags, name: n.name, detail: n.detail, containerName: n.containerName || i, range: n.range, selectionRange: n.selectionRange, children: void 0, }), n.children && this.flattenDocumentSymbols(e, n.children, n.name); } } (k.PREFIX = '@'), (k.SCOPE_PREFIX = ':'), (k.PREFIX_BY_CATEGORY = `${k.PREFIX}${k.SCOPE_PREFIX}`); const x = (0, n.N)('property', 'properties ({0})'), L = { 5: (0, n.N)('method', 'methods ({0})'), 11: (0, n.N)('function', 'functions ({0})'), 8: (0, n.N)('_constructor', 'constructors ({0})'), 12: (0, n.N)('variable', 'variables ({0})'), 4: (0, n.N)('class', 'classes ({0})'), 22: (0, n.N)('struct', 'structs ({0})'), 23: (0, n.N)('event', 'events ({0})'), 24: (0, n.N)('operator', 'operators ({0})'), 10: (0, n.N)('interface', 'interfaces ({0})'), 2: (0, n.N)('namespace', 'namespaces ({0})'), 3: (0, n.N)('package', 'packages ({0})'), 25: (0, n.N)('typeParameter', 'type parameters ({0})'), 1: (0, n.N)('modules', 'modules ({0})'), 6: (0, n.N)('property', 'properties ({0})'), 9: (0, n.N)('enum', 'enumerations ({0})'), 21: (0, n.N)('enumMember', 'enumeration members ({0})'), 14: (0, n.N)('string', 'strings ({0})'), 0: (0, n.N)('file', 'files ({0})'), 17: (0, n.N)('array', 'arrays ({0})'), 15: (0, n.N)('number', 'numbers ({0})'), 16: (0, n.N)('boolean', 'booleans ({0})'), 18: (0, n.N)('object', 'objects ({0})'), 19: (0, n.N)('key', 'keys ({0})'), 7: (0, n.N)('field', 'fields ({0})'), 13: (0, n.N)('constant', 'constants ({0})'), }; var M = i(89872), D = i(90725), N = i(11640), E = i(98401), T = i(20913), I = i(4669), O = i(16830), A = i(29102), R = i(41157); let P = class extends k { constructor(e) { super(), (this.editorService = e), (this.onDidActiveTextEditorControlChange = I.ju.None); } get activeTextEditorControl() { return (0, E.f6)(this.editorService.getFocusedCodeEditor()); } }; var F, B; (P = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((F = 0), (B = N.$), function (e, t) { B(e, t, F); }), ], P )), M.B.as(D.IP.Quickaccess).registerQuickAccessProvider({ ctor: P, prefix: k.PREFIX, helpEntries: [ { description: T.aq.quickOutlineActionLabel, prefix: k.PREFIX, needsEditor: !0, }, { description: T.aq.quickOutlineByCategoryActionLabel, prefix: k.PREFIX_BY_CATEGORY, needsEditor: !0, }, ], }); class W extends O.R6 { constructor() { super({ id: 'editor.action.quickOutline', label: T.aq.quickOutlineActionLabel, alias: 'Go to Symbol...', precondition: A.u.hasDocumentSymbolProvider, kbOpts: { kbExpr: A.u.focus, primary: 3117, weight: 100 }, contextMenuOpts: { group: 'navigation', order: 3 }, }); } run(e) { e.get(R.eJ).quickAccess.show(k.PREFIX); } } (0, O.Qr)(W); }, 78944: (e, t, i) => { 'use strict'; i.r(t); var n = i(89872), r = i(90725), s = i(20913), o = i(41157), a = i(63580), l = i(5976); let c = class e { constructor(e) { (this.quickInputService = e), (this.registry = n.B.as(r.IP.Quickaccess)); } provide(t) { const i = new l.SL(); i.add( t.onDidAccept(() => { const [e] = t.selectedItems; e && this.quickInputService.quickAccess.show(e.prefix, { preserveValue: !0, }); }) ), i.add( t.onDidChangeValue((t) => { const i = this.registry.getQuickAccessProvider( t.substr(e.PREFIX.length) ); i && i.prefix && i.prefix !== e.PREFIX && this.quickInputService.quickAccess.show(i.prefix, { preserveValue: !0, }); }) ); const { editorProviders: n, globalProviders: r, } = this.getQuickAccessProviders(); return ( (t.items = 0 === n.length || 0 === r.length ? [...(0 === n.length ? r : n)] : [ { label: (0, a.N)('globalCommands', 'global commands'), type: 'separator', }, ...r, { label: (0, a.N)('editorCommands', 'editor commands'), type: 'separator', }, ...n, ]), i ); } getQuickAccessProviders() { const t = [], i = []; for (const n of this.registry .getQuickAccessProviders() .sort((e, t) => e.prefix.localeCompare(t.prefix))) if (n.prefix !== e.PREFIX) for (const e of n.helpEntries) { const r = e.prefix || n.prefix, s = r || '…'; (e.needsEditor ? i : t).push({ prefix: r, label: s, ariaLabel: (0, a.N)( 'helpPickAriaLabel', '{0}, {1}', s, e.description ), description: e.description, }); } return { editorProviders: i, globalProviders: t }; } }; var d, h; (c.PREFIX = '?'), (c = (function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; })( [ ((d = 0), (h = o.eJ), function (e, t) { h(e, t, d); }), ], c )), n.B.as(r.IP.Quickaccess).registerQuickAccessProvider({ ctor: c, prefix: '', helpEntries: [ { description: s.ld.helpQuickAccessActionLabel, needsEditor: !0 }, ], }); }, 15662: (e, t, i) => { 'use strict'; i.r(t); var n = i(16830), r = i(12095), s = i(20913); class o extends n.R6 { constructor() { super({ id: 'editor.action.toggleHighContrast', label: s.xi.toggleHighContrast, alias: 'Toggle High Contrast Theme', precondition: void 0, }), (this._originalThemeName = null); } run(e, t) { const i = e.get(r.Z); this._originalThemeName ? (i.setTheme(this._originalThemeName), (this._originalThemeName = null)) : ((this._originalThemeName = i.getColorTheme().themeName), i.setTheme('hc-black')); } } (0, n.Qr)(o); }, 12095: (e, t, i) => { 'use strict'; i.d(t, { Z: () => n }); const n = (0, i(72065).yh)('themeService'); }, 61460: (e, t, i) => { 'use strict'; i.d(t, { Q5: () => n.Emitter, ZL: () => n.MarkerSeverity, e6: () => n.Range, Sf: () => n.Uri, j6: () => n.editor, Mj: () => n.languages, }); var n = i(50158); }, 47650: (e, t, i) => { 'use strict'; i.d(t, { Q5: () => n.Emitter, ZL: () => n.MarkerSeverity, e6: () => n.Range, Sf: () => n.Uri, j6: () => n.editor, Mj: () => n.languages, }); var n = i(50158); }, 61174: (e, t, i) => { 'use strict'; i.d(t, { Q5: () => n.Emitter, ZL: () => n.MarkerSeverity, e6: () => n.Range, j6: () => n.editor, Mj: () => n.languages, }); var n = i(50158); }, 72323: (e, t, i) => { 'use strict'; i.r(t), i.d(t, { jsonDefaults: () => r }), i(50158); var n = i(61174), r = new ((function () { function e(e, t, i) { (this._onDidChange = new n.Q5()), (this._languageId = e), this.setDiagnosticsOptions(t), this.setModeConfiguration(i); } return ( Object.defineProperty(e.prototype, 'onDidChange', { get: function () { return this._onDidChange.event; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'languageId', { get: function () { return this._languageId; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'modeConfiguration', { get: function () { return this._modeConfiguration; }, enumerable: !1, configurable: !0, }), Object.defineProperty(e.prototype, 'diagnosticsOptions', { get: function () { return this._diagnosticsOptions; }, enumerable: !1, configurable: !0, }), (e.prototype.setDiagnosticsOptions = function (e) { (this._diagnosticsOptions = e || Object.create(null)), this._onDidChange.fire(this); }), (e.prototype.setModeConfiguration = function (e) { (this._modeConfiguration = e || Object.create(null)), this._onDidChange.fire(this); }), e ); })())( 'json', { validate: !0, allowComments: !0, schemas: [], enableSchemaRequest: !1, }, { documentFormattingEdits: !0, documentRangeFormattingEdits: !0, completionItems: !0, hovers: !0, documentSymbols: !0, tokens: !0, colors: !0, foldingRanges: !0, diagnostics: !0, selectionRanges: !0, } ); (n.Mj.json = { jsonDefaults: r }), n.Mj.register({ id: 'json', extensions: [ '.json', '.bowerrc', '.jshintrc', '.jscsrc', '.eslintrc', '.babelrc', '.har', ], aliases: ['JSON', 'json'], mimetypes: ['application/json'], }), n.Mj.onLanguage('json', function () { i.e(7194) .then(i.bind(i, 97194)) .then(function (e) { return e.setupMode(r); }); }); }, 91429: (e, t, i) => { 'use strict'; i.d(t, { Q5: () => n.Emitter, ZL: () => n.MarkerSeverity, eB: () => n.MarkerTag, e6: () => n.Range, Sf: () => n.Uri, j6: () => n.editor, Mj: () => n.languages, }); var n = i(50158); }, 63580: (e, t, i) => { 'use strict'; function n(e, t, ...i) { return (function (e, t) { let i; return ( (i = 0 === t.length ? e : e.replace(/\{(\d+)\}/g, function (e, i) { const n = i[0]; return void 0 !== t[n] ? t[n] : e; })), i ); })(t, i); } i.d(t, { N: () => n }); }, 31106: (e, t, i) => { 'use strict'; i.d(t, { F: () => s, U: () => o }); var n = i(72065), r = i(38819); const s = (0, n.yh)('accessibilityService'), o = new r.uy('accessibilityModeEnabled', !1); }, 58335: (e, t, i) => { 'use strict'; i.d(t, { Mm: () => N, bi: () => E, vr: () => L }); var n = i(65321), r = i(4850), s = i(74741), o = i(4669), a = i(44742), l = i(5976), c = i(1432), d = i(63580), h = i(84144), u = i(5606), g = i(91847), f = i(59422), p = i(97781), m = i(76033), _ = i(10553), b = i(59069); class v extends s.Wi { constructor(e, t) { super(), (this._onDidChangeVisibility = new o.Q5()), (this.onDidChangeVisibility = this._onDidChangeVisibility.event), (this._element = (0, n.R3)(e, (0, n.$)('.monaco-dropdown'))), (this._label = (0, n.R3)( this._element, (0, n.$)('.dropdown-label') )); let i = t.labelRenderer; i || (i = (e) => ((e.textContent = t.label || ''), null)); for (const e of [n.tw.CLICK, n.tw.MOUSE_DOWN, _.t.Tap]) this._register( (0, n.nm)(this.element, e, (e) => n.zB.stop(e, !0)) ); for (const e of [n.tw.MOUSE_DOWN, _.t.Tap]) this._register( (0, n.nm)(this._label, e, (e) => { (e instanceof MouseEvent && e.detail > 1) || (this.visible ? this.hide() : this.show()); }) ); this._register( (0, n.nm)(this._label, n.tw.KEY_UP, (e) => { const t = new b.y(e); (t.equals(3) || t.equals(10)) && (n.zB.stop(e, !0), this.visible ? this.hide() : this.show()); }) ); const r = i(this._label); r && this._register(r), this._register(_.o.addTarget(this._label)); } get element() { return this._element; } show() { this.visible || ((this.visible = !0), this._onDidChangeVisibility.fire(!0)); } hide() { this.visible && ((this.visible = !1), this._onDidChangeVisibility.fire(!1)); } dispose() { super.dispose(), this.hide(), this.boxContainer && (this.boxContainer.remove(), (this.boxContainer = void 0)), this.contents && (this.contents.remove(), (this.contents = void 0)), this._label && (this._label.remove(), (this._label = void 0)); } } class y extends v { constructor(e, t) { super(e, t), (this._actions = []), (this._contextMenuProvider = t.contextMenuProvider), (this.actions = t.actions || []), (this.actionProvider = t.actionProvider), (this.menuClassName = t.menuClassName || ''), (this.menuAsChild = !!t.menuAsChild); } set menuOptions(e) { this._menuOptions = e; } get menuOptions() { return this._menuOptions; } get actions() { return this.actionProvider ? this.actionProvider.getActions() : this._actions; } set actions(e) { this._actions = e; } show() { super.show(), (0, n.cn)(this.element, 'active'), this._contextMenuProvider.showContextMenu({ getAnchor: () => this.element, getActions: () => this.actions, getActionsContext: () => this.menuOptions ? this.menuOptions.context : null, getActionViewItem: (e) => this.menuOptions && this.menuOptions.actionViewItemProvider ? this.menuOptions.actionViewItemProvider(e) : void 0, getKeyBinding: (e) => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(e) : void 0, getMenuClassName: () => this.menuClassName, onHide: () => this.onHide(), actionRunner: this.menuOptions ? this.menuOptions.actionRunner : void 0, anchorAlignment: this.menuOptions ? this.menuOptions.anchorAlignment : 0, domForShadowRoot: this.menuAsChild ? this.element : void 0, }); } hide() { super.hide(); } onHide() { this.hide(), (0, n.IV)(this.element, 'active'); } } var w = i(9488); class C extends m.Y { constructor(e, t, i, n = {}) { super(null, e, n), (this.options = n), (this._onDidChangeVisibility = this._register(new o.Q5())), (this.menuActionsOrProvider = t), (this.contextMenuProvider = i), this.options.actionRunner && (this.actionRunner = this.options.actionRunner); } render(e) { const t = { contextMenuProvider: this.contextMenuProvider, labelRenderer: (e) => { this.element = (0, n.R3)(e, (0, n.$)('a.action-label')); const t = this.options.classNames ? (0, w._2)(this.options.classNames) : []; return ( t.find((e) => 'icon' === e) || t.push('codicon'), (0, n.PT)(this.element, ...t), (this.element.tabIndex = 0), this.element.setAttribute('role', 'button'), this.element.setAttribute('aria-haspopup', 'true'), this.element.setAttribute('aria-expanded', 'false'), (this.element.title = this._action.label || ''), null ); }, menuAsChild: this.options.menuAsChild, }; if ( (Array.isArray(this.menuActionsOrProvider) ? (t.actions = this.menuActionsOrProvider) : (t.actionProvider = this.menuActionsOrProvider), (this.dropdownMenu = this._register(new y(e, t))), this._register( this.dropdownMenu.onDidChangeVisibility((e) => { var t; null === (t = this.element) || void 0 === t || t.setAttribute('aria-expanded', `${e}`), this._onDidChangeVisibility.fire(e); }) ), (this.dropdownMenu.menuOptions = { actionViewItemProvider: this.options.actionViewItemProvider, actionRunner: this.actionRunner, getKeyBinding: this.options.keybindingProvider, context: this._context, }), this.options.anchorAlignmentProvider) ) { const e = this; this.dropdownMenu.menuOptions = Object.assign( Object.assign({}, this.dropdownMenu.menuOptions), { get anchorAlignment() { return e.options.anchorAlignmentProvider(); }, } ); } } setActionContext(e) { super.setActionContext(e), this.dropdownMenu && (this.dropdownMenu.menuOptions ? (this.dropdownMenu.menuOptions.context = e) : (this.dropdownMenu.menuOptions = { context: e })); } } var S = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, k = function (e, t) { return function (i, n) { t(i, n, e); }; }; class x extends o.Q5 { constructor(e) { super(), (this._subscriptions = new l.SL()), (this._isPressed = !1), (this._suppressAltKeyUp = !1), this._subscriptions.add( (0, r.j)( document.body, 'keydown' )((e) => { this.isPressed = e.altKey || ((c.ED || c.IJ) && e.shiftKey); }) ), this._subscriptions.add( (0, r.j)( document.body, 'keyup' )((e) => { this.isPressed && this._suppressAltKeyUp && e.preventDefault(), (this._suppressAltKeyUp = !1), (this.isPressed = !1); }) ), this._subscriptions.add( (0, r.j)( document.body, 'mouseleave' )((e) => (this.isPressed = !1)) ), this._subscriptions.add( (0, r.j)(document.body, 'blur')((e) => (this.isPressed = !1)) ), this._subscriptions.add( e.onDidContextMenu(() => (this.isPressed = !1)) ); } get isPressed() { return this._isPressed; } set isPressed(e) { (this._isPressed = e), this.fire(this._isPressed); } suppressAltKeyUp() { this._suppressAltKeyUp = !0; } static getInstance(e) { return x.instance || (x.instance = new x(e)), x.instance; } dispose() { super.dispose(), this._subscriptions.dispose(); } } function L(e, t, i, n) { const r = e.getActions(t); return ( (function (e, t, i, n = (e) => 'navigation' === e) { for (let r of e) { let [e, o] = r; if ( (i && (o = o.map((e) => e instanceof h.U8 && e.alt ? e.alt : e )), n(e)) ) (Array.isArray(t) ? t : t.primary).unshift(...o); else { const e = Array.isArray(t) ? t : t.secondary; e.length > 0 && e.push(new s.Z0()), e.push(...o); } } })(r, i, !1, n), (function (e) { const t = new l.SL(); for (const [, i] of e) for (const e of i) t.add(e); return t; })(r) ); } const M = new a.R('menu-item-action-item-icon-'), D = new Map(); let N = class extends m.g { constructor(e, t, i, n) { super(void 0, e, { icon: !(!e.class && !e.item.icon), label: !e.class && !e.item.icon, }), (this._action = e), (this._keybindingService = t), (this._notificationService = i), (this._wantsAltCommand = !1), (this._itemClassDispose = this._register(new l.XK())), (this._altKey = x.getInstance(n)); } get _commandAction() { return (this._wantsAltCommand && this._action.alt) || this._action; } onClick(e) { e.preventDefault(), e.stopPropagation(), this._altKey.isPressed && this._altKey.suppressAltKeyUp(), this.actionRunner .run(this._commandAction, this._context) .then(void 0, (e) => this._notificationService.error(e)); } render(e) { super.render(e), this._updateItemClass(this._action.item); let t = !1, i = this._altKey.isPressed; const n = () => { const e = t && i; e !== this._wantsAltCommand && ((this._wantsAltCommand = e), this.updateLabel(), this.updateTooltip(), this.updateClass()); }; this._action.alt && this._register( this._altKey.event((e) => { (i = e), n(); }) ), this._register( (0, r.j)( e, 'mouseleave' )((e) => { (t = !1), n(); }) ), this._register( (0, r.j)( e, 'mouseenter' )((e) => { (t = !0), n(); }) ); } updateLabel() { this.options.label && this.label && (this.label.textContent = this._commandAction.label); } updateTooltip() { if (this.label) { const e = this._keybindingService.lookupKeybinding( this._commandAction.id ), t = e && e.getLabel(), i = this._commandAction.tooltip || this._commandAction.label; this.label.title = t ? (0, d.N)('titleAndKb', '{0} ({1})', i, t) : i; } } updateClass() { this.options.icon && (this._commandAction !== this._action ? this._action.alt && this._updateItemClass(this._action.alt.item) : this._action.alt && this._updateItemClass(this._action.item)); } _updateItemClass(e) { var t, i; this._itemClassDispose.value = void 0; const r = this._commandAction.checked && (null === (t = e.toggled) || void 0 === t ? void 0 : t.icon) ? e.toggled.icon : e.icon; if (p.kS.isThemeIcon(r)) { const e = p.kS.asClassName(r); this.label && e && ((0, n.PT)(this.label, e), (this._itemClassDispose.value = (0, l.OF)(() => { this.label && (0, n.GK)(this.label, e); }))); } else if (r) { let e; if (null === (i = r.dark) || void 0 === i ? void 0 : i.scheme) { const t = r.dark.toString(); D.has(t) ? (e = D.get(t)) : ((e = M.nextId()), (0, n.fk)( `.icon.${e}`, `background-image: ${(0, n.wY)(r.light || r.dark)}` ), (0, n.fk)( `.vs-dark .icon.${e}, .hc-black .icon.${e}`, `background-image: ${(0, n.wY)(r.dark)}` ), D.set(t, e)), this.label && ((0, n.PT)(this.label, 'icon', e), (this._itemClassDispose.value = (0, l.OF)(() => { this.label && (0, n.GK)(this.label, 'icon', e); }))); } } } }; N = S([k(1, g.d), k(2, f.lT), k(3, u.i)], N); let E = class extends C { constructor(e, t, i) { var r; const s = []; if (e.item.icon) if (p.kS.isThemeIcon(e.item.icon)) s.push(p.kS.asClassName(e.item.icon)); else if ( null === (r = e.item.icon.dark) || void 0 === r ? void 0 : r.scheme ) { const t = e.item.icon.dark.toString(); if (D.has(t)) s.push('icon', D.get(t)); else { const i = M.nextId(); s.push('icon', i), (0, n.fk)( `.icon.${i}`, `background-image: ${(0, n.wY)( e.item.icon.light || e.item.icon.dark )}` ), (0, n.fk)( `.vs-dark .icon.${i}, .hc-black .icon.${i}`, `background-image: ${(0, n.wY)(e.item.icon.dark)}` ), D.set(t, i); } } super(e, e.actions, i, { classNames: s }); } }; E = S([k(1, f.lT), k(2, u.i)], E); }, 84144: (e, t, i) => { 'use strict'; i.d(t, { vr: () => g, eH: () => f, co: () => p, BH: () => m, NZ: () => b, U8: () => v, }); var n = i(74741), r = i(72065), s = i(38819), o = i(94565), a = i(5976), l = i(4669), c = i(53725), d = i(91741), h = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, u = function (e, t) { return function (i, n) { t(i, n, e); }; }; function g(e) { return void 0 !== e.command; } class f { constructor(e) { (this.id = f._idPool++), (this._debugName = e); } } (f._idPool = 0), (f.CommandPalette = new f('CommandPalette')), (f.EditorContext = new f('EditorContext')), (f.EditorContextPeek = new f('EditorContextPeek')), (f.MenubarEditMenu = new f('MenubarEditMenu')), (f.MenubarGoMenu = new f('MenubarGoMenu')), (f.MenubarSelectionMenu = new f('MenubarSelectionMenu')); const p = (0, r.yh)('menuService'), m = new (class { constructor() { (this._commands = new Map()), (this._menuItems = new Map()), (this._onDidChangeMenu = new l.Q5()), (this.onDidChangeMenu = this._onDidChangeMenu.event), (this._commandPaletteChangeEvent = { has: (e) => e === f.CommandPalette, }); } addCommand(e) { return this.addCommands(c.$.single(e)); } addCommands(e) { for (const t of e) this._commands.set(t.id, t); return ( this._onDidChangeMenu.fire(this._commandPaletteChangeEvent), (0, a.OF)(() => { let t = !1; for (const i of e) t = this._commands.delete(i.id) || t; t && this._onDidChangeMenu.fire(this._commandPaletteChangeEvent); }) ); } getCommand(e) { return this._commands.get(e); } getCommands() { const e = new Map(); return this._commands.forEach((t, i) => e.set(i, t)), e; } appendMenuItem(e, t) { return this.appendMenuItems(c.$.single({ id: e, item: t })); } appendMenuItems(e) { const t = new Set(), i = new d.S(); for (const { id: n, item: r } of e) { let e = this._menuItems.get(n); e || ((e = new d.S()), this._menuItems.set(n, e)), i.push(e.push(r)), t.add(n); } return ( this._onDidChangeMenu.fire(t), (0, a.OF)(() => { if (i.size > 0) { for (let e of i) e(); this._onDidChangeMenu.fire(t), i.clear(); } }) ); } getMenuItems(e) { let t; return ( (t = this._menuItems.has(e) ? [...this._menuItems.get(e)] : []), e === f.CommandPalette && this._appendImplicitItems(t), t ); } _appendImplicitItems(e) { const t = new Set(); for (const i of e) g(i) && (t.add(i.command.id), i.alt && t.add(i.alt.id)); this._commands.forEach((i, n) => { t.has(n) || e.push({ command: i }); }); } })(); let _ = class extends n.aU { constructor(e, t, i) { super(e, t), (this._commandService = i); } run(...e) { return this._commandService.executeCommand(this.id, ...e); } }; _ = h([u(2, o.H)], _); class b extends n.wY { constructor(e, t, i, r) { super( `submenuitem.${e.submenu.id}`, 'string' == typeof e.title ? e.title : e.title.value, () => { const s = [], o = t.createMenu(e.submenu, i), a = o.getActions(r); o.dispose(); for (let e of a) { const [, t] = e; t.length > 0 && (s.push(...t), s.push(new n.Z0())); } return s.length && s.pop(), s; }, 'submenu' ), (this.item = e); } } let v = class e extends _ { constructor(t, i, n, r, s) { if ( ('string' == typeof t.title ? super(t.id, t.title, s) : super(t.id, t.title.value, s), (this._cssClass = void 0), (this._enabled = !t.precondition || r.contextMatchesRules(t.precondition)), (this._tooltip = t.tooltip ? 'string' == typeof t.tooltip ? t.tooltip : t.tooltip.value : void 0), t.toggled) ) { const e = t.toggled.condition ? t.toggled : { condition: t.toggled }; (this._checked = r.contextMatchesRules(e.condition)), this._checked && e.tooltip && (this._tooltip = 'string' == typeof e.tooltip ? e.tooltip : e.tooltip.value); } (this._options = n || {}), (this.item = t), (this.alt = i ? new e(i, void 0, this._options, r, s) : void 0); } dispose() { this.alt && this.alt.dispose(), super.dispose(); } run(...e) { let t = []; return ( this._options.arg && (t = [...t, this._options.arg]), this._options.shouldForwardArgs && (t = [...t, ...e]), super.run(...t) ); } }; v = h([u(3, s.i6), u(4, o.H)], v); }, 84972: (e, t, i) => { 'use strict'; i.d(t, { p: () => n }); const n = (0, i(72065).yh)('clipboardService'); }, 94565: (e, t, i) => { 'use strict'; i.d(t, { H: () => c, P: () => d }); var n = i(5976), r = i(98401), s = i(72065), o = i(4669), a = i(91741), l = i(53725); const c = (0, s.yh)('commandService'), d = new (class { constructor() { (this._commands = new Map()), (this._onDidRegisterCommand = new o.Q5()), (this.onDidRegisterCommand = this._onDidRegisterCommand.event); } registerCommand(e, t) { if (!e) throw new Error('invalid command'); if ('string' == typeof e) { if (!t) throw new Error('invalid command'); return this.registerCommand({ id: e, handler: t }); } if (e.description) { const t = []; for (let i of e.description.args) t.push(i.constraint); const i = e.handler; e.handler = function (e, ...n) { return (0, r.D8)(n, t), i(e, ...n); }; } const { id: i } = e; let s = this._commands.get(i); s || ((s = new a.S()), this._commands.set(i, s)); let o = s.unshift(e), l = (0, n.OF)(() => { o(); const e = this._commands.get(i); (null == e ? void 0 : e.isEmpty()) && this._commands.delete(i); }); return this._onDidRegisterCommand.fire(i), l; } registerCommandAlias(e, t) { return d.registerCommand(e, (e, ...i) => e.get(c).executeCommand(t, ...i) ); } getCommand(e) { const t = this._commands.get(e); if (t && !t.isEmpty()) return l.$.first(t); } getCommands() { const e = new Map(); for (const t of this._commands.keys()) { const i = this.getCommand(t); i && e.set(t, i); } return e; } })(); }, 33108: (e, t, i) => { 'use strict'; i.d(t, { Ui: () => o, Od: () => a, KV: () => l, xL: () => c, Mt: () => h, MR: () => u, O4: () => g, }); var n = i(89872), r = i(72065), s = i(23193); const o = (0, r.yh)('configurationService'); function a(e, t) { const i = Object.create(null); for (let n in e) l(i, n, e[n], t); return i; } function l(e, t, i, n) { const r = t.split('.'), s = r.pop(); let o = e; for (let e = 0; e < r.length; e++) { let i = r[e], s = o[i]; switch (typeof s) { case 'undefined': s = o[i] = Object.create(null); break; case 'object': break; default: return void n( `Ignoring ${t} as ${r .slice(0, e + 1) .join('.')} is ${JSON.stringify(s)}` ); } o = s; } if ('object' == typeof o && null !== o) try { o[s] = i; } catch (e) { n(`Ignoring ${t} as ${r.join('.')} is ${JSON.stringify(o)}`); } else n(`Ignoring ${t} as ${r.join('.')} is ${JSON.stringify(o)}`); } function c(e, t) { d(e, t.split('.')); } function d(e, t) { const i = t.shift(); if (0 !== t.length) { if (-1 !== Object.keys(e).indexOf(i)) { const n = e[i]; 'object' != typeof n || Array.isArray(n) || (d(n, t), 0 === Object.keys(n).length && delete e[i]); } } else delete e[i]; } function h(e, t, i) { const n = (function (e, t) { let i = e; for (const e of t) { if ('object' != typeof i || null === i) return; i = i[e]; } return i; })(e, t.split('.')); return void 0 === n ? i : n; } function u() { const e = n.B.as(s.IP.Configuration).getConfigurationProperties(); return Object.keys(e); } function g() { const e = Object.create(null), t = n.B.as(s.IP.Configuration).getConfigurationProperties(); for (let i in t) l(e, i, t[i].default, (e) => console.error(`Conflict in default settings: ${e}`) ); return e; } }, 23193: (e, t, i) => { 'use strict'; i.d(t, { IP: () => l, G1: () => _, Uh: () => b }); var n = i(63580), r = i(4669), s = i(89872), o = i(98401), a = i(81294); const l = { Configuration: 'base.contributions.configuration' }, c = { properties: {}, patternProperties: {} }, d = { properties: {}, patternProperties: {} }, h = { properties: {}, patternProperties: {} }, u = { properties: {}, patternProperties: {} }, g = { properties: {}, patternProperties: {} }, f = { properties: {}, patternProperties: {} }, p = 'vscode://schemas/settings/resourceLanguage', m = s.B.as(a.I.JSONContribution), _ = new RegExp('\\[.*\\]$'); function b(e) { return e.substring(1, e.length - 1); } const v = new (class { constructor() { (this.overrideIdentifiers = new Set()), (this._onDidSchemaChange = new r.Q5()), (this._onDidUpdateConfiguration = new r.Q5()), (this.defaultValues = {}), (this.defaultLanguageConfigurationOverridesNode = { id: 'defaultOverrides', title: n.N( 'defaultLanguageConfigurationOverrides.title', 'Default Language Configuration Overrides' ), properties: {}, }), (this.configurationContributors = [ this.defaultLanguageConfigurationOverridesNode, ]), (this.resourceLanguageSettingsSchema = { properties: {}, patternProperties: {}, additionalProperties: !1, errorMessage: 'Unknown editor configuration setting', allowTrailingCommas: !0, allowComments: !0, }), (this.configurationProperties = {}), (this.excludedConfigurationProperties = {}), m.registerSchema(p, this.resourceLanguageSettingsSchema); } registerConfiguration(e, t = !0) { this.registerConfigurations([e], t); } registerConfigurations(e, t = !0) { const i = []; e.forEach((e) => { i.push(...this.validateAndRegisterProperties(e, t)), this.configurationContributors.push(e), this.registerJSONConfiguration(e); }), m.registerSchema(p, this.resourceLanguageSettingsSchema), this._onDidSchemaChange.fire(), this._onDidUpdateConfiguration.fire(i); } registerOverrideIdentifiers(e) { for (const t of e) this.overrideIdentifiers.add(t); this.updateOverridePropertyPatternKey(); } validateAndRegisterProperties(e, t = !0, i = 3) { i = o.Jp(e.scope) ? i : e.scope; let n = [], r = e.properties; if (r) for (let e in r) { if (t && y(e)) { delete r[e]; continue; } const s = r[e]; this.updatePropertyDefaultValue(e, s), _.test(e) ? (s.scope = void 0) : (s.scope = o.Jp(s.scope) ? i : s.scope), !r[e].hasOwnProperty('included') || r[e].included ? ((this.configurationProperties[e] = r[e]), !r[e].deprecationMessage && r[e].markdownDeprecationMessage && (r[e].deprecationMessage = r[e].markdownDeprecationMessage), n.push(e)) : ((this.excludedConfigurationProperties[e] = r[e]), delete r[e]); } let s = e.allOf; if (s) for (let e of s) n.push(...this.validateAndRegisterProperties(e, t, i)); return n; } getConfigurationProperties() { return this.configurationProperties; } registerJSONConfiguration(e) { const t = (e) => { let i = e.properties; if (i) for (const e in i) this.updateSchema(e, i[e]); let n = e.allOf; n && n.forEach(t); }; t(e); } updateSchema(e, t) { switch (((c.properties[e] = t), t.scope)) { case 1: d.properties[e] = t; break; case 2: h.properties[e] = t; break; case 6: u.properties[e] = t; break; case 3: g.properties[e] = t; break; case 4: f.properties[e] = t; break; case 5: (f.properties[e] = t), (this.resourceLanguageSettingsSchema.properties[e] = t); } } updateOverridePropertyPatternKey() { for (const e of this.overrideIdentifiers.values()) { const t = `[${e}]`, i = { type: 'object', description: n.N( 'overrideSettings.defaultDescription', 'Configure editor settings to be overridden for a language.' ), errorMessage: n.N( 'overrideSettings.errorMessage', 'This setting does not support per-language configuration.' ), $ref: p, }; this.updatePropertyDefaultValue(t, i), (c.properties[t] = i), (d.properties[t] = i), (h.properties[t] = i), (u.properties[t] = i), (g.properties[t] = i), (f.properties[t] = i); } this._onDidSchemaChange.fire(); } updatePropertyDefaultValue(e, t) { let i = this.defaultValues[e]; o.o8(i) && (i = t.default), o.o8(i) && (i = (function (e) { switch (Array.isArray(e) ? e[0] : e) { case 'boolean': return !1; case 'integer': case 'number': return 0; case 'string': return ''; case 'array': return []; case 'object': return {}; default: return null; } })(t.type)), (t.default = i); } })(); function y(e) { return _.test(e) ? n.N( 'config.property.languageDefault', "Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.", e ) : void 0 !== v.getConfigurationProperties()[e] ? n.N( 'config.property.duplicate', "Cannot register '{0}'. This property is already registered.", e ) : null; } s.B.add(l.Configuration, v); }, 38819: (e, t, i) => { 'use strict'; i.d(t, { Ao: () => l, uy: () => C, i6: () => S, Eq: () => k }); var n = i(97295), r = i(72065), s = i(1432); const o = new Map(); o.set('false', !1), o.set('true', !0), o.set('isMac', s.dz), o.set('isLinux', s.IJ), o.set('isWindows', s.ED), o.set('isWeb', s.$L), o.set('isMacNative', s.dz && !s.$L); const a = Object.prototype.hasOwnProperty; class l { static has(e) { return u.create(e); } static equals(e, t) { return g.create(e, t); } static regex(e, t) { return b.create(e, t); } static not(e) { return _.create(e); } static and(...e) { return y.create(e); } static or(...e) { return w.create(e); } static deserialize(e, t = !1) { if (e) return this._deserializeOrExpression(e, t); } static _deserializeOrExpression(e, t) { let i = e.split('||'); return w.create(i.map((e) => this._deserializeAndExpression(e, t))); } static _deserializeAndExpression(e, t) { let i = e.split('&&'); return y.create(i.map((e) => this._deserializeOne(e, t))); } static _deserializeOne(e, t) { if ((e = e.trim()).indexOf('!=') >= 0) { let i = e.split('!='); return m.create(i[0].trim(), this._deserializeValue(i[1], t)); } if (e.indexOf('==') >= 0) { let i = e.split('=='); return g.create(i[0].trim(), this._deserializeValue(i[1], t)); } if (e.indexOf('=~') >= 0) { let i = e.split('=~'); return b.create( i[0].trim(), this._deserializeRegexValue(i[1], t) ); } if (e.indexOf(' in ') >= 0) { let t = e.split(' in '); return f.create(t[0].trim(), t[1].trim()); } return /^\!\s*/.test(e) ? _.create(e.substr(1).trim()) : u.create(e); } static _deserializeValue(e, t) { if ('true' === (e = e.trim())) return !0; if ('false' === e) return !1; let i = /^'([^']*)'$/.exec(e); return i ? i[1].trim() : e; } static _deserializeRegexValue(e, t) { if ((0, n.m5)(e)) { if (t) throw new Error('missing regexp-value for =~-expression'); return ( console.warn('missing regexp-value for =~-expression'), null ); } let i = e.indexOf('/'), r = e.lastIndexOf('/'); if (i === r || i < 0) { if (t) throw new Error(`bad regexp-value '${e}', missing /-enclosure`); return ( console.warn(`bad regexp-value '${e}', missing /-enclosure`), null ); } let s = e.slice(i + 1, r), o = 'i' === e[r + 1] ? 'i' : ''; try { return new RegExp(s, o); } catch (i) { if (t) throw new Error(`bad regexp-value '${e}', parse error: ${i}`); return ( console.warn(`bad regexp-value '${e}', parse error: ${i}`), null ); } } } function c(e, t) { return e.cmp(t); } class d { constructor() { this.type = 0; } cmp(e) { return this.type - e.type; } equals(e) { return e.type === this.type; } evaluate(e) { return !1; } serialize() { return 'false'; } keys() { return []; } negate() { return h.INSTANCE; } } d.INSTANCE = new d(); class h { constructor() { this.type = 1; } cmp(e) { return this.type - e.type; } equals(e) { return e.type === this.type; } evaluate(e) { return !0; } serialize() { return 'true'; } keys() { return []; } negate() { return d.INSTANCE; } } h.INSTANCE = new h(); class u { constructor(e) { (this.key = e), (this.type = 2); } static create(e) { const t = o.get(e); return 'boolean' == typeof t ? t ? h.INSTANCE : d.INSTANCE : new u(e); } cmp(e) { return e.type !== this.type ? this.type - e.type : this.key < e.key ? -1 : this.key > e.key ? 1 : 0; } equals(e) { return e.type === this.type && this.key === e.key; } evaluate(e) { return !!e.getValue(this.key); } serialize() { return this.key; } keys() { return [this.key]; } negate() { return _.create(this.key); } } class g { constructor(e, t) { (this.key = e), (this.value = t), (this.type = 4); } static create(e, t) { if ('boolean' == typeof t) return t ? u.create(e) : _.create(e); const i = o.get(e); return 'boolean' == typeof i ? t === (i ? 'true' : 'false') ? h.INSTANCE : d.INSTANCE : new g(e, t); } cmp(e) { return e.type !== this.type ? this.type - e.type : this.key < e.key ? -1 : this.key > e.key ? 1 : this.value < e.value ? -1 : this.value > e.value ? 1 : 0; } equals(e) { return ( e.type === this.type && this.key === e.key && this.value === e.value ); } evaluate(e) { return e.getValue(this.key) == this.value; } serialize() { return this.key + " == '" + this.value + "'"; } keys() { return [this.key]; } negate() { return m.create(this.key, this.value); } } class f { constructor(e, t) { (this.key = e), (this.valueKey = t), (this.type = 10); } static create(e, t) { return new f(e, t); } cmp(e) { return e.type !== this.type ? this.type - e.type : this.key < e.key ? -1 : this.key > e.key ? 1 : this.valueKey < e.valueKey ? -1 : this.valueKey > e.valueKey ? 1 : 0; } equals(e) { return ( e.type === this.type && this.key === e.key && this.valueKey === e.valueKey ); } evaluate(e) { const t = e.getValue(this.valueKey), i = e.getValue(this.key); return Array.isArray(t) ? t.indexOf(i) >= 0 : 'string' == typeof i && 'object' == typeof t && null !== t && a.call(t, i); } serialize() { return this.key + " in '" + this.valueKey + "'"; } keys() { return [this.key, this.valueKey]; } negate() { return p.create(this); } } class p { constructor(e) { (this._actual = e), (this.type = 11); } static create(e) { return new p(e); } cmp(e) { return e.type !== this.type ? this.type - e.type : this._actual.cmp(e._actual); } equals(e) { return e.type === this.type && this._actual.equals(e._actual); } evaluate(e) { return !this._actual.evaluate(e); } serialize() { throw new Error('Method not implemented.'); } keys() { return this._actual.keys(); } negate() { return this._actual; } } class m { constructor(e, t) { (this.key = e), (this.value = t), (this.type = 5); } static create(e, t) { if ('boolean' == typeof t) return t ? _.create(e) : u.create(e); const i = o.get(e); return 'boolean' == typeof i ? t === (i ? 'true' : 'false') ? d.INSTANCE : h.INSTANCE : new m(e, t); } cmp(e) { return e.type !== this.type ? this.type - e.type : this.key < e.key ? -1 : this.key > e.key ? 1 : this.value < e.value ? -1 : this.value > e.value ? 1 : 0; } equals(e) { return ( e.type === this.type && this.key === e.key && this.value === e.value ); } evaluate(e) { return e.getValue(this.key) != this.value; } serialize() { return this.key + " != '" + this.value + "'"; } keys() { return [this.key]; } negate() { return g.create(this.key, this.value); } } class _ { constructor(e) { (this.key = e), (this.type = 3); } static create(e) { const t = o.get(e); return 'boolean' == typeof t ? t ? d.INSTANCE : h.INSTANCE : new _(e); } cmp(e) { return e.type !== this.type ? this.type - e.type : this.key < e.key ? -1 : this.key > e.key ? 1 : 0; } equals(e) { return e.type === this.type && this.key === e.key; } evaluate(e) { return !e.getValue(this.key); } serialize() { return '!' + this.key; } keys() { return [this.key]; } negate() { return u.create(this.key); } } class b { constructor(e, t) { (this.key = e), (this.regexp = t), (this.type = 7); } static create(e, t) { return new b(e, t); } cmp(e) { if (e.type !== this.type) return this.type - e.type; if (this.key < e.key) return -1; if (this.key > e.key) return 1; const t = this.regexp ? this.regexp.source : '', i = e.regexp ? e.regexp.source : ''; return t < i ? -1 : t > i ? 1 : 0; } equals(e) { if (e.type === this.type) { const t = this.regexp ? this.regexp.source : '', i = e.regexp ? e.regexp.source : ''; return this.key === e.key && t === i; } return !1; } evaluate(e) { let t = e.getValue(this.key); return !!this.regexp && this.regexp.test(t); } serialize() { const e = this.regexp ? `/${this.regexp.source}/${this.regexp.ignoreCase ? 'i' : ''}` : '/invalid/'; return `${this.key} =~ ${e}`; } keys() { return [this.key]; } negate() { return v.create(this); } } class v { constructor(e) { (this._actual = e), (this.type = 8); } static create(e) { return new v(e); } cmp(e) { return e.type !== this.type ? this.type - e.type : this._actual.cmp(e._actual); } equals(e) { return e.type === this.type && this._actual.equals(e._actual); } evaluate(e) { return !this._actual.evaluate(e); } serialize() { throw new Error('Method not implemented.'); } keys() { return this._actual.keys(); } negate() { return this._actual; } } class y { constructor(e) { (this.expr = e), (this.type = 6); } static create(e) { return y._normalizeArr(e); } cmp(e) { if (e.type !== this.type) return this.type - e.type; if (this.expr.length < e.expr.length) return -1; if (this.expr.length > e.expr.length) return 1; for (let t = 0, i = this.expr.length; t < i; t++) { const i = c(this.expr[t], e.expr[t]); if (0 !== i) return i; } return 0; } equals(e) { if (e.type === this.type) { if (this.expr.length !== e.expr.length) return !1; for (let t = 0, i = this.expr.length; t < i; t++) if (!this.expr[t].equals(e.expr[t])) return !1; return !0; } return !1; } evaluate(e) { for (let t = 0, i = this.expr.length; t < i; t++) if (!this.expr[t].evaluate(e)) return !1; return !0; } static _normalizeArr(e) { const t = []; let i = !1; for (const n of e) if (n) if (1 !== n.type) { if (0 === n.type) return d.INSTANCE; 6 !== n.type ? t.push(n) : t.push(...n.expr); } else i = !0; if (0 === t.length && i) return h.INSTANCE; if (0 !== t.length) { if (1 === t.length) return t[0]; for (t.sort(c); t.length > 1; ) { const e = t[t.length - 1]; if (9 !== e.type) break; t.pop(); const i = t.pop(), n = w.create(e.expr.map((e) => y.create([e, i]))); n && (t.push(n), t.sort(c)); } return new y(t); } } serialize() { return this.expr.map((e) => e.serialize()).join(' && '); } keys() { const e = []; for (let t of this.expr) e.push(...t.keys()); return e; } negate() { let e = []; for (let t of this.expr) e.push(t.negate()); return w.create(e); } } class w { constructor(e) { (this.expr = e), (this.type = 9); } static create(e) { const t = w._normalizeArr(e); if (0 !== t.length) return 1 === t.length ? t[0] : new w(t); } cmp(e) { if (e.type !== this.type) return this.type - e.type; if (this.expr.length < e.expr.length) return -1; if (this.expr.length > e.expr.length) return 1; for (let t = 0, i = this.expr.length; t < i; t++) { const i = c(this.expr[t], e.expr[t]); if (0 !== i) return i; } return 0; } equals(e) { if (e.type === this.type) { if (this.expr.length !== e.expr.length) return !1; for (let t = 0, i = this.expr.length; t < i; t++) if (!this.expr[t].equals(e.expr[t])) return !1; return !0; } return !1; } evaluate(e) { for (let t = 0, i = this.expr.length; t < i; t++) if (this.expr[t].evaluate(e)) return !0; return !1; } static _normalizeArr(e) { let t = [], i = !1; if (e) { for (let n = 0, r = e.length; n < r; n++) { const r = e[n]; if (r) if (0 !== r.type) { if (1 === r.type) return [h.INSTANCE]; 9 !== r.type ? t.push(r) : (t = t.concat(r.expr)); } else i = !0; } if (0 === t.length && i) return [d.INSTANCE]; t.sort(c); } return t; } serialize() { return this.expr.map((e) => e.serialize()).join(' || '); } keys() { const e = []; for (let t of this.expr) e.push(...t.keys()); return e; } negate() { let e = []; for (let t of this.expr) e.push(t.negate()); const t = (e) => (9 === e.type ? e.expr : [e]); for (; e.length > 1; ) { const i = e.shift(), n = e.shift(), r = []; for (const e of t(i)) for (const i of t(n)) r.push(l.and(e, i)); e.unshift(l.or(...r)); } return e[0]; } } class C extends u { constructor(e, t) { super(e), (this._defaultValue = t); } bindTo(e) { return e.createKey(this.key, this._defaultValue); } getValue(e) { return e.getContextKeyValue(this.key); } toNegated() { return l.not(this.key); } } const S = (0, r.yh)('contextKeyService'), k = 'setContext'; }, 5606: (e, t, i) => { 'use strict'; i.d(t, { u: () => r, i: () => s }); var n = i(72065); const r = (0, n.yh)('contextViewService'), s = (0, n.yh)('contextMenuService'); }, 28820: (e, t, i) => { 'use strict'; i.d(t, { S: () => n }); const n = (0, i(72065).yh)('dialogService'); }, 97108: (e, t, i) => { 'use strict'; i.d(t, { M: () => n }); class n { constructor(e, t = [], i = !1) { (this.ctor = e), (this.staticArguments = t), (this.supportsDelayedInstantiation = i); } } }, 65026: (e, t, i) => { 'use strict'; i.d(t, { z: () => s, d: () => o }); var n = i(97108); const r = []; function s(e, t, i) { r.push([e, new n.M(t, [], i)]); } function o() { return r; } }, 72065: (e, t, i) => { 'use strict'; var n; i.d(t, { I8: () => n, TG: () => r, yh: () => o, jt: () => a }), (function (e) { (e.serviceIds = new Map()), (e.DI_TARGET = '$di$target'), (e.DI_DEPENDENCIES = '$di$dependencies'), (e.getServiceDependencies = function (t) { return t[e.DI_DEPENDENCIES] || []; }); })(n || (n = {})); const r = o('instantiationService'); function s(e, t, i, r) { t[n.DI_TARGET] === t ? t[n.DI_DEPENDENCIES].push({ id: e, index: i, optional: r }) : ((t[n.DI_DEPENDENCIES] = [{ id: e, index: i, optional: r }]), (t[n.DI_TARGET] = t)); } function o(e) { if (n.serviceIds.has(e)) return n.serviceIds.get(e); const t = function (e, i, n) { if (3 !== arguments.length) throw new Error( '@IServiceName-decorator can only be used to decorate a parameter' ); s(t, e, n, !1); }; return (t.toString = () => e), n.serviceIds.set(e, t), t; } function a(e) { return function (t, i, n) { if (3 !== arguments.length) throw new Error( '@optional-decorator can only be used to decorate a parameter' ); s(e, t, n, !0); }; } }, 60972: (e, t, i) => { 'use strict'; i.d(t, { y: () => n }); class n { constructor(...e) { this._entries = new Map(); for (let [t, i] of e) this.set(t, i); } set(e, t) { const i = this._entries.get(e); return this._entries.set(e, t), i; } has(e) { return this._entries.has(e); } get(e) { return this._entries.get(e); } } }, 81294: (e, t, i) => { 'use strict'; i.d(t, { I: () => s }); var n = i(89872), r = i(4669); const s = { JSONContribution: 'base.contributions.json' }, o = new (class { constructor() { (this._onDidChangeSchema = new r.Q5()), (this.schemasById = {}); } registerSchema(e, t) { var i; (this.schemasById[ ((i = e), i.length > 0 && '#' === i.charAt(i.length - 1) ? i.substring(0, i.length - 1) : i) ] = t), this._onDidChangeSchema.fire(e); } notifySchemaChanged(e) { this._onDidChangeSchema.fire(e); } })(); n.B.add(s.JSONContribution, o); }, 91847: (e, t, i) => { 'use strict'; i.d(t, { d: () => n }); const n = (0, i(72065).yh)('keybindingService'); }, 49989: (e, t, i) => { 'use strict'; i.d(t, { W: () => l }); var n = i(22258), r = i(1432), s = i(94565), o = i(89872); class a { constructor() { (this._coreKeybindings = []), (this._extensionKeybindings = []), (this._cachedMergedKeybindings = null); } static bindToCurrentPlatform(e) { if (1 === r.OS) { if (e && e.win) return e.win; } else if (2 === r.OS) { if (e && e.mac) return e.mac; } else if (e && e.linux) return e.linux; return e; } registerKeybindingRule(e) { const t = a.bindToCurrentPlatform(e); if (t && t.primary) { const i = (0, n.gm)(t.primary, r.OS); i && this._registerDefaultKeybinding( i, e.id, e.args, e.weight, 0, e.when ); } if (t && Array.isArray(t.secondary)) for (let i = 0, s = t.secondary.length; i < s; i++) { const s = t.secondary[i], o = (0, n.gm)(s, r.OS); o && this._registerDefaultKeybinding( o, e.id, e.args, e.weight, -i - 1, e.when ); } } registerCommandAndKeybindingRule(e) { this.registerKeybindingRule(e), s.P.registerCommand(e); } static _mightProduceChar(e) { return ( (e >= 21 && e <= 30) || (e >= 31 && e <= 56) || 80 === e || 81 === e || 82 === e || 83 === e || 84 === e || 85 === e || 86 === e || 110 === e || 111 === e || 87 === e || 88 === e || 89 === e || 90 === e || 91 === e || 92 === e ); } _assertNoCtrlAlt(e, t) { e.ctrlKey && e.altKey && !e.metaKey && a._mightProduceChar(e.keyCode) && console.warn( 'Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ', e, ' for ', t ); } _registerDefaultKeybinding(e, t, i, n, s, o) { 1 === r.OS && this._assertNoCtrlAlt(e.parts[0], t), this._coreKeybindings.push({ keybinding: e, command: t, commandArgs: i, when: o, weight1: n, weight2: s, extensionId: null, }), (this._cachedMergedKeybindings = null); } getDefaultKeybindings() { return ( this._cachedMergedKeybindings || ((this._cachedMergedKeybindings = [] .concat(this._coreKeybindings) .concat(this._extensionKeybindings)), this._cachedMergedKeybindings.sort(c)), this._cachedMergedKeybindings.slice(0) ); } } const l = new a(); function c(e, t) { return e.weight1 !== t.weight1 ? e.weight1 - t.weight1 : e.command < t.command ? -1 : e.command > t.command ? 1 : e.weight2 - t.weight2; } o.B.add('platform.keybindingsRegistry', l); }, 44349: (e, t, i) => { 'use strict'; i.d(t, { e: () => n }); const n = (0, i(72065).yh)('labelService'); }, 58664: (e, t, i) => { 'use strict'; i.d(t, { Lw: () => We, XN: () => Ye, ls: () => _t, ev: () => ct, CQ: () => Ve, }); var n = i(65321), r = i(5976), s = i(9488), o = i(43799), a = i(4669), l = i(71050); class c { constructor(e, t) { (this.renderer = e), (this.modelProvider = t); } get templateId() { return this.renderer.templateId; } renderTemplate(e) { return { data: this.renderer.renderTemplate(e), disposable: r.JT.None, }; } renderElement(e, t, i, n) { if ((i.disposable && i.disposable.dispose(), !i.data)) return; const r = this.modelProvider(); if (r.isResolved(e)) return this.renderer.renderElement(r.get(e), e, i.data, n); const s = new l.A(), o = r.resolve(e, s.token); (i.disposable = { dispose: () => s.cancel() }), this.renderer.renderPlaceholder(e, i.data), o.then((t) => this.renderer.renderElement(t, e, i.data, n)); } disposeTemplate(e) { e.disposable && (e.disposable.dispose(), (e.disposable = void 0)), e.data && (this.renderer.disposeTemplate(e.data), (e.data = void 0)); } } class d { constructor(e, t) { (this.modelProvider = e), (this.accessibilityProvider = t); } getWidgetAriaLabel() { return this.accessibilityProvider.getWidgetAriaLabel(); } getAriaLabel(e) { const t = this.modelProvider(); return t.isResolved(e) ? this.accessibilityProvider.getAriaLabel(t.get(e)) : null; } } var h, u = i(63580), g = i(33108), f = i(23193), p = i(38819), m = i(72065), _ = i(91847), b = i(89872), v = i(88810), y = i(97781), w = i(53725), C = i(59069); !(function (e) { (e[(e.Unknown = 0)] = 'Unknown'), (e[(e.Twistie = 1)] = 'Twistie'), (e[(e.Element = 2)] = 'Element'); })(h || (h = {})); class S extends Error { constructor(e, t) { super(`TreeError [${e}] ${t}`); } } class k { constructor(e) { (this.fn = e), (this._map = new WeakMap()); } map(e) { let t = this._map.get(e); return t || ((t = this.fn(e)), this._map.set(e, t)), t; } } var x = i(23547), L = i(25707), M = i(4850), D = i(75392); function N(e) { return 'object' == typeof e && 'visibility' in e && 'data' in e; } function E(e) { switch (e) { case !0: return 1; case !1: return 0; default: return e; } } function T(e) { return 'boolean' == typeof e.collapsible; } class I { constructor(e, t, i, n = {}) { (this.user = e), (this.list = t), (this.rootRef = []), (this.eventBufferer = new a.E7()), (this._onDidChangeCollapseState = new a.Q5()), (this.onDidChangeCollapseState = this.eventBufferer.wrapEvent( this._onDidChangeCollapseState.event )), (this._onDidChangeRenderNodeCount = new a.Q5()), (this.onDidChangeRenderNodeCount = this.eventBufferer.wrapEvent( this._onDidChangeRenderNodeCount.event )), (this._onDidSplice = new a.Q5()), (this.onDidSplice = this._onDidSplice.event), (this.collapseByDefault = void 0 !== n.collapseByDefault && n.collapseByDefault), (this.filter = n.filter), (this.autoExpandSingleChildren = void 0 !== n.autoExpandSingleChildren && n.autoExpandSingleChildren), (this.root = { parent: void 0, element: i, children: [], depth: 0, visibleChildrenCount: 0, visibleChildIndex: -1, collapsible: !1, collapsed: !1, renderNodeCount: 0, visibility: 1, visible: !0, filterData: void 0, }); } splice(e, t, i = w.$.empty(), n, r) { if (0 === e.length) throw new S(this.user, 'Invalid tree location'); const { parentNode: s, listIndex: o, revealed: a, visible: l, } = this.getParentNodeWithListIndex(e), c = [], d = w.$.map(i, (e) => this.createTreeNode(e, s, s.visible ? 1 : 0, a, c, n) ), h = e[e.length - 1]; let u = 0; for (let e = h; e >= 0 && e < s.children.length; e--) { const t = s.children[e]; if (t.visible) { u = t.visibleChildIndex; break; } } const g = []; let f = 0, p = 0; for (const e of d) g.push(e), (p += e.renderNodeCount), e.visible && (e.visibleChildIndex = u + f++); const m = s.children.splice(h, t, ...g); let _ = 0; for (const e of m) e.visible && _++; if (0 !== _) for (let e = h + g.length; e < s.children.length; e++) { const t = s.children[e]; t.visible && (t.visibleChildIndex -= _); } if (((s.visibleChildrenCount += f - _), a && l)) { const e = m.reduce( (e, t) => e + (t.visible ? t.renderNodeCount : 0), 0 ); this._updateAncestorsRenderNodeCount(s, p - e), this.list.splice(o, e, c); } if (m.length > 0 && r) { const e = (t) => { r(t), t.children.forEach(e); }; m.forEach(e); } this._onDidSplice.fire({ insertedNodes: g, deletedNodes: m }); let b = s; for (; b; ) { if (2 === b.visibility) { this.refilter(); break; } b = b.parent; } } rerender(e) { if (0 === e.length) throw new S(this.user, 'Invalid tree location'); const { node: t, listIndex: i, revealed: n, } = this.getTreeNodeWithListIndex(e); t.visible && n && this.list.splice(i, 1, [t]); } has(e) { return this.hasTreeNode(e); } getListIndex(e) { const { listIndex: t, visible: i, revealed: n, } = this.getTreeNodeWithListIndex(e); return i && n ? t : -1; } getListRenderCount(e) { return this.getTreeNode(e).renderNodeCount; } isCollapsible(e) { return this.getTreeNode(e).collapsible; } setCollapsible(e, t) { const i = this.getTreeNode(e); void 0 === t && (t = !i.collapsible); const n = { collapsible: t }; return this.eventBufferer.bufferEvents(() => this._setCollapseState(e, n) ); } isCollapsed(e) { return this.getTreeNode(e).collapsed; } setCollapsed(e, t, i) { const n = this.getTreeNode(e); void 0 === t && (t = !n.collapsed); const r = { collapsed: t, recursive: i || !1 }; return this.eventBufferer.bufferEvents(() => this._setCollapseState(e, r) ); } _setCollapseState(e, t) { const { node: i, listIndex: n, revealed: r, } = this.getTreeNodeWithListIndex(e), s = this._setListNodeCollapseState(i, n, r, t); if ( i !== this.root && this.autoExpandSingleChildren && s && !T(t) && i.collapsible && !i.collapsed && !t.recursive ) { let n = -1; for (let e = 0; e < i.children.length; e++) if (i.children[e].visible) { if (n > -1) { n = -1; break; } n = e; } n > -1 && this._setCollapseState([...e, n], t); } return s; } _setListNodeCollapseState(e, t, i, n) { const r = this._setNodeCollapseState(e, n, !1); if (!i || !e.visible || !r) return r; const s = e.renderNodeCount, o = this.updateNodeAfterCollapseChange(e), a = s - (-1 === t ? 0 : 1); return this.list.splice(t + 1, a, o.slice(1)), r; } _setNodeCollapseState(e, t, i) { let n; if ( (e === this.root ? (n = !1) : (T(t) ? ((n = e.collapsible !== t.collapsible), (e.collapsible = t.collapsible)) : e.collapsible ? ((n = e.collapsed !== t.collapsed), (e.collapsed = t.collapsed)) : (n = !1), n && this._onDidChangeCollapseState.fire({ node: e, deep: i })), !T(t) && t.recursive) ) for (const i of e.children) n = this._setNodeCollapseState(i, t, !0) || n; return n; } expandTo(e) { this.eventBufferer.bufferEvents(() => { let t = this.getTreeNode(e); for (; t.parent; ) (t = t.parent), (e = e.slice(0, e.length - 1)), t.collapsed && this._setCollapseState(e, { collapsed: !1, recursive: !1 }); }); } refilter() { const e = this.root.renderNodeCount, t = this.updateNodeAfterFilterChange(this.root); this.list.splice(0, e, t); } createTreeNode(e, t, i, n, r, s) { const o = { parent: t, element: e.element, children: [], depth: t.depth + 1, visibleChildrenCount: 0, visibleChildIndex: -1, collapsible: 'boolean' == typeof e.collapsible ? e.collapsible : void 0 !== e.collapsed, collapsed: void 0 === e.collapsed ? this.collapseByDefault : e.collapsed, renderNodeCount: 1, visibility: 1, visible: !0, filterData: void 0, }, a = this._filterNode(o, i); (o.visibility = a), n && r.push(o); const l = e.children || w.$.empty(), c = n && 0 !== a && !o.collapsed, d = w.$.map(l, (e) => this.createTreeNode(e, o, a, c, r, s)); let h = 0, u = 1; for (const e of d) o.children.push(e), (u += e.renderNodeCount), e.visible && (e.visibleChildIndex = h++); return ( (o.collapsible = o.collapsible || o.children.length > 0), (o.visibleChildrenCount = h), (o.visible = 2 === a ? h > 0 : 1 === a), o.visible ? o.collapsed || (o.renderNodeCount = u) : ((o.renderNodeCount = 0), n && r.pop()), s && s(o), o ); } updateNodeAfterCollapseChange(e) { const t = e.renderNodeCount, i = []; return ( this._updateNodeAfterCollapseChange(e, i), this._updateAncestorsRenderNodeCount(e.parent, i.length - t), i ); } _updateNodeAfterCollapseChange(e, t) { if (!1 === e.visible) return 0; if ((t.push(e), (e.renderNodeCount = 1), !e.collapsed)) for (const i of e.children) e.renderNodeCount += this._updateNodeAfterCollapseChange(i, t); return this._onDidChangeRenderNodeCount.fire(e), e.renderNodeCount; } updateNodeAfterFilterChange(e) { const t = e.renderNodeCount, i = []; return ( this._updateNodeAfterFilterChange(e, e.visible ? 1 : 0, i), this._updateAncestorsRenderNodeCount(e.parent, i.length - t), i ); } _updateNodeAfterFilterChange(e, t, i, n = !0) { let r; if (e !== this.root) { if (((r = this._filterNode(e, t)), 0 === r)) return (e.visible = !1), (e.renderNodeCount = 0), !1; n && i.push(e); } const s = i.length; e.renderNodeCount = e === this.root ? 0 : 1; let o = !1; if (e.collapsed && 0 === r) e.visibleChildrenCount = 0; else { let t = 0; for (const s of e.children) (o = this._updateNodeAfterFilterChange( s, r, i, n && !e.collapsed ) || o), s.visible && (s.visibleChildIndex = t++); e.visibleChildrenCount = t; } return ( e !== this.root && (e.visible = 2 === r ? o : 1 === r), e.visible ? e.collapsed || (e.renderNodeCount += i.length - s) : ((e.renderNodeCount = 0), n && i.pop()), this._onDidChangeRenderNodeCount.fire(e), e.visible ); } _updateAncestorsRenderNodeCount(e, t) { if (0 !== t) for (; e; ) (e.renderNodeCount += t), this._onDidChangeRenderNodeCount.fire(e), (e = e.parent); } _filterNode(e, t) { const i = this.filter ? this.filter.filter(e.element, t) : 1; return 'boolean' == typeof i ? ((e.filterData = void 0), i ? 1 : 0) : N(i) ? ((e.filterData = i.data), E(i.visibility)) : ((e.filterData = void 0), E(i)); } hasTreeNode(e, t = this.root) { if (!e || 0 === e.length) return !0; const [i, ...n] = e; return ( !(i < 0 || i > t.children.length) && this.hasTreeNode(n, t.children[i]) ); } getTreeNode(e, t = this.root) { if (!e || 0 === e.length) return t; const [i, ...n] = e; if (i < 0 || i > t.children.length) throw new S(this.user, 'Invalid tree location'); return this.getTreeNode(n, t.children[i]); } getTreeNodeWithListIndex(e) { if (0 === e.length) return { node: this.root, listIndex: -1, revealed: !0, visible: !1, }; const { parentNode: t, listIndex: i, revealed: n, visible: r, } = this.getParentNodeWithListIndex(e), s = e[e.length - 1]; if (s < 0 || s > t.children.length) throw new S(this.user, 'Invalid tree location'); const o = t.children[s]; return { node: o, listIndex: i, revealed: n, visible: r && o.visible, }; } getParentNodeWithListIndex(e, t = this.root, i = 0, n = !0, r = !0) { const [s, ...o] = e; if (s < 0 || s > t.children.length) throw new S(this.user, 'Invalid tree location'); for (let e = 0; e < s; e++) i += t.children[e].renderNodeCount; return ( (n = n && !t.collapsed), (r = r && t.visible), 0 === o.length ? { parentNode: t, listIndex: i, revealed: n, visible: r } : this.getParentNodeWithListIndex(o, t.children[s], i + 1, n, r) ); } getNode(e = []) { return this.getTreeNode(e); } getNodeLocation(e) { const t = []; let i = e; for (; i.parent; ) t.push(i.parent.children.indexOf(i)), (i = i.parent); return t.reverse(); } getParentNodeLocation(e) { return 0 === e.length ? void 0 : 1 === e.length ? [] : (0, s.JH)(e)[0]; } } var O = i(15393), A = i(1432), R = i(59870), P = i(6626), F = i(73046); const B = (0, F.q5)('tree-item-expanded', F.lA.chevronDown), W = (0, F.q5)('tree-filter-on-type-on', F.lA.listFilter), Y = (0, F.q5)('tree-filter-on-type-off', F.lA.listSelection), H = (0, F.q5)('tree-filter-clear', F.lA.close), j = (0, F.q5)('tree-item-loading', F.lA.loading); class V extends L.kX { constructor(e) { super(e.elements.map((e) => e.element)), (this.data = e); } } function z(e) { return e instanceof L.kX ? new V(e) : e; } class U { constructor(e, t) { (this.modelProvider = e), (this.dnd = t), (this.autoExpandDisposable = r.JT.None); } getDragURI(e) { return this.dnd.getDragURI(e.element); } getDragLabel(e, t) { if (this.dnd.getDragLabel) return this.dnd.getDragLabel( e.map((e) => e.element), t ); } onDragStart(e, t) { this.dnd.onDragStart && this.dnd.onDragStart(z(e), t); } onDragOver(e, t, i, n, r = !0) { const o = this.dnd.onDragOver(z(e), t && t.element, i, n), a = this.autoExpandNode !== t; if ( (a && (this.autoExpandDisposable.dispose(), (this.autoExpandNode = t)), void 0 === t) ) return o; if ( (a && 'boolean' != typeof o && o.autoExpand && (this.autoExpandDisposable = (0, O.Vg)(() => { const e = this.modelProvider(), i = e.getNodeLocation(t); e.isCollapsed(i) && e.setCollapsed(i, !1), (this.autoExpandNode = void 0); }, 500)), 'boolean' == typeof o || !o.accept || void 0 === o.bubble || o.feedback) ) return r ? o : { accept: 'boolean' == typeof o ? o : o.accept, effect: 'boolean' == typeof o ? void 0 : o.effect, feedback: [i], }; if (1 === o.bubble) { const i = this.modelProvider(), r = i.getNodeLocation(t), s = i.getParentNodeLocation(r), o = i.getNode(s), a = s && i.getListIndex(s); return this.onDragOver(e, o, a, n, !1); } const l = this.modelProvider(), c = l.getNodeLocation(t), d = l.getListIndex(c), h = l.getListRenderCount(c); return Object.assign(Object.assign({}, o), { feedback: (0, s.w6)(d, d + h), }); } drop(e, t, i, n) { this.autoExpandDisposable.dispose(), (this.autoExpandNode = void 0), this.dnd.drop(z(e), t && t.element, i, n); } onDragEnd(e) { this.dnd.onDragEnd && this.dnd.onDragEnd(e); } } class $ { constructor(e) { this.delegate = e; } getHeight(e) { return this.delegate.getHeight(e.element); } getTemplateId(e) { return this.delegate.getTemplateId(e.element); } hasDynamicHeight(e) { return ( !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(e.element) ); } setDynamicHeight(e, t) { this.delegate.setDynamicHeight && this.delegate.setDynamicHeight(e.element, t); } } var K; !(function (e) { (e.None = 'none'), (e.OnHover = 'onHover'), (e.Always = 'always'); })(K || (K = {})); class q { constructor(e, t = []) { (this._elements = t), (this.onDidChange = a.ju.forEach(e, (e) => (this._elements = e))); } get elements() { return this._elements; } } class G { constructor(e, t, i, n, s = {}) { (this.renderer = e), (this.modelProvider = t), (this.activeNodes = n), (this.renderedElements = new Map()), (this.renderedNodes = new Map()), (this.indent = G.DefaultIndent), (this.hideTwistiesOfChildlessElements = !1), (this.shouldRenderIndentGuides = !1), (this.renderedIndentGuides = new P.r()), (this.activeIndentNodes = new Set()), (this.indentGuidesDisposable = r.JT.None), (this.disposables = new r.SL()), (this.templateId = e.templateId), this.updateOptions(s), a.ju.map(i, (e) => e.node)( this.onDidChangeNodeTwistieState, this, this.disposables ), e.onDidChangeTwistieState && e.onDidChangeTwistieState( this.onDidChangeTwistieState, this, this.disposables ); } updateOptions(e = {}) { if ( (void 0 !== e.indent && (this.indent = (0, R.u)(e.indent, 0, 40)), void 0 !== e.renderIndentGuides) ) { const t = e.renderIndentGuides !== K.None; if ( t !== this.shouldRenderIndentGuides && ((this.shouldRenderIndentGuides = t), this.indentGuidesDisposable.dispose(), t) ) { const e = new r.SL(); this.activeNodes.onDidChange( this._onDidChangeActiveNodes, this, e ), (this.indentGuidesDisposable = e), this._onDidChangeActiveNodes(this.activeNodes.elements); } } void 0 !== e.hideTwistiesOfChildlessElements && (this.hideTwistiesOfChildlessElements = e.hideTwistiesOfChildlessElements); } renderTemplate(e) { const t = (0, n.R3)(e, (0, n.$)('.monaco-tl-row')), i = (0, n.R3)(t, (0, n.$)('.monaco-tl-indent')), s = (0, n.R3)(t, (0, n.$)('.monaco-tl-twistie')), o = (0, n.R3)(t, (0, n.$)('.monaco-tl-contents')), a = this.renderer.renderTemplate(o); return { container: e, indent: i, twistie: s, indentGuidesDisposable: r.JT.None, templateData: a, }; } renderElement(e, t, i, n) { 'number' == typeof n && (this.renderedNodes.set(e, { templateData: i, height: n }), this.renderedElements.set(e.element, e)); const r = G.DefaultIndent + (e.depth - 1) * this.indent; (i.twistie.style.paddingLeft = `${r}px`), (i.indent.style.width = r + this.indent - 16 + 'px'), this.renderTwistie(e, i), 'number' == typeof n && this.renderIndentGuides(e, i), this.renderer.renderElement(e, t, i.templateData, n); } disposeElement(e, t, i, n) { i.indentGuidesDisposable.dispose(), this.renderer.disposeElement && this.renderer.disposeElement(e, t, i.templateData, n), 'number' == typeof n && (this.renderedNodes.delete(e), this.renderedElements.delete(e.element)); } disposeTemplate(e) { this.renderer.disposeTemplate(e.templateData); } onDidChangeTwistieState(e) { const t = this.renderedElements.get(e); t && this.onDidChangeNodeTwistieState(t); } onDidChangeNodeTwistieState(e) { const t = this.renderedNodes.get(e); t && (this.renderTwistie(e, t.templateData), this._onDidChangeActiveNodes(this.activeNodes.elements), this.renderIndentGuides(e, t.templateData)); } renderTwistie(e, t) { this.renderer.renderTwistie && this.renderer.renderTwistie(e.element, t.twistie), e.collapsible && (!this.hideTwistiesOfChildlessElements || e.visibleChildrenCount > 0) ? ((0, n.PT)(t.twistie, B.classNames, 'collapsible'), (0, n.og)(t.twistie, 'collapsed', e.collapsed)) : (0, n.GK)( t.twistie, B.classNames, 'collapsible', 'collapsed' ), e.collapsible ? t.container.setAttribute( 'aria-expanded', String(!e.collapsed) ) : t.container.removeAttribute('aria-expanded'); } renderIndentGuides(e, t) { if ( ((0, n.PO)(t.indent), t.indentGuidesDisposable.dispose(), !this.shouldRenderIndentGuides) ) return; const i = new r.SL(), s = this.modelProvider(); let o = e; for (;;) { const e = s.getNodeLocation(o), a = s.getParentNodeLocation(e); if (!a) break; const l = s.getNode(a), c = (0, n.$)('.indent-guide', { style: `width: ${this.indent}px`, }); this.activeIndentNodes.has(l) && (0, n.cn)(c, 'active'), 0 === t.indent.childElementCount ? t.indent.appendChild(c) : t.indent.insertBefore(c, t.indent.firstElementChild), this.renderedIndentGuides.add(l, c), i.add((0, r.OF)(() => this.renderedIndentGuides.delete(l, c))), (o = l); } t.indentGuidesDisposable = i; } _onDidChangeActiveNodes(e) { if (!this.shouldRenderIndentGuides) return; const t = new Set(), i = this.modelProvider(); e.forEach((e) => { const n = i.getNodeLocation(e); try { const r = i.getParentNodeLocation(n); e.collapsible && e.children.length > 0 && !e.collapsed ? t.add(e) : r && t.add(i.getNode(r)); } catch (e) {} }), this.activeIndentNodes.forEach((e) => { t.has(e) || this.renderedIndentGuides.forEach(e, (e) => (0, n.IV)(e, 'active') ); }), t.forEach((e) => { this.activeIndentNodes.has(e) || this.renderedIndentGuides.forEach(e, (e) => (0, n.cn)(e, 'active') ); }), (this.activeIndentNodes = t); } dispose() { this.renderedNodes.clear(), this.renderedElements.clear(), this.indentGuidesDisposable.dispose(), (0, r.B9)(this.disposables); } } G.DefaultIndent = 8; class Z { constructor(e, t, i) { (this.tree = e), (this.keyboardNavigationLabelProvider = t), (this._filter = i), (this._totalCount = 0), (this._matchCount = 0), (this._pattern = ''), (this._lowercasePattern = ''), (this.disposables = new r.SL()), e.onWillRefilter(this.reset, this, this.disposables); } get totalCount() { return this._totalCount; } get matchCount() { return this._matchCount; } set pattern(e) { (this._pattern = e), (this._lowercasePattern = e.toLowerCase()); } filter(e, t) { if (this._filter) { const i = this._filter.filter(e, t); if (this.tree.options.simpleKeyboardNavigation) return i; let n; if ( ((n = 'boolean' == typeof i ? i ? 1 : 0 : N(i) ? E(i.visibility) : i), 0 === n) ) return !1; } if ( (this._totalCount++, this.tree.options.simpleKeyboardNavigation || !this._pattern) ) return this._matchCount++, { data: D.CL.Default, visibility: !0 }; const i = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( e ), n = i && i.toString(); if (void 0 === n) return { data: D.CL.Default, visibility: !0 }; const r = (0, D.EW)( this._pattern, this._lowercasePattern, 0, n, n.toLowerCase(), 0, !0 ); return r ? (this._matchCount++, { data: r, visibility: !0 }) : this.tree.options.filterOnType ? 2 : { data: D.CL.Default, visibility: !0 }; } reset() { (this._totalCount = 0), (this._matchCount = 0); } dispose() { (0, r.B9)(this.disposables); } } class J { constructor(e, t, i, s, o) { (this.tree = e), (this.view = i), (this.filter = s), (this.keyboardNavigationDelegate = o), (this._enabled = !1), (this._pattern = ''), (this._empty = !1), (this._onDidChangeEmptyState = new a.Q5()), (this.positionClassName = 'ne'), (this.automaticKeyboardNavigation = !0), (this.triggered = !1), (this._onDidChangePattern = new a.Q5()), (this.enabledDisposables = new r.SL()), (this.disposables = new r.SL()), (this.domNode = (0, n.$)( `.monaco-list-type-filter.${this.positionClassName}` )), (this.domNode.draggable = !0), (0, M.j)(this.domNode, 'dragstart')( this.onDragStart, this, this.disposables ), (this.messageDomNode = (0, n.R3)( i.getHTMLElement(), (0, n.$)('.monaco-list-type-filter-message') )), (this.labelDomNode = (0, n.R3)( this.domNode, (0, n.$)('span.label') )); const l = (0, n.R3)(this.domNode, (0, n.$)('.controls')); (this._filterOnType = !!e.options.filterOnType), (this.filterOnTypeDomNode = (0, n.R3)( l, (0, n.$)('input.filter') )), (this.filterOnTypeDomNode.type = 'checkbox'), (this.filterOnTypeDomNode.checked = this._filterOnType), (this.filterOnTypeDomNode.tabIndex = -1), this.updateFilterOnTypeTitleAndIcon(), (0, M.j)(this.filterOnTypeDomNode, 'input')( this.onDidChangeFilterOnType, this, this.disposables ), (this.clearDomNode = (0, n.R3)( l, (0, n.$)('button.clear' + H.cssSelector) )), (this.clearDomNode.tabIndex = -1), (this.clearDomNode.title = (0, u.N)('clear', 'Clear')), (this.keyboardNavigationEventFilter = e.options.keyboardNavigationEventFilter), t.onDidSplice(this.onDidSpliceModel, this, this.disposables), this.updateOptions(e.options); } get enabled() { return this._enabled; } get pattern() { return this._pattern; } get filterOnType() { return this._filterOnType; } updateOptions(e) { e.simpleKeyboardNavigation ? this.disable() : this.enable(), void 0 !== e.filterOnType && ((this._filterOnType = !!e.filterOnType), (this.filterOnTypeDomNode.checked = this._filterOnType)), void 0 !== e.automaticKeyboardNavigation && (this.automaticKeyboardNavigation = e.automaticKeyboardNavigation), this.tree.refilter(), this.render(), this.automaticKeyboardNavigation || this.onEventOrInput(''); } enable() { if (this._enabled) return; const e = a.ju .chain((0, M.j)(this.view.getHTMLElement(), 'keydown')) .filter( (e) => !(0, o.cK)(e.target) || e.target === this.filterOnTypeDomNode ) .filter((e) => 'Dead' !== e.key && !/^Media/.test(e.key)) .map((e) => new C.y(e)) .filter(this.keyboardNavigationEventFilter || (() => !0)) .filter( () => this.automaticKeyboardNavigation || this.triggered ) .filter( (e) => (this.keyboardNavigationDelegate.mightProducePrintableCharacter( e ) && !( 18 === e.keyCode || 16 === e.keyCode || 15 === e.keyCode || 17 === e.keyCode )) || ((this.pattern.length > 0 || this.triggered) && (9 === e.keyCode || 1 === e.keyCode) && !e.altKey && !e.ctrlKey && !e.metaKey) || (1 === e.keyCode && (A.dz ? e.altKey && !e.metaKey : e.ctrlKey) && !e.shiftKey) ) .forEach((e) => { e.stopPropagation(), e.preventDefault(); }).event, t = (0, M.j)(this.clearDomNode, 'click'); a.ju .chain(a.ju.any(e, t)) .event(this.onEventOrInput, this, this.enabledDisposables), (this.filter.pattern = ''), this.tree.refilter(), this.render(), (this._enabled = !0), (this.triggered = !1); } disable() { this._enabled && (this.domNode.remove(), this.enabledDisposables.clear(), this.tree.refilter(), this.render(), (this._enabled = !1), (this.triggered = !1)); } onEventOrInput(e) { 'string' == typeof e ? this.onInput(e) : e instanceof MouseEvent || 9 === e.keyCode || (1 === e.keyCode && (A.dz ? e.altKey : e.ctrlKey)) ? this.onInput('') : 1 === e.keyCode ? this.onInput( 0 === this.pattern.length ? '' : this.pattern.substr(0, this.pattern.length - 1) ) : this.onInput(this.pattern + e.browserEvent.key); } onInput(e) { const t = this.view.getHTMLElement(); e && !this.domNode.parentElement ? t.append(this.domNode) : !e && this.domNode.parentElement && (this.domNode.remove(), this.tree.domFocus()), (this._pattern = e), this._onDidChangePattern.fire(e), (this.filter.pattern = e), this.tree.refilter(), e && this.tree.focusNext( 0, !0, void 0, (e) => !D.CL.isDefault(e.filterData) ); const i = this.tree.getFocus(); if (i.length > 0) { const e = i[0]; null === this.tree.getRelativeTop(e) && this.tree.reveal(e, 0.5); } this.render(), e || (this.triggered = !1); } onDragStart() { const e = this.view.getHTMLElement(), { left: t } = (0, n.i)(e), i = e.clientWidth, s = i / 2, o = this.domNode.clientWidth, a = new r.SL(); let l = this.positionClassName; const c = () => { switch (l) { case 'nw': (this.domNode.style.top = '4px'), (this.domNode.style.left = '4px'); break; case 'ne': (this.domNode.style.top = '4px'), (this.domNode.style.left = i - o - 6 + 'px'); } }; c(), (0, n.IV)(this.domNode, l), (0, n.cn)(this.domNode, 'dragging'), a.add((0, r.OF)(() => (0, n.IV)(this.domNode, 'dragging'))), (0, M.j)(document, 'dragover')( (e) => { e.preventDefault(); const i = e.screenX - t; e.dataTransfer && (e.dataTransfer.dropEffect = 'none'), (l = i < s ? 'nw' : 'ne'), c(); }, null, a ), (0, M.j)(this.domNode, 'dragend')( () => { (this.positionClassName = l), (this.domNode.className = `monaco-list-type-filter ${this.positionClassName}`), (this.domNode.style.top = ''), (this.domNode.style.left = ''), (0, r.B9)(a); }, null, a ), (x.P$.CurrentDragAndDropData = new x.TN('vscode-ui')), a.add((0, r.OF)(() => (x.P$.CurrentDragAndDropData = void 0))); } onDidSpliceModel() { this._enabled && 0 !== this.pattern.length && (this.tree.refilter(), this.render()); } onDidChangeFilterOnType() { this.tree.updateOptions({ filterOnType: this.filterOnTypeDomNode.checked, }), this.tree.refilter(), this.tree.domFocus(), this.render(), this.updateFilterOnTypeTitleAndIcon(); } updateFilterOnTypeTitleAndIcon() { this.filterOnType ? ((0, n.GK)(this.filterOnTypeDomNode, Y.classNames), (0, n.PT)(this.filterOnTypeDomNode, W.classNames), (this.filterOnTypeDomNode.title = (0, u.N)( 'disable filter on type', 'Disable Filter on Type' ))) : ((0, n.GK)(this.filterOnTypeDomNode, W.classNames), (0, n.PT)(this.filterOnTypeDomNode, Y.classNames), (this.filterOnTypeDomNode.title = (0, u.N)( 'enable filter on type', 'Enable Filter on Type' ))); } render() { const e = this.filter.totalCount > 0 && 0 === this.filter.matchCount; this.pattern && this.tree.options.filterOnType && e ? ((this.messageDomNode.textContent = (0, u.N)( 'empty', 'No elements found' )), (this._empty = !0)) : ((this.messageDomNode.innerText = ''), (this._empty = !1)), (0, n.og)(this.domNode, 'no-matches', e), (this.domNode.title = (0, u.N)( 'found', 'Matched {0} out of {1} elements', this.filter.matchCount, this.filter.totalCount )), (this.labelDomNode.textContent = this.pattern.length > 16 ? '…' + this.pattern.substr(this.pattern.length - 16) : this.pattern), this._onDidChangeEmptyState.fire(this._empty); } shouldAllowFocus(e) { return ( !(this.enabled && this.pattern && !this.filterOnType) || (this.filter.totalCount > 0 && this.filter.matchCount <= 1) || !D.CL.isDefault(e.filterData) ); } dispose() { this._enabled && (this.domNode.remove(), this.enabledDisposables.dispose(), (this._enabled = !1), (this.triggered = !1)), this._onDidChangePattern.dispose(), (0, r.B9)(this.disposables); } } function Q(e) { let t = h.Unknown; return ( (0, n.uU)( e.browserEvent.target, 'monaco-tl-twistie', 'monaco-tl-row' ) ? (t = h.Twistie) : (0, n.uU)( e.browserEvent.target, 'monaco-tl-contents', 'monaco-tl-row' ) && (t = h.Element), { browserEvent: e.browserEvent, element: e.element ? e.element.element : null, target: t, } ); } function X(e, t) { t(e), e.children.forEach((e) => X(e, t)); } class ee { constructor(e) { (this.identityProvider = e), (this.nodes = []), (this._onDidChange = new a.Q5()), (this.onDidChange = this._onDidChange.event); } get nodeSet() { return ( this._nodeSet || (this._nodeSet = this.createNodeSet()), this._nodeSet ); } set(e, t) { (0, s.fS)(this.nodes, e) || this._set(e, !1, t); } _set(e, t, i) { if ( ((this.nodes = [...e]), (this.elements = void 0), (this._nodeSet = void 0), !t) ) { const e = this; this._onDidChange.fire({ get elements() { return e.get(); }, browserEvent: i, }); } } get() { return ( this.elements || (this.elements = this.nodes.map((e) => e.element)), [...this.elements] ); } getNodes() { return this.nodes; } has(e) { return this.nodeSet.has(e); } onDidModelSplice({ insertedNodes: e, deletedNodes: t }) { if (!this.identityProvider) { const e = this.createNodeSet(), i = (t) => e.delete(t); return t.forEach((e) => X(e, i)), void this.set([...e.values()]); } const i = new Set(), n = (e) => i.add(this.identityProvider.getId(e.element).toString()); t.forEach((e) => X(e, n)); const r = new Map(), s = (e) => r.set(this.identityProvider.getId(e.element).toString(), e); e.forEach((e) => X(e, s)); const o = []; for (const e of this.nodes) { const t = this.identityProvider.getId(e.element).toString(); if (i.has(t)) { const e = r.get(t); e && o.push(e); } else o.push(e); } this._set(o, !0); } createNodeSet() { const e = new Set(); for (const t of this.nodes) e.add(t); return e; } } class te extends o.sx { constructor(e, t) { super(e), (this.tree = t); } onViewPointer(e) { if ( (0, o.cK)(e.browserEvent.target) || (0, o.hD)(e.browserEvent.target) ) return; const t = e.element; if (!t) return super.onViewPointer(e); if ( this.isSelectionRangeChangeEvent(e) || this.isSelectionSingleChangeEvent(e) ) return super.onViewPointer(e); const i = e.browserEvent.target, r = (0, n.pv)(i, 'monaco-tl-twistie') || ((0, n.pv)(i, 'monaco-icon-label') && (0, n.pv)(i, 'folder-icon') && e.browserEvent.offsetX < 16); let s = !1; if ( ((s = 'function' == typeof this.tree.expandOnlyOnTwistieClick ? this.tree.expandOnlyOnTwistieClick(t.element) : !!this.tree.expandOnlyOnTwistieClick), s && !r) ) return super.onViewPointer(e); if ( this.tree.expandOnlyOnDoubleClick && 2 !== e.browserEvent.detail && !r ) return super.onViewPointer(e); if (t.collapsible) { const i = this.tree.model, n = i.getNodeLocation(t), o = e.browserEvent.altKey; if ((i.setCollapsed(n, void 0, o), s && r)) return; } super.onViewPointer(e); } onDoubleClick(e) { (0, n.pv)(e.browserEvent.target, 'monaco-tl-twistie') || super.onDoubleClick(e); } } class ie extends o.aV { constructor(e, t, i, n, r, s, o) { super(e, t, i, n, o), (this.focusTrait = r), (this.selectionTrait = s); } createMouseController(e) { return new te(this, e.tree); } splice(e, t, i = []) { if ((super.splice(e, t, i), 0 === i.length)) return; const n = [], r = []; i.forEach((t, i) => { this.focusTrait.has(t) && n.push(e + i), this.selectionTrait.has(t) && r.push(e + i); }), n.length > 0 && super.setFocus((0, s.cU)([...super.getFocus(), ...n])), r.length > 0 && super.setSelection((0, s.cU)([...super.getSelection(), ...r])); } setFocus(e, t, i = !1) { super.setFocus(e, t), i || this.focusTrait.set( e.map((e) => this.element(e)), t ); } setSelection(e, t, i = !1) { super.setSelection(e, t), i || this.selectionTrait.set( e.map((e) => this.element(e)), t ); } } class ne { constructor(e, t, i, s, l = {}) { (this._options = l), (this.eventBufferer = new a.E7()), (this.disposables = new r.SL()), (this._onWillRefilter = new a.Q5()), (this.onWillRefilter = this._onWillRefilter.event), (this._onDidUpdateOptions = new a.Q5()); const c = new $(i), d = new a.ZD(), h = new a.ZD(), u = new q(h.event); this.renderers = s.map( (e) => new G(e, () => this.model, d.event, u, l) ); for (let e of this.renderers) this.disposables.add(e); let g; var f, p; l.keyboardNavigationLabelProvider && ((g = new Z(this, l.keyboardNavigationLabelProvider, l.filter)), (l = Object.assign(Object.assign({}, l), { filter: g })), this.disposables.add(g)), (this.focus = new ee(l.identityProvider)), (this.selection = new ee(l.identityProvider)), (this.view = new ie( e, t, c, this.renderers, this.focus, this.selection, Object.assign( Object.assign( {}, ((f = () => this.model), (p = l) && Object.assign(Object.assign({}, p), { identityProvider: p.identityProvider && { getId: (e) => p.identityProvider.getId(e.element), }, dnd: p.dnd && new U(f, p.dnd), multipleSelectionController: p.multipleSelectionController && { isSelectionSingleChangeEvent: (e) => p.multipleSelectionController.isSelectionSingleChangeEvent( Object.assign(Object.assign({}, e), { element: e.element, }) ), isSelectionRangeChangeEvent: (e) => p.multipleSelectionController.isSelectionRangeChangeEvent( Object.assign(Object.assign({}, e), { element: e.element, }) ), }, accessibilityProvider: p.accessibilityProvider && Object.assign( Object.assign({}, p.accessibilityProvider), { getSetSize(e) { const t = f(), i = t.getNodeLocation(e), n = t.getParentNodeLocation(i); return t.getNode(n).visibleChildrenCount; }, getPosInSet: (e) => e.visibleChildIndex + 1, isChecked: p.accessibilityProvider && p.accessibilityProvider.isChecked ? (e) => p.accessibilityProvider.isChecked( e.element ) : void 0, getRole: p.accessibilityProvider && p.accessibilityProvider.getRole ? (e) => p.accessibilityProvider.getRole(e.element) : () => 'treeitem', getAriaLabel: (e) => p.accessibilityProvider.getAriaLabel(e.element), getWidgetAriaLabel: () => p.accessibilityProvider.getWidgetAriaLabel(), getWidgetRole: p.accessibilityProvider && p.accessibilityProvider.getWidgetRole ? () => p.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: (e) => e.depth, getActiveDescendantId: p.accessibilityProvider.getActiveDescendantId && ((e) => p.accessibilityProvider.getActiveDescendantId( e.element )), } ), keyboardNavigationLabelProvider: p.keyboardNavigationLabelProvider && Object.assign( Object.assign( {}, p.keyboardNavigationLabelProvider ), { getKeyboardNavigationLabel: (e) => p.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( e.element ), } ), enableKeyboardNavigation: p.simpleKeyboardNavigation, })) ), { tree: this } ) )), (this.model = this.createModel(e, this.view, l)), (d.input = this.model.onDidChangeCollapseState); const m = a.ju.forEach(this.model.onDidSplice, (e) => { this.eventBufferer.bufferEvents(() => { this.focus.onDidModelSplice(e), this.selection.onDidModelSplice(e); }); }); if ( (m(() => null, null, this.disposables), (h.input = a.ju .chain( a.ju.any( m, this.focus.onDidChange, this.selection.onDidChange ) ) .debounce(() => null, 0) .map(() => { const e = new Set(); for (const t of this.focus.getNodes()) e.add(t); for (const t of this.selection.getNodes()) e.add(t); return [...e.values()]; }).event), !1 !== l.keyboardSupport) ) { const e = a.ju .chain(this.view.onKeyDown) .filter((e) => !(0, o.cK)(e.target)) .map((e) => new C.y(e)); e .filter((e) => 15 === e.keyCode) .on(this.onLeftArrow, this, this.disposables), e .filter((e) => 17 === e.keyCode) .on(this.onRightArrow, this, this.disposables), e .filter((e) => 10 === e.keyCode) .on(this.onSpace, this, this.disposables); } if (l.keyboardNavigationLabelProvider) { const e = l.keyboardNavigationDelegate || o.WK; (this.typeFilterController = new J( this, this.model, this.view, g, e )), (this.focusNavigationFilter = (e) => this.typeFilterController.shouldAllowFocus(e)), this.disposables.add(this.typeFilterController); } (this.styleElement = (0, n.dS)(this.view.getHTMLElement())), (0, n.og)( this.getHTMLElement(), 'always', this._options.renderIndentGuides === K.Always ); } get onDidChangeFocus() { return this.eventBufferer.wrapEvent(this.focus.onDidChange); } get onDidChangeSelection() { return this.eventBufferer.wrapEvent(this.selection.onDidChange); } get onMouseDblClick() { return a.ju.map(this.view.onMouseDblClick, Q); } get onPointer() { return a.ju.map(this.view.onPointer, Q); } get onDidFocus() { return this.view.onDidFocus; } get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; } get expandOnlyOnDoubleClick() { var e; return ( null !== (e = this._options.expandOnlyOnDoubleClick) && void 0 !== e && e ); } get expandOnlyOnTwistieClick() { return ( void 0 !== this._options.expandOnlyOnTwistieClick && this._options.expandOnlyOnTwistieClick ); } get onDidDispose() { return this.view.onDidDispose; } updateOptions(e = {}) { this._options = Object.assign(Object.assign({}, this._options), e); for (const t of this.renderers) t.updateOptions(e); this.view.updateOptions({ enableKeyboardNavigation: this._options.simpleKeyboardNavigation, automaticKeyboardNavigation: this._options .automaticKeyboardNavigation, smoothScrolling: this._options.smoothScrolling, horizontalScrolling: this._options.horizontalScrolling, }), this.typeFilterController && this.typeFilterController.updateOptions(this._options), this._onDidUpdateOptions.fire(this._options), (0, n.og)( this.getHTMLElement(), 'always', this._options.renderIndentGuides === K.Always ); } get options() { return this._options; } getHTMLElement() { return this.view.getHTMLElement(); } get scrollTop() { return this.view.scrollTop; } set scrollTop(e) { this.view.scrollTop = e; } domFocus() { this.view.domFocus(); } layout(e, t) { this.view.layout(e, t); } style(e) { const t = `.${this.view.domId}`, i = []; e.treeIndentGuidesStroke && (i.push( `.monaco-list${t}:hover .monaco-tl-indent > .indent-guide, .monaco-list${t}.always .monaco-tl-indent > .indent-guide { border-color: ${e.treeIndentGuidesStroke.transparent( 0.4 )}; }` ), i.push( `.monaco-list${t} .monaco-tl-indent > .indent-guide.active { border-color: ${e.treeIndentGuidesStroke}; }` )); const n = i.join('\n'); n !== this.styleElement.innerHTML && (this.styleElement.innerHTML = n), this.view.style(e); } collapse(e, t = !1) { return this.model.setCollapsed(e, !0, t); } expand(e, t = !1) { return this.model.setCollapsed(e, !1, t); } isCollapsible(e) { return this.model.isCollapsible(e); } setCollapsible(e, t) { return this.model.setCollapsible(e, t); } isCollapsed(e) { return this.model.isCollapsed(e); } refilter() { this._onWillRefilter.fire(void 0), this.model.refilter(); } setSelection(e, t) { const i = e.map((e) => this.model.getNode(e)); this.selection.set(i, t); const n = e .map((e) => this.model.getListIndex(e)) .filter((e) => e > -1); this.view.setSelection(n, t, !0); } getSelection() { return this.selection.get(); } setFocus(e, t) { const i = e.map((e) => this.model.getNode(e)); this.focus.set(i, t); const n = e .map((e) => this.model.getListIndex(e)) .filter((e) => e > -1); this.view.setFocus(n, t, !0); } focusNext(e = 1, t = !1, i, n = this.focusNavigationFilter) { this.view.focusNext(e, t, i, n); } getFocus() { return this.focus.get(); } reveal(e, t) { this.model.expandTo(e); const i = this.model.getListIndex(e); -1 !== i && this.view.reveal(i, t); } getRelativeTop(e) { const t = this.model.getListIndex(e); return -1 === t ? null : this.view.getRelativeTop(t); } onLeftArrow(e) { e.preventDefault(), e.stopPropagation(); const t = this.view.getFocusedElements(); if (0 === t.length) return; const i = t[0], n = this.model.getNodeLocation(i); if (!this.model.setCollapsed(n, !0)) { const e = this.model.getParentNodeLocation(n); if (!e) return; const t = this.model.getListIndex(e); this.view.reveal(t), this.view.setFocus([t]); } } onRightArrow(e) { e.preventDefault(), e.stopPropagation(); const t = this.view.getFocusedElements(); if (0 === t.length) return; const i = t[0], n = this.model.getNodeLocation(i); if (!this.model.setCollapsed(n, !1)) { if (!i.children.some((e) => e.visible)) return; const [e] = this.view.getFocus(), t = e + 1; this.view.reveal(t), this.view.setFocus([t]); } } onSpace(e) { e.preventDefault(), e.stopPropagation(); const t = this.view.getFocusedElements(); if (0 === t.length) return; const i = t[0], n = this.model.getNodeLocation(i), r = e.browserEvent.altKey; this.model.setCollapsed(n, void 0, r); } dispose() { (0, r.B9)(this.disposables), this.view.dispose(); } } class re { constructor(e, t, i = {}) { (this.user = e), (this.rootRef = null), (this.nodes = new Map()), (this.nodesByIdentity = new Map()), (this.model = new I(e, t, null, i)), (this.onDidSplice = this.model.onDidSplice), (this.onDidChangeCollapseState = this.model.onDidChangeCollapseState), (this.onDidChangeRenderNodeCount = this.model.onDidChangeRenderNodeCount), i.sorter && (this.sorter = { compare: (e, t) => i.sorter.compare(e.element, t.element), }), (this.identityProvider = i.identityProvider); } setChildren(e, t = w.$.empty(), i, n) { const r = this.getElementLocation(e); this._setChildren(r, this.preserveCollapseState(t), i, n); } _setChildren(e, t = w.$.empty(), i, n) { const r = new Set(), s = new Set(); this.model.splice( [...e, 0], Number.MAX_VALUE, t, (e) => { if (null === e.element) return; const t = e; if ( (r.add(t.element), this.nodes.set(t.element, t), this.identityProvider) ) { const e = this.identityProvider.getId(t.element).toString(); s.add(e), this.nodesByIdentity.set(e, t); } i && i(t); }, (e) => { if (null === e.element) return; const t = e; if ( (r.has(t.element) || this.nodes.delete(t.element), this.identityProvider) ) { const e = this.identityProvider.getId(t.element).toString(); s.has(e) || this.nodesByIdentity.delete(e); } n && n(t); } ); } preserveCollapseState(e = w.$.empty()) { return ( this.sorter && (e = (0, s.qt)([...e], this.sorter.compare.bind(this.sorter))), w.$.map(e, (e) => { let t = this.nodes.get(e.element); if (!t && this.identityProvider) { const i = this.identityProvider.getId(e.element).toString(); t = this.nodesByIdentity.get(i); } if (!t) return Object.assign(Object.assign({}, e), { children: this.preserveCollapseState(e.children), }); const i = 'boolean' == typeof e.collapsible ? e.collapsible : t.collapsible, n = void 0 !== e.collapsed ? e.collapsed : t.collapsed; return Object.assign(Object.assign({}, e), { collapsible: i, collapsed: n, children: this.preserveCollapseState(e.children), }); }) ); } rerender(e) { const t = this.getElementLocation(e); this.model.rerender(t); } has(e) { return this.nodes.has(e); } getListIndex(e) { const t = this.getElementLocation(e); return this.model.getListIndex(t); } getListRenderCount(e) { const t = this.getElementLocation(e); return this.model.getListRenderCount(t); } isCollapsible(e) { const t = this.getElementLocation(e); return this.model.isCollapsible(t); } setCollapsible(e, t) { const i = this.getElementLocation(e); return this.model.setCollapsible(i, t); } isCollapsed(e) { const t = this.getElementLocation(e); return this.model.isCollapsed(t); } setCollapsed(e, t, i) { const n = this.getElementLocation(e); return this.model.setCollapsed(n, t, i); } expandTo(e) { const t = this.getElementLocation(e); this.model.expandTo(t); } refilter() { this.model.refilter(); } getNode(e = null) { if (null === e) return this.model.getNode(this.model.rootRef); const t = this.nodes.get(e); if (!t) throw new S(this.user, `Tree element not found: ${e}`); return t; } getNodeLocation(e) { return e.element; } getParentNodeLocation(e) { if (null === e) throw new S(this.user, 'Invalid getParentNodeLocation call'); const t = this.nodes.get(e); if (!t) throw new S(this.user, `Tree element not found: ${e}`); const i = this.model.getNodeLocation(t), n = this.model.getParentNodeLocation(i); return this.model.getNode(n).element; } getElementLocation(e) { if (null === e) return []; const t = this.nodes.get(e); if (!t) throw new S(this.user, `Tree element not found: ${e}`); return this.model.getNodeLocation(t); } } function se(e) { return { element: { elements: [e.element], incompressible: e.incompressible || !1, }, children: w.$.map(w.$.from(e.children), se), collapsible: e.collapsible, collapsed: e.collapsed, }; } function oe(e) { const t = [e.element], i = e.incompressible || !1; let n, r; for ( ; ([r, n] = w.$.consume(w.$.from(e.children), 2)), 1 === r.length && !(e = r[0]).incompressible; ) t.push(e.element); return { element: { elements: t, incompressible: i }, children: w.$.map(w.$.concat(r, n), oe), collapsible: e.collapsible, collapsed: e.collapsed, }; } function ae(e, t = 0) { let i; return ( (i = t < e.element.elements.length - 1 ? [ae(e, t + 1)] : w.$.map(w.$.from(e.children), (e) => ae(e, 0))), 0 === t && e.element.incompressible ? { element: e.element.elements[t], children: i, incompressible: !0, collapsible: e.collapsible, collapsed: e.collapsed, } : { element: e.element.elements[t], children: i, collapsible: e.collapsible, collapsed: e.collapsed, } ); } function le(e) { return ae(e, 0); } function ce(e, t, i) { return e.element === t ? Object.assign(Object.assign({}, e), { children: i }) : Object.assign(Object.assign({}, e), { children: w.$.map(w.$.from(e.children), (e) => ce(e, t, i)), }); } class de { constructor(e, t, i = {}) { (this.user = e), (this.rootRef = null), (this.nodes = new Map()), (this.model = new re(e, t, i)), (this.enabled = void 0 === i.compressionEnabled || i.compressionEnabled); } get onDidSplice() { return this.model.onDidSplice; } get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; } get onDidChangeRenderNodeCount() { return this.model.onDidChangeRenderNodeCount; } setChildren(e, t = w.$.empty()) { if (null === e) { const e = w.$.map(t, this.enabled ? oe : se); return void this._setChildren(null, e); } const i = this.nodes.get(e); if (!i) throw new Error('Unknown compressed tree node'); const n = this.model.getNode(i), r = this.model.getParentNodeLocation(i), s = this.model.getNode(r), o = ce(le(n), e, t), a = (this.enabled ? oe : se)(o), l = s.children.map((e) => (e === n ? a : e)); this._setChildren(s.element, l); } setCompressionEnabled(e) { if (e === this.enabled) return; this.enabled = e; const t = this.model.getNode().children, i = w.$.map(t, le), n = w.$.map(i, e ? oe : se); this._setChildren(null, n); } _setChildren(e, t) { const i = new Set(); this.model.setChildren( e, t, (e) => { for (const t of e.element.elements) i.add(t), this.nodes.set(t, e.element); }, (e) => { for (const t of e.element.elements) i.has(t) || this.nodes.delete(t); } ); } has(e) { return this.nodes.has(e); } getListIndex(e) { const t = this.getCompressedNode(e); return this.model.getListIndex(t); } getListRenderCount(e) { const t = this.getCompressedNode(e); return this.model.getListRenderCount(t); } getNode(e) { if (void 0 === e) return this.model.getNode(); const t = this.getCompressedNode(e); return this.model.getNode(t); } getNodeLocation(e) { const t = this.model.getNodeLocation(e); return null === t ? null : t.elements[t.elements.length - 1]; } getParentNodeLocation(e) { const t = this.getCompressedNode(e), i = this.model.getParentNodeLocation(t); return null === i ? null : i.elements[i.elements.length - 1]; } isCollapsible(e) { const t = this.getCompressedNode(e); return this.model.isCollapsible(t); } setCollapsible(e, t) { const i = this.getCompressedNode(e); return this.model.setCollapsible(i, t); } isCollapsed(e) { const t = this.getCompressedNode(e); return this.model.isCollapsed(t); } setCollapsed(e, t, i) { const n = this.getCompressedNode(e); return this.model.setCollapsed(n, t, i); } expandTo(e) { const t = this.getCompressedNode(e); this.model.expandTo(t); } rerender(e) { const t = this.getCompressedNode(e); this.model.rerender(t); } refilter() { this.model.refilter(); } getCompressedNode(e) { if (null === e) return null; const t = this.nodes.get(e); if (!t) throw new S(this.user, `Tree element not found: ${e}`); return t; } } const he = (e) => e[e.length - 1]; class ue { constructor(e, t) { (this.unwrapper = e), (this.node = t); } get element() { return null === this.node.element ? null : this.unwrapper(this.node.element); } get children() { return this.node.children.map((e) => new ue(this.unwrapper, e)); } get depth() { return this.node.depth; } get visibleChildrenCount() { return this.node.visibleChildrenCount; } get visibleChildIndex() { return this.node.visibleChildIndex; } get collapsible() { return this.node.collapsible; } get collapsed() { return this.node.collapsed; } get visible() { return this.node.visible; } get filterData() { return this.node.filterData; } } class ge { constructor(e, t, i = {}) { (this.rootRef = null), (this.elementMapper = i.elementMapper || he); const n = (e) => this.elementMapper(e.elements); (this.nodeMapper = new k((e) => new ue(n, e))), (this.model = new de( e, (function (e, t) { return { splice(i, n, r) { t.splice( i, n, r.map((t) => e.map(t)) ); }, updateElementHeight(e, i) { t.updateElementHeight(e, i); }, }; })(this.nodeMapper, t), (function (e, t) { return Object.assign(Object.assign({}, t), { sorter: t.sorter && { compare: (e, i) => t.sorter.compare(e.elements[0], i.elements[0]), }, identityProvider: t.identityProvider && { getId: (i) => t.identityProvider.getId(e(i)), }, filter: t.filter && { filter: (i, n) => t.filter.filter(e(i), n), }, }); })(n, i) )); } get onDidSplice() { return a.ju.map( this.model.onDidSplice, ({ insertedNodes: e, deletedNodes: t }) => ({ insertedNodes: e.map((e) => this.nodeMapper.map(e)), deletedNodes: t.map((e) => this.nodeMapper.map(e)), }) ); } get onDidChangeCollapseState() { return a.ju.map( this.model.onDidChangeCollapseState, ({ node: e, deep: t }) => ({ node: this.nodeMapper.map(e), deep: t, }) ); } get onDidChangeRenderNodeCount() { return a.ju.map(this.model.onDidChangeRenderNodeCount, (e) => this.nodeMapper.map(e) ); } setChildren(e, t = w.$.empty()) { this.model.setChildren(e, t); } setCompressionEnabled(e) { this.model.setCompressionEnabled(e); } has(e) { return this.model.has(e); } getListIndex(e) { return this.model.getListIndex(e); } getListRenderCount(e) { return this.model.getListRenderCount(e); } getNode(e) { return this.nodeMapper.map(this.model.getNode(e)); } getNodeLocation(e) { return e.element; } getParentNodeLocation(e) { return this.model.getParentNodeLocation(e); } isCollapsible(e) { return this.model.isCollapsible(e); } setCollapsible(e, t) { return this.model.setCollapsible(e, t); } isCollapsed(e) { return this.model.isCollapsed(e); } setCollapsed(e, t, i) { return this.model.setCollapsed(e, t, i); } expandTo(e) { return this.model.expandTo(e); } rerender(e) { return this.model.rerender(e); } refilter() { return this.model.refilter(); } getCompressedTreeNode(e = null) { return this.model.getNode(e); } } var fe = i(49898); class pe extends ne { constructor(e, t, i, n, r = {}) { super(e, t, i, n, r); } get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; } setChildren(e, t = w.$.empty()) { this.model.setChildren(e, t); } rerender(e) { void 0 !== e ? this.model.rerender(e) : this.view.rerender(); } hasElement(e) { return this.model.has(e); } createModel(e, t, i) { return new re(e, t, i); } } class me { constructor(e, t) { (this._compressedTreeNodeProvider = e), (this.renderer = t), (this.templateId = t.templateId), t.onDidChangeTwistieState && (this.onDidChangeTwistieState = t.onDidChangeTwistieState); } get compressedTreeNodeProvider() { return this._compressedTreeNodeProvider(); } renderTemplate(e) { return { compressedTreeNode: void 0, data: this.renderer.renderTemplate(e), }; } renderElement(e, t, i, n) { const r = this.compressedTreeNodeProvider.getCompressedTreeNode( e.element ); 1 === r.element.elements.length ? ((i.compressedTreeNode = void 0), this.renderer.renderElement(e, t, i.data, n)) : ((i.compressedTreeNode = r), this.renderer.renderCompressedElements(r, t, i.data, n)); } disposeElement(e, t, i, n) { i.compressedTreeNode ? this.renderer.disposeCompressedElements && this.renderer.disposeCompressedElements( i.compressedTreeNode, t, i.data, n ) : this.renderer.disposeElement && this.renderer.disposeElement(e, t, i.data, n); } disposeTemplate(e) { this.renderer.disposeTemplate(e.data); } renderTwistie(e, t) { this.renderer.renderTwistie && this.renderer.renderTwistie(e, t); } } !(function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); s > 3 && o && Object.defineProperty(t, i, o); })([fe.H], me.prototype, 'compressedTreeNodeProvider', null); class _e extends pe { constructor(e, t, i, n, r = {}) { const s = () => this; super( e, t, i, n.map((e) => new me(s, e)), (function (e, t) { return ( t && Object.assign(Object.assign({}, t), { keyboardNavigationLabelProvider: t.keyboardNavigationLabelProvider && { getKeyboardNavigationLabel(i) { let n; try { n = e().getCompressedTreeNode(i); } catch (e) { return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( i ); } return 1 === n.element.elements.length ? t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( i ) : t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel( n.element.elements ); }, }, }) ); })(s, r) ); } setChildren(e, t = w.$.empty()) { this.model.setChildren(e, t); } createModel(e, t, i) { return new ge(e, t, i); } updateOptions(e = {}) { super.updateOptions(e), void 0 !== e.compressionEnabled && this.model.setCompressionEnabled(e.compressionEnabled); } getCompressedTreeNode(e = null) { return this.model.getCompressedTreeNode(e); } } var be = i(17301), ve = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; function ye(e) { return Object.assign(Object.assign({}, e), { children: [], refreshPromise: void 0, stale: !0, slow: !1, collapsedByDefault: void 0, }); } function we(e, t) { return !!t.parent && (t.parent === e || we(e, t.parent)); } class Ce { constructor(e) { this.node = e; } get element() { return this.node.element.element; } get children() { return this.node.children.map((e) => new Ce(e)); } get depth() { return this.node.depth; } get visibleChildrenCount() { return this.node.visibleChildrenCount; } get visibleChildIndex() { return this.node.visibleChildIndex; } get collapsible() { return this.node.collapsible; } get collapsed() { return this.node.collapsed; } get visible() { return this.node.visible; } get filterData() { return this.node.filterData; } } class Se { constructor(e, t, i) { (this.renderer = e), (this.nodeMapper = t), (this.onDidChangeTwistieState = i), (this.renderedNodes = new Map()), (this.templateId = e.templateId); } renderTemplate(e) { return { templateData: this.renderer.renderTemplate(e) }; } renderElement(e, t, i, n) { this.renderer.renderElement( this.nodeMapper.map(e), t, i.templateData, n ); } renderTwistie(e, t) { return ( e.slow ? (0, n.PT)(t, j.classNames) : (0, n.GK)(t, j.classNames), !1 ); } disposeElement(e, t, i, n) { this.renderer.disposeElement && this.renderer.disposeElement( this.nodeMapper.map(e), t, i.templateData, n ); } disposeTemplate(e) { this.renderer.disposeTemplate(e.templateData); } dispose() { this.renderedNodes.clear(); } } function ke(e) { return { browserEvent: e.browserEvent, elements: e.elements.map((e) => e.element), }; } function xe(e) { return { browserEvent: e.browserEvent, element: e.element && e.element.element, target: e.target, }; } class Le extends L.kX { constructor(e) { super(e.elements.map((e) => e.element)), (this.data = e); } } function Me(e) { return e instanceof L.kX ? new Le(e) : e; } class De { constructor(e) { this.dnd = e; } getDragURI(e) { return this.dnd.getDragURI(e.element); } getDragLabel(e, t) { if (this.dnd.getDragLabel) return this.dnd.getDragLabel( e.map((e) => e.element), t ); } onDragStart(e, t) { this.dnd.onDragStart && this.dnd.onDragStart(Me(e), t); } onDragOver(e, t, i, n, r = !0) { return this.dnd.onDragOver(Me(e), t && t.element, i, n); } drop(e, t, i, n) { this.dnd.drop(Me(e), t && t.element, i, n); } onDragEnd(e) { this.dnd.onDragEnd && this.dnd.onDragEnd(e); } } function Ne(e) { return ( e && Object.assign(Object.assign({}, e), { collapseByDefault: !0, identityProvider: e.identityProvider && { getId: (t) => e.identityProvider.getId(t.element), }, dnd: e.dnd && new De(e.dnd), multipleSelectionController: e.multipleSelectionController && { isSelectionSingleChangeEvent: (t) => e.multipleSelectionController.isSelectionSingleChangeEvent( Object.assign(Object.assign({}, t), { element: t.element }) ), isSelectionRangeChangeEvent: (t) => e.multipleSelectionController.isSelectionRangeChangeEvent( Object.assign(Object.assign({}, t), { element: t.element }) ), }, accessibilityProvider: e.accessibilityProvider && Object.assign(Object.assign({}, e.accessibilityProvider), { getPosInSet: void 0, getSetSize: void 0, getRole: e.accessibilityProvider.getRole ? (t) => e.accessibilityProvider.getRole(t.element) : () => 'treeitem', isChecked: e.accessibilityProvider.isChecked ? (t) => { var i; return !!(null === (i = e.accessibilityProvider) || void 0 === i ? void 0 : i.isChecked(t.element)); } : void 0, getAriaLabel: (t) => e.accessibilityProvider.getAriaLabel(t.element), getWidgetAriaLabel: () => e.accessibilityProvider.getWidgetAriaLabel(), getWidgetRole: e.accessibilityProvider.getWidgetRole ? () => e.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: e.accessibilityProvider.getAriaLevel && ((t) => e.accessibilityProvider.getAriaLevel(t.element)), getActiveDescendantId: e.accessibilityProvider.getActiveDescendantId && ((t) => e.accessibilityProvider.getActiveDescendantId(t.element)), }), filter: e.filter && { filter: (t, i) => e.filter.filter(t.element, i), }, keyboardNavigationLabelProvider: e.keyboardNavigationLabelProvider && Object.assign( Object.assign({}, e.keyboardNavigationLabelProvider), { getKeyboardNavigationLabel: (t) => e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel( t.element ), } ), sorter: void 0, expandOnlyOnTwistieClick: void 0 === e.expandOnlyOnTwistieClick ? void 0 : 'function' != typeof e.expandOnlyOnTwistieClick ? e.expandOnlyOnTwistieClick : (t) => e.expandOnlyOnTwistieClick(t.element), additionalScrollHeight: e.additionalScrollHeight, }) ); } function Ee(e, t) { t(e), e.children.forEach((e) => Ee(e, t)); } class Te { constructor(e, t, i, n, s, o = {}) { (this.user = e), (this.dataSource = s), (this.nodes = new Map()), (this.subTreeRefreshPromises = new Map()), (this.refreshPromises = new Map()), (this._onDidRender = new a.Q5()), (this._onDidChangeNodeSlowState = new a.Q5()), (this.nodeMapper = new k((e) => new Ce(e))), (this.disposables = new r.SL()), (this.identityProvider = o.identityProvider), (this.autoExpandSingleChildren = void 0 !== o.autoExpandSingleChildren && o.autoExpandSingleChildren), (this.sorter = o.sorter), (this.collapseByDefault = o.collapseByDefault), (this.tree = this.createTree(e, t, i, n, o)), (this.root = ye({ element: void 0, parent: null, hasChildren: !0, })), this.identityProvider && (this.root = Object.assign(Object.assign({}, this.root), { id: null, })), this.nodes.set(null, this.root), this.tree.onDidChangeCollapseState( this._onDidChangeCollapseState, this, this.disposables ); } get onDidChangeFocus() { return a.ju.map(this.tree.onDidChangeFocus, ke); } get onDidChangeSelection() { return a.ju.map(this.tree.onDidChangeSelection, ke); } get onMouseDblClick() { return a.ju.map(this.tree.onMouseDblClick, xe); } get onPointer() { return a.ju.map(this.tree.onPointer, xe); } get onDidFocus() { return this.tree.onDidFocus; } get onDidDispose() { return this.tree.onDidDispose; } createTree(e, t, i, n, r) { const s = new $(i), o = n.map( (e) => new Se( e, this.nodeMapper, this._onDidChangeNodeSlowState.event ) ), a = Ne(r) || {}; return new pe(e, t, s, o, a); } updateOptions(e = {}) { this.tree.updateOptions(e); } getHTMLElement() { return this.tree.getHTMLElement(); } get scrollTop() { return this.tree.scrollTop; } set scrollTop(e) { this.tree.scrollTop = e; } domFocus() { this.tree.domFocus(); } layout(e, t) { this.tree.layout(e, t); } style(e) { this.tree.style(e); } getInput() { return this.root.element; } setInput(e, t) { return ve(this, void 0, void 0, function* () { this.refreshPromises.forEach((e) => e.cancel()), this.refreshPromises.clear(), (this.root.element = e); const i = t && { viewState: t, focus: [], selection: [] }; yield this._updateChildren(e, !0, !1, i), i && (this.tree.setFocus(i.focus), this.tree.setSelection(i.selection)), t && 'number' == typeof t.scrollTop && (this.scrollTop = t.scrollTop); }); } _updateChildren(e = this.root.element, t = !0, i = !1, n) { return ve(this, void 0, void 0, function* () { if (void 0 === this.root.element) throw new S(this.user, 'Tree input not set'); this.root.refreshPromise && (yield this.root.refreshPromise, yield a.ju.toPromise(this._onDidRender.event)); const r = this.getDataNode(e); if ((yield this.refreshAndRenderNode(r, t, n), i)) try { this.tree.rerender(r); } catch (e) {} }); } rerender(e) { if (void 0 === e || e === this.root.element) return void this.tree.rerender(); const t = this.getDataNode(e); this.tree.rerender(t); } collapse(e, t = !1) { const i = this.getDataNode(e); return this.tree.collapse(i === this.root ? null : i, t); } expand(e, t = !1) { return ve(this, void 0, void 0, function* () { if (void 0 === this.root.element) throw new S(this.user, 'Tree input not set'); this.root.refreshPromise && (yield this.root.refreshPromise, yield a.ju.toPromise(this._onDidRender.event)); const i = this.getDataNode(e); if (this.tree.hasElement(i) && !this.tree.isCollapsible(i)) return !1; if ( (i.refreshPromise && (yield this.root.refreshPromise, yield a.ju.toPromise(this._onDidRender.event)), i !== this.root && !i.refreshPromise && !this.tree.isCollapsed(i)) ) return !1; const n = this.tree.expand(i === this.root ? null : i, t); return ( i.refreshPromise && (yield this.root.refreshPromise, yield a.ju.toPromise(this._onDidRender.event)), n ); }); } setSelection(e, t) { const i = e.map((e) => this.getDataNode(e)); this.tree.setSelection(i, t); } getSelection() { return this.tree.getSelection().map((e) => e.element); } setFocus(e, t) { const i = e.map((e) => this.getDataNode(e)); this.tree.setFocus(i, t); } getFocus() { return this.tree.getFocus().map((e) => e.element); } reveal(e, t) { this.tree.reveal(this.getDataNode(e), t); } getDataNode(e) { const t = this.nodes.get(e === this.root.element ? null : e); if (!t) throw new S(this.user, `Data tree node not found: ${e}`); return t; } refreshAndRenderNode(e, t, i) { return ve(this, void 0, void 0, function* () { yield this.refreshNode(e, t, i), this.render(e, i); }); } refreshNode(e, t, i) { return ve(this, void 0, void 0, function* () { let n; return ( this.subTreeRefreshPromises.forEach((r, s) => { !n && (function (e, t) { return e === t || we(e, t) || we(t, e); })(s, e) && (n = r.then(() => this.refreshNode(e, t, i))); }), n || this.doRefreshSubTree(e, t, i) ); }); } doRefreshSubTree(e, t, i) { return ve(this, void 0, void 0, function* () { let n; (e.refreshPromise = new Promise((e) => (n = e))), this.subTreeRefreshPromises.set(e, e.refreshPromise), e.refreshPromise.finally(() => { (e.refreshPromise = void 0), this.subTreeRefreshPromises.delete(e); }); try { const r = yield this.doRefreshNode(e, t, i); (e.stale = !1), yield Promise.all( r.map((e) => this.doRefreshSubTree(e, t, i)) ); } finally { n(); } }); } doRefreshNode(e, t, i) { return ve(this, void 0, void 0, function* () { let n; if ( ((e.hasChildren = !!this.dataSource.hasChildren(e.element)), e.hasChildren) ) { const t = (0, O.Vs)(800); t.then( () => { (e.slow = !0), this._onDidChangeNodeSlowState.fire(e); }, (e) => null ), (n = this.doGetChildren(e).finally(() => t.cancel())); } else n = Promise.resolve(w.$.empty()); try { const r = yield n; return this.setChildren(e, r, t, i); } catch (t) { if ( (e !== this.root && this.tree.collapse(e === this.root ? null : e), (0, be.VV)(t)) ) return []; throw t; } finally { e.slow && ((e.slow = !1), this._onDidChangeNodeSlowState.fire(e)); } }); } doGetChildren(e) { let t = this.refreshPromises.get(e); return ( t || ((t = (0, O.PG)(() => ve(this, void 0, void 0, function* () { const t = yield this.dataSource.getChildren(e.element); return this.processChildren(t); }) )), this.refreshPromises.set(e, t), t.finally(() => { this.refreshPromises.delete(e); })) ); } _onDidChangeCollapseState({ node: e, deep: t }) { null !== e.element && !e.collapsed && e.element.stale && (t ? this.collapse(e.element.element) : this.refreshAndRenderNode(e.element, !1).catch(be.dL)); } setChildren(e, t, i, n) { const r = [...t]; if (0 === e.children.length && 0 === r.length) return []; const s = new Map(), o = new Map(); for (const t of e.children) if ((s.set(t.element, t), this.identityProvider)) { const e = this.tree.isCollapsed(t); o.set(t.id, { node: t, collapsed: e }); } const a = [], l = r.map((t) => { const r = !!this.dataSource.hasChildren(t); if (!this.identityProvider) { const i = ye({ element: t, parent: e, hasChildren: r }); return ( r && this.collapseByDefault && !this.collapseByDefault(t) && ((i.collapsedByDefault = !1), a.push(i)), i ); } const l = this.identityProvider.getId(t).toString(), c = o.get(l); if (c) { const e = c.node; return ( s.delete(e.element), this.nodes.delete(e.element), this.nodes.set(t, e), (e.element = t), (e.hasChildren = r), i ? c.collapsed ? (e.children.forEach((e) => Ee(e, (e) => this.nodes.delete(e.element)) ), e.children.splice(0, e.children.length), (e.stale = !0)) : a.push(e) : r && this.collapseByDefault && !this.collapseByDefault(t) && ((e.collapsedByDefault = !1), a.push(e)), e ); } const d = ye({ element: t, parent: e, id: l, hasChildren: r }); return ( n && n.viewState.focus && n.viewState.focus.indexOf(l) > -1 && n.focus.push(d), n && n.viewState.selection && n.viewState.selection.indexOf(l) > -1 && n.selection.push(d), n && n.viewState.expanded && n.viewState.expanded.indexOf(l) > -1 ? a.push(d) : r && this.collapseByDefault && !this.collapseByDefault(t) && ((d.collapsedByDefault = !1), a.push(d)), d ); }); for (const e of s.values()) Ee(e, (e) => this.nodes.delete(e.element)); for (const e of l) this.nodes.set(e.element, e); return ( e.children.splice(0, e.children.length, ...l), e !== this.root && this.autoExpandSingleChildren && 1 === l.length && 0 === a.length && ((l[0].collapsedByDefault = !1), a.push(l[0])), a ); } render(e, t) { const i = e.children.map((e) => this.asTreeElement(e, t)); this.tree.setChildren(e === this.root ? null : e, i), e !== this.root && this.tree.setCollapsible(e, e.hasChildren), this._onDidRender.fire(); } asTreeElement(e, t) { if (e.stale) return { element: e, collapsible: e.hasChildren, collapsed: !0 }; let i; return ( (i = !( t && t.viewState.expanded && e.id && t.viewState.expanded.indexOf(e.id) > -1 ) && e.collapsedByDefault), (e.collapsedByDefault = void 0), { element: e, children: e.hasChildren ? w.$.map(e.children, (e) => this.asTreeElement(e, t)) : [], collapsible: e.hasChildren, collapsed: i, } ); } processChildren(e) { return ( this.sorter && (e = [...e].sort(this.sorter.compare.bind(this.sorter))), e ); } dispose() { this.disposables.dispose(); } } class Ie { constructor(e) { this.node = e; } get element() { return { elements: this.node.element.elements.map((e) => e.element), incompressible: this.node.element.incompressible, }; } get children() { return this.node.children.map((e) => new Ie(e)); } get depth() { return this.node.depth; } get visibleChildrenCount() { return this.node.visibleChildrenCount; } get visibleChildIndex() { return this.node.visibleChildIndex; } get collapsible() { return this.node.collapsible; } get collapsed() { return this.node.collapsed; } get visible() { return this.node.visible; } get filterData() { return this.node.filterData; } } class Oe { constructor(e, t, i, n) { (this.renderer = e), (this.nodeMapper = t), (this.compressibleNodeMapperProvider = i), (this.onDidChangeTwistieState = n), (this.renderedNodes = new Map()), (this.disposables = []), (this.templateId = e.templateId); } renderTemplate(e) { return { templateData: this.renderer.renderTemplate(e) }; } renderElement(e, t, i, n) { this.renderer.renderElement( this.nodeMapper.map(e), t, i.templateData, n ); } renderCompressedElements(e, t, i, n) { this.renderer.renderCompressedElements( this.compressibleNodeMapperProvider().map(e), t, i.templateData, n ); } renderTwistie(e, t) { return ( e.slow ? (0, n.PT)(t, j.classNames) : (0, n.GK)(t, j.classNames), !1 ); } disposeElement(e, t, i, n) { this.renderer.disposeElement && this.renderer.disposeElement( this.nodeMapper.map(e), t, i.templateData, n ); } disposeCompressedElements(e, t, i, n) { this.renderer.disposeCompressedElements && this.renderer.disposeCompressedElements( this.compressibleNodeMapperProvider().map(e), t, i.templateData, n ); } disposeTemplate(e) { this.renderer.disposeTemplate(e.templateData); } dispose() { this.renderedNodes.clear(), (this.disposables = (0, r.B9)(this.disposables)); } } class Ae extends Te { constructor(e, t, i, n, r, s, o = {}) { super(e, t, i, r, s, o), (this.compressionDelegate = n), (this.compressibleNodeMapper = new k((e) => new Ie(e))), (this.filter = o.filter); } createTree(e, t, i, n, r) { const s = new $(i), o = n.map( (e) => new Oe( e, this.nodeMapper, () => this.compressibleNodeMapper, this._onDidChangeNodeSlowState.event ) ), a = (function (e) { const t = e && Ne(e); return ( t && Object.assign(Object.assign({}, t), { keyboardNavigationLabelProvider: t.keyboardNavigationLabelProvider && Object.assign( Object.assign({}, t.keyboardNavigationLabelProvider), { getCompressedNodeKeyboardNavigationLabel: (t) => e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel( t.map((e) => e.element) ), } ), }) ); })(r) || {}; return new _e(e, t, s, o, a); } asTreeElement(e, t) { return Object.assign( { incompressible: this.compressionDelegate.isIncompressible( e.element ), }, super.asTreeElement(e, t) ); } updateOptions(e = {}) { this.tree.updateOptions(e); } render(e, t) { if (!this.identityProvider) return super.render(e, t); const i = (e) => this.identityProvider.getId(e).toString(), n = (e) => { const t = new Set(); for (const n of e) { const e = this.tree.getCompressedTreeNode( n === this.root ? null : n ); if (e.element) for (const n of e.element.elements) t.add(i(n.element)); } return t; }, r = n(this.tree.getSelection()), s = n(this.tree.getFocus()); super.render(e, t); const o = this.getSelection(); let a = !1; const l = this.getFocus(); let c = !1; const d = (e) => { const t = e.element; if (t) for (let e = 0; e < t.elements.length; e++) { const n = i(t.elements[e].element), d = t.elements[t.elements.length - 1].element; r.has(n) && -1 === o.indexOf(d) && (o.push(d), (a = !0)), s.has(n) && -1 === l.indexOf(d) && (l.push(d), (c = !0)); } e.children.forEach(d); }; d(this.tree.getCompressedTreeNode(e === this.root ? null : e)), a && this.setSelection(o), c && this.setFocus(l); } processChildren(e) { return ( this.filter && (e = w.$.filter(e, (e) => { const t = 'boolean' == typeof (i = this.filter.filter(e, 1)) ? i ? 1 : 0 : N(i) ? E(i.visibility) : E(i); var i; if (2 === t) throw new Error( 'Recursive tree visibility not supported in async data compressed trees' ); return 1 === t; })), super.processChildren(e) ); } } class Re extends ne { constructor(e, t, i, n, r, s = {}) { super(e, t, i, n, s), (this.user = e), (this.dataSource = r), (this.identityProvider = s.identityProvider); } createModel(e, t, i) { return new re(e, t, i); } } var Pe = i(31106), Fe = function (e, t, i, n) { var r, s = arguments.length, o = s < 3 ? t : null === n ? (n = Object.getOwnPropertyDescriptor(t, i)) : n; if ( 'object' == typeof Reflect && 'function' == typeof Reflect.decorate ) o = Reflect.decorate(e, t, i, n); else for (var a = e.length - 1; a >= 0; a--) (r = e[a]) && (o = (s < 3 ? r(o) : s > 3 ? r(t, i, o) : r(t, i)) || o); return s > 3 && o && Object.defineProperty(t, i, o), o; }, Be = function (e, t) { return function (i, n) { t(i, n, e); }; }; const We = (0, m.yh)('listService'); let Ye = class { constructor(e) { (this._themeService = e), (this.disposables = new r.SL()), (this.lists = []), (this._lastFocusedWidget = void 0), (this._hasCreatedStyleController = !1); } get lastFocusedList() { return this._lastFocusedWidget; } register(e, t) { if (!this._hasCreatedStyleController) { this._hasCreatedStyleController = !0; const e = new o.wD((0, n.dS)(), ''); this.disposables.add((0, v.Jl)(e, this._themeService)); } if (this.lists.some((t) => t.widget === e)) throw new Error('Cannot register the same widget multiple times'); const i = { widget: e, extraContextKeys: t }; return ( this.lists.push(i), e.getHTMLElement() === document.activeElement && (this._lastFocusedWidget = e), (0, r.F8)( e.onDidFocus(() => (this._lastFocusedWidget = e)), (0, r.OF)(() => this.lists.splice(this.lists.indexOf(i), 1)), e.onDidDispose(() => { (this.lists = this.lists.filter((e) => e !== i)), this._lastFocusedWidget === e && (this._lastFocusedWidget = void 0); }) ) ); } dispose() { this.disposables.dispose(); } }; Ye = Fe([Be(0, y.XE)], Ye); const He = new p.uy('listFocus', !0), je = new p.uy('listSupportsMultiselect', !0), Ve = p.Ao.and(He, p.Ao.not('inputFocus')), ze = new p.uy('listHasSelectionOrFocus', !1), Ue = new p.uy('listDoubleSelection', !1), $e = new p.uy('listMultiSelection', !1), Ke = new p.uy('listSupportsKeyboardNavigation', !0), qe = 'listAutomaticKeyboardNavigation', Ge = new p.uy(qe, !0); let Ze = !1; function Je(e, t) { const i = e.createScoped(t.getHTMLElement()); return He.bindTo(i), i; } const Qe = 'workbench.list.multiSelectModifier', Xe = 'workbench.list.openMode', et = 'workbench.list.horizontalScrolling', tt = 'workbench.list.keyboardNavigation', it = 'workbench.list.automaticKeyboardNavigation', nt = 'workbench.tree.indent', rt = 'workbench.tree.renderIndentGuides', st = 'workbench.list.smoothScrolling'; function ot(e) { return 'alt' === e.getValue(Qe); } class at extends r.JT { constructor(e) { super(), (this.configurationService = e), (this.useAltAsMultipleSelectionModifier = ot(e)), this.registerListeners(); } registerListeners() { this._register( this.configurationService.onDidChangeConfiguration((e) => { e.affectsConfiguration(Qe) && (this.useAltAsMultipleSelectionModifier = ot( this.configurationService )); }) ); } isSelectionSingleChangeEvent(e) { return this.useAltAsMultipleSelectionModifier ? e.browserEvent.altKey : (0, o.Zo)(e); } isSelectionRangeChangeEvent(e) { return (0, o.wn)(e); } } function lt(e, t, i) { const n = new r.SL(), s = Object.assign({}, e); if ( !1 !== e.multipleSelectionSupport && !e.multipleSelectionController ) { const e = new at(t); (s.multipleSelectionController = e), n.add(e); } return ( (s.keyboardNavigationDelegate = { mightProducePrintableCharacter: (e) => i.mightProducePrintableCharacter(e), }), (s.smoothScrolling = t.getValue(st)), [s, n] ); } let ct = class extends o.aV { constructor(e, t, i, n, r, s, o, a, l, c) { const d = void 0 !== r.horizontalScrolling ? r.horizontalScrolling : l.getValue(et), [h, u] = lt(r, l, c); super( e, t, i, n, Object.assign( Object.assign( Object.assign( { keyboardSupport: !1 }, (0, v.o)(a.getColorTheme(), v.O2) ), h ), { horizontalScrolling: d } ) ), this.disposables.add(u), (this.contextKeyService = Je(s, this)), (this.themeService = a), je .bindTo(this.contextKeyService) .set(!(!1 === r.multipleSelectionSupport)), (this.listHasSelectionOrFocus = ze.bindTo( this.contextKeyService )), (this.listDoubleSelection = Ue.bindTo(this.contextKeyService)), (this.listMultiSelection = $e.bindTo(this.contextKeyService)), (this.horizontalScrolling = r.horizontalScrolling), (this._useAltAsMultipleSelectionModifier = ot(l)), this.disposables.add(this.contextKeyService), this.disposables.add(o.register(this)), r.overrideStyles && this.updateStyles(r.overrideStyles), this.disposables.add( this.onDidChangeSelection(() => { const e = this.getSelection(), t = this.getFocus(); this.contextKeyService.bufferChangeEvents(() => { this.listHasSelectionOrFocus.set( e.length > 0 || t.length > 0 ), this.listMultiSelection.set(e.length > 1), this.listDoubleSelection.set(2 === e.length); }); }) ), this.disposables.add( this.onDidChangeFocus(() => { const e = this.getSelection(), t = this.getFocus(); this.listHasSelectionOrFocus.set( e.length > 0 || t.length > 0 ); }) ), this.disposables.add( l.onDidChangeConfiguration((e) => { e.affectsConfiguration(Qe) && (this._useAltAsMultipleSelectionModifier = ot(l)); let t = {}; if ( e.affectsConfiguration(et) && void 0 === this.horizontalScrolling ) { const e = l.getValue(et); t = Object.assign(Object.assign({}, t), { horizontalScrolling: e, }); } if (e.affectsConfiguration(st)) { const e = l.getValue(st); t = Object.assign(Object.assign({}, t), { smoothScrolling: e, }); } Object.keys(t).length > 0 && this.updateOptions(t); }) ); } updateOptions(e) { super.updateOptions(e), e.overrideStyles && this.updateStyles(e.overrideStyles); } dispose() { super.dispose(), this._styler && this._styler.dispose(); } updateStyles(e) { this._styler && this._styler.dispose(), (this._styler = (0, v.Jl)(this, this.themeService, e)); } }; ct = Fe( [Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d)], ct ); let dt = class extends class { constructor(e, t, i, n, r = {}) { const s = () => this.model, a = n.map((e) => new c(e, s)); this.list = new o.aV( e, t, i, a, (function (e, t) { return Object.assign(Object.assign({}, t), { accessibilityProvider: t.accessibilityProvider && new d(e, t.accessibilityProvider), }); })(s, r) ); } updateOptions(e) { this.list.updateOptions(e); } getHTMLElement() { return this.list.getHTMLElement(); } get onDidFocus() { return this.list.onDidFocus; } get onDidDispose() { return this.list.onDidDispose; } get onMouseDblClick() { return a.ju.map( this.list.onMouseDblClick, ({ element: e, index: t, browserEvent: i }) => ({ element: void 0 === e ? void 0 : this._model.get(e), index: t, browserEvent: i, }) ); } get onPointer() { return a.ju.map( this.list.onPointer, ({ element: e, index: t, browserEvent: i }) => ({ element: void 0 === e ? void 0 : this._model.get(e), index: t, browserEvent: i, }) ); } get onDidChangeFocus() { return a.ju.map( this.list.onDidChangeFocus, ({ elements: e, indexes: t, browserEvent: i }) => ({ elements: e.map((e) => this._model.get(e)), indexes: t, browserEvent: i, }) ); } get onDidChangeSelection() { return a.ju.map( this.list.onDidChangeSelection, ({ elements: e, indexes: t, browserEvent: i }) => ({ elements: e.map((e) => this._model.get(e)), indexes: t, browserEvent: i, }) ); } get model() { return this._model; } set model(e) { (this._model = e), this.list.splice(0, this.list.length, (0, s.w6)(e.length)); } getFocus() { return this.list.getFocus(); } setSelection(e, t) { this.list.setSelection(e, t); } getSelection() { return this.list.getSelection(); } style(e) { this.list.style(e); } dispose() { this.list.dispose(); } } { constructor(e, t, i, n, s, o, a, l, c, d) { const h = void 0 !== s.horizontalScrolling ? s.horizontalScrolling : c.getValue(et), [u, g] = lt(s, c, d); super( e, t, i, n, Object.assign( Object.assign( Object.assign( { keyboardSupport: !1 }, (0, v.o)(l.getColorTheme(), v.O2) ), u ), { horizontalScrolling: h } ) ), (this.disposables = new r.SL()), this.disposables.add(g), (this.contextKeyService = Je(o, this)), (this.horizontalScrolling = s.horizontalScrolling), je .bindTo(this.contextKeyService) .set(!(!1 === s.multipleSelectionSupport)), (this._useAltAsMultipleSelectionModifier = ot(c)), this.disposables.add(this.contextKeyService), this.disposables.add(a.register(this)), s.overrideStyles && this.disposables.add((0, v.Jl)(this, l, s.overrideStyles)), this.disposables.add( c.onDidChangeConfiguration((e) => { e.affectsConfiguration(Qe) && (this._useAltAsMultipleSelectionModifier = ot(c)); let t = {}; if ( e.affectsConfiguration(et) && void 0 === this.horizontalScrolling ) { const e = c.getValue(et); t = Object.assign(Object.assign({}, t), { horizontalScrolling: e, }); } if (e.affectsConfiguration(st)) { const e = c.getValue(st); t = Object.assign(Object.assign({}, t), { smoothScrolling: e, }); } Object.keys(t).length > 0 && this.updateOptions(t); }) ); } dispose() { super.dispose(), this.disposables.dispose(); } }; dt = Fe( [Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d)], dt ); class ht extends r.JT { constructor(e, t) { var i, n; super(), (this.widget = e), (this._onDidOpen = new a.Q5()), (this.onDidOpen = this._onDidOpen.event), (this.openOnFocus = null !== (i = null == t ? void 0 : t.openOnFocus) && void 0 !== i && i), this._register( a.ju.filter( this.widget.onDidChangeSelection, (e) => e.browserEvent instanceof KeyboardEvent )((e) => this.onSelectionFromKeyboard(e)) ), this._register( this.widget.onPointer((e) => this.onPointer(e.browserEvent)) ), this._register( this.widget.onMouseDblClick((e) => this.onMouseDblClick(e.browserEvent) ) ), this.openOnFocus && this._register( a.ju.filter( this.widget.onDidChangeFocus, (e) => e.browserEvent instanceof KeyboardEvent )((e) => this.onFocusFromKeyboard(e)) ), 'boolean' != typeof (null == t ? void 0 : t.openOnSingleClick) && (null == t ? void 0 : t.configurationService) ? ((this.openOnSingleClick = 'doubleClick' !== (null == t ? void 0 : t.configurationService.getValue(Xe))), this._register( null == t ? void 0 : t.configurationService.onDidChangeConfiguration(() => { this.openOnSingleClick = 'doubleClick' !== (null == t ? void 0 : t.configurationService.getValue(Xe)); }) )) : (this.openOnSingleClick = null === (n = null == t ? void 0 : t.openOnSingleClick) || void 0 === n || n); } onFocusFromKeyboard(e) { const t = this.widget.getFocus(); this.widget.setSelection(t, e.browserEvent); const i = 'boolean' != typeof e.browserEvent.preserveFocus || e.browserEvent.preserveFocus; this._open(i, !1, !1, e.browserEvent); } onSelectionFromKeyboard(e) { if (1 !== e.elements.length) return; const t = 'boolean' != typeof e.browserEvent.preserveFocus || e.browserEvent.preserveFocus; this._open(t, !1, !1, e.browserEvent); } onPointer(e) { if (!this.openOnSingleClick) return; if (2 === e.detail) return; const t = 1 === e.button, i = e.ctrlKey || e.metaKey || e.altKey; this._open(!0, t, i, e); } onMouseDblClick(e) { if (!e) return; const t = e.ctrlKey || e.metaKey || e.altKey; this._open(!1, !0, t, e); } _open(e, t, i, n) { this._onDidOpen.fire({ editorOptions: { preserveFocus: e, pinned: t, revealIfVisible: !0, }, sideBySide: i, element: this.widget.getSelection()[0], browserEvent: n, }); } } class ut extends ht { constructor(e, t) { super(e, t); } } function gt(e, t) { let i = !1; return (n) => { if (i) return (i = !1), !1; const r = t.softDispatch(n, e); return r && r.enterChord ? ((i = !0), !1) : ((i = !1), !0); }; } let ft = class extends pe { constructor(e, t, i, n, r, s, o, a, l, c, d) { const { options: h, getAutomaticKeyboardNavigation: u, disposable: g, } = vt(t, r, s, l, c, d); super(e, t, i, n, h), this.disposables.add(g), (this.internals = new yt( this, r, u, r.overrideStyles, s, o, a, l, d )), this.disposables.add(this.internals); } }; ft = Fe( [ Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d), Be(10, Pe.F), ], ft ); let pt = class extends _e { constructor(e, t, i, n, r, s, o, a, l, c, d) { const { options: h, getAutomaticKeyboardNavigation: u, disposable: g, } = vt(t, r, s, l, c, d); super(e, t, i, n, h), this.disposables.add(g), (this.internals = new yt( this, r, u, r.overrideStyles, s, o, a, l, d )), this.disposables.add(this.internals); } updateOptions(e = {}) { super.updateOptions(e), e.overrideStyles && this.internals.updateStyleOverrides(e.overrideStyles); } }; pt = Fe( [ Be(5, p.i6), Be(6, We), Be(7, y.XE), Be(8, g.Ui), Be(9, _.d), Be(10, Pe.F), ], pt ); let mt = class extends Re { constructor(e, t, i, n, r, s, o, a, l, c, d, h) { const { options: u, getAutomaticKeyboardNavigation: g, disposable: f, } = vt(t, s, o, c, d, h); super(e, t, i, n, r, u), this.disposables.add(f), (this.internals = new yt( this, s, g, s.overrideStyles, o, a, l, c, h )), this.disposables.add(this.internals); } updateOptions(e = {}) { super.updateOptions(e), e.overrideStyles && this.internals.updateStyleOverrides(e.overrideStyles); } }; mt = Fe( [ Be(6, p.i6), Be(7, We), Be(8, y.XE), Be(9, g.Ui), Be(10, _.d), Be(11, Pe.F), ], mt ); let _t = class extends Te { constructor(e, t, i, n, r, s, o, a, l, c, d, h) { const { options: u, getAutomaticKeyboardNavigation: g, disposable: f, } = vt(t, s, o, c, d, h); super(e, t, i, n, r, u), this.disposables.add(f), (this.internals = new yt( this, s, g, s.overrideStyles, o, a, l, c, h )), this.disposables.add(this.internals); } get onDidOpen() { return this.internals.onDidOpen; } updateOptions(e = {}) { super.updateOptions(e), e.overrideStyles && this.internals.updateStyleOverrides(e.overrideStyles); } }; _t = Fe( [ Be(6, p.i6), Be(7, We), Be(8, y.XE), Be(9, g.Ui), Be(10, _.d), Be(11, Pe.F), ], _t ); let bt = class extends Ae { constructor(e, t, i, n, r, s, o, a, l, c, d, h, u) { const { options: g, getAutomaticKeyboardNavigation: f, disposable: p, } = vt(t, o, a, d, h, u); super(e, t, i, n, r, s, g), this.disposables.add(p), (this.internals = new yt( this, o, f, o.overrideStyles, a, l, c, d, u )), this.disposables.add(this.internals); } }; function vt(e, t, i, n, r, s) { Ke.bindTo(i), Ze || (Ge.bindTo(i), (Ze = !0)); const o = () => { let e = i.getContextKeyValue(qe); return e && (e = n.getValue(it)), e; }, a = s.isScreenReaderOptimized() ? 'simple' : n.getValue(tt), l = void 0 !== t.horizontalScrolling ? t.horizontalScrolling : n.getValue(et), [c, d] = lt(t, n, r), h = t.additionalScrollHeight; return { getAutomaticKeyboardNavigation: o, disposable: d, options: Object.assign(Object.assign({ keyboardSupport: !1 }, c), { indent: n.getValue(nt), renderIndentGuides: n.getValue(rt), smoothScrolling: n.getValue(st), automaticKeyboardNavigation: o(), simpleKeyboardNavigation: 'simple' === a, filterOnType: 'filter' === a, horizontalScrolling: l, keyboardNavigationEventFilter: gt(e, r), additionalScrollHeight: h, hideTwistiesOfChildlessElements: t.hideTwistiesOfChildlessElements, expandOnlyOnDoubleClick: 'doubleClick' === n.getValue(Xe), }), }; } bt = Fe( [ Be(7, p.i6), Be(8, We), Be(9, y.XE), Be(10, g.Ui), Be(11, _.d), Be(12, Pe.F), ], bt ); let yt = class { constructor(e, t, i, n, r, s, o, a, l) { (this.tree = e), (this.themeService = o), (this.disposables = []), (this.contextKeyService = Je(r, e)), je .bindTo(this.contextKeyService) .set(!(!1 === t.multipleSelectionSupport)), (this.hasSelectionOrFocus = ze.bindTo(this.contextKeyService)), (this.hasDoubleSelection = Ue.bindTo(this.contextKeyService)), (this.hasMultiSelection = $e.bindTo(this.contextKeyService)), (this._useAltAsMultipleSelectionModifier = ot(a)); const c = new Set(); c.add(qe); const d = () => { const t = l.isScreenReaderOptimized() ? 'simple' : a.getValue(tt); e.updateOptions({ simpleKeyboardNavigation: 'simple' === t, filterOnType: 'filter' === t, }); }; this.updateStyleOverrides(n), this.disposables.push( this.contextKeyService, s.register(e), e.onDidChangeSelection(() => { const t = e.getSelection(), i = e.getFocus(); this.contextKeyService.bufferChangeEvents(() => { this.hasSelectionOrFocus.set(t.length > 0 || i.length > 0), this.hasMultiSelection.set(t.length > 1), this.hasDoubleSelection.set(2 === t.length); }); }), e.onDidChangeFocus(() => { const t = e.getSelection(), i = e.getFocus(); this.hasSelectionOrFocus.set(t.length > 0 || i.length > 0); }), a.onDidChangeConfiguration((n) => { let r = {}; if ( (n.affectsConfiguration(Qe) && (this._useAltAsMultipleSelectionModifier = ot(a)), n.affectsConfiguration(nt)) ) { const e = a.getValue(nt); r = Object.assign(Object.assign({}, r), { indent: e }); } if (n.affectsConfiguration(rt)) { const e = a.getValue(rt); r = Object.assign(Object.assign({}, r), { renderIndentGuides: e, }); } if (n.affectsConfiguration(st)) { const e = a.getValue(st); r = Object.assign(Object.assign({}, r), { smoothScrolling: e, }); } if ( (n.affectsConfiguration(tt) && d(), n.affectsConfiguration(it) && (r = Object.assign(Object.assign({}, r), { automaticKeyboardNavigation: i(), })), n.affectsConfiguration(et) && void 0 === t.horizontalScrolling) ) { const e = a.getValue(et); r = Object.assign(Object.assign({}, r), { horizontalScrolling: e, }); } n.affectsConfiguration(Xe) && (r = Object.assign(Object.assign({}, r), { expandOnlyOnDoubleClick: 'doubleClick' === a.getValue(Xe), })), Object.keys(r).length > 0 && e.updateOptions(r); }), this.contextKeyService.onDidChangeContext((t) => { t.affectsSome(c) && e.updateOptions({ automaticKeyboardNavigation: i() }); }), l.onDidChangeScreenReaderOptimized(() => d()) ), (this.navigator = new ut( e, Object.assign({ configurationService: a }, t) )), this.disposables.push(this.navigator); } get onDidOpen() { return this.navigator.onDidOpen; } updateStyleOverrides(e) { (0, r.B9)(this.styler), (this.styler = e ? (0, v.Jl)(this.tree, this.themeService, e) : r.JT.None); } dispose() { (this.disposables = (0, r.B9)(this.disposables)), (0, r.B9)(this.styler), (this.styler = void 0); } }; (yt = Fe( [Be(4, p.i6), Be(5, We), Be(6, y.XE), Be(7, g.Ui), Be(8, Pe.F)], yt )), b.B.as(f.IP.Configuration).registerConfiguration({ id: 'workbench', order: 7, title: (0, u.N)('workbenchConfigurationTitle', 'Workbench'), type: 'object', properties: { [Qe]: { type: 'string', enum: ['ctrlCmd', 'alt'], enumDescriptions: [ (0, u.N)( 'multiSelectModifier.ctrlCmd', 'Maps to `Control` on Windows and Linux and to `Command` on macOS.' ), (0, u.N)( 'multiSelectModifier.alt', 'Maps to `Alt` on Windows and Linux and to `Option` on macOS.' ), ], default: 'ctrlCmd', description: (0, u.N)( { key: 'multiSelectModifier', comment: [ '- `ctrlCmd` refers to a value the setting can take and should not be localized.', '- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized.', ], }, "The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier." ), }, [Xe]: { type: 'string', enum: ['singleClick', 'doubleClick'], default: 'singleClick', description: (0, u.N)( { key: 'openModeModifier', comment: [ '`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized.', ], }, 'Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ' ), }, [et]: { type: 'boolean', default: !1, description: (0, u.N)( 'horizontalScrolling setting', 'Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.' ), }, [nt]: { type: 'number', default: 8, minimum: 0, maximum: 40, description: (0, u.N)( 'tree indent setting', 'Controls tree indentation in pixels.' ), }, [rt]: { type: 'string', enum: ['none', 'onHover', 'always'], default: 'onHover', description: (0, u.N)( 'render tree indent guides', 'Controls whether the tree should render indent guides.' ), }, [st]: { type: 'boolean', default: !1, description: (0, u.N)( 'list smoothScrolling setting', 'Controls whether lists and trees have smooth scrolling.' ), }, [tt]: { type: 'string', enum: ['simple', 'highlight', 'filter'], enumDescriptions: [ (0, u.N)( 'keyboardNavigationSettingKey.simple', 'Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.' ), (0, u.N)( 'keyboardNavigationSettingKey.highlight', 'Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.' ), (0, u.N)( 'keyboardNavigationSettingKey.filter', 'Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.' ), ], default: 'highlight', description: (0, u.N)( 'keyboardNavigationSettingKey', 'Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.' ), }, [it]: { type: 'boolean', default: !0, markdownDescription: (0, u.N)( 'automatic keyboard navigation setting', 'Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut.' ), }, }, }); }, 43557: (e, t, i) => { 'use strict'; i.d(t, { VZ: () => o, in: () => a, d8: () => d }); var n = i(72065), r = i(5976), s = i(4669); const o = (0, n.yh)('logService'); var a; !(function (e) { (e[(e.Trace = 0)] = 'Trace'), (e[(e.Debug = 1)] = 'Debug'), (e[(e.Info = 2)] = 'Info'), (e[(e.Warning = 3)] = 'Warning'), (e[(e.Error = 4)] = 'Error'), (e[(e.Critical = 5)] = 'Critical'), (e[(e.Off = 6)] = 'Off'); })(a || (a = {})); const l = a.Info; class c extends r.JT { constructor() { super(...arguments), (this.level = l), (this._onDidChangeLogLevel = this._register(new s.Q5())); } setLevel(e) { this.level !== e && ((this.level = e), this._onDidChangeLogLevel.fire(this.level)); } getLevel() { return this.level; } } class d extends c { constructor(e = l) { super(), this.setLevel(e); } trace(e, ...t) { this.getLevel() <= a.Trace && console.log('%cTRACE', 'color: #888', e, ...t); } info(e, ...t) { this.getLevel() <= a.Info && console.log('%c INFO', 'color: #33f', e, ...t); } error(e, ...t) { this.getLevel() <= a.Error && console.log('%c ERR', 'color: #f33', e, ...t); } dispose() {} } }, 98674: (e, t, i) => { 'use strict'; i.d(t, { ZL: () => n, H0: () => r, lT: () => l }); var n, r, s = i(72065), o = i(63580), a = i(14603); !(function (e) { (e[(e.Hint = 1)] = 'Hint'), (e[(e.Info = 2)] = 'Info'), (e[(e.Warning = 4)] = 'Warning'), (e[(e.Error = 8)] = 'Error'); })(n || (n = {})), (function (e) { e.compare = function (e, t) { return t - e; }; const t = Object.create(null); (t[e.Error] = (0, o.N)('sev.error', 'Error')), (t[e.Warning] = (0, o.N)('sev.warning', 'Warning')), (t[e.Info] = (0, o.N)('sev.info', 'Info')), (e.toString = function (e) { return t[e] || ''; }), (e.fromSeverity = function (t) { switch (t) { case a.Z.Error: return e.Error; case a.Z.Warning: return e.Warning; case a.Z.Info: return e.Info; case a.Z.Ignore: return e.Hint; } }), (e.toSeverity = function (t) { switch (t) { case e.Error: return a.Z.Error; case e.Warning: return a.Z.Warning; case e.Info: return a.Z.Info; case e.Hint: return a.Z.Ignore; } }); })(n || (n = {})), (function (e) { const t = ''; function i(e, i) { let r = [t]; return ( e.source ? r.push(e.source.replace('¦', '\\¦')) : r.push(t), e.code ? 'string' == typeof e.code ? r.push(e.code.replace('¦', '\\¦')) : r.push(e.code.value.replace('¦', '\\¦')) : r.push(t), void 0 !== e.severity && null !== e.severity ? r.push(n.toString(e.severity)) : r.push(t), e.message && i ? r.push(e.message.replace('¦', '\\¦')) : r.push(t), void 0 !== e.startLineNumber && null !== e.startLineNumber ? r.push(e.startLineNumber.toString()) : r.push(t), void 0 !== e.startColumn && null !== e.startColumn ? r.push(e.startColumn.toString()) : r.push(t), void 0 !== e.endLineNumber && null !== e.endLineNumber ? r.push(e.endLineNumber.toString()) : r.push(t), void 0 !== e.endColumn && null !== e.endColumn ? r.push(e.endColumn.toString()) : r.push(t), r.push(t), r.join('¦') ); } (e.makeKey = function (e) { return i(e, !0); }), (e.makeKeyOptionalMessage = i); })(r || (r = {})); const l = (0, s.yh)('markerService'); }, 59422: (e, t, i) => { 'use strict'; i.d(t, { lT: () => n, EO: () => r }), i(14603); const n = (0, i(72065).yh)('notificationService'); class r {} }, 50988: (e, t, i) => { 'use strict'; i.d(t, { v4: () => l, SW: () => c, xn: () => d }); var n = i(70666), r = i(72065), s = i(5976), o = i(97295), a = function (e, t, i, n) { return new (i || (i = Promise))(function (r, s) { function o(e) { try { l(n.next(e)); } catch (e) { s(e); } } function a(e) { try { l(n.throw(e)); } catch (e) { s(e); } } function l(e) { var t; e.done ? r(e.value) : ((t = e.value), t instanceof i ? t : new i(function (e) { e(t); })).then(o, a); } l((n = n.apply(e, t || [])).next()); }); }; const l = (0, r.yh)('openerService'), c = Object.freeze({ _serviceBrand: void 0, registerOpener: () => s.JT.None, registerValidator: () => s.JT.None, registerExternalUriResolver: () => s.JT.None, setExternalOpener() {}, open() { return a(this, void 0, void 0, function* () { return !1; }); }, resolveExternalUri(e) { return a(this, void 0, void 0, function* () { return { resolved: e, dispose() {} }; }); }, }); function d(e, t) { return n.o.isUri(e) ? (0, o.qq)(e.scheme, t) : (0, o.ok)(e, t + ':'); } }, 90535: (e, t, i) => { 'use strict'; i.d(t, { E: () => r, e: () => s }); var n = i(72065); class r { constructor(e) { this.callback = e; } report(e) { (this._value = e), this.callback(this._value); } } r.None = Object.freeze({ report() {} }); const s = (0, n.yh)('editorProgressService'); }, 90725: (e, t, i) => { 'use strict'; i.d(t, { Ry: () => n, IP: () => a }); var n, r = i(89872), s = i(9488), o = i(5976); !(function (e) { (e[(e.PRESERVE = 0)] = 'PRESERVE'), (e[(e.LAST = 1)] = 'LAST'); })(n || (n = {})); const a = { Quickaccess: 'workbench.contributions.quickaccess' }; r.B.add( a.Quickaccess, new (class { constructor() { (this.providers = []), (this.defaultProvider = void 0); } registerQuickAccessProvider(e) { return ( 0 === e.prefix.length ? (this.defaultProvider = e) : this.providers.push(e), this.providers.sort( (e, t) => t.prefix.length - e.prefix.length ), (0, o.OF)(() => { this.providers.splice(this.providers.indexOf(e), 1), this.defaultProvider === e && (this.defaultProvider = void 0); }) ); } getQuickAccessProviders() { return (0, s.kX)([this.defaultProvider, ...this.providers]); } getQuickAccessProvider(e) { return ( (e && this.providers.find((t) => e.startsWith(t.prefix))) || this.defaultProvider ); } })() ); }, 41157: (e, t, i) => { 'use strict'; i.d(t, { jG: () => r.j, eJ: () => s }); var n = i(72065), r = i(67746); const s = (0, n.yh)('quickInputService'); }, 89872: (e, t, i) => { 'use strict'; i.d(t, { B: () => s }); var n = i(98401), r = i(35146); const s = new (class { constructor() { this.data = new Map(); } add(e, t) { r.ok(n.HD(e)), r.ok(n.Kn(t)), r.ok( !this.data.has(e), 'There is already an extension with this id' ), this.data.set(e, t); } as(e) { return this.data.get(e) || null; } })(); }, 52365: (e, t, i) => { 'use strict'; i.d(t, { Uy: () => a, fk: () => l, vm: () => c }); var n = i(72065), r = i(4669), s = i(5976), o = i(98401); const a = (0, n.yh)('storageService'); var l; !(function (e) { (e[(e.NONE = 0)] = 'NONE'), (e[(e.SHUTDOWN = 1)] = 'SHUTDOWN'); })(l || (l = {})); class c extends s.JT { constructor() { super(...arguments), (this._onDidChangeStorage = this._register(new r.Q5())), (this._onWillSaveState = this._register(new r.Q5())), (this.onWillSaveState = this._onWillSaveState.event), (this.globalCache = new Map()), (this.workspaceCache = new Map()); } getCache(e) { return 0 === e ? this.globalCache : this.workspaceCache; } get(e, t, i) { const n = this.getCache(t).get(e); return (0, o.Jp)(n) ? i : n; } getBoolean(e, t, i) { const n = this.getCache(t).get(e); return (0, o.Jp)(n) ? i : 'true' === n; } getNumber(e, t, i) { const n = this.getCache(t).get(e); return (0, o.Jp)(n) ? i : parseInt(n, 10); } store(e, t, i) { if ((0, o.Jp)(t)) return this.remove(e, i); const n = String(t); return ( this.getCache(i).get(e) === n || (this.getCache(i).set(e, n), this._onDidChangeStorage.fire({ scope: i, key: e })), Promise.resolve() ); } remove(e, t) { return this.getCache(t).delete(e) ? (this._onDidChangeStorage.fire({ scope: t, key: e }), Promise.resolve()) : Promise.resolve(); } } }, 10829: (e, t, i) => { 'use strict'; i.d(t, { b: () => n }); const n = (0, i(72065).yh)('telemetryService'); }, 73910: (e, t, i) => { 'use strict'; i.d(t, { IP: () => c, P6: () => h, dR: () => u, Id: () => g, XZ: () => f, R8: () => p, lR: () => m, xL: () => _, ur: () => b, Sw: () => v, rh: () => y, sE: () => w, zJ: () => C, dt: () => S, PR: () => k, XE: () => x, Pv: () => L, _l: () => M, YI: () => D, EP: () => N, RV: () => E, SU: () => T, C3: () => I, p: () => O, _t: () => A, OZ: () => R, j5: () => B, b7: () => W, GO: () => Y, g8: () => H, qe: () => j, _w: () => V, et: () => z, AB: () => U, yn: () => $, zR: () => K, lX: () => q, b6: () => G, uo: () => Z, pW: () => J, c6: () => Q, T8: () => X, Du: () => ee, fE: () => te, cv: () => ie, NO: () => ne, D0: () => re, Hf: () => se, D1: () => oe, Ng: () => ae, zK: () => le, tZ: () => ce, lo: () => de, kJ: () => he, op: () => ue, hE: () => ge, yb: () => fe, ES: () => pe, Rz: () => me, g_: () => _e, ny: () => be, MU: () => ve, jU: () => ye, pn: () => we, Ei: () => Ce, gk: () => Se, pt: () => ke, yJ: () => xe, Sb: () => Le, CN: () => Me, Lo: () => De, _Y: () => Ne, Fu: () => Ee, sK: () => Te, Cz: () => Ie, ke: () => Oe, yp: () => Ae, P4: () => Re, XL: () => Pe, mH: () => Fe, LL: () => Be, L_: () => We, _b: () => Ye, _2: () => He, dC: () => je, M6: () => Ve, rg: () => ze, yt: () => Ue, s$: () => $e, mV: () => Ke, $d: () => qe, AS: () => Ge, Gw: () => Ze, vG: () => Je, oS: () => Qe, S: () => Xe, Un: () => et, Cd: () => tt, DE: () => it, Hz: () => nt, jb: () => rt, $D: () => st, E3: () => ot, ZG: () => at, u2: () => lt, Pk: () => ct, I1: () => dt, U6: () => ht, Fm: () => ut, SP: () => gt, KT: () => ft, ov: () => pt, Gj: () => mt, Iv: () => _t, kV: () => bt, CA: () => vt, Xy: () => yt, br: () => wt, Jp: () => Ct, BO: () => St, OL: () => kt, _j: () => xt, Zn: () => Mt, kw: () => Dt, Sn: () => Et, }); var n = i(89872), r = i(41264), s = i(4669), o = i(63580), a = i(81294), l = i(15393); const c = { ColorContribution: 'base.contributions.colors' }, d = new (class { constructor() { (this._onDidChangeSchema = new s.Q5()), (this.onDidChangeSchema = this._onDidChangeSchema.event), (this.colorSchema = { type: 'object', properties: {} }), (this.colorReferenceSchema = { type: 'string', enum: [], enumDescriptions: [], }), (this.colorsById = {}); } registerColor(e, t, i, n = !1, r) { let s = { id: e, description: i, defaults: t, needsTransparency: n, deprecationMessage: r, }; this.colorsById[e] = s; let o = { type: 'string', description: i, format: 'color-hex', defaultSnippets: [{ body: '${1:#ff0000}' }], }; return ( r && (o.deprecationMessage = r), (this.colorSchema.properties[e] = o), this.colorReferenceSchema.enum.push(e), this.colorReferenceSchema.enumDescriptions.push(i), this._onDidChangeSchema.fire(), e ); } resolveDefaultColor(e, t) { const i = this.colorsById[e]; if (i && i.defaults) return Et(i.defaults[t.type], t); } getColorSchema() { return this.colorSchema; } toString() { return Object.keys(this.colorsById) .sort((e, t) => { let i = -1 === e.indexOf('.') ? 0 : 1, n = -1 === t.indexOf('.') ? 0 : 1; return i !== n ? i - n : e.localeCompare(t); }) .map((e) => `- \`${e}\`: ${this.colorsById[e].description}`) .join('\n'); } })(); function h(e, t, i, n, r) { return d.registerColor(e, t, i, n, r); } n.B.add(c.ColorContribution, d); const u = h( 'foreground', { dark: '#CCCCCC', light: '#616161', hc: '#FFFFFF' }, o.N( 'foreground', 'Overall foreground color. This color is only used if not overridden by a component.' ) ), g = h( 'errorForeground', { dark: '#F48771', light: '#A1260D', hc: '#F48771' }, o.N( 'errorForeground', 'Overall foreground color for error messages. This color is only used if not overridden by a component.' ) ), f = h( 'icon.foreground', { dark: '#C5C5C5', light: '#424242', hc: '#FFFFFF' }, o.N( 'iconForeground', 'The default color for icons in the workbench.' ) ), p = h( 'focusBorder', { dark: '#007FD4', light: '#0090F1', hc: '#F38518' }, o.N( 'focusBorder', 'Overall border color for focused elements. This color is only used if not overridden by a component.' ) ), m = h( 'contrastBorder', { light: null, dark: null, hc: '#6FC3DF' }, o.N( 'contrastBorder', 'An extra border around elements to separate them from others for greater contrast.' ) ), _ = h( 'contrastActiveBorder', { light: null, dark: null, hc: p }, o.N( 'activeContrastBorder', 'An extra border around active elements to separate them from others for greater contrast.' ) ), b = h( 'textLink.foreground', { light: '#006AB1', dark: '#3794FF', hc: '#3794FF' }, o.N('textLinkForeground', 'Foreground color for links in text.') ), v = h( 'textCodeBlock.background', { light: '#dcdcdc66', dark: '#0a0a0a66', hc: r.Il.black }, o.N( 'textCodeBlockBackground', 'Background color for code blocks in text.' ) ), y = h( 'widget.shadow', { dark: '#000000', light: '#A8A8A8', hc: null }, o.N( 'widgetShadow', 'Shadow color of widgets such as find/replace inside the editor.' ) ), w = h( 'input.background', { dark: '#3C3C3C', light: r.Il.white, hc: r.Il.black }, o.N('inputBoxBackground', 'Input box background.') ), C = h( 'input.foreground', { dark: u, light: u, hc: u }, o.N('inputBoxForeground', 'Input box foreground.') ), S = h( 'input.border', { dark: null, light: null, hc: m }, o.N('inputBoxBorder', 'Input box border.') ), k = h( 'inputOption.activeBorder', { dark: '#007ACC00', light: '#007ACC00', hc: m }, o.N( 'inputBoxActiveOptionBorder', 'Border color of activated options in input fields.' ) ), x = h( 'inputOption.activeBackground', { dark: Mt(p, 0.4), light: Mt(p, 0.2), hc: r.Il.transparent }, o.N( 'inputOption.activeBackground', 'Background color of activated options in input fields.' ) ), L = h( 'inputOption.activeForeground', { dark: r.Il.white, light: r.Il.black, hc: null }, o.N( 'inputOption.activeForeground', 'Foreground color of activated options in input fields.' ) ), M = h( 'inputValidation.infoBackground', { dark: '#063B49', light: '#D6ECF2', hc: r.Il.black }, o.N( 'inputValidationInfoBackground', 'Input validation background color for information severity.' ) ), D = h( 'inputValidation.infoForeground', { dark: null, light: null, hc: null }, o.N( 'inputValidationInfoForeground', 'Input validation foreground color for information severity.' ) ), N = h( 'inputValidation.infoBorder', { dark: '#007acc', light: '#007acc', hc: m }, o.N( 'inputValidationInfoBorder', 'Input validation border color for information severity.' ) ), E = h( 'inputValidation.warningBackground', { dark: '#352A05', light: '#F6F5D2', hc: r.Il.black }, o.N( 'inputValidationWarningBackground', 'Input validation background color for warning severity.' ) ), T = h( 'inputValidation.warningForeground', { dark: null, light: null, hc: null }, o.N( 'inputValidationWarningForeground', 'Input validation foreground color for warning severity.' ) ), I = h( 'inputValidation.warningBorder', { dark: '#B89500', light: '#B89500', hc: m }, o.N( 'inputValidationWarningBorder', 'Input validation border color for warning severity.' ) ), O = h( 'inputValidation.errorBackground', { dark: '#5A1D1D', light: '#F2DEDE', hc: r.Il.black }, o.N( 'inputValidationErrorBackground', 'Input validation background color for error severity.' ) ), A = h( 'inputValidation.errorForeground', { dark: null, light: null, hc: null }, o.N( 'inputValidationErrorForeground', 'Input validation foreground color for error severity.' ) ), R = h( 'inputValidation.errorBorder', { dark: '#BE1100', light: '#BE1100', hc: m }, o.N( 'inputValidationErrorBorder', 'Input validation border color for error severity.' ) ), P = h( 'dropdown.background', { dark: '#3C3C3C', light: r.Il.white, hc: r.Il.black }, o.N('dropdownBackground', 'Dropdown background.') ), F = h( 'dropdown.foreground', { dark: '#F0F0F0', light: null, hc: r.Il.white }, o.N('dropdownForeground', 'Dropdown foreground.') ), B = h( 'button.foreground', { dark: r.Il.white, light: r.Il.white, hc: r.Il.white }, o.N('buttonForeground', 'Button foreground color.') ), W = h( 'button.background', { dark: '#0E639C', light: '#007ACC', hc: null }, o.N('buttonBackground', 'Button background color.') ), Y = h( 'button.hoverBackground', { dark: Lt(W, 0.2), light: xt(W, 0.2), hc: null }, o.N( 'buttonHoverBackground', 'Button background color when hovering.' ) ), H = h( 'badge.background', { dark: '#4D4D4D', light: '#C4C4C4', hc: r.Il.black }, o.N( 'badgeBackground', 'Badge background color. Badges are small information labels, e.g. for search results count.' ) ), j = h( 'badge.foreground', { dark: r.Il.white, light: '#333', hc: r.Il.white }, o.N( 'badgeForeground', 'Badge foreground color. Badges are small information labels, e.g. for search results count.' ) ), V = h( 'scrollbar.shadow', { dark: '#000000', light: '#DDDDDD', hc: null }, o.N( 'scrollbarShadow', 'Scrollbar shadow to indicate that the view is scrolled.' ) ), z = h( 'scrollbarSlider.background', { dark: r.Il.fromHex('#797979').transparent(0.4), light: r.Il.fromHex('#646464').transparent(0.4), hc: Mt(m, 0.6), }, o.N( 'scrollbarSliderBackground', 'Scrollbar slider background color.' ) ), U = h( 'scrollbarSlider.hoverBackground', { dark: r.Il.fromHex('#646464').transparent(0.7), light: r.Il.fromHex('#646464').transparent(0.7), hc: Mt(m, 0.8), }, o.N( 'scrollbarSliderHoverBackground', 'Scrollbar slider background color when hovering.' ) ), $ = h( 'scrollbarSlider.activeBackground', { dark: r.Il.fromHex('#BFBFBF').transparent(0.4), light: r.Il.fromHex('#000000').transparent(0.6), hc: m, }, o.N( 'scrollbarSliderActiveBackground', 'Scrollbar slider background color when clicked on.' ) ), K = h( 'progressBar.background', { dark: r.Il.fromHex('#0E70C0'), light: r.Il.fromHex('#0E70C0'), hc: m, }, o.N( 'progressBarBackground', 'Background color of the progress bar that can show for long running operations.' ) ), q = h( 'editorError.foreground', { dark: '#F48771', light: '#E51400', hc: null }, o.N( 'editorError.foreground', 'Foreground color of error squigglies in the editor.' ) ), G = h( 'editorError.border', { dark: null, light: null, hc: r.Il.fromHex('#E47777').transparent(0.8), }, o.N('errorBorder', 'Border color of error boxes in the editor.') ), Z = h( 'editorWarning.foreground', { dark: '#CCA700', light: '#E9A700', hc: null }, o.N( 'editorWarning.foreground', 'Foreground color of warning squigglies in the editor.' ) ), J = h( 'editorWarning.border', { dark: null, light: null, hc: r.Il.fromHex('#FFCC00').transparent(0.8), }, o.N('warningBorder', 'Border color of warning boxes in the editor.') ), Q = h( 'editorInfo.foreground', { dark: '#75BEFF', light: '#75BEFF', hc: null }, o.N( 'editorInfo.foreground', 'Foreground color of info squigglies in the editor.' ) ), X = h( 'editorInfo.border', { dark: null, light: null, hc: r.Il.fromHex('#75BEFF').transparent(0.8), }, o.N('infoBorder', 'Border color of info boxes in the editor.') ), ee = h( 'editorHint.foreground', { dark: r.Il.fromHex('#eeeeee').transparent(0.7), light: '#6c6c6c', hc: null, }, o.N( 'editorHint.foreground', 'Foreground color of hint squigglies in the editor.' ) ), te = h( 'editorHint.border', { dark: null, light: null, hc: r.Il.fromHex('#eeeeee').transparent(0.8), }, o.N('hintBorder', 'Border color of hint boxes in the editor.') ), ie = h( 'editor.background', { light: '#fffffe', dark: '#1E1E1E', hc: r.Il.black }, o.N('editorBackground', 'Editor background color.') ), ne = h( 'editor.foreground', { light: '#333333', dark: '#BBBBBB', hc: r.Il.white }, o.N('editorForeground', 'Editor default foreground color.') ), re = h( 'editorWidget.background', { dark: '#252526', light: '#F3F3F3', hc: '#0C141F' }, o.N( 'editorWidgetBackground', 'Background color of editor widgets, such as find/replace.' ) ), se = h( 'editorWidget.foreground', { dark: u, light: u, hc: u }, o.N( 'editorWidgetForeground', 'Foreground color of editor widgets, such as find/replace.' ) ), oe = h( 'editorWidget.border', { dark: '#454545', light: '#C8C8C8', hc: m }, o.N( 'editorWidgetBorder', 'Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.' ) ), ae = h( 'editorWidget.resizeBorder', { light: null, dark: null, hc: null }, o.N( 'editorWidgetResizeBorder', 'Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.' ) ), le = h( 'quickInput.background', { dark: re, light: re, hc: re }, o.N( 'pickerBackground', 'Quick picker background color. The quick picker widget is the container for pickers like the command palette.' ) ), ce = h( 'quickInput.foreground', { dark: se, light: se, hc: se }, o.N( 'pickerForeground', 'Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.' ) ), de = h( 'quickInputTitle.background', { dark: new r.Il(new r.VS(255, 255, 255, 0.105)), light: new r.Il(new r.VS(0, 0, 0, 0.06)), hc: '#000000', }, o.N( 'pickerTitleBackground', 'Quick picker title background color. The quick picker widget is the container for pickers like the command palette.' ) ), he = h( 'pickerGroup.foreground', { dark: '#3794FF', light: '#0066BF', hc: r.Il.white }, o.N( 'pickerGroupForeground', 'Quick picker color for grouping labels.' ) ), ue = h( 'pickerGroup.border', { dark: '#3F3F46', light: '#CCCEDB', hc: r.Il.white }, o.N('pickerGroupBorder', 'Quick picker color for grouping borders.') ), ge = h( 'editor.selectionBackground', { light: '#ADD6FF', dark: '#264F78', hc: '#f3f518' }, o.N('editorSelectionBackground', 'Color of the editor selection.') ), fe = h( 'editor.selectionForeground', { light: null, dark: null, hc: '#000000' }, o.N( 'editorSelectionForeground', 'Color of the selected text for high contrast.' ) ), pe = h( 'editor.inactiveSelectionBackground', { light: Mt(ge, 0.5), dark: Mt(ge, 0.5), hc: Mt(ge, 0.5) }, o.N( 'editorInactiveSelection', 'Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), me = h( 'editor.selectionHighlightBackground', { light: Nt(ge, ie, 0.3, 0.6), dark: Nt(ge, ie, 0.3, 0.6), hc: null, }, o.N( 'editorSelectionHighlight', 'Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), _e = h( 'editor.selectionHighlightBorder', { light: null, dark: null, hc: _ }, o.N( 'editorSelectionHighlightBorder', 'Border color for regions with the same content as the selection.' ) ), be = h( 'editor.findMatchBackground', { light: '#A8AC94', dark: '#515C6A', hc: null }, o.N('editorFindMatch', 'Color of the current search match.') ), ve = h( 'editor.findMatchHighlightBackground', { light: '#EA5C0055', dark: '#EA5C0055', hc: null }, o.N( 'findMatchHighlight', 'Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), ye = h( 'editor.findRangeHighlightBackground', { dark: '#3a3d4166', light: '#b4b4b44d', hc: null }, o.N( 'findRangeHighlight', 'Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), we = h( 'editor.findMatchBorder', { light: null, dark: null, hc: _ }, o.N( 'editorFindMatchBorder', 'Border color of the current search match.' ) ), Ce = h( 'editor.findMatchHighlightBorder', { light: null, dark: null, hc: _ }, o.N( 'findMatchHighlightBorder', 'Border color of the other search matches.' ) ), Se = h( 'editor.findRangeHighlightBorder', { dark: null, light: null, hc: Mt(_, 0.4) }, o.N( 'findRangeHighlightBorder', 'Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), ke = h( 'editor.hoverHighlightBackground', { light: '#ADD6FF26', dark: '#264f7840', hc: '#ADD6FF26' }, o.N( 'hoverHighlight', 'Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), xe = h( 'editorHoverWidget.background', { light: re, dark: re, hc: re }, o.N('hoverBackground', 'Background color of the editor hover.') ), Le = h( 'editorHoverWidget.foreground', { light: se, dark: se, hc: se }, o.N('hoverForeground', 'Foreground color of the editor hover.') ), Me = h( 'editorHoverWidget.border', { light: oe, dark: oe, hc: oe }, o.N('hoverBorder', 'Border color of the editor hover.') ), De = h( 'editorHoverWidget.statusBarBackground', { dark: Lt(xe, 0.2), light: xt(xe, 0.05), hc: re }, o.N( 'statusBarBackground', 'Background color of the editor hover status bar.' ) ), Ne = h( 'editorLink.activeForeground', { dark: '#4E94CE', light: r.Il.blue, hc: r.Il.cyan }, o.N('activeLinkForeground', 'Color of active links.') ), Ee = h( 'editorLightBulb.foreground', { dark: '#FFCC00', light: '#DDB100', hc: '#FFCC00' }, o.N( 'editorLightBulbForeground', 'The color used for the lightbulb actions icon.' ) ), Te = h( 'editorLightBulbAutoFix.foreground', { dark: '#75BEFF', light: '#007ACC', hc: '#75BEFF' }, o.N( 'editorLightBulbAutoFixForeground', 'The color used for the lightbulb auto fix actions icon.' ) ), Ie = new r.Il(new r.VS(155, 185, 85, 0.2)), Oe = new r.Il(new r.VS(255, 0, 0, 0.2)), Ae = h( 'diffEditor.insertedTextBackground', { dark: Ie, light: Ie, hc: null }, o.N( 'diffEditorInserted', 'Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), Re = h( 'diffEditor.removedTextBackground', { dark: Oe, light: Oe, hc: null }, o.N( 'diffEditorRemoved', 'Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), Pe = h( 'diffEditor.insertedTextBorder', { dark: null, light: null, hc: '#33ff2eff' }, o.N( 'diffEditorInsertedOutline', 'Outline color for the text that got inserted.' ) ), Fe = h( 'diffEditor.removedTextBorder', { dark: null, light: null, hc: '#FF008F' }, o.N( 'diffEditorRemovedOutline', 'Outline color for text that got removed.' ) ), Be = h( 'diffEditor.border', { dark: null, light: null, hc: m }, o.N( 'diffEditorBorder', 'Border color between the two text editors.' ) ), We = h( 'diffEditor.diagonalFill', { dark: '#cccccc33', light: '#22222233', hc: null }, o.N( 'diffDiagonalFill', "Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views." ) ), Ye = h( 'list.focusBackground', { dark: '#062F4A', light: '#D6EBFF', hc: null }, o.N( 'listFocusBackground', 'List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' ) ), He = h( 'list.focusForeground', { dark: null, light: null, hc: null }, o.N( 'listFocusForeground', 'List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' ) ), je = h( 'list.activeSelectionBackground', { dark: '#094771', light: '#0074E8', hc: null }, o.N( 'listActiveSelectionBackground', 'List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' ) ), Ve = h( 'list.activeSelectionForeground', { dark: r.Il.white, light: r.Il.white, hc: null }, o.N( 'listActiveSelectionForeground', 'List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' ) ), ze = h( 'list.inactiveSelectionBackground', { dark: '#37373D', light: '#E4E6F1', hc: null }, o.N( 'listInactiveSelectionBackground', 'List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' ) ), Ue = h( 'list.inactiveSelectionForeground', { dark: null, light: null, hc: null }, o.N( 'listInactiveSelectionForeground', 'List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' ) ), $e = h( 'list.inactiveFocusBackground', { dark: null, light: null, hc: null }, o.N( 'listInactiveFocusBackground', 'List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' ) ), Ke = h( 'list.hoverBackground', { dark: '#2A2D2E', light: '#F0F0F0', hc: null }, o.N( 'listHoverBackground', 'List/Tree background when hovering over items using the mouse.' ) ), qe = h( 'list.hoverForeground', { dark: null, light: null, hc: null }, o.N( 'listHoverForeground', 'List/Tree foreground when hovering over items using the mouse.' ) ), Ge = h( 'list.dropBackground', { dark: Ye, light: Ye, hc: null }, o.N( 'listDropBackground', 'List/Tree drag and drop background when moving items around using the mouse.' ) ), Ze = h( 'list.highlightForeground', { dark: '#0097fb', light: '#0066BF', hc: p }, o.N( 'highlight', 'List/Tree foreground color of the match highlights when searching inside the list/tree.' ) ), Je = h( 'listFilterWidget.background', { light: '#efc1ad', dark: '#653723', hc: r.Il.black }, o.N( 'listFilterWidgetBackground', 'Background color of the type filter widget in lists and trees.' ) ), Qe = h( 'listFilterWidget.outline', { dark: r.Il.transparent, light: r.Il.transparent, hc: '#f38518' }, o.N( 'listFilterWidgetOutline', 'Outline color of the type filter widget in lists and trees.' ) ), Xe = h( 'listFilterWidget.noMatchesOutline', { dark: '#BE1100', light: '#BE1100', hc: m }, o.N( 'listFilterWidgetNoMatchesOutline', 'Outline color of the type filter widget in lists and trees, when there are no matches.' ) ), et = h( 'tree.indentGuidesStroke', { dark: '#585858', light: '#a9a9a9', hc: '#a9a9a9' }, o.N( 'treeIndentGuidesStroke', 'Tree stroke color for the indentation guides.' ) ), tt = h( 'menu.border', { dark: null, light: null, hc: m }, o.N('menuBorder', 'Border color of menus.') ), it = h( 'menu.foreground', { dark: F, light: u, hc: F }, o.N('menuForeground', 'Foreground color of menu items.') ), nt = h( 'menu.background', { dark: P, light: P, hc: P }, o.N('menuBackground', 'Background color of menu items.') ), rt = h( 'menu.selectionForeground', { dark: Ve, light: Ve, hc: Ve }, o.N( 'menuSelectionForeground', 'Foreground color of the selected menu item in menus.' ) ), st = h( 'menu.selectionBackground', { dark: je, light: je, hc: je }, o.N( 'menuSelectionBackground', 'Background color of the selected menu item in menus.' ) ), ot = h( 'menu.selectionBorder', { dark: null, light: null, hc: _ }, o.N( 'menuSelectionBorder', 'Border color of the selected menu item in menus.' ) ), at = h( 'menu.separatorBackground', { dark: '#BBBBBB', light: '#888888', hc: m }, o.N( 'menuSeparatorBackground', 'Color of a separator menu item in menus.' ) ), lt = h( 'editor.snippetTabstopHighlightBackground', { dark: new r.Il(new r.VS(124, 124, 124, 0.3)), light: new r.Il(new r.VS(10, 50, 100, 0.2)), hc: new r.Il(new r.VS(124, 124, 124, 0.3)), }, o.N( 'snippetTabstopHighlightBackground', 'Highlight background color of a snippet tabstop.' ) ), ct = h( 'editor.snippetTabstopHighlightBorder', { dark: null, light: null, hc: null }, o.N( 'snippetTabstopHighlightBorder', 'Highlight border color of a snippet tabstop.' ) ), dt = h( 'editor.snippetFinalTabstopHighlightBackground', { dark: null, light: null, hc: null }, o.N( 'snippetFinalTabstopHighlightBackground', 'Highlight background color of the final tabstop of a snippet.' ) ), ht = h( 'editor.snippetFinalTabstopHighlightBorder', { dark: '#525252', light: new r.Il(new r.VS(10, 50, 100, 0.5)), hc: '#525252', }, o.N( 'snippetFinalTabstopHighlightBorder', 'Highlight border color of the final tabstop of a snippet.' ) ), ut = h( 'editorOverviewRuler.findMatchForeground', { dark: '#d186167e', light: '#d186167e', hc: '#AB5A00' }, o.N( 'overviewRulerFindMatchForeground', 'Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), gt = h( 'editorOverviewRuler.selectionHighlightForeground', { dark: '#A0A0A0CC', light: '#A0A0A0CC', hc: '#A0A0A0CC' }, o.N( 'overviewRulerSelectionHighlightForeground', 'Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.' ), !0 ), ft = h( 'minimap.findMatchHighlight', { light: '#d18616', dark: '#d18616', hc: '#AB5A00' }, o.N( 'minimapFindMatchHighlight', 'Minimap marker color for find matches.' ), !0 ), pt = h( 'minimap.selectionHighlight', { light: '#ADD6FF', dark: '#264F78', hc: '#ffffff' }, o.N( 'minimapSelectionHighlight', 'Minimap marker color for the editor selection.' ), !0 ), mt = h( 'minimap.errorHighlight', { dark: new r.Il(new r.VS(255, 18, 18, 0.7)), light: new r.Il(new r.VS(255, 18, 18, 0.7)), hc: new r.Il(new r.VS(255, 50, 50, 1)), }, o.N('minimapError', 'Minimap marker color for errors.') ), _t = h( 'minimap.warningHighlight', { dark: Z, light: Z, hc: J }, o.N('overviewRuleWarning', 'Minimap marker color for warnings.') ), bt = h( 'minimap.background', { dark: null, light: null, hc: null }, o.N('minimapBackground', 'Minimap background color.') ), vt = h( 'minimapSlider.background', { light: Mt(z, 0.5), dark: Mt(z, 0.5), hc: Mt(z, 0.5) }, o.N('minimapSliderBackground', 'Minimap slider background color.') ), yt = h( 'minimapSlider.hoverBackground', { light: Mt(U, 0.5), dark: Mt(U, 0.5), hc: Mt(U, 0.5) }, o.N( 'minimapSliderHoverBackground', 'Minimap slider background color when hovering.' ) ), wt = h( 'minimapSlider.activeBackground', { light: Mt($, 0.5), dark: Mt($, 0.5), hc: Mt($, 0.5) }, o.N( 'minimapSliderActiveBackground', 'Minimap slider background color when clicked on.' ) ), Ct = h( 'problemsErrorIcon.foreground', { dark: q, light: q, hc: q }, o.N( 'problemsErrorIconForeground', 'The color used for the problems error icon.' ) ), St = h( 'problemsWarningIcon.foreground', { dark: Z, light: Z, hc: Z }, o.N( 'problemsWarningIconForeground', 'The color used for the problems warning icon.' ) ), kt = h( 'problemsInfoIcon.foreground', { dark: Q, light: Q, hc: Q }, o.N( 'problemsInfoIconForeground', 'The color used for the problems info icon.' ) ); function xt(e, t) { return (i) => { let n = Et(e, i); if (n) return n.darken(t); }; } function Lt(e, t) { return (i) => { let n = Et(e, i); if (n) return n.lighten(t); }; } function Mt(e, t) { return (i) => { let n = Et(e, i); if (n) return n.transparent(t); }; } function Dt(...e) { return (t) => { for (let i of e) { let e = Et(i, t); if (e) return e; } }; } function Nt(e, t, i, n) { return (s) => { let o = Et(e, s); if (o) { let e = Et(t, s); return e ? o.isDarkerThan(e) ? r.Il.getLighterColor(o, e, i).transparent(n) : r.Il.getDarkerColor(o, e, i).transparent(n) : o.transparent(i * n); } }; } function Et(e, t) { if (null !== e) return 'string' == typeof e ? '#' === e[0] ? r.Il.fromHex(e) : t.getColor(e) : e instanceof r.Il ? e : 'function' == typeof e ? e(t) : void 0; } const Tt = 'vscode://schemas/workbench-colors'; let It = n.B.as(a.I.JSONContribution); It.registerSchema(Tt, d.getColorSchema()); const Ot = new l.pY(() => It.notifySchemaChanged(Tt), 200); d.onDidChangeSchema(() => { Ot.isScheduled() || Ot.schedule(); }); }, 88810: (e, t, i) => { 'use strict'; i.d(t, { o: () => r, WZ: () => o, Jl: () => a, O2: () => l, tj: () => d, }); var n = i(73910); function r(e, t) { const i = Object.create(null); for (let r in t) { const s = t[r]; s && (i[r] = (0, n.Sn)(s, e)); } return i; } function s(e, t, i) { function n(n) { const s = r(e.getColorTheme(), t); 'function' == typeof i ? i(s) : i.style(s); } return n(e.getColorTheme()), e.onDidColorThemeChange(n); } function o(e, t, i) { return s( t, { badgeBackground: (i && i.badgeBackground) || n.g8, badgeForeground: (i && i.badgeForeground) || n.qe, badgeBorder: n.lR, }, e ); } function a(e, t, i) { return s(t, Object.assign(Object.assign({}, l), i || {}), e); } const l = { listFocusBackground: n._b, listFocusForeground: n._2, listActiveSelectionBackground: (0, n._j)(n.dC, 0.1), listActiveSelectionForeground: n.M6, listFocusAndSelectionBackground: n.dC, listFocusAndSelectionForeground: n.M6, listInactiveSelectionBackground: n.rg, listInactiveSelectionForeground: n.yt, listInactiveFocusBackground: n.s$, listHoverBackground: n.mV, listHoverForeground: n.$d, listDropBackground: n.AS, listFocusOutline: n.xL, listSelectionOutline: n.xL, listHoverOutline: n.xL, listFilterWidgetBackground: n.vG, listFilterWidgetOutline: n.oS, listFilterWidgetNoMatchesOutline: n.S, listMatchesShadow: n.rh, treeIndentGuidesStroke: n.Un, }, c = { shadowColor: n.rh, borderColor: n.Cd, foregroundColor: n.DE, backgroundColor: n.Hz, selectionForegroundColor: n.jb, selectionBackgroundColor: n.$D, selectionBorderColor: n.E3, separatorColor: n.ZG, }; function d(e, t, i) { return s(t, Object.assign(Object.assign({}, c), i), e); } }, 97781: (e, t, i) => { 'use strict'; i.d(t, { XE: () => a, EN: () => l, kS: () => c, QP: () => d, m6: () => h, IP: () => u, Ic: () => f, bB: () => p, }); var n = i(72065), r = i(5976), s = i(89872), o = i(4669); const a = (0, n.yh)('themeService'); function l(e) { return { id: e }; } var c; !(function (e) { e.isThemeIcon = function (e) { return e && 'object' == typeof e && 'string' == typeof e.id; }; const t = /^\$\(([a-z.]+\/)?([a-z-~]+)\)$/i; e.fromString = function (e) { const i = t.exec(e); if (!i) return; let [, n, r] = i; return n || (n = 'codicon/'), { id: n + r }; }; const i = /^(codicon\/)?([a-z-]+)(~[a-z]+)?$/i; e.asClassName = function (e) { const t = i.exec(e.id); if (!t) return; let [, , n, r] = t, s = `codicon codicon-${n}`; return r && (s += ` ${r.substr(1)}`), s; }; })(c || (c = {})); const d = 'hc'; function h(e) { switch (e) { case 'dark': return 'vs-dark'; case d: return 'hc-black'; default: return 'vs'; } } const u = { ThemingContribution: 'base.contributions.theming' }; let g = new (class { constructor() { (this.themingParticipants = []), (this.themingParticipants = []), (this.onThemingParticipantAddedEmitter = new o.Q5()); } onColorThemeChange(e) { return ( this.themingParticipants.push(e), this.onThemingParticipantAddedEmitter.fire(e), (0, r.OF)(() => { const t = this.themingParticipants.indexOf(e); this.themingParticipants.splice(t, 1); }) ); } getThemingParticipants() { return this.themingParticipants; } })(); function f(e) { return g.onColorThemeChange(e); } s.B.add(u.ThemingContribution, g); class p extends r.JT { constructor(e) { super(), (this.themeService = e), (this.theme = e.getColorTheme()), this._register( this.themeService.onDidColorThemeChange((e) => this.onThemeChange(e) ) ); } onThemeChange(e) { (this.theme = e), this.updateStyles(); } updateStyles() {} } }, 64862: (e, t, i) => { 'use strict'; i.d(t, { t: () => n, Y: () => r }); const n = (0, i(72065).yh)('undoRedoService'); class r { constructor(e, t) { (this.resource = e), (this.elements = t); } } }, 37280: (e, t, i) => { 'use strict'; i.d(t, { u: () => s, i: () => o }); var n = i(4669), r = i(5976); const s = (0, i(72065).yh)('IStorageKeysSyncRegistryService'); class o extends r.JT { constructor() { super(), (this._storageKeys = new Map()), (this._onDidChangeStorageKeys = this._register(new n.Q5())), this._register((0, r.OF)(() => this._storageKeys.clear())); } get storageKeys() { return [...this._storageKeys.values()]; } registerStorageKey(e) { this._storageKeys.has(e.key) || (this._storageKeys.set(e.key, e), this._onDidChangeStorageKeys.fire(this.storageKeys)); } } }, 40382: (e, t, i) => { 'use strict'; i.d(t, { ec: () => o, md: () => c }); var n = i(70666), r = i(95935), s = i(72065); i(43702); const o = (0, s.yh)('contextService'); var a, l; !(function (e) { e.isIWorkspace = function (e) { return !( !e || 'object' != typeof e || 'string' != typeof e.id || !Array.isArray(e.folders) ); }; })(a || (a = {})), (function (e) { e.isIWorkspaceFolder = function (e) { return !( !e || 'object' != typeof e || !n.o.isUri(e.uri) || 'string' != typeof e.name || 'function' != typeof e.toResource ); }; })(l || (l = {})); class c { constructor(e, t) { (this.raw = t), (this.uri = e.uri), (this.index = e.index), (this.name = e.name); } toResource(e) { return r.Vo(this.uri, e); } toJSON() { return { uri: this.uri, name: this.name, index: this.index }; } } }, 673: (e) => { e.exports = (function e(t) { 'use strict'; var i = /^\0+/g, n = /[\0\r\f]/g, r = /: */g, s = /zoo|gra/, o = /([,: ])(transform)/g, a = /,+\s*(?![^(]*[)])/g, l = / +\s*(?![^(]*[)])/g, c = / *[\0] */g, d = /,\r+?/g, h = /([\t\r\n ])*\f?&/g, u = /:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g, g = /\W+/g, f = /@(k\w+)\s*(\S*)\s*/, p = /::(place)/g, m = /:(read-only)/g, _ = /\s+(?=[{\];=:>])/g, b = /([[}=:>])\s+/g, v = /(\{[^{]+?);(?=\})/g, y = /\s{2,}/g, w = /([^\(])(:+) */g, C = /[svh]\w+-[tblr]{2}/, S = /\(\s*(.*)\s*\)/g, k = /([\s\S]*?);/g, x = /-self|flex-/g, L = /[^]*?(:[rp][el]a[\w-]+)[^]*/, M = /stretch|:\s*\w+\-(?:conte|avail)/, D = /([^-])(image-set\()/, N = '-webkit-', E = '-moz-', T = '-ms-', I = 59, O = 125, A = 123, R = 40, P = 41, F = 10, B = 13, W = 64, Y = 32, H = 45, j = 42, V = 44, z = 58, U = 47, $ = 62, K = 43, q = 126, G = 107, Z = 1, J = 1, Q = 0, X = 1, ee = 1, te = 1, ie = 0, ne = 0, re = 0, se = [], oe = [], ae = 0, le = null, ce = 0, de = 1, he = '', ue = '', ge = ''; function fe(e, t, r, s, o) { for ( var a, l, d = 0, h = 0, u = 0, g = 0, _ = 0, b = 0, v = 0, y = 0, C = 0, k = 0, x = 0, L = 0, M = 0, D = 0, E = 0, T = 0, W = 0, ie = 0, oe = 0, le = r.length, me = le - 1, Ce = '', Se = '', ke = '', xe = '', Le = '', Me = ''; E < le; ) { if ( ((v = r.charCodeAt(E)), E === me && h + g + u + d !== 0 && (0 !== h && (v = h === U ? F : U), (g = u = d = 0), le++, me++), h + g + u + d === 0) ) { if ( E === me && (T > 0 && (Se = Se.replace(n, '')), Se.trim().length > 0) ) { switch (v) { case Y: case 9: case I: case B: case F: break; default: Se += r.charAt(E); } v = I; } if (1 === W) switch (v) { case A: case O: case I: case 34: case 39: case R: case P: case V: W = 0; case 9: case B: case F: case Y: break; default: for (W = 0, oe = E, _ = v, E--, v = I; oe < le; ) switch (r.charCodeAt(oe++)) { case F: case B: case I: ++E, (v = _), (oe = le); break; case z: T > 0 && (++E, (v = _)); case A: oe = le; } } switch (v) { case A: for ( _ = (Se = Se.trim()).charCodeAt(0), x = 1, oe = ++E; E < le; ) { switch ((v = r.charCodeAt(E))) { case A: x++; break; case O: x--; break; case U: switch ((b = r.charCodeAt(E + 1))) { case j: case U: E = we(b, E, me, r); } break; case 91: v++; case R: v++; case 34: case 39: for (; E++ < me && r.charCodeAt(E) !== v; ); } if (0 === x) break; E++; } switch ( ((ke = r.substring(oe, E)), 0 === _ && (_ = (Se = Se.replace(i, '').trim()).charCodeAt(0)), _) ) { case 64: switch ( (T > 0 && (Se = Se.replace(n, '')), (b = Se.charCodeAt(1))) ) { case 100: case 109: case 115: case H: a = t; break; default: a = se; } if ( ((oe = (ke = fe(t, a, ke, b, o + 1)).length), re > 0 && 0 === oe && (oe = Se.length), ae > 0 && ((l = ye( 3, ke, (a = pe(se, Se, ie)), t, J, Z, oe, b, o, s )), (Se = a.join('')), void 0 !== l && 0 === (oe = (ke = l.trim()).length) && ((b = 0), (ke = ''))), oe > 0) ) switch (b) { case 115: Se = Se.replace(S, ve); case 100: case 109: case H: ke = Se + '{' + ke + '}'; break; case G: (ke = (Se = Se.replace( f, '$1 $2' + (de > 0 ? he : '') )) + '{' + ke + '}'), (ke = 1 === ee || (2 === ee && be('@' + ke, 3)) ? '@' + N + ke + '@' + ke : '@' + ke); break; default: (ke = Se + ke), 112 === s && ((xe += ke), (ke = '')); } else ke = ''; break; default: ke = fe(t, pe(t, Se, ie), ke, s, o + 1); } (Le += ke), (L = 0), (W = 0), (D = 0), (T = 0), (ie = 0), (M = 0), (Se = ''), (ke = ''), (v = r.charCodeAt(++E)); break; case O: case I: if ( (oe = (Se = (T > 0 ? Se.replace(n, '') : Se).trim()) .length) > 1 ) switch ( (0 === D && ((_ = Se.charCodeAt(0)) === H || (_ > 96 && _ < 123)) && (oe = (Se = Se.replace(' ', ':')).length), ae > 0 && void 0 !== (l = ye(1, Se, t, e, J, Z, xe.length, s, o, s)) && 0 === (oe = (Se = l.trim()).length) && (Se = '\0\0'), (_ = Se.charCodeAt(0)), (b = Se.charCodeAt(1)), _) ) { case 0: break; case 64: if (105 === b || 99 === b) { Me += Se + r.charAt(E); break; } default: if (Se.charCodeAt(oe - 1) === z) break; xe += _e(Se, _, b, Se.charCodeAt(2)); } (L = 0), (W = 0), (D = 0), (T = 0), (ie = 0), (Se = ''), (v = r.charCodeAt(++E)); } } switch (v) { case B: case F: if (h + g + u + d + ne === 0) switch (k) { case P: case 39: case 34: case 64: case q: case 62: case j: case 43: case U: case H: case z: case V: case I: case A: case O: break; default: D > 0 && (W = 1); } h === U ? (h = 0) : X + L === 0 && s !== G && Se.length > 0 && ((T = 1), (Se += '\0')), ae * ce > 0 && ye(0, Se, t, e, J, Z, xe.length, s, o, s), (Z = 1), J++; break; case I: case O: if (h + g + u + d === 0) { Z++; break; } default: switch ((Z++, (Ce = r.charAt(E)), v)) { case 9: case Y: if (g + d + h === 0) switch (y) { case V: case z: case 9: case Y: Ce = ''; break; default: v !== Y && (Ce = ' '); } break; case 0: Ce = '\\0'; break; case 12: Ce = '\\f'; break; case 11: Ce = '\\v'; break; case 38: g + h + d === 0 && X > 0 && ((ie = 1), (T = 1), (Ce = '\f' + Ce)); break; case 108: if (g + h + d + Q === 0 && D > 0) switch (E - D) { case 2: 112 === y && r.charCodeAt(E - 3) === z && (Q = y); case 8: 111 === C && (Q = C); } break; case z: g + h + d === 0 && (D = E); break; case V: h + u + g + d === 0 && ((T = 1), (Ce += '\r')); break; case 34: case 39: 0 === h && (g = g === v ? 0 : 0 === g ? v : g); break; case 91: g + h + u === 0 && d++; break; case 93: g + h + u === 0 && d--; break; case P: g + h + d === 0 && u--; break; case R: if (g + h + d === 0) { if (0 === L) switch (2 * y + 3 * C) { case 533: break; default: (x = 0), (L = 1); } u++; } break; case 64: h + u + g + d + D + M === 0 && (M = 1); break; case j: case U: if (g + d + u > 0) break; switch (h) { case 0: switch (2 * v + 3 * r.charCodeAt(E + 1)) { case 235: h = U; break; case 220: (oe = E), (h = j); } break; case j: v === U && y === j && oe + 2 !== E && (33 === r.charCodeAt(oe + 2) && (xe += r.substring(oe, E + 1)), (Ce = ''), (h = 0)); } } if (0 === h) { if (X + g + d + M === 0 && s !== G && v !== I) switch (v) { case V: case q: case 62: case 43: case P: case R: if (0 === L) { switch (y) { case 9: case Y: case F: case B: Ce += '\0'; break; default: Ce = '\0' + Ce + (v === V ? '' : '\0'); } T = 1; } else switch (v) { case R: D + 7 === E && 108 === y && (D = 0), (L = ++x); break; case P: 0 == (L = --x) && ((T = 1), (Ce += '\0')); } break; case 9: case Y: switch (y) { case 0: case A: case O: case I: case V: case 12: case 9: case Y: case F: case B: break; default: 0 === L && ((T = 1), (Ce += '\0')); } } (Se += Ce), v !== Y && 9 !== v && (k = v); } } (C = y), (y = v), E++; } if ( ((oe = xe.length), re > 0 && 0 === oe && 0 === Le.length && (0 === t[0].length) == 0 && (109 !== s || (1 === t.length && (X > 0 ? ue : ge) === t[0])) && (oe = t.join(',').length + 2), oe > 0) ) { if ( ((a = 0 === X && s !== G ? (function (e) { for ( var t, i, r = 0, s = e.length, o = Array(s); r < s; ++r ) { for ( var a = e[r].split(c), l = '', d = 0, h = 0, u = 0, g = 0, f = a.length; d < f; ++d ) if (!(0 === (h = (i = a[d]).length) && f > 1)) { if ( ((u = l.charCodeAt(l.length - 1)), (g = i.charCodeAt(0)), (t = ''), 0 !== d) ) switch (u) { case j: case q: case $: case K: case Y: case R: break; default: t = ' '; } switch (g) { case 38: i = t + ue; case q: case $: case K: case Y: case P: case R: break; case 91: i = t + i + ue; break; case z: switch ( 2 * i.charCodeAt(1) + 3 * i.charCodeAt(2) ) { case 530: if (te > 0) { i = t + i.substring(8, h - 1); break; } default: (d < 1 || a[d - 1].length < 1) && (i = t + ue + i); } break; case V: t = ''; default: i = h > 1 && i.indexOf(':') > 0 ? t + i.replace(w, '$1' + ue + '$2') : t + i + ue; } l += i; } o[r] = l.replace(n, '').trim(); } return o; })(t) : t), ae > 0 && void 0 !== (l = ye(2, xe, a, e, J, Z, oe, s, o, s)) && 0 === (xe = l).length) ) return Me + xe + Le; if (((xe = a.join(',') + '{' + xe + '}'), ee * Q != 0)) { switch ((2 !== ee || be(xe, 2) || (Q = 0), Q)) { case 111: xe = xe.replace(m, ':-moz-$1') + xe; break; case 112: xe = xe.replace(p, '::-webkit-input-$1') + xe.replace(p, '::-moz-$1') + xe.replace(p, ':-ms-input-$1') + xe; } Q = 0; } } return Me + xe + Le; } function pe(e, t, i) { var n = t.trim().split(d), r = n, s = n.length, o = e.length; switch (o) { case 0: case 1: for (var a = 0, l = 0 === o ? '' : e[0] + ' '; a < s; ++a) r[a] = me(l, r[a], i, o).trim(); break; default: a = 0; var c = 0; for (r = []; a < s; ++a) for (var h = 0; h < o; ++h) r[c++] = me(e[h] + ' ', n[a], i, o).trim(); } return r; } function me(e, t, i, n) { var r = t, s = r.charCodeAt(0); switch ((s < 33 && (s = (r = r.trim()).charCodeAt(0)), s)) { case 38: switch (X + n) { case 0: case 1: if (0 === e.trim().length) break; default: return r.replace(h, '$1' + e.trim()); } break; case z: switch (r.charCodeAt(1)) { case 103: if (te > 0 && X > 0) return r.replace(u, '$1').replace(h, '$1' + ge); break; default: return e.trim() + r.replace(h, '$1' + e.trim()); } default: if (i * X > 0 && r.indexOf('\f') > 0) return r.replace( h, (e.charCodeAt(0) === z ? '' : '$1') + e.trim() ); } return e + r; } function _e(e, t, i, n) { var c, d = 0, h = e + ';', u = 2 * t + 3 * i + 4 * n; if (944 === u) return (function (e) { var t = e.length, i = e.indexOf(':', 9) + 1, n = e.substring(0, i).trim(), r = e.substring(i, t - 1).trim(); switch (e.charCodeAt(9) * de) { case 0: break; case H: if (110 !== e.charCodeAt(10)) break; default: var s = r.split(((r = ''), a)), o = 0; for (i = 0, t = s.length; o < t; i = 0, ++o) { for (var c = s[o], d = c.split(l); (c = d[i]); ) { var h = c.charCodeAt(0); if ( 1 === de && ((h > W && h < 90) || (h > 96 && h < 123) || 95 === h || (h === H && c.charCodeAt(1) !== H)) ) switch ( isNaN(parseFloat(c)) + (-1 !== c.indexOf('(')) ) { case 1: switch (c) { case 'infinite': case 'alternate': case 'backwards': case 'running': case 'normal': case 'forwards': case 'both': case 'none': case 'linear': case 'ease': case 'ease-in': case 'ease-out': case 'ease-in-out': case 'paused': case 'reverse': case 'alternate-reverse': case 'inherit': case 'initial': case 'unset': case 'step-start': case 'step-end': break; default: c += he; } } d[i++] = c; } r += (0 === o ? '' : ',') + d.join(' '); } } return ( (r = n + r + ';'), 1 === ee || (2 === ee && be(r, 1)) ? N + r + r : r ); })(h); if (0 === ee || (2 === ee && !be(h, 1))) return h; switch (u) { case 1015: return 97 === h.charCodeAt(10) ? N + h + h : h; case 951: return 116 === h.charCodeAt(3) ? N + h + h : h; case 963: return 110 === h.charCodeAt(5) ? N + h + h : h; case 1009: if (100 !== h.charCodeAt(4)) break; case 969: case 942: return N + h + h; case 978: return N + h + E + h + h; case 1019: case 983: return N + h + E + h + T + h + h; case 883: return h.charCodeAt(8) === H ? N + h + h : h.indexOf('image-set(', 11) > 0 ? h.replace(D, '$1-webkit-$2') + h : h; case 932: if (h.charCodeAt(4) === H) switch (h.charCodeAt(5)) { case 103: return ( N + 'box-' + h.replace('-grow', '') + N + h + T + h.replace('grow', 'positive') + h ); case 115: return N + h + T + h.replace('shrink', 'negative') + h; case 98: return ( N + h + T + h.replace('basis', 'preferred-size') + h ); } return N + h + T + h + h; case 964: return N + h + T + 'flex-' + h + h; case 1023: if (99 !== h.charCodeAt(8)) break; return ( (c = h .substring(h.indexOf(':', 15)) .replace('flex-', '') .replace('space-between', 'justify')), N + 'box-pack' + c + N + h + T + 'flex-pack' + c + h ); case 1005: return s.test(h) ? h.replace(r, ':' + N) + h.replace(r, ':' + E) + h : h; case 1e3: switch ( ((d = (c = h.substring(13).trim()).indexOf('-') + 1), c.charCodeAt(0) + c.charCodeAt(d)) ) { case 226: c = h.replace(C, 'tb'); break; case 232: c = h.replace(C, 'tb-rl'); break; case 220: c = h.replace(C, 'lr'); break; default: return h; } return N + h + T + c + h; case 1017: if (-1 === h.indexOf('sticky', 9)) return h; case 975: switch ( ((d = (h = e).length - 10), (u = (c = (33 === h.charCodeAt(d) ? h.substring(0, d) : h) .substring(e.indexOf(':', 7) + 1) .trim()).charCodeAt(0) + (0 | c.charCodeAt(7)))) ) { case 203: if (c.charCodeAt(8) < 111) break; case 115: h = h.replace(c, N + c) + ';' + h; break; case 207: case 102: h = h.replace(c, N + (u > 102 ? 'inline-' : '') + 'box') + ';' + h.replace(c, N + c) + ';' + h.replace(c, T + c + 'box') + ';' + h; } return h + ';'; case 938: if (h.charCodeAt(5) === H) switch (h.charCodeAt(6)) { case 105: return ( (c = h.replace('-items', '')), N + h + N + 'box-' + c + T + 'flex-' + c + h ); case 115: return N + h + T + 'flex-item-' + h.replace(x, '') + h; default: return ( N + h + T + 'flex-line-pack' + h.replace('align-content', '').replace(x, '') + h ); } break; case 973: case 989: if (h.charCodeAt(3) !== H || 122 === h.charCodeAt(4)) break; case 931: case 953: if (!0 === M.test(e)) return 115 === (c = e.substring(e.indexOf(':') + 1)).charCodeAt(0) ? _e( e.replace('stretch', 'fill-available'), t, i, n ).replace(':fill-available', ':stretch') : h.replace(c, N + c) + h.replace(c, E + c.replace('fill-', '')) + h; break; case 962: if ( ((h = N + h + (102 === h.charCodeAt(5) ? T + h : '') + h), i + n === 211 && 105 === h.charCodeAt(13) && h.indexOf('transform', 10) > 0) ) return ( h .substring(0, h.indexOf(';', 27) + 1) .replace(o, '$1-webkit-$2') + h ); } return h; } function be(e, t) { var i = e.indexOf(1 === t ? ':' : '{'), n = e.substring(0, 3 !== t ? i : 10), r = e.substring(i + 1, e.length - 1); return le(2 !== t ? n : n.replace(L, '$1'), r, t); } function ve(e, t) { var i = _e(t, t.charCodeAt(0), t.charCodeAt(1), t.charCodeAt(2)); return i !== t + ';' ? i.replace(k, ' or ($1)').substring(4) : '(' + t + ')'; } function ye(e, t, i, n, r, s, o, a, l, c) { for (var d, h = 0, u = t; h < ae; ++h) switch ((d = oe[h].call(Se, e, u, i, n, r, s, o, a, l, c))) { case void 0: case !1: case !0: case null: break; default: u = d; } if (u !== t) return u; } function we(e, t, i, n) { for (var r = t + 1; r < i; ++r) switch (n.charCodeAt(r)) { case U: if (e === j && n.charCodeAt(r - 1) === j && t + 2 !== r) return r + 1; break; case F: if (e === U) return r + 1; } return r; } function Ce(e) { for (var t in e) { var i = e[t]; switch (t) { case 'keyframe': de = 0 | i; break; case 'global': te = 0 | i; break; case 'cascade': X = 0 | i; break; case 'compress': ie = 0 | i; break; case 'semicolon': ne = 0 | i; break; case 'preserve': re = 0 | i; break; case 'prefix': (le = null), i ? 'function' != typeof i ? (ee = 1) : ((ee = 2), (le = i)) : (ee = 0); } } return Ce; } function Se(t, i) { if (void 0 !== this && this.constructor === Se) return e(t); var r = t, s = r.charCodeAt(0); s < 33 && (s = (r = r.trim()).charCodeAt(0)), de > 0 && (he = r.replace(g, 91 === s ? '' : '-')), (s = 1), 1 === X ? (ge = r) : (ue = r); var o, a = [ge]; ae > 0 && void 0 !== (o = ye(-1, i, a, a, J, Z, 0, 0, 0, 0)) && 'string' == typeof o && (i = o); var l = fe(se, a, i, 0, 0); return ( ae > 0 && void 0 !== (o = ye(-2, l, a, a, J, Z, l.length, 0, 0, 0)) && 'string' != typeof (l = o) && (s = 0), (he = ''), (ge = ''), (ue = ''), (Q = 0), (J = 1), (Z = 1), ie * s == 0 ? l : (function (e) { return e .replace(n, '') .replace(_, '') .replace(b, '$1') .replace(v, '$1') .replace(y, ' '); })(l) ); } return ( (Se.use = function e(t) { switch (t) { case void 0: case null: ae = oe.length = 0; break; default: if ('function' == typeof t) oe[ae++] = t; else if ('object' == typeof t) for (var i = 0, n = t.length; i < n; ++i) e(t[i]); else ce = 0 | !!t; } return e; }), (Se.set = Ce), void 0 !== t && Ce(t), Se ); })(null); }, 73466: (e, t, i) => { 'use strict'; function n() {} function r(e, t) { for (const i in t) e[i] = t[i]; return e; } function s(e) { return e(); } function o() { return Object.create(null); } function a(e) { e.forEach(s); } function l(e) { return 'function' == typeof e; } function c(e, t) { return e != e ? t == t : e !== t || (e && 'object' == typeof e) || 'function' == typeof e; } function d(e) { return 0 === Object.keys(e).length; } function h(e, ...t) { if (null == e) return n; const i = e.subscribe(...t); return i.unsubscribe ? () => i.unsubscribe() : i; } function u(e) { let t; return h(e, (e) => (t = e))(), t; } function g(e, t, i, n) { if (e) { const r = f(e, t, i, n); return e[0](r); } } function f(e, t, i, n) { return e[1] && n ? r(i.ctx.slice(), e[1](n(t))) : i.ctx; } function p(e, t, i, n, r, s, o) { const a = (function (e, t, i, n) { if (e[2] && n) { const r = e[2](n(i)); if (void 0 === t.dirty) return r; if ('object' == typeof r) { const e = [], i = Math.max(t.dirty.length, r.length); for (let n = 0; n < i; n += 1) e[n] = t.dirty[n] | r[n]; return e; } return t.dirty | r; } return t.dirty; })(t, n, r, s); if (a) { const r = f(t, i, n, o); e.p(r, a); } } function m(e) { return null == e ? '' : e; } function _(e) { return e && l(e.destroy) ? e.destroy : n; } new Set(); let b = !1; const v = new Set(); function y(e, t) { b && v.delete(t), t.parentNode !== e && e.appendChild(t); } function w(e, t, i) { b && v.delete(t), (t.parentNode !== e || (i && t.nextSibling !== i)) && e.insertBefore(t, i || null); } function C(e) { b ? v.add(e) : e.parentNode && e.parentNode.removeChild(e); } function S(e, t) { for (let i = 0; i < e.length; i += 1) e[i] && e[i].d(t); } function k(e) { return document.createElement(e); } function x(e) { return document.createTextNode(e); } function L() { return x(' '); } function M() { return x(''); } function D(e, t, i, n) { return ( e.addEventListener(t, i, n), () => e.removeEventListener(t, i, n) ); } function N(e, t, i) { null == i ? e.removeAttribute(t) : e.getAttribute(t) !== i && e.setAttribute(t, i); } function E(e) { return '' === e ? null : +e; } function T(e, t) { (t = '' + t), e.wholeText !== t && (e.data = t); } function I(e, t) { e.value = null == t ? '' : t; } let O; function A(e) { O = e; } function R() { if (!O) throw new Error('Function called outside component initialization'); return O; } function P(e) { R().$$.on_mount.push(e); } function F(e, t) { const i = e.$$.callbacks[t.type]; i && i.slice().forEach((e) => e(t)); } new Set(); const B = [], W = [], Y = [], H = [], j = Promise.resolve(); let V = !1; function z() { V || ((V = !0), j.then(G)); } function U() { return z(), j; } function $(e) { Y.push(e); } let K = !1; const q = new Set(); function G() { if (!K) { K = !0; do { for (let e = 0; e < B.length; e += 1) { const t = B[e]; A(t), Z(t.$$); } for (A(null), B.length = 0; W.length; ) W.pop()(); for (let e = 0; e < Y.length; e += 1) { const t = Y[e]; q.has(t) || (q.add(t), t()); } Y.length = 0; } while (B.length); for (; H.length; ) H.pop()(); (V = !1), (K = !1), q.clear(); } } function Z(e) { if (null !== e.fragment) { e.update(), a(e.before_update); const t = e.dirty; (e.dirty = [-1]), e.fragment && e.fragment.p(e.ctx, t), e.after_update.forEach($); } } const J = new Set(); let Q, X; function ee() { Q = { r: 0, c: [], p: Q }; } function te() { Q.r || a(Q.c), (Q = Q.p); } function ie(e, t) { e && e.i && (J.delete(e), e.i(t)); } function ne(e, t, i, n) { if (e && e.o) { if (J.has(e)) return; J.add(e), Q.c.push(() => { J.delete(e), n && (i && e.d(1), n()); }), e.o(t); } } function re(e, t) { const i = {}, n = {}, r = { $$scope: 1 }; let s = e.length; for (; s--; ) { const o = e[s], a = t[s]; if (a) { for (const e in o) e in a || (n[e] = 1); for (const e in a) r[e] || ((i[e] = a[e]), (r[e] = 1)); e[s] = a; } else for (const e in o) r[e] = 1; } for (const e in n) e in i || (i[e] = void 0); return i; } function se(e) { return 'object' == typeof e && null !== e ? e : {}; } function oe(e) { e && e.c(); } function ae(e, t, i, n) { const { fragment: r, on_mount: o, on_destroy: c, after_update: d, } = e.$$; r && r.m(t, i), n || $(() => { const t = o.map(s).filter(l); c ? c.push(...t) : a(t), (e.$$.on_mount = []); }), d.forEach($); } function le(e, t) { const i = e.$$; null !== i.fragment && (a(i.on_destroy), i.fragment && i.fragment.d(t), (i.on_destroy = i.fragment = null), (i.ctx = [])); } function ce(e, t, i, r, s, l, c = [-1]) { const d = O; A(e); const h = (e.$$ = { fragment: null, ctx: null, props: l, update: n, not_equal: s, bound: o(), on_mount: [], on_destroy: [], on_disconnect: [], before_update: [], after_update: [], context: new Map(d ? d.$$.context : t.context || []), callbacks: o(), dirty: c, skip_bound: !1, }); let u = !1; if ( ((h.ctx = i ? i(e, t.props || {}, (t, i, ...n) => { const r = n.length ? n[0] : i; return ( h.ctx && s(h.ctx[t], (h.ctx[t] = r)) && (!h.skip_bound && h.bound[t] && h.bound[t](r), u && (function (e, t) { -1 === e.$$.dirty[0] && (B.push(e), z(), e.$$.dirty.fill(0)), (e.$$.dirty[(t / 31) | 0] |= 1 << t % 31); })(e, t)), i ); }) : []), h.update(), (u = !0), a(h.before_update), (h.fragment = !!r && r(h.ctx)), t.target) ) { if (t.hydrate) { b = !0; const e = ((g = t.target), Array.from(g.childNodes)); h.fragment && h.fragment.l(e), e.forEach(C); } else h.fragment && h.fragment.c(); t.intro && ie(e.$$.fragment), ae(e, t.target, t.anchor, t.customElement), (function () { b = !1; for (const e of v) e.parentNode.removeChild(e); v.clear(); })(), G(); } var g; A(d); } 'undefined' != typeof window ? window : 'undefined' != typeof globalThis ? globalThis : global, new Set([ 'allowfullscreen', 'allowpaymentrequest', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'formnovalidate', 'hidden', 'ismap', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', ]), 'function' == typeof HTMLElement && (X = class extends HTMLElement { constructor() { super(), this.attachShadow({ mode: 'open' }); } connectedCallback() { const { on_mount: e } = this.$$; this.$$.on_disconnect = e.map(s).filter(l); for (const e in this.$$.slotted) this.appendChild(this.$$.slotted[e]); } attributeChangedCallback(e, t, i) { this[e] = i; } disconnectedCallback() { a(this.$$.on_disconnect); } $destroy() { le(this, 1), (this.$destroy = n); } $on(e, t) { const i = this.$$.callbacks[e] || (this.$$.callbacks[e] = []); return ( i.push(t), () => { const e = i.indexOf(t); -1 !== e && i.splice(e, 1); } ); } $set(e) { this.$$set && !d(e) && ((this.$$.skip_bound = !0), this.$$set(e), (this.$$.skip_bound = !1)); } }); class de { $destroy() { le(this, 1), (this.$destroy = n); } $on(e, t) { const i = this.$$.callbacks[e] || (this.$$.callbacks[e] = []); return ( i.push(t), () => { const e = i.indexOf(t); -1 !== e && i.splice(e, 1); } ); } $set(e) { this.$$set && !d(e) && ((this.$$.skip_bound = !0), this.$$set(e), (this.$$.skip_bound = !1)); } } const he = []; function ue(e, t) { return { subscribe: ge(e, t).subscribe }; } function ge(e, t = n) { let i; const r = []; function s(t) { if (c(e, t) && ((e = t), i)) { const t = !he.length; for (let t = 0; t < r.length; t += 1) { const i = r[t]; i[1](), he.push(i, e); } if (t) { for (let e = 0; e < he.length; e += 2) he[e][0](he[e + 1]); he.length = 0; } } } return { set: s, update: function (t) { s(t(e)); }, subscribe: function (o, a = n) { const l = [o, a]; return ( r.push(l), 1 === r.length && (i = t(s) || n), o(e), () => { const e = r.indexOf(l); -1 !== e && r.splice(e, 1), 0 === r.length && (i(), (i = null)); } ); }, }; } function fe(e, t, i) { const r = !Array.isArray(e), s = r ? [e] : e, o = t.length < 2; return ue(i, (e) => { let i = !1; const c = []; let d = 0, u = n; const g = () => { if (d) return; u(); const i = t(r ? c[0] : c, e); o ? e(i) : (u = l(i) ? i : n); }, f = s.map((e, t) => h( e, (e) => { (c[t] = e), (d &= ~(1 << t)), i && g(); }, () => { d |= 1 << t; } ) ); return ( (i = !0), g(), function () { a(f), u(); } ); }); } function pe(e) { let t, i, n; const s = [e[2]]; var o = e[0]; function a(e) { let t = {}; for (let e = 0; e < s.length; e += 1) t = r(t, s[e]); return { props: t }; } return ( o && ((t = new o(a())), t.$on('routeEvent', e[7])), { c() { t && oe(t.$$.fragment), (i = M()); }, m(e, r) { t && ae(t, e, r), w(e, i, r), (n = !0); }, p(e, n) { const r = 4 & n ? re(s, [se(e[2])]) : {}; if (o !== (o = e[0])) { if (t) { ee(); const e = t; ne(e.$$.fragment, 1, 0, () => { le(e, 1); }), te(); } o ? ((t = new o(a())), t.$on('routeEvent', e[7]), oe(t.$$.fragment), ie(t.$$.fragment, 1), ae(t, i.parentNode, i)) : (t = null); } else o && t.$set(r); }, i(e) { n || (t && ie(t.$$.fragment, e), (n = !0)); }, o(e) { t && ne(t.$$.fragment, e), (n = !1); }, d(e) { e && C(i), t && le(t, e); }, } ); } function me(e) { let t, i, n; const s = [{ params: e[1] }, e[2]]; var o = e[0]; function a(e) { let t = {}; for (let e = 0; e < s.length; e += 1) t = r(t, s[e]); return { props: t }; } return ( o && ((t = new o(a())), t.$on('routeEvent', e[6])), { c() { t && oe(t.$$.fragment), (i = M()); }, m(e, r) { t && ae(t, e, r), w(e, i, r), (n = !0); }, p(e, n) { const r = 6 & n ? re(s, [2 & n && { params: e[1] }, 4 & n && se(e[2])]) : {}; if (o !== (o = e[0])) { if (t) { ee(); const e = t; ne(e.$$.fragment, 1, 0, () => { le(e, 1); }), te(); } o ? ((t = new o(a())), t.$on('routeEvent', e[6]), oe(t.$$.fragment), ie(t.$$.fragment, 1), ae(t, i.parentNode, i)) : (t = null); } else o && t.$set(r); }, i(e) { n || (t && ie(t.$$.fragment, e), (n = !0)); }, o(e) { t && ne(t.$$.fragment, e), (n = !1); }, d(e) { e && C(i), t && le(t, e); }, } ); } function _e(e) { let t, i, n, r; const s = [me, pe], o = []; function a(e, t) { return e[1] ? 0 : 1; } return ( (t = a(e)), (i = o[t] = s[t](e)), { c() { i.c(), (n = M()); }, m(e, i) { o[t].m(e, i), w(e, n, i), (r = !0); }, p(e, [r]) { let l = t; (t = a(e)), t === l ? o[t].p(e, r) : (ee(), ne(o[l], 1, 1, () => { o[l] = null; }), te(), (i = o[t]), i ? i.p(e, r) : ((i = o[t] = s[t](e)), i.c()), ie(i, 1), i.m(n.parentNode, n)); }, i(e) { r || (ie(i), (r = !0)); }, o(e) { ne(i), (r = !1); }, d(e) { o[t].d(e), e && C(n); }, } ); } function be() { const e = window.location.href.indexOf('#/'); let t = e > -1 ? window.location.href.substr(e + 1) : '/'; const i = t.indexOf('?'); let n = ''; return ( i > -1 && ((n = t.substr(i + 1)), (t = t.substr(0, i))), { location: t, querystring: n } ); } const ve = ue(null, function (e) { e(be()); const t = () => { e(be()); }; return ( window.addEventListener('hashchange', t, !1), function () { window.removeEventListener('hashchange', t, !1); } ); }), ye = fe(ve, (e) => e.location); function we(e, t, i) { let { routes: n = {} } = t, { prefix: r = '' } = t, { restoreScrollState: s = !1 } = t; class o { constructor(e, t) { if ( !t || ('function' != typeof t && ('object' != typeof t || !0 !== t._sveltesparouter)) ) throw Error('Invalid component object'); if ( !e || ('string' == typeof e && (e.length < 1 || ('/' != e.charAt(0) && '*' != e.charAt(0)))) || ('object' == typeof e && !(e instanceof RegExp)) ) throw Error( 'Invalid value for "path" argument - strings must start with / or *' ); const { pattern: i, keys: n } = (function (e, t) { if (e instanceof RegExp) return { keys: !1, pattern: e }; var i, n, r, s, o = [], a = '', l = e.split('/'); for (l[0] || l.shift(); (r = l.shift()); ) '*' === (i = r[0]) ? (o.push('wild'), (a += '/(.*)')) : ':' === i ? ((n = r.indexOf('?', 1)), (s = r.indexOf('.', 1)), o.push(r.substring(1, ~n ? n : ~s ? s : r.length)), (a += ~n && !~s ? '(?:/([^/]+?))?' : '/([^/]+?)'), ~s && (a += (~n ? '?' : '') + '\\' + r.substring(s))) : (a += '/' + r); return { keys: o, pattern: new RegExp('^' + a + '/?$', 'i') }; })(e); (this.path = e), 'object' == typeof t && !0 === t._sveltesparouter ? ((this.component = t.component), (this.conditions = t.conditions || []), (this.userData = t.userData), (this.props = t.props || {})) : ((this.component = () => Promise.resolve(t)), (this.conditions = []), (this.props = {})), (this._pattern = i), (this._keys = n); } match(e) { if (r) if ('string' == typeof r) { if (!e.startsWith(r)) return null; e = e.substr(r.length) || '/'; } else if (r instanceof RegExp) { const t = e.match(r); if (!t || !t[0]) return null; e = e.substr(t[0].length) || '/'; } const t = this._pattern.exec(e); if (null === t) return null; if (!1 === this._keys) return t; const i = {}; let n = 0; for (; n < this._keys.length; ) { try { i[this._keys[n]] = decodeURIComponent(t[n + 1] || '') || null; } catch (e) { i[this._keys[n]] = null; } n++; } return i; } async checkConditions(e) { for (let t = 0; t < this.conditions.length; t++) if (!(await this.conditions[t](e))) return !1; return !0; } } const a = []; n instanceof Map ? n.forEach((e, t) => { a.push(new o(t, e)); }) : Object.keys(n).forEach((e) => { a.push(new o(e, n[e])); }); let l = null, c = null, d = {}; const h = (function () { const e = R(); return (t, i) => { const n = e.$$.callbacks[t]; if (n) { const r = (function (e, t) { const i = document.createEvent('CustomEvent'); return i.initCustomEvent(e, !1, !1, t), i; })(t, i); n.slice().forEach((t) => { t.call(e, r); }); } }; })(); async function u(e, t) { await U(), h(e, t); } let g = null; var f; s && (window.addEventListener('popstate', (e) => { g = e.state && e.state.scrollY ? e.state : null; }), (f = () => { g ? window.scrollTo(g.scrollX, g.scrollY) : window.scrollTo(0, 0); }), R().$$.after_update.push(f)); let p = null, m = null; return ( ve.subscribe(async (e) => { p = e; let t = 0; for (; t < a.length; ) { const n = a[t].match(e.location); if (!n) { t++; continue; } const r = { route: a[t].path, location: e.location, querystring: e.querystring, userData: a[t].userData, }; if (!(await a[t].checkConditions(r))) return ( i(0, (l = null)), (m = null), void u('conditionsFailed', r) ); u('routeLoading', Object.assign({}, r)); const s = a[t].component; if (m != s) { s.loading ? (i(0, (l = s.loading)), (m = s), i(1, (c = s.loadingParams)), i(2, (d = {})), u( 'routeLoaded', Object.assign({}, r, { component: l, name: l.name }) )) : (i(0, (l = null)), (m = null)); const t = await s(); if (e != p) return; i(0, (l = (t && t.default) || t)), (m = s); } return ( n && 'object' == typeof n && Object.keys(n).length ? i(1, (c = n)) : i(1, (c = null)), i(2, (d = a[t].props)), void u( 'routeLoaded', Object.assign({}, r, { component: l, name: l.name }) ) ); } i(0, (l = null)), (m = null); }), (e.$$set = (e) => { 'routes' in e && i(3, (n = e.routes)), 'prefix' in e && i(4, (r = e.prefix)), 'restoreScrollState' in e && i(5, (s = e.restoreScrollState)); }), (e.$$.update = () => { 32 & e.$$.dirty && (history.scrollRestoration = s ? 'manual' : 'auto'); }), [ l, c, d, n, r, s, function (t) { F(e, t); }, function (t) { F(e, t); }, ] ); } fe(ve, (e) => e.querystring); const Ce = class extends de { constructor(e) { super(), ce(this, e, we, _e, c, { routes: 3, prefix: 4, restoreScrollState: 5, }); } }, Se = 'function' == typeof atob, ke = 'function' == typeof btoa, xe = 'function' == typeof Buffer, Le = 'function' == typeof TextDecoder ? new TextDecoder() : void 0, Me = 'function' == typeof TextEncoder ? new TextEncoder() : void 0, De = [ ...'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', ], Ne = ((e) => { let t = {}; return e.forEach((e, i) => (t[e] = i)), t; })(De), Ee = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/, Te = String.fromCharCode.bind(String), Ie = 'function' == typeof Uint8Array.from ? Uint8Array.from.bind(Uint8Array) : (e, t = (e) => e) => new Uint8Array(Array.prototype.slice.call(e, 0).map(t)), Oe = (e) => e.replace(/[^A-Za-z0-9\+\/]/g, ''), Ae = ke ? (e) => btoa(e) : xe ? (e) => Buffer.from(e, 'binary').toString('base64') : (e) => { let t, i, n, r, s = ''; const o = e.length % 3; for (let o = 0; o < e.length; ) { if ( (i = e.charCodeAt(o++)) > 255 || (n = e.charCodeAt(o++)) > 255 || (r = e.charCodeAt(o++)) > 255 ) throw new TypeError('invalid character found'); (t = (i << 16) | (n << 8) | r), (s += De[(t >> 18) & 63] + De[(t >> 12) & 63] + De[(t >> 6) & 63] + De[63 & t]); } return o ? s.slice(0, o - 3) + '==='.substring(o) : s; }, Re = xe ? (e) => Buffer.from(e).toString('base64') : (e) => { let t = []; for (let i = 0, n = e.length; i < n; i += 4096) t.push(Te.apply(null, e.subarray(i, i + 4096))); return Ae(t.join('')); }, Pe = (e) => { if (e.length < 2) return (t = e.charCodeAt(0)) < 128 ? e : t < 2048 ? Te(192 | (t >>> 6)) + Te(128 | (63 & t)) : Te(224 | ((t >>> 12) & 15)) + Te(128 | ((t >>> 6) & 63)) + Te(128 | (63 & t)); var t = 65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320); return ( Te(240 | ((t >>> 18) & 7)) + Te(128 | ((t >>> 12) & 63)) + Te(128 | ((t >>> 6) & 63)) + Te(128 | (63 & t)) ); }, Fe = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, Be = xe ? (e) => Buffer.from(e, 'utf8').toString('base64') : Me ? (e) => Re(Me.encode(e)) : (e) => Ae(e.replace(Fe, Pe)), We = (e, t = !1) => t ? ((e) => e .replace(/[+\/]/g, (e) => ('+' == e ? '-' : '_')) .replace(/=+$/m, ''))(Be(e)) : Be(e), Ye = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g, He = (e) => { switch (e.length) { case 4: var t = (((7 & e.charCodeAt(0)) << 18) | ((63 & e.charCodeAt(1)) << 12) | ((63 & e.charCodeAt(2)) << 6) | (63 & e.charCodeAt(3))) - 65536; return Te(55296 + (t >>> 10)) + Te(56320 + (1023 & t)); case 3: return Te( ((15 & e.charCodeAt(0)) << 12) | ((63 & e.charCodeAt(1)) << 6) | (63 & e.charCodeAt(2)) ); default: return Te( ((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1)) ); } }, je = Se ? (e) => atob(Oe(e)) : xe ? (e) => Buffer.from(e, 'base64').toString('binary') : (e) => { if (((e = e.replace(/\s+/g, '')), !Ee.test(e))) throw new TypeError('malformed base64.'); e += '=='.slice(2 - (3 & e.length)); let t, i, n, r = ''; for (let s = 0; s < e.length; ) (t = (Ne[e.charAt(s++)] << 18) | (Ne[e.charAt(s++)] << 12) | ((i = Ne[e.charAt(s++)]) << 6) | (n = Ne[e.charAt(s++)])), (r += 64 === i ? Te((t >> 16) & 255) : 64 === n ? Te((t >> 16) & 255, (t >> 8) & 255) : Te((t >> 16) & 255, (t >> 8) & 255, 255 & t)); return r; }, Ve = xe ? (e) => Ie(Buffer.from(e, 'base64')) : (e) => Ie(je(e), (e) => e.charCodeAt(0)), ze = xe ? (e) => Buffer.from(e, 'base64').toString('utf8') : Le ? (e) => Le.decode(Ve(e)) : (e) => je(e).replace(Ye, He), Ue = We, $e = (e) => We(e, !0), Ke = (e) => ze(Oe(e.replace(/[-_]/g, (e) => ('-' == e ? '+' : '/')))), qe = { code: 'graph TD\n A[Christmas] --\x3e|Get money| B(Go shopping)\n B --\x3e C{Let me think}\n C --\x3e|One| D[Laptop]\n C --\x3e|Two| E[iPhone]\n C --\x3e|Three| F[fa:fa-car Car]\n ', mermaid: { theme: (window.matchMedia('(prefers-color-scheme: dark)').matches, 'default'), }, }, Ge = ge(qe), Ze = (e) => { let t; try { const i = Ke(e); console.log('state from url', i), (t = JSON.parse(i)); } catch (e) { console.error('Init error', e), (t = qe); } Ge.set({ ...t, updateEditor: !0 }); }, Je = (e, t) => { const i = u(Ge); Ge.set({ ...i, code: e, updateEditor: t }); }, Qe = ge(void 0), Xe = ge(void 0); var et = i(21140), tt = i.n(et); function it(e) { let t, i, n; return { c() { (t = k('div')), (i = x(e[1])), N(t, 'id', 'error'), N(t, 'class', (n = m(e[0]) + ' svelte-104hor5')); }, m(e, n) { w(e, t, n), y(t, i); }, p(e, r) { 2 & r && T(i, e[1]), 1 & r && n !== (n = m(e[0]) + ' svelte-104hor5') && N(t, 'class', n); }, d(e) { e && C(t); }, }; } function nt(e) { let t, i = e[1] && it(e); return { c() { i && i.c(), (t = M()); }, m(e, n) { i && i.m(e, n), w(e, t, n); }, p(e, [n]) { e[1] ? i ? i.p(e, n) : ((i = it(e)), i.c(), i.m(t.parentNode, t)) : i && (i.d(1), (i = null)); }, i: n, o: n, d(e) { i && i.d(e), e && C(t); }, }; } function rt(e, t, i) { let n, { classes: r = '' } = t, { errorStore: s } = t; return ( s.subscribe((e) => { i(1, (n = !!e && e.toString())); }), (e.$$set = (e) => { 'classes' in e && i(0, (r = e.classes)), 'errorStore' in e && i(2, (s = e.errorStore)); }), [r, n, s] ); } const st = class extends de { constructor(e) { super(), ce(this, e, rt, nt, c, { classes: 0, errorStore: 2 }); } }, ot = (e) => { e.languages.register({ id: 'mermaid' }), e.languages.setMonarchTokensProvider('mermaid', { typeKeywords: [ 'graph', 'stateDiagram', 'sequenceDiagram', 'classDiagram', 'pie', 'flowchart', 'gantt', ], keywords: ['patricipant', 'as'], arrows: ['---', '===', '--\x3e', '==>'], tokenizer: { root: [ [/[{}]/, 'delimiter.bracket'], [ /[a-z_$][\w$]*/, { cases: { '@typeKeywords': 'keyword', '@keywords': 'keyword', }, }, ], [/[-=>ox]+/, { cases: { '@arrows': 'transition' } }], [/[\[\{\(}]+.+?[\)\]\}]+/, 'string'], [/\".*\"/, 'string'], ], }, whitespace: [ [/[ \t\r\n]+/, 'white'], [/\%\%.*$/, 'comment'], ], }), e.editor.defineTheme('myCoolTheme', { base: 'vs', inherit: !1, rules: [ { token: 'keyword', foreground: '880000', fontStyle: 'bold' }, { token: 'custom-error', foreground: 'ff0000', fontStyle: 'bold', }, { token: 'string', foreground: 'AA8500' }, { token: 'transition', foreground: '008800', fontStyle: 'bold', }, { token: 'delimiter.bracket', foreground: '000000', fontStyle: 'bold', }, ], }), e.languages.registerCompletionItemProvider('mermaid', { provideCompletionItems: () => ({ suggestions: [ { label: 'simpleText', kind: e.languages.CompletionItemKind.Text, insertText: 'simpleText', }, { label: 'testing', kind: e.languages.CompletionItemKind.Keyword, insertText: 'testing(${1:condition})', insertTextRules: e.languages.CompletionItemInsertTextRule .InsertAsSnippet, }, { label: 'ifelse', kind: e.languages.CompletionItemKind.Snippet, insertText: [ 'if (${1:condition}) {', '\t$0', '} else {', '\t', '}', ].join('\n'), insertTextRules: e.languages.CompletionItemInsertTextRule .InsertAsSnippet, documentation: 'If-Else Statement', }, ], }), }); }, at = (e) => (t) => e && e.layout(); var lt = i(36640), ct = i(63844), dt = i.n(ct)()({ strategy: 'scroll' }); function ht(e, t) { dt.listenTo(e, t); var i = t; return { update: function (t) { dt.removeListener(e, i), dt.listenTo(e, t), (i = t); }, destroy: function () { dt.removeListener(e, i); }, }; } function ut(e) { let t, i, n, r, s, o, a, c; return ( (s = new st({ props: { errorStore: Qe } })), { c() { (t = k('div')), (i = k('div')), (r = L()), oe(s.$$.fragment), N(i, 'id', 'editor'), N(i, 'class', 'svelte-129q4vv'), N(t, 'id', 'editor-container'); }, m(l, d) { w(l, t, d), y(t, i), y(t, r), ae(s, t, null), (o = !0), a || ((c = _((n = ht.call(null, i, e[0])))), (a = !0)); }, p(e, [t]) { n && l(n.update) && 1 & t && n.update.call(null, e[0]); }, i(e) { o || (ie(s.$$.fragment, e), (o = !0)); }, o(e) { ne(s.$$.fragment, e), (o = !1); }, d(e) { e && C(t), le(s), (a = !1), c(); }, } ); } function gt(e, t, i) { let n; const r = []; let s = null, o = () => {}; const a = (e, t) => { try { tt().parse(e), n && (t && n.setValue(e), r.forEach((e) => { n.deltaDecorations(e, []); })), Je(e, !1), Qe.set(void 0); } catch (e) { Qe.set('Syntax Error'), console.log('Error in parsed', e.hash), e.hash.line, r.push( n.deltaDecorations( [], [ { range: new lt.Range( e.hash.loc.first_line, e.hash.loc.last_line, e.hash.loc.first_column, e.hash.loc.last_column ), options: { inlineClassName: 'myInlineDecoration' }, }, ] ) ); } }; return ( Ge.subscribe((e) => { e.updateEditor && a(e.code, !0); }), P(async () => { ot(lt), (s = document.getElementById('editor')), (n = lt.editor.create(s, { value: '', theme: 'myCoolTheme', language: 'mermaid', })), i(0, (o = at(n))), n.onDidChangeModelContent(function (e) { a(n.getValue(), !1); }), ot(lt); }), [o] ); } const ft = class extends de { constructor(e) { super(), ce(this, e, gt, ut, c, {}); } }; var pt = i(50158); function mt(e) { let t, i, n, r, s, o, a, c; return ( (s = new st({ props: { errorStore: Xe } })), { c() { (t = k('div')), (i = k('div')), (r = L()), oe(s.$$.fragment), N(i, 'id', 'editor-conf'), N(i, 'class', 'svelte-e1y9ss'), N(t, 'id', 'editor-container'); }, m(l, d) { w(l, t, d), y(t, i), y(t, r), ae(s, t, null), (o = !0), a || ((c = _((n = ht.call(null, i, e[0])))), (a = !0)); }, p(e, [t]) { n && l(n.update) && 1 & t && n.update.call(null, e[0]); }, i(e) { o || (ie(s.$$.fragment, e), (o = !0)); }, o(e) { ne(s.$$.fragment, e), (o = !1); }, d(e) { e && C(t), le(s), (a = !1), c(); }, } ); } function _t(e, t, i) { let n, r = () => {}; const s = (e, t) => { console.log(e), t && n && n.setValue(JSON.stringify(e, null, 2)), ((e, t) => { const i = u(Ge); Ge.set({ ...i, mermaid: e, updateEditor: !1 }); })(e), Xe.set(void 0); }; return ( Ge.subscribe((e) => { console.log(e.mermaid, e.updateEditor), e.updateEditor && s(e.mermaid, !0); }), P(async () => { console.log('Mounting config'); const e = document.getElementById('editor-conf'); (n = pt.editor.create(e, { value: '', theme: 'myCoolTheme', language: 'json', })), i(0, (r = at(n))), n.onDidChangeModelContent(function (e) { try { const e = JSON.parse(n.getValue()); s(e, !1); } catch (e) { console.log('Error in parsed', e), Xe.set(e); } }), ot(pt); }), [r] ); } const bt = class extends de { constructor(e) { super(), ce(this, e, _t, mt, c, {}); } }; function vt(e) { let t, i, r; return { c() { (t = k('div')), (i = k('div')), N(i, 'id', 'container'), N(i, 'class', 'svelte-adxv1m'), N(t, 'id', 'view'), N(t, 'class', (r = e[1] + ' ' + e[0] + ' svelte-adxv1m')); }, m(n, r) { w(n, t, r), y(t, i), e[4](i); }, p(e, [i]) { 3 & i && r !== (r = e[1] + ' ' + e[0] + ' svelte-adxv1m') && N(t, 'class', r); }, i: n, o: n, d(i) { i && C(t), e[4](null); }, }; } function yt(e, t, i) { let n, r, { code: s = '' } = t, { configClasses: o = '' } = t, { codeClasses: a = '' } = t; P(async () => { Ge.subscribe((e) => { try { r && e && (i( 3, (s = e.code.replace(//g, '>')) ), i(2, (r.innerHTML = s), r), (o = (o = s).replace(/^\s*%%.*\n/g, '\n')), console.debug( 'Detecting diagram type based on the text ' + o ), (t = o.match(/^\s*sequenceDiagram/) ? 'sequence' : o.match(/^\s*gantt/) ? 'gantt' : o.match(/^\s*classDiagram/) ? 'class' : o.match(/^\s*stateDiagram/) ? 'state' : o.match(/^\s*gitGraph/) ? 'git' : o.match(/^\s*flowchart/) ? 'flowchart' : o.match(/^\s*info/) ? 'info' : o.match(/^\s*pie/) ? 'pie' : 'flowchart'), clearTimeout(n), (n = setTimeout(function () { console.log('ga:', 'send', 'event', 'render', t, t), ga('send', 'event', t, 'render', 'render'); }, 5e3)), delete r.dataset.processed, tt().initialize(Object.assign({}, e.mermaid)), tt().init(void 0, r), s && tt().render('graph-div', s, l)); } catch (e) { console.log('view fail', e); } var t, o; }), Qe.subscribe((e) => { void 0 === e ? i(1, (a = '')) : (i(1, (a = 'error')), console.log('code error: ', e)); }), Xe.subscribe((e) => { void 0 === e ? i(0, (o = '')) : (i(0, (o = 'error')), console.log('conf error: ', e)); }); }); let l = function (e, t) {}; return ( (e.$$set = (e) => { 'code' in e && i(3, (s = e.code)), 'configClasses' in e && i(0, (o = e.configClasses)), 'codeClasses' in e && i(1, (a = e.codeClasses)); }), [ o, a, r, s, function (e) { W[e ? 'unshift' : 'push'](() => { (r = e), i(2, r); }); }, ] ); } const wt = class extends de { constructor(e) { super(), ce(this, e, yt, vt, c, { code: 3, configClasses: 0, codeClasses: 1, }); } }; function Ct(e) { let t, i, n, r, s, o, a; const l = e[4].default, c = g(l, e, e[3], null); return { c() { (t = k('div')), (i = k('div')), (n = x(e[0])), (r = L()), (s = k('div')), c && c.c(), N(i, 'id', 'title'), N(i, 'class', 'padding svelte-m2i2uf'), N(s, 'id', 'content'), N(s, 'class', (o = m(e[1]) + ' svelte-m2i2uf')), N(t, 'id', 'card'), N(t, 'class', 'svelte-m2i2uf'); }, m(e, o) { w(e, t, o), y(t, i), y(i, n), y(t, r), y(t, s), c && c.m(s, null), (a = !0); }, p(e, [t]) { (!a || 1 & t) && T(n, e[0]), c && c.p && (!a || 8 & t) && p(c, l, e, e[3], t, null, null), (!a || (2 & t && o !== (o = m(e[1]) + ' svelte-m2i2uf'))) && N(s, 'class', o); }, i(e) { a || (ie(c, e), (a = !0)); }, o(e) { ne(c, e), (a = !1); }, d(e) { e && C(t), c && c.d(e); }, }; } function St(e, t, i) { let { $$slots: n = {}, $$scope: r } = t, { title: s = '' } = t, { noPadding: o = !1 } = t, a = 'padding'; return ( o && (a = ''), (e.$$set = (e) => { 'title' in e && i(0, (s = e.title)), 'noPadding' in e && i(2, (o = e.noPadding)), '$$scope' in e && i(3, (r = e.$$scope)); }), [s, a, o, r, n] ); } const kt = class extends de { constructor(e) { super(), ce(this, e, St, Ct, c, { title: 0, noPadding: 2 }); } }; function xt(e) { let t, i; const n = e[1].default, r = g(n, e, e[0], null); return { c() { (t = k('div')), r && r.c(), N(t, 'id', 'tag'), N(t, 'class', 'svelte-1nm8e4l'); }, m(e, n) { w(e, t, n), r && r.m(t, null), (i = !0); }, p(e, [t]) { r && r.p && (!i || 1 & t) && p(r, n, e, e[0], t, null, null); }, i(e) { i || (ie(r, e), (i = !0)); }, o(e) { ne(r, e), (i = !1); }, d(e) { e && C(t), r && r.d(e); }, }; } function Lt(e, t, i) { let { $$slots: n = {}, $$scope: r } = t; return ( (e.$$set = (e) => { '$$scope' in e && i(0, (r = e.$$scope)); }), [r, n] ); } const Mt = class extends de { constructor(e) { super(), ce(this, e, Lt, xt, c, {}); } }; var Dt = i(30381), Nt = i.n(Dt); function Et(e) { let t, i, r, s, o, l, c, d, h, u, g, f, p, m, _, b, v, S, M, T, O, A, R, P, F, B, W, Y, H, j, V, z, U, $, K, q, G, Z, J, Q, X, ee, te, ie, ne, re, se, oe, ae, le, ce, de, he, ue, ge = e[7](), fe = ge && (function (e) { let t, i, n, r, s; return { c() { (t = k('button')), (i = k('a')), (n = x('Copy Image')), N(i, 'class', 'link-style svelte-187ys3m'), N(i, 'href', e[0]), N(i, 'download', ''), N(t, 'class', 'button-style svelte-187ys3m'); }, m(o, a) { w(o, t, a), y(t, i), y(i, n), r || ((s = D(i, 'click', e[8])), (r = !0)); }, p(e, t) { 1 & t && N(i, 'href', e[0]); }, d(e) { e && C(t), (r = !1), s(); }, }; })(e); return { c() { (t = k('div')), fe && fe.c(), (i = L()), (r = k('button')), (s = k('a')), (o = x('Download PNG')), (l = L()), (c = k('button')), (d = k('a')), (h = x('Link to view')), (u = L()), (g = k('button')), (f = k('a')), (p = x('Download SVG')), (m = L()), (_ = k('button')), (b = k('a')), (v = x('Link to Image')), (S = L()), (M = k('button')), (T = k('a')), (O = x('Link to SVG')), (A = x('\n (markdown is base64 encoded for these urls)')), (R = L()), (P = k('div')), (F = k('label')), (F.textContent = 'Copy Markdown'), (B = L()), (W = k('br')), (Y = L()), (H = k('input')), (j = x('\n\nPNG size:\n')), (V = k('br')), (z = L()), (U = k('input')), ($ = L()), (K = k('label')), (K.textContent = 'auto'), (q = k('br')), (G = L()), (Z = k('input')), (J = L()), (Q = k('label')), (Q.textContent = 'width'), (X = L()), (ee = k('input')), (ie = k('br')), (ne = L()), (re = k('input')), (se = L()), (oe = k('label')), (oe.textContent = 'height'), (ae = L()), (le = k('input')), (de = k('br')), N(s, 'class', 'link-style svelte-187ys3m'), N(s, 'href', e[0]), N(s, 'download', ''), N(r, 'class', 'button-style svelte-187ys3m'), N(d, 'class', 'link-style svelte-187ys3m'), N(d, 'href', e[0]), N(c, 'class', 'button-style svelte-187ys3m'), N(f, 'class', 'link-style svelte-187ys3m'), N(f, 'href', e[0]), N(f, 'download', ''), N(g, 'class', 'button-style svelte-187ys3m'), N(b, 'class', 'link-style svelte-187ys3m'), N(b, 'href', e[1]), N(_, 'class', 'button-style svelte-187ys3m'), N(T, 'class', 'link-style svelte-187ys3m'), N(T, 'href', e[2]), N(M, 'class', 'button-style svelte-187ys3m'), N(t, 'id', 'links'), N(t, 'class', 'svelte-187ys3m'), N(F, 'for', 'markdown'), N(F, 'class', 'button-style svelte-187ys3m'), N(H, 'id', 'markdown'), N(H, 'type', 'text'), (H.value = e[3]), N(H, 'class', 'svelte-187ys3m'), N(P, 'id', 'copy-section'), N(P, 'class', 'svelte-187ys3m'), N(U, 'type', 'radio'), (U.__value = 'auto'), (U.value = U.__value), N(U, 'id', 'autosize'), e[13][0].push(U), N(K, 'for', 'autosize'), N(Z, 'type', 'radio'), (Z.__value = 'width'), (Z.value = Z.__value), N(Z, 'id', 'width-active'), e[13][0].push(Z), N(Q, 'for', 'width'), N(ee, 'id', 'width'), N(ee, 'type', 'number'), N(ee, 'min', '3'), N(ee, 'max', '10000'), (ee.disabled = te = 'width' !== e[4]), N(re, 'type', 'radio'), (re.__value = 'height'), (re.value = re.__value), N(re, 'id', 'height-active'), e[13][0].push(re), N(oe, 'for', 'height'), N(le, 'id', 'height'), N(le, 'type', 'number'), N(le, 'min', '3'), N(le, 'max', '10000'), (le.disabled = ce = 'height' !== e[4]); }, m(n, a) { w(n, t, a), fe && fe.m(t, null), y(t, i), y(t, r), y(r, s), y(s, o), y(t, l), y(t, c), y(c, d), y(d, h), y(t, u), y(t, g), y(g, f), y(f, p), y(t, m), y(t, _), y(_, b), y(b, v), y(t, S), y(t, M), y(M, T), y(T, O), y(t, A), w(n, R, a), w(n, P, a), y(P, F), y(P, B), y(P, W), y(P, Y), y(P, H), w(n, j, a), w(n, V, a), w(n, z, a), w(n, U, a), (U.checked = U.__value === e[4]), w(n, $, a), w(n, K, a), w(n, q, a), w(n, G, a), w(n, Z, a), (Z.checked = Z.__value === e[4]), w(n, J, a), w(n, Q, a), w(n, X, a), w(n, ee, a), I(ee, e[5]), w(n, ie, a), w(n, ne, a), w(n, re, a), (re.checked = re.__value === e[4]), w(n, se, a), w(n, oe, a), w(n, ae, a), w(n, le, a), I(le, e[6]), w(n, de, a), he || ((ue = [ D(s, 'click', e[9]), D(f, 'click', e[10]), D(H, 'click', e[11]), D(U, 'change', e[12]), D(Z, 'change', e[14]), D(ee, 'input', e[15]), D(re, 'change', e[16]), D(le, 'input', e[17]), ]), (he = !0)); }, p(e, [t]) { ge && fe.p(e, t), 1 & t && N(s, 'href', e[0]), 1 & t && N(d, 'href', e[0]), 1 & t && N(f, 'href', e[0]), 2 & t && N(b, 'href', e[1]), 4 & t && N(T, 'href', e[2]), 8 & t && H.value !== e[3] && (H.value = e[3]), 16 & t && (U.checked = U.__value === e[4]), 16 & t && (Z.checked = Z.__value === e[4]), 16 & t && te !== (te = 'width' !== e[4]) && (ee.disabled = te), 32 & t && E(ee.value) !== e[5] && I(ee, e[5]), 16 & t && (re.checked = re.__value === e[4]), 16 & t && ce !== (ce = 'height' !== e[4]) && (le.disabled = ce), 64 & t && E(le.value) !== e[6] && I(le, e[6]); }, i: n, o: n, d(i) { i && C(t), fe && fe.d(), i && C(R), i && C(P), i && C(j), i && C(V), i && C(z), i && C(U), e[13][0].splice(e[13][0].indexOf(U), 1), i && C($), i && C(K), i && C(q), i && C(G), i && C(Z), e[13][0].splice(e[13][0].indexOf(Z), 1), i && C(J), i && C(Q), i && C(X), i && C(ee), i && C(ie), i && C(ne), i && C(re), e[13][0].splice(e[13][0].indexOf(re), 1), i && C(se), i && C(oe), i && C(ae), i && C(le), i && C(de), (he = !1), a(ue); }, }; } function Tt(e, t, i) { const n = () => { const e = document .getElementById('container') .innerHTML.replaceAll('
    ', '
    '); return Ue(e); }, r = (e, t) => { const i = document.createElement('canvas'), r = document .querySelector('#container svg') .getBoundingClientRect(); if (((i.width = r.width), (i.height = r.height), 'width' === u)) { const e = r.height / r.width; (i.width = g), (i.height = g * e); } else if ('height' === u) { const e = r.width / r.height; (i.width = f * e), (i.height = f); } const s = i.getContext('2d'); (s.fillStyle = 'white'), s.fillRect(0, 0, i.width, i.height); const o = new Image(); (o.onload = t(i, s, o)), console.log('SVG', n()), (o.src = `data:image/svg+xml;base64,${n()}`), e.stopPropagation(), e.preventDefault(); }, s = (e, t, i) => () => { t.drawImage(i, 0, 0, e.width, e.height); const n = document.createElement('a'); (n.download = `mermaid-diagram-${Nt()().format( 'YYYYMMDDHHmmss' )}.png`), (n.href = e .toDataURL('image/png') .replace('image/png', 'image/octet-stream')), n.click(); }, o = (e, t, i) => () => { t.drawImage(i, 0, 0, e.width, e.height), e.toBlob((e) => { try { navigator.clipboard.write([ new ClipboardItem({ [e.type]: e }), ]); } catch (e) { console.error(e); } }); }; let a, l, c, d, h, u = 'auto', g = 1920, f = 1080; return ( Ge.subscribe((e) => { (l = $e(JSON.stringify(e))), i( 0, (a = `${window.location.pathname.split('#')[0]}#/view/${l}`) ), i(1, (c = `https://mermaid.ink/img/${l}`)), i(2, (d = `https://mermaid.ink/svg/${l}`)), i( 3, (h = `[![](${c})](${window.location.protocol}//${window.location.host}${window.location.pathname}#/edit/${l})`) ); }), [ a, c, d, h, u, g, f, () => window.hasOwnProperty('ClipboardItem'), (e) => { r(e, o); }, (e) => { r(e, s); }, (e) => { console.log('event', e.target), (e.target.href = `data:image/svg+xml;base64,${n()}`), (e.target.download = `mermaid-diagram-${Nt()().format( 'YYYYMMDDHHmmss' )}.svg`), console.log('event', e); }, (e) => { e.target.select(), document.execCommand('Copy'); }, function () { (u = this.__value), i(4, u); }, [[]], function () { (u = this.__value), i(4, u); }, function () { (g = E(this.value)), i(5, g); }, function () { (u = this.__value), i(4, u); }, function () { (f = E(this.value)), i(6, f); }, ] ); } const It = class extends de { constructor(e) { super(), ce(this, e, Tt, Et, c, {}); } }, Ot = { i8: '8.9.3' }; function At(e, t, i) { const n = e.slice(); return (n[9] = t[i]), (n[11] = i), n; } function Rt(e, t, i) { const n = e.slice(); return (n[12] = t[i]), (n[11] = i), n; } function Pt(e) { let t, i, n, r, s, o = e[12] + ''; function a(...t) { return e[7](e[12], ...t); } return { c() { (t = k('button')), (i = x(o)), (n = L()), N(t, 'class', 'button-style svelte-mx8k4g'); }, m(e, o) { w(e, t, o), y(t, i), y(t, n), r || ((s = D(t, 'click', a)), (r = !0)); }, p(t, i) { e = t; }, d(e) { e && C(t), (r = !1), s(); }, }; } function Ft(e) { let t, i; return ( (t = new ft({ props: { data: e[1].data } })), { c() { oe(t.$$.fragment); }, m(e, n) { ae(t, e, n), (i = !0); }, p(e, i) { const n = {}; 2 & i && (n.data = e[1].data), t.$set(n); }, i(e) { i || (ie(t.$$.fragment, e), (i = !0)); }, o(e) { ne(t.$$.fragment, e), (i = !1); }, d(e) { le(t, e); }, } ); } function Bt(e) { let t, i; return ( (t = new bt({})), { c() { oe(t.$$.fragment); }, m(e, n) { ae(t, e, n), (i = !0); }, i(e) { i || (ie(t.$$.fragment, e), (i = !0)); }, o(e) { ne(t.$$.fragment, e), (i = !1); }, d(e) { le(t, e); }, } ); } function Wt(e) { let t, i; return ( (t = new wt({})), { c() { oe(t.$$.fragment); }, m(e, n) { ae(t, e, n), (i = !0); }, i(e) { i || (ie(t.$$.fragment, e), (i = !0)); }, o(e) { ne(t.$$.fragment, e), (i = !1); }, d(e) { le(t, e); }, } ); } function Yt(e) { let t; return { c() { t = x('No records.'); }, m(e, i) { w(e, t, i); }, p: n, d(e) { e && C(t); }, }; } function Ht(e) { let t, i = e[2], n = []; for (let t = 0; t < i.length; t += 1) n[t] = jt(At(e, i, t)); return { c() { for (let e = 0; e < n.length; e += 1) n[e].c(); t = M(); }, m(e, i) { for (let t = 0; t < n.length; t += 1) n[t].m(e, i); w(e, t, i); }, p(e, r) { if (100 & r) { let s; for (i = e[2], s = 0; s < i.length; s += 1) { const o = At(e, i, s); n[s] ? n[s].p(o, r) : ((n[s] = jt(o)), n[s].c(), n[s].m(t.parentNode, t)); } for (; s < n.length; s += 1) n[s].d(1); n.length = i.length; } }, d(e) { S(n, e), e && C(t); }, }; } function jt(e) { let t, i, n, r, s, o = e[6](e[9].time) + ''; function a(...t) { return e[8](e[9], ...t); } return { c() { (t = k('button')), (i = x(o)), (n = L()), N(t, 'class', 'button-style svelte-mx8k4g'); }, m(e, o) { w(e, t, o), y(t, i), y(t, n), r || ((s = D(t, 'click', a)), (r = !0)); }, p(t, n) { (e = t), 4 & n && o !== (o = e[6](e[9].time) + '') && T(i, o); }, d(e) { e && C(t), (r = !1), s(); }, }; } function Vt(e) { let t, i, n, r, s; function o(e, t) { return e[2].length > 0 ? Ht : Yt; } let a = o(e), l = a(e); return { c() { (t = k('span')), (t.textContent = 'Automatically saves once every minute, up to 10 records.'), (i = L()), (n = k('br')), (r = L()), (s = k('div')), l.c(), N(t, 'id', 'historyLoaderSubTitle'), N(t, 'class', 'svelte-mx8k4g'), N(s, 'id', 'historyList'), N(s, 'class', 'button-container svelte-mx8k4g'); }, m(e, o) { w(e, t, o), w(e, i, o), w(e, n, o), w(e, r, o), w(e, s, o), l.m(s, null); }, p(e, t) { a === (a = o(e)) && l ? l.p(e, t) : (l.d(1), (l = a(e)), l && (l.c(), l.m(s, null))); }, d(e) { e && C(t), e && C(i), e && C(n), e && C(r), e && C(s), l.d(); }, }; } function zt(e) { let t; return { c() { (t = k('div')), (t.innerHTML = ' \n \n \n \n '), N(t, 'class', 'button-container svelte-mx8k4g'); }, m(e, i) { w(e, t, i); }, d(e) { e && C(t); }, }; } function Ut(e) { let t, i; return ( (t = new It({})), { c() { oe(t.$$.fragment); }, m(e, n) { ae(t, e, n), (i = !0); }, i(e) { i || (ie(t.$$.fragment, e), (i = !0)); }, o(e) { ne(t.$$.fragment, e), (i = !1); }, d(e) { le(t, e); }, } ); } function $t(e) { let t; return { c() { t = x(e[0]); }, m(e, i) { w(e, t, i); }, p(e, i) { 1 & i && T(t, e[0]); }, d(e) { e && C(t); }, }; } function Kt(e) { let t, i, n, r, s, o, a, l, c, d, h, u, g, f, p, m, _, b, v, M, D, E, T, I, O, A, R, P, F, B, W = Object.keys(e[3]), Y = []; for (let t = 0; t < W.length; t += 1) Y[t] = Pt(Rt(e, W, t)); return ( (h = new kt({ props: { title: 'Code', noPadding: 'true', $$slots: { default: [Ft] }, $$scope: { ctx: e }, }, })), (g = new kt({ props: { title: 'Mermaid Configuration', $$slots: { default: [Bt] }, $$scope: { ctx: e }, }, })), (m = new kt({ props: { title: 'Preview', $$slots: { default: [Wt] }, $$scope: { ctx: e }, }, })), (M = new kt({ props: { title: 'Editing history', $$slots: { default: [Vt] }, $$scope: { ctx: e }, }, })), (E = new kt({ props: { title: 'Links', $$slots: { default: [zt] }, $$scope: { ctx: e }, }, })), (O = new kt({ props: { title: 'Actions', $$slots: { default: [Ut] }, $$scope: { ctx: e }, }, })), (F = new Mt({ props: { color: 'green', $$slots: { default: [$t] }, $$scope: { ctx: e }, }, })), { c() { (t = k('div')), (i = k('div')), (i.innerHTML = '

    Mermaid Live Editor

    '), (n = L()), (r = k('div')), (s = k('div')), (o = k('span')), (o.innerHTML = 'Diagram presets:'), (a = L()); for (let e = 0; e < Y.length; e += 1) Y[e].c(); (l = L()), (c = k('div')), (d = k('div')), oe(h.$$.fragment), (u = L()), oe(g.$$.fragment), (f = L()), (p = k('div')), oe(m.$$.fragment), (_ = L()), (b = k('div')), (v = k('div')), oe(M.$$.fragment), (D = L()), oe(E.$$.fragment), (T = L()), (I = k('div')), oe(O.$$.fragment), (A = L()), (R = k('div')), (P = x('Powered by mermaid\n ')), oe(F.$$.fragment), N(i, 'id', 'title-container'), N(i, 'class', 'svelte-mx8k4g'), N(o, 'id', 'sampleLoaderTitle'), N(s, 'class', 'button-container svelte-mx8k4g'), N(r, 'id', 'sampleLoader'), N(r, 'class', 'svelte-mx8k4g'), N(d, 'id', 'col1'), N(d, 'class', 'svelte-mx8k4g'), N(v, 'id', 'link-col1'), N(v, 'class', 'svelte-mx8k4g'), N(I, 'id', 'link-col2'), N(I, 'class', 'svelte-mx8k4g'), N(b, 'id', 'link-root'), N(b, 'class', 'svelte-mx8k4g'), N(p, 'id', 'col2'), N(p, 'class', 'svelte-mx8k4g'), N(c, 'id', 'editor-root'), N(c, 'class', 'svelte-mx8k4g'), N(R, 'id', 'power'), N(R, 'class', 'svelte-mx8k4g'), N(t, 'id', 'body'), N(t, 'class', 'svelte-mx8k4g'); }, m(e, C) { w(e, t, C), y(t, i), y(t, n), y(t, r), y(r, s), y(s, o), y(s, a); for (let e = 0; e < Y.length; e += 1) Y[e].m(s, null); y(t, l), y(t, c), y(c, d), ae(h, d, null), y(d, u), ae(g, d, null), y(c, f), y(c, p), ae(m, p, null), y(p, _), y(p, b), y(b, v), ae(M, v, null), y(v, D), ae(E, v, null), y(b, T), y(b, I), ae(O, I, null), y(t, A), y(t, R), y(R, P), ae(F, R, null), (B = !0); }, p(e, [t]) { if (24 & t) { let i; for (W = Object.keys(e[3]), i = 0; i < W.length; i += 1) { const n = Rt(e, W, i); Y[i] ? Y[i].p(n, t) : ((Y[i] = Pt(n)), Y[i].c(), Y[i].m(s, null)); } for (; i < Y.length; i += 1) Y[i].d(1); Y.length = W.length; } const i = {}; 16386 & t && (i.$$scope = { dirty: t, ctx: e }), h.$set(i); const n = {}; 16384 & t && (n.$$scope = { dirty: t, ctx: e }), g.$set(n); const r = {}; 16384 & t && (r.$$scope = { dirty: t, ctx: e }), m.$set(r); const o = {}; 16388 & t && (o.$$scope = { dirty: t, ctx: e }), M.$set(o); const a = {}; 16384 & t && (a.$$scope = { dirty: t, ctx: e }), E.$set(a); const l = {}; 16384 & t && (l.$$scope = { dirty: t, ctx: e }), O.$set(l); const c = {}; 16385 & t && (c.$$scope = { dirty: t, ctx: e }), F.$set(c); }, i(e) { B || (ie(h.$$.fragment, e), ie(g.$$.fragment, e), ie(m.$$.fragment, e), ie(M.$$.fragment, e), ie(E.$$.fragment, e), ie(O.$$.fragment, e), ie(F.$$.fragment, e), (B = !0)); }, o(e) { ne(h.$$.fragment, e), ne(g.$$.fragment, e), ne(m.$$.fragment, e), ne(M.$$.fragment, e), ne(E.$$.fragment, e), ne(O.$$.fragment, e), ne(F.$$.fragment, e), (B = !1); }, d(e) { e && C(t), S(Y, e), le(h), le(g), le(m), le(M), le(E), le(O), le(F); }, } ); } function qt(e, t, i) { let { mermaidVersion: n = Ot.i8 } = t, { params: r = {} } = t, s = []; P(async () => { ga('send', 'pageview'), ga('send', 'event', 'version', n, n); const e = '_mermaid_history_'; i(2, (s = JSON.parse(localStorage.getItem(e) || '[]'))); let t = s.length > 0 ? s[s.length - 1] : null; var o; r.data ? Ze(r.data) : t ? ((o = { code: t.code, mermaid: {}, updateEditor: !0 }), Ge.set(o)) : a('Flow Chart'), Ge.subscribe((e) => { !(async function (e) { if ( !e || e.length < 1 || ('/' != e.charAt(0) && 0 !== e.indexOf('#/')) ) throw Error('Invalid parameter location'); await U(); const t = ('#' == e.charAt(0) ? '' : '#') + e; try { window.history.replaceState(void 0, void 0, t); } catch (e) { console.warn( "Caught exception while replacing the current page. If you're running this in the Svelte REPL, please note that the `replace` method might not work in this environment." ); } window.dispatchEvent(new Event('hashchange')); })( `/${u(ye).split('/')[1] || 'edit'}/` + $e(JSON.stringify(e)) ); }); let l = null; Ge.subscribe((e) => { l = (e && e.code) || l; }), setInterval(() => { l != t && (s.unshift({ time: new Date().toISOString(), code: (t = l) }), s.length > 10 && s.pop(), localStorage.setItem(e, JSON.stringify(s))), i(2, s); }, 6e4); }); const o = { 'Flow Chart': 'graph TD\n A[Christmas] --\x3e|Get money| B(Go shopping)\n B --\x3e C{Let me think}\n C --\x3e|One| D[Laptop]\n C --\x3e|Two| E[iPhone]\n C --\x3e|Three| F[fa:fa-car Car]', 'Sequence Diagram': 'sequenceDiagram\n Alice->>+John: Hello John, how are you?\n Alice->>+John: John, can you hear me?\n John--\x3e>-Alice: Hi Alice, I can hear you!\n John--\x3e>-Alice: I feel great!\n ', 'Class Diagram': 'classDiagram\n Animal <|-- Duck\n Animal <|-- Fish\n Animal <|-- Zebra\n Animal : +int age\n Animal : +String gender\n Animal: +isMammal()\n Animal: +mate()\n class Duck{\n +String beakColor\n +swim()\n +quack()\n }\n class Fish{\n -int sizeInFeet\n -canEat()\n }\n class Zebra{\n +bool is_wild\n +run()\n }\n ', 'State Diagram': 'stateDiagram-v2\n [*] --\x3e Still\n Still --\x3e [*]\n Still --\x3e Moving\n Moving --\x3e Still\n Moving --\x3e Crash\n Crash --\x3e [*]\n ', 'Gantt Chart': 'gantt\n title A Gantt Diagram\n dateFormat YYYY-MM-DD\n section Section\n A task :a1, 2014-01-01, 30d\n Another task :after a1 , 20d\n section Another\n Task in sec :2014-01-12 , 12d\n another task : 24d\n ', 'Pie Chart': 'pie title Pets adopted by volunteers\n "Dogs" : 386\n "Cats" : 85\n "Rats" : 15\n ', 'ER Diagram': 'erDiagram\n CUSTOMER }|..|{ DELIVERY-ADDRESS : has\n CUSTOMER ||--o{ ORDER : places\n CUSTOMER ||--o{ INVOICE : "liable for"\n DELIVERY-ADDRESS ||--o{ ORDER : receives\n INVOICE ||--|{ ORDER : covers\n ORDER ||--|{ ORDER-ITEM : includes\n PRODUCT-CATEGORY ||--|{ PRODUCT : contains\n PRODUCT ||--o{ ORDER-ITEM : "ordered in"\n ', }; function a(e) { l(o[e]); } function l(e) { e && Je(e, !0); } return ( (e.$$set = (e) => { 'mermaidVersion' in e && i(0, (n = e.mermaidVersion)), 'params' in e && i(1, (r = e.params)); }), [ n, r, s, o, a, l, function (e) { return `${Nt()(e).fromNow()} (${new Date(e).toLocaleString()})`; }, (e, t) => a(e), (e, t) => l(e.code), ] ); } const Gt = class extends de { constructor(e) { super(), ce(this, e, qt, Kt, c, { mermaidVersion: 0, params: 1 }); } }; function Zt(e) { let t, i, r; return ( (i = new wt({})), { c() { (t = k('div')), oe(i.$$.fragment), N(t, 'id', 'view-page'), N(t, 'class', 'svelte-clxwlp'); }, m(e, n) { w(e, t, n), ae(i, t, null), (r = !0); }, p: n, i(e) { r || (ie(i.$$.fragment, e), (r = !0)); }, o(e) { ne(i.$$.fragment, e), (r = !1); }, d(e) { e && C(t), le(i); }, } ); } function Jt(e, t, i) { let { params: n = {} } = t; return ( P(async () => { ga('send', 'pageview'), n.data && Ze(n.data); }), (e.$$set = (e) => { 'params' in e && i(0, (n = e.params)); }), [n] ); } const Qt = class extends de { constructor(e) { super(), ce(this, e, Jt, Zt, c, { params: 0 }); } }; function Xt(e) { let t, i, r, s; return ( (r = new Ce({ props: { routes: e[0] } })), { c() { (t = k('link')), (i = L()), oe(r.$$.fragment), N( t, 'href', 'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap' ), N(t, 'rel', 'stylesheet'); }, m(e, n) { y(document.head, t), w(e, i, n), ae(r, e, n), (s = !0); }, p: n, i(e) { s || (ie(r.$$.fragment, e), (s = !0)); }, o(e) { ne(r.$$.fragment, e), (s = !1); }, d(e) { C(t), e && C(i), le(r, e); }, } ); } function ei(e) { return [{ '/': Gt, '/edit/:data': Gt, '/view/:data': Qt, '*': Gt }]; } const ti = new (class extends de { constructor(e) { super(), ce(this, e, ei, Xt, c, {}); } })({ target: document.body, props: {} }); window.app = ti; }, }, n = {}; function r(e) { var t = n[e]; if (void 0 !== t) return t.exports; var s = (n[e] = { id: e, loaded: !1, exports: {} }); return i[e].call(s.exports, s, s.exports, r), (s.loaded = !0), s.exports; } (r.m = i), (r.n = (e) => { var t = e && e.__esModule ? () => e.default : () => e; return r.d(t, { a: t }), t; }), (r.d = (e, t) => { for (var i in t) r.o(t, i) && !r.o(e, i) && Object.defineProperty(e, i, { enumerable: !0, get: t[i] }); }), (r.f = {}), (r.e = (e) => Promise.all(Object.keys(r.f).reduce((t, i) => (r.f[i](e, t), t), []))), (r.u = (e) => e + '.' + e + '.js'), (r.miniCssF = (e) => {}), (r.g = (function () { if ('object' == typeof globalThis) return globalThis; try { return this || new Function('return this')(); } catch (e) { if ('object' == typeof window) return window; } })()), (r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)), (e = {}), (t = 'mermaid-live-editor:'), (r.l = (i, n, s, o) => { if (e[i]) e[i].push(n); else { var a, l; if (void 0 !== s) for ( var c = document.getElementsByTagName('script'), d = 0; d < c.length; d++ ) { var h = c[d]; if ( h.getAttribute('src') == i || h.getAttribute('data-webpack') == t + s ) { a = h; break; } } a || ((l = !0), ((a = document.createElement('script')).charset = 'utf-8'), (a.timeout = 120), r.nc && a.setAttribute('nonce', r.nc), a.setAttribute('data-webpack', t + s), (a.src = i)), (e[i] = [n]); var u = (t, n) => { (a.onerror = a.onload = null), clearTimeout(g); var r = e[i]; if ( (delete e[i], a.parentNode && a.parentNode.removeChild(a), r && r.forEach((e) => e(n)), t) ) return t(n); }, g = setTimeout( u.bind(null, void 0, { type: 'timeout', target: a }), 12e4 ); (a.onerror = u.bind(null, a.onerror)), (a.onload = u.bind(null, a.onload)), l && document.head.appendChild(a); } }), (r.r = (e) => { 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), Object.defineProperty(e, '__esModule', { value: !0 }); }), (r.nmd = (e) => ((e.paths = []), e.children || (e.children = []), e)), (() => { var e; r.g.importScripts && (e = r.g.location + ''); var t = r.g.document; if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) { var i = t.getElementsByTagName('script'); i.length && (e = i[i.length - 1].src); } if (!e) throw new Error( 'Automatic publicPath is not supported in this browser' ); (e = e .replace(/#.*$/, '') .replace(/\?.*$/, '') .replace(/\/[^\/]+$/, '/')), (r.p = e); })(), (() => { var e = { 4296: 0 }; r.f.j = (t, i) => { var n = r.o(e, t) ? e[t] : void 0; if (0 !== n) if (n) i.push(n[2]); else { var s = new Promise((i, r) => (n = e[t] = [i, r])); i.push((n[2] = s)); var o = r.p + r.u(t), a = new Error(); r.l( o, (i) => { if (r.o(e, t) && (0 !== (n = e[t]) && (e[t] = void 0), n)) { var s = i && ('load' === i.type ? 'missing' : i.type), o = i && i.target && i.target.src; (a.message = 'Loading chunk ' + t + ' failed.\n(' + s + ': ' + o + ')'), (a.name = 'ChunkLoadError'), (a.type = s), (a.request = o), n[1](a); } }, 'chunk-' + t, t ); } }; var t = (t, i) => { var n, s, [o, a, l] = i, c = 0; for (n in a) r.o(a, n) && (r.m[n] = a[n]); for (l && l(r), t && t(i); c < o.length; c++) (s = o[c]), r.o(e, s) && e[s] && e[s][0](), (e[o[c]] = 0); }, i = (self.webpackChunkmermaid_live_editor = self.webpackChunkmermaid_live_editor || []); i.forEach(t.bind(null, 0)), (i.push = t.bind(null, i.push.bind(i))); })(), r(73466); })();