(function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s="2add")})({"2add":function(e,t,n){"use strict";n.r(t);class r{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)}}const i=new r;function o(e){l(e)||i.onUnexpectedError(e)}function s(e){if(e instanceof Error){let{name:t,message:n}=e;const r=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:r}}return e}const a="Canceled";function l(e){return e instanceof Error&&e.name===a&&e.message===a}function c(e){const t=this;let n,r=!1;return function(){return r||(r=!0,n=e.apply(t,arguments)),n}}var d;(function(e){function t(e){return e&&"object"===typeof e&&"function"===typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function r(){return n}function*i(e){yield e}function o(e){return e||n}function s(e){return!e||!0===e[Symbol.iterator]().next().done}function a(e){return e[Symbol.iterator]().next().value}function l(e,t){for(const n of e)if(t(n))return!0;return!1}function c(e,t){for(const n of e)if(t(n))return n}function*d(e,t){for(const n of e)t(n)&&(yield n)}function*h(e,t){let n=0;for(const r of e)yield t(r,n++)}function*p(...e){for(const t of e)for(const e of t)yield e}function*u(e){for(const t of e)for(const e of t)yield e}function m(e,t,n){let r=n;for(const i of e)r=t(r,i);return r}function*f(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);te===t)){const r=e[Symbol.iterator](),i=t[Symbol.iterator]();while(1){const e=r.next(),t=i.next();if(e.done!==t.done)return!1;if(e.done)return!0;if(!n(e.value,t.value))return!1}}e.empty=r,e.single=i,e.from=o,e.isEmpty=s,e.first=a,e.some=l,e.find=c,e.filter=d,e.map=h,e.concat=p,e.concatNested=u,e.reduce=m,e.slice=f,e.consume=g,e.equals=b})(d||(d={}));const h=!1;let p=null;function u(e){p=e}if(h){const e="__is_disposable_tracked__";u(new class{trackDisposable(t){const n=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(n)},3e3)}setParent(t,n){if(t&&t!==C.None)try{t[e]=!0}catch(r){}}markAsDisposed(t){if(t&&t!==C.None)try{t[e]=!0}catch(n){}}markAsSingleton(e){}})}function m(e){return null===p||void 0===p||p.trackDisposable(e),e}function f(e){null===p||void 0===p||p.markAsDisposed(e)}function g(e,t){null===p||void 0===p||p.setParent(e,t)}function b(e,t){if(p)for(const n of e)p.setParent(n,t)}class v extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function y(e){if(d.is(e)){let n=[];for(const r of e)if(r)try{r.dispose()}catch(t){n.push(t)}if(1===n.length)throw n[0];if(n.length>1)throw new v(n);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function w(...e){const t=x(()=>y(e));return b(e,t),t}function x(e){const t=m({dispose:c(()=>{f(t),e()})});return t}class S{constructor(){this._toDispose=new Set,this._isDisposed=!1,m(this)}dispose(){this._isDisposed||(f(this),this._isDisposed=!0,this.clear())}clear(){try{y(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 g(e,this),this._isDisposed?S.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}}S.DISABLE_DISPOSED_WARNING=!1;class C{constructor(){this._store=new S,m(this),g(this._store,this)}dispose(){f(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}C.None=Object.freeze({dispose(){}});var k=n("30db");function E(e){let t=[],n=Object.getPrototypeOf(e);while(Object.prototype!==n)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}function _(e){const t=[];for(const n of E(e))"function"===typeof e[n]&&t.push(n);return t}function F(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)};let r={};for(const i of e)r[i]=n(i);return r}const D="$initialize";class T{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send({vsWorker:this._workerId,req:n,method:e,args:t})})}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){if(e.seq){let t=e;if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");let n=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void n.reject(e)}return void n.resolve(t.res)}let t=e,n=t.req,r=this._handler.handleMessage(t.method,t.args);r.then(e=>{this._send({vsWorker:this._workerId,seq:n,res:e,err:void 0})},e=>{e.detail instanceof Error&&(e.detail=s(e.detail)),this._send({vsWorker:this._workerId,seq:n,res:void 0,err:s(e)})})}_send(e){let t=[];if(e.req){const n=e;for(let e=0;e{e(t,n)},handleMessage:(e,t)=>this._handleMessage(e,t)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t){if(e===D)return this.initialize(t[0],t[1],t[2],t[3]);if(!this._requestHandler||"function"!==typeof this._requestHandler[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,t))}catch(n){return Promise.reject(n)}}initialize(e,t,n,r){this._protocol.setWorkerId(e);const i=(e,t)=>this._protocol.sendMessage(e,t),o=F(r,i);return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(_(this._requestHandler))):(t&&("undefined"!==typeof t.baseUrl&&delete t["baseUrl"],"undefined"!==typeof t.paths&&"undefined"!==typeof t.paths.vs&&delete t.paths["vs"],void 0!==typeof t.trustedTypesPolicy&&delete t["trustedTypesPolicy"],t.catchError=!0,self.require.config(t)),new Promise((e,t)=>{self.require([n],n=>{this._requestHandler=n.create(o),this._requestHandler?e(_(this._requestHandler)):t(new Error("No RequestHandler!"))},t)}))}}class N{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function z(e){return e.split(/\r\n|\r|\n/)}function A(e){for(let t=0,n=e.length;t=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function P(e){return 55296<=e&&e<=56319}function M(e){return 56320<=e&&e<=57343}function O(e,t){return t-56320+(e-55296<<10)+65536}String.fromCharCode(65279);class L{constructor(){this._data=W()}static getInstance(){return L._INSTANCE||(L._INSTANCE=new L),L._INSTANCE}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let r=1;while(r<=n)if(et[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}function W(){return 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]")}function U(e,t){return(t<<5)-t+e|0}function j(e,t){t=U(149417,t);for(let n=0,r=e.length;n>>r)>>>0}function B(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,"0")).join(""):q((e>>>0).toString(16),t/4)}L._INSTANCE=null;class ${constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,i,o=this._buffLen,s=this._leftoverHighSurrogate;0!==s?(r=s,i=-1,s=0):(r=e.charCodeAt(0),i=0);while(1){let a=r;if(P(r)){if(!(i+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),K(this._h0)+K(this._h1)+K(this._h2)+K(this._h3)+K(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,B(this._buff,this._buffLen),this._buffLen>56&&(this._step(),B(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=$._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,V(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let n,r,i,o=this._h0,s=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let d=0;d<80;d++)d<20?(n=s&a|~s&l,r=1518500249):d<40?(n=s^a^l,r=1859775393):d<60?(n=s&a|s&l|a&l,r=2400959708):(n=s^a^l,r=3395469782),i=V(o,5)+n+c+r+e.getUint32(4*d,!1)&4294967295,c=l,l=a,a=V(s,30),s=o,o=i;this._h0=this._h0+o&4294967295,this._h1=this._h1+s&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}$._bigBlock32=new DataView(new ArrayBuffer(320));class G{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new N(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 Q{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[r,i,o]=Q._getElements(e),[s,a,l]=Q._getElements(t);this._hasStrings=o&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=s,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(Q._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n=e&&r>=n&&this.ElementsAreEqual(t,r))t--,r--;if(e>t||n>r){let i;return n<=r?(Y.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i=[new N(e,0,n,r-n+1)]):e<=t?(Y.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[new N(e,t-e+1,n,0)]):(Y.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Y.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[]),i}const o=[0],s=[0],a=this.ComputeRecursionPoint(e,t,n,r,o,s,i),l=o[0],c=s[0];if(null!==a)return a;if(!i[0]){const o=this.ComputeDiffRecursive(e,l,n,c,i);let s=[];return s=i[0]?[new N(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(o,s)}return[new N(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,o,s,a,l,c,d,h,p,u,m,f,g,b){let v=null,y=null,w=new X,x=t,S=n,C=p[0]-f[0]-r,k=-1073741824,E=this.m_forwardHistory.length-1;do{const t=C+e;t===x||t=0&&(l=this.m_forwardHistory[E],e=l[0],x=1,S=l.length-1)}while(--E>=-1);if(v=w.getReverseChanges(),b[0]){let e=p[0]+1,t=f[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new N(e,h-e+1,t,m-t+1)]}else{w=new X,x=o,S=s,C=p[0]-f[0]-a,k=1073741824,E=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=C+i;e===x||e=c[e+1]?(d=c[e+1]-1,u=d-C-a,d>k&&w.MarkNextChange(),k=d+1,w.AddOriginalElement(d+1,u+1),C=e+1-i):(d=c[e-1],u=d-C-a,d>k&&w.MarkNextChange(),k=d,w.AddModifiedElement(d+1,u+1),C=e-1-i),E>=0&&(c=this.m_reverseHistory[E],i=c[0],x=1,S=c.length-1)}while(--E>=-1);y=w.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,o,s){let a=0,l=0,c=0,d=0,h=0,p=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const u=t-e+(r-n),m=u+1,f=new Int32Array(m),g=new Int32Array(m),b=r-n,v=t-e,y=e-n,w=t-r,x=v-b,S=x%2===0;f[b]=e,g[v]=t,s[0]=!1;for(let C=1;C<=u/2+1;C++){let u=0,x=0;c=this.ClipDiagonalBound(b-C,C,b,m),d=this.ClipDiagonalBound(b+C,C,b,m);for(let e=c;e<=d;e+=2){a=e===c||eu+x&&(u=a,x=l),!S&&Math.abs(e-v)<=C-1&&a>=g[e])return i[0]=a,o[0]=l,n<=g[e]&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):null}const k=(u-e+(x-n)-C)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(u,k))return s[0]=!0,i[0]=u,o[0]=x,k>0&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):(e++,n++,[new N(e,t-e+1,n,r-n+1)]);h=this.ClipDiagonalBound(v-C,C,v,m),p=this.ClipDiagonalBound(v+C,C,v,m);for(let m=h;m<=p;m+=2){a=m===h||m=g[m+1]?g[m+1]-1:g[m-1],l=a-(m-v)-w;const u=a;while(a>e&&l>n&&this.ElementsAreEqual(a,l))a--,l--;if(g[m]=a,S&&Math.abs(m-b)<=C&&a<=f[m])return i[0]=a,o[0]=l,u>=f[m]&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):null}if(C<=1447){let e=new Int32Array(d-c+2);e[0]=b-c+1,J.Copy2(f,c,e,1,d-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-h+2),e[0]=v-h+1,J.Copy2(g,h,e,1,p-h+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s)}PrettifyChanges(e){for(let t=0;t0,s=n.modifiedLength>0;while(n.originalStart+n.originalLength=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}const o=n.originalLength>0,s=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(tl&&(l=h,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&t>a&&(a=t,l=d,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){const i=this._OriginalRegionIsBoundary(e,t)?1:0,o=this._ModifiedRegionIsBoundary(n,r)?1:0;return i+o}ConcatenateChanges(e,t){let n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return J.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],J.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return J.Copy(e,0,n,0,e.length),J.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(Y.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Y.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 r=e.originalStart;let i=e.originalLength;const o=e.modifiedStart;let s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new N(r,i,o,s),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e=ee&&e<=ne||e>=te&&e<=re}function me(e,t,n,r){let i="",o=0,s=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=i.lastIndexOf(n);-1===e?(i="",o=0):(i=i.slice(0,e),o=i.length-1-i.lastIndexOf(n)),s=c,a=0;continue}if(0!==i.length){i="",o=0,s=c,a=0;continue}}t&&(i+=i.length>0?n+"..":"..",o=2)}else i.length>0?i+=`${n}${e.slice(s+1,c)}`:i=e.slice(s+1,c),o=c-s-1;s=c,a=0}else l===ie&&-1!==a?++a:a=-1}return i}function fe(e,t){if(null===t||"object"!==typeof t)throw new ce("pathObject","Object",t);const n=t.dir||t.root,r=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const ge={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let o;if(i>=0){if(o=e[i],de(o,"path"),0===o.length)continue}else 0===t.length?o=Z["a"]():(o=Z["b"]["="+t]||Z["a"](),(void 0===o||o.slice(0,2).toLowerCase()!==t.toLowerCase()&&o.charCodeAt(2)===se)&&(o=t+"\\"));const s=o.length;let a=0,l="",c=!1;const d=o.charCodeAt(0);if(1===s)he(d)&&(a=1,c=!0);else if(he(d))if(c=!0,he(o.charCodeAt(1))){let e=2,t=e;while(e2&&he(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(r){if(t.length>0)break}else if(n=`${o.slice(a)}\\${n}`,r=c,c&&t.length>0)break}return n=me(n,!r,"\\",he),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){de(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const o=e.charCodeAt(0);if(1===t)return pe(o)?"\\":e;if(he(o))if(i=!0,he(e.charCodeAt(1))){let i=2,o=i;while(i2&&he(e.charCodeAt(2))&&(i=!0,r=3));let s=r0&&he(e.charCodeAt(t-1))&&(s+="\\"),void 0===n?i?"\\"+s:s:i?`${n}\\${s}`:`${n}${s}`},isAbsolute(e){de(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return he(n)||t>2&&ue(n)&&e.charCodeAt(1)===ae&&he(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let o=0;o0&&(void 0===t?t=n=r:t+="\\"+r)}if(void 0===t)return".";let r=!0,i=0;if("string"===typeof n&&he(n.charCodeAt(0))){++i;const e=n.length;e>1&&he(n.charCodeAt(1))&&(++i,e>2&&(he(n.charCodeAt(2))?++i:r=!1))}if(r){while(i=2&&(t="\\"+t.slice(i))}return ge.normalize(t)},relative(e,t){if(de(e,"from"),de(t,"to"),e===t)return"";const n=ge.resolve(e),r=ge.resolve(t);if(n===r)return"";if(e=n.toLowerCase(),t=r.toLowerCase(),e===t)return"";let i=0;while(ii&&e.charCodeAt(o-1)===se)o--;const s=o-i;let a=0;while(aa&&t.charCodeAt(l-1)===se)l--;const c=l-a,d=sd){if(t.charCodeAt(a+p)===se)return r.slice(a+p+1);if(2===p)return r.slice(a+p)}s>d&&(e.charCodeAt(i+p)===se?h=p:2===p&&(h=3)),-1===h&&(h=0)}let u="";for(p=i+h+1;p<=o;++p)p!==o&&e.charCodeAt(p)!==se||(u+=0===u.length?"..":"\\..");return a+=h,u.length>0?`${u}${r.slice(a,l)}`:(r.charCodeAt(a)===se&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!==typeof e)return e;if(0===e.length)return"";const t=ge.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===se){if(t.charCodeAt(1)===se){const e=t.charCodeAt(2);if(e!==le&&e!==ie)return"\\\\?\\UNC\\"+t.slice(2)}}else if(ue(t.charCodeAt(0))&&t.charCodeAt(1)===ae&&t.charCodeAt(2)===se)return"\\\\?\\"+t;return e},dirname(e){de(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return he(i)?e:".";if(he(i)){if(n=r=1,he(e.charCodeAt(1))){let i=2,o=i;while(i2&&he(e.charCodeAt(2))?3:2,r=n);let o=-1,s=!0;for(let a=t-1;a>=r;--a)if(he(e.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(-1===o){if(-1===n)return".";o=n}return e.slice(0,o)},basename(e,t){void 0!==t&&de(t,"ext"),de(e,"path");let n,r=0,i=-1,o=!0;if(e.length>=2&&ue(e.charCodeAt(0))&&e.charCodeAt(1)===ae&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(he(l)){if(!o){r=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(i=n):(s=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(he(e.charCodeAt(n))){if(!o){r=n+1;break}}else-1===i&&(o=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){de(e,"path");let t=0,n=-1,r=0,i=-1,o=!0,s=0;e.length>=2&&e.charCodeAt(1)===ae&&ue(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(he(t)){if(!o){r=a+1;break}}else-1===i&&(o=!1,i=a+1),t===ie?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?"":e.slice(n,i)},format:fe.bind(null,"\\"),parse(e){de(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return he(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(he(i)){if(r=1,he(e.charCodeAt(1))){let t=2,i=t;while(t0&&(t.root=e.slice(0,r));let o=-1,s=r,a=-1,l=!0,c=e.length-1,d=0;for(;c>=r;--c)if(i=e.charCodeAt(c),he(i)){if(!l){s=c+1;break}}else-1===a&&(l=!1,a=c+1),i===ie?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1);return-1!==a&&(-1===o||0===d||1===d&&o===a-1&&o===s+1?t.base=t.name=e.slice(s,a):(t.name=e.slice(s,o),t.base=e.slice(s,a),t.ext=e.slice(o,a))),t.dir=s>0&&s!==r?e.slice(0,s-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},be={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:Z["a"]();de(i,"path"),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===oe)}return t=me(t,!n,"/",pe),n?"/"+t:t.length>0?t:"."},normalize(e){if(de(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===oe,n=e.charCodeAt(e.length-1)===oe;return e=me(e,!t,"/",pe),0===e.length?t?"/":n?"./":".":(n&&(e+="/"),t?"/"+e:e)},isAbsolute(e){return de(e,"path"),e.length>0&&e.charCodeAt(0)===oe},join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":be.normalize(t)},relative(e,t){if(de(e,"from"),de(t,"to"),e===t)return"";if(e=be.resolve(e),t=be.resolve(t),e===t)return"";const n=1,r=e.length,i=r-n,o=1,s=t.length-o,a=ia){if(t.charCodeAt(o+c)===oe)return t.slice(o+c+1);if(0===c)return t.slice(o+c)}else i>a&&(e.charCodeAt(n+c)===oe?l=c:0===c&&(l=0));let d="";for(c=n+l+1;c<=r;++c)c!==r&&e.charCodeAt(c)!==oe||(d+=0===d.length?"..":"/..");return`${d}${t.slice(o+l)}`},toNamespacedPath(e){return e},dirname(e){if(de(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===oe;let n=-1,r=!0;for(let i=e.length-1;i>=1;--i)if(e.charCodeAt(i)===oe){if(!r){n=i;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&de(t,"ext"),de(e,"path");let n,r=0,i=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===oe){if(!o){r=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(i=n):(s=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===oe){if(!o){r=n+1;break}}else-1===i&&(o=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){de(e,"path");let t=-1,n=0,r=-1,i=!0,o=0;for(let s=e.length-1;s>=0;--s){const a=e.charCodeAt(s);if(a!==oe)-1===r&&(i=!1,r=s+1),a===ie?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!i){n=s+1;break}}return-1===t||-1===r||0===o||1===o&&t===r-1&&t===n+1?"":e.slice(t,r)},format:fe.bind(null,"/"),parse(e){de(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===oe;let r;n?(t.root="/",r=1):r=0;let i=-1,o=0,s=-1,a=!0,l=e.length-1,c=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==oe)-1===s&&(a=!1,s=l+1),t===ie?-1===i?i=l:1!==c&&(c=1):-1!==i&&(c=-1);else if(!a){o=l+1;break}}if(-1!==s){const r=0===o&&n?1:o;-1===i||0===c||1===c&&i===s-1&&i===o+1?t.base=t.name=e.slice(r,s):(t.name=e.slice(r,i),t.base=e.slice(r,s),t.ext=e.slice(i,s))}return o>0?t.dir=e.slice(0,o-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};be.win32=ge.win32=ge,be.posix=ge.posix=be;"win32"===Z["c"]?ge.normalize:be.normalize,"win32"===Z["c"]?ge.resolve:be.resolve,"win32"===Z["c"]?ge.relative:be.relative,"win32"===Z["c"]?ge.dirname:be.dirname,"win32"===Z["c"]?ge.basename:be.basename,"win32"===Z["c"]?ge.extname:be.extname,"win32"===Z["c"]?ge.sep:be.sep;const ve=/^\w[\w\d+.-]*$/,ye=/^\//,we=/^\/\//;function xe(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&&!ve.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!ye.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(we.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 ("//")')}function Se(e,t){return e||t?e:"file"}function Ce(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==Ee&&(t=Ee+t):t=Ee;break}return t}const ke="",Ee="/",_e=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class Fe{constructor(e,t,n,r,i,o=!1){"object"===typeof e?(this.scheme=e.scheme||ke,this.authority=e.authority||ke,this.path=e.path||ke,this.query=e.query||ke,this.fragment=e.fragment||ke):(this.scheme=Se(e,o),this.authority=t||ke,this.path=Ce(this.scheme,n||ke),this.query=r||ke,this.fragment=i||ke,xe(this,o))}static isUri(e){return e instanceof Fe||!!e&&("string"===typeof e.authority&&"string"===typeof e.fragment&&"string"===typeof e.path&&"string"===typeof e.query&&"string"===typeof e.scheme&&"string"===typeof e.fsPath&&"function"===typeof e.with&&"function"===typeof e.toString)}get fsPath(){return Ae(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:o}=e;return void 0===t?t=this.scheme:null===t&&(t=ke),void 0===n?n=this.authority:null===n&&(n=ke),void 0===r?r=this.path:null===r&&(r=ke),void 0===i?i=this.query:null===i&&(i=ke),void 0===o?o=this.fragment:null===o&&(o=ke),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new Te(t,n,r,i,o)}static parse(e,t=!1){const n=_e.exec(e);return n?new Te(n[2]||ke,Oe(n[4]||ke),Oe(n[5]||ke),Oe(n[7]||ke),Oe(n[9]||ke),t):new Te(ke,ke,ke,ke,ke)}static file(e){let t=ke;if(k["d"]&&(e=e.replace(/\\/g,Ee)),e[0]===Ee&&e[1]===Ee){const n=e.indexOf(Ee,2);-1===n?(t=e.substring(2),e=Ee):(t=e.substring(2,n),e=e.substring(n)||Ee)}return new Te("file",t,e,ke,ke)}static from(e){const t=new Te(e.scheme,e.authority,e.path,e.query,e.fragment);return xe(t,!0),t}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=k["d"]&&"file"===e.scheme?Fe.file(ge.join(Ae(e,!0),...t)).path:be.join(e.path,...t),e.with({path:n})}toString(e=!1){return Ie(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof Fe)return e;{const t=new Te(e);return t._formatted=e.external,t._fsPath=e._sep===De?e.fsPath:null,t}}return e}}const De=k["d"]?1:void 0;class Te extends Fe{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=Ae(this,!1)),this._fsPath}toString(e=!1){return e?Ie(this,!0):(this._formatted||(this._formatted=Ie(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=De),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 Re={[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 Ne(e,t){let n=void 0,r=-1;for(let i=0;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));const t=Re[o];void 0!==t?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=t):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function ze(e){let t=void 0;for(let n=0;n1&&"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,k["d"]&&(n=n.replace(/\//g,"\\")),n}function Ie(e,t){const n=t?ze:Ne;let r="",{scheme:i,authority:o,path:s,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=Ee,r+=Ee),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),e=t.indexOf(":"),-1===e?r+=n(t,!1):(r+=n(t.substr(0,e),!1),r+=":",r+=n(t.substr(e+1),!1)),r+="@"}o=o.toLowerCase(),e=o.indexOf(":"),-1===e?r+=n(o,!1):(r+=n(o.substr(0,e),!1),r+=o.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){const e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}r+=n(s,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:Ne(l,!1)),r}function Pe(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Pe(e.substr(3)):e}}const Me=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Oe(e){return e.match(Me)?e.replace(Me,e=>Pe(e)):e}class Le{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 Le(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Le.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Le.isBefore(this,e)}static isBefore(e,t){return e.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return We.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return We.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}containsRange(e){return We.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(e){return We.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}plusRange(e){return We.plusRange(this,e)}static plusRange(e,t){let n,r,i,o;return t.startLineNumbere.endLineNumber?(i=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(i=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(i=e.endLineNumber,o=e.endColumn),new We(n,r,i,o)}intersectRanges(e){return We.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,o=e.endColumn,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,c=t.endColumn;return nl?(i=l,o=c):i===l&&(o=Math.min(o,c)),n>i||n===i&&r>o?null:new We(n,r,i,o)}equalsRange(e){return We.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 We.getEndPosition(this)}static getEndPosition(e){return new Le(e.endLineNumber,e.endColumn)}getStartPosition(){return We.getStartPosition(this)}static getStartPosition(e){return new Le(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new We(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new We(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return We.collapseToStart(this)}static collapseToStart(e){return new We(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,t=e){return new We(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new We(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.endLineNumbere.startLineNumber}}const Ue=3;function je(e,t,n,r){const i=new Q(e,t,n);return i.ComputeDiff(r)}class Ve{constructor(e){const t=[],n=[];for(let r=0,i=e.length;r0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const o=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);let l=je(o,a,i,!0).changes;s&&(l=Ke(l)),h=[];for(let e=0,t=l.length;e1&&s>1){const r=e.charCodeAt(n-2),i=t.charCodeAt(s-2);if(r!==i)break;n--,s--}(n>1||s>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,o+1,1,s)}{let n=Ye(e,1),s=Ye(t,1);const a=e.length+1,l=t.length+1;while(n!0;const t=Date.now();return()=>Date.now()-t255?255:0|e}function Qe(e){return e<0?0:e>4294967295?4294967295:0|e}class Ze{constructor(e,t){this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class et{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Qe(e);const n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(e,t){return e=Qe(e),t=Qe(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Qe(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,o=0;while(t<=n)if(r=t+(n-t)/2|0,i=this.prefixSum[r],o=i-this.values[r],e=i))break;t=r+1}return new Ze(r,e-o)}}class tt{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}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 n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new Le(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r/?";function rt(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of nt)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}const it=rt();function ot(e){let t=it;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const st={maxLen:1e3,windowSize:15,timeBudget:150};function at(e,t,n,r,i=st){if(n.length>i.maxLen){let o=e-i.maxLen/2;return o<0?o=0:r+=o,n=n.substring(o,e+i.maxLen/2),at(e,t,n,r,i)}const o=Date.now(),s=e-1-r;let a=-1,l=null;for(let c=1;;c++){if(Date.now()-o>=i.timeBudget)break;const e=s-i.windowSize*c;t.lastIndex=Math.max(0,e);const r=lt(t,n,s,a);if(!r&&l)break;if(l=r,e<=0)break;a=e}if(l){let e={word:l[0],startColumn:r+1+l.index,endColumn:r+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function lt(e,t,n,r){let i;while(i=e.exec(t)){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}class ct{constructor(e){let t=Xe(e);this._defaultValue=t,this._asciiMap=ct._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){let t=new Uint8Array(256);for(let n=0;n<256;n++)t[n]=e;return t}set(e,t){let n=Xe(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class dt{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,o=e*t;it&&(t=o),r>n&&(n=r),s>n&&(n=s)}t++,n++;let r=new dt(n,t,0);for(let i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)}}let pt=null;function ut(){return null===pt&&(pt=new ht([[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]])),pt}let mt=null;function ft(){if(null===mt){mt=new ct(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let n=0;nr);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(o);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}}static computeLinks(e,t=ut()){const n=ft();let r=[];for(let i=1,o=e.getLineCount();i<=o;i++){const o=e.getLineContent(i),s=o.length;let a=0,l=0,c=0,d=1,h=!1,p=!1,u=!1,m=!1;while(a=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}vt.INSTANCE=new vt;class yt{constructor(e){this.element=e,this.next=yt.Undefined,this.prev=yt.Undefined}}yt.Undefined=new yt(void 0);class wt{constructor(){this._first=yt.Undefined,this._last=yt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===yt.Undefined}clear(){let e=this._first;while(e!==yt.Undefined){const t=e.next;e.prev=yt.Undefined,e.next=yt.Undefined,e=t}this._first=yt.Undefined,this._last=yt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new yt(e);if(this._first===yt.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==yt.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==yt.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==yt.Undefined&&e.next!==yt.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===yt.Undefined&&e.next===yt.Undefined?(this._first=yt.Undefined,this._last=yt.Undefined):e.next===yt.Undefined?(this._last=this._last.prev,this._last.next=yt.Undefined):e.prev===yt.Undefined&&(this._first=this._first.next,this._first.prev=yt.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;while(e!==yt.Undefined)yield e.element,e=e.next}}const xt=k["a"].performance&&"function"===typeof k["a"].performance.now;class St{constructor(e){this._highResolution=xt&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new St(e)}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?k["a"].performance.now():Date.now()}}var Ct;(function(e){function t(e){return(t,n=null,r)=>{let i,o=!1;return i=e(e=>{if(!o)return i?i.dispose():o=!0,t.call(n,e)},null,r),o&&i.dispose(),i}}function n(e,t){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i))}function r(e,t){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i))}function i(e,t){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i))}function o(e){return e}function s(...e){return(t,n=null,r)=>w(...e.map(e=>e(e=>t.call(n,e),null,r)))}function a(e,t,r){let i=r;return n(e,e=>(i=t(i,e),i))}function l(e){let t;const n=new Ft({onFirstListenerAdd(){t=e(n.fire,n)},onLastListenerRemove(){t.dispose()}});return n.event}function c(e,t,n=100,r=!1,i){let o,s=void 0,a=void 0,l=0;const c=new Ft({leakWarningThreshold:i,onFirstListenerAdd(){o=e(e=>{l++,s=t(s,e),r&&!a&&(c.fire(s),s=void 0),clearTimeout(a),a=setTimeout(()=>{const e=s;s=void 0,a=void 0,(!r||l>1)&&c.fire(e),l=0},n)})},onLastListenerRemove(){o.dispose()}});return c.event}function d(e,t=((e,t)=>e===t)){let n,r=!0;return i(e,e=>{const i=r||!t(e,n);return r=!1,n=e,i})}function h(t,n){return[e.filter(t,n),e.filter(t,e=>!n(e))]}function p(e,t=!1,n=[]){let r=n.slice(),i=e(e=>{r?r.push(e):s.fire(e)});const o=()=>{r&&r.forEach(e=>s.fire(e)),r=null},s=new Ft({onFirstListenerAdd(){i||(i=e(e=>s.fire(e)))},onFirstListenerDidAdd(){r&&(t?setTimeout(o):o())},onLastListenerRemove(){i&&i.dispose(),i=null}});return s.event}e.None=()=>C.None,e.once=t,e.map=n,e.forEach=r,e.filter=i,e.signal=o,e.any=s,e.reduce=a,e.debounce=c,e.latch=d,e.split=h,e.buffer=p;class u{constructor(e){this.event=e}map(e){return new u(n(this.event,e))}forEach(e){return new u(r(this.event,e))}filter(e){return new u(i(this.event,e))}reduce(e,t){return new u(a(this.event,e,t))}latch(){return new u(d(this.event))}debounce(e,t=100,n=!1,r){return new u(c(this.event,e,t,n,r))}on(e,t,n){return this.event(e,t,n)}once(e,n,r){return t(this.event)(e,n,r)}}function m(e){return new u(e)}function f(e,t,n=(e=>e)){const r=(...e)=>s.fire(n(...e)),i=()=>e.on(t,r),o=()=>e.removeListener(t,r),s=new Ft({onFirstListenerAdd:i,onLastListenerRemove:o});return s.event}function g(e,t,n=(e=>e)){const r=(...e)=>s.fire(n(...e)),i=()=>e.addEventListener(t,r),o=()=>e.removeEventListener(t,r),s=new Ft({onFirstListenerAdd:i,onLastListenerRemove:o});return s.event}function b(e){return new Promise(n=>t(e)(n))}e.chain=m,e.fromNodeEventEmitter=f,e.fromDOMEventEmitter=g,e.toPromise=b})(Ct||(Ct={}));class kt{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${kt._idPool++}`}start(e){this._stopWatch=new St(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}kt._idPool=0;let Et=-1;class _t{constructor(e,t=Math.random().toString(18).slice(2,5)){this.customThreshold=e,this.name=t,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(e){let t=Et;if("number"===typeof this.customThreshold&&(t=this.customThreshold),t<=0||e{const e=this._stacks.get(n)||0;this._stacks.set(n,e-1)}}}class Ft{constructor(e){var t;this._disposed=!1,this._options=e,this._leakageMon=Et>0?new _t(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=(null===(t=this._options)||void 0===t?void 0:t._profName)?new kt(this._options._profName):void 0}get event(){return this._event||(this._event=(e,t,n)=>{var r;this._listeners||(this._listeners=new wt);const i=this._listeners.isEmpty();i&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(t?[e,t]:e);i&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,t);const s=null===(r=this._leakageMon)||void 0===r?void 0:r.check(this._listeners.size),a=x(()=>{if(s&&s(),!this._disposed&&(o(),this._options&&this._options.onLastListenerRemove)){const e=this._listeners&&!this._listeners.isEmpty();e||this._options.onLastListenerRemove(this)}});return n instanceof S?n.add(a):Array.isArray(n)&&n.push(a),a}),this._event}fire(e){var t,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new wt);for(let t of this._listeners)this._deliveryQueue.push([t,e]);null===(t=this._perfMon)||void 0===t||t.start(this._deliveryQueue.size);while(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(r){o(r)}}null===(n=this._perfMon)||void 0===n||n.stop()}}dispose(){var e,t,n,r,i;this._disposed||(this._disposed=!0,null===(e=this._listeners)||void 0===e||e.clear(),null===(t=this._deliveryQueue)||void 0===t||t.clear(),null===(r=null===(n=this._options)||void 0===n?void 0:n.onLastListenerRemove)||void 0===r||r.call(n),null===(i=this._leakageMon)||void 0===i||i.dispose())}}const Dt=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var Tt;(function(e){function t(t){return t===e.None||t===e.Cancelled||(t instanceof Rt||!(!t||"object"!==typeof t)&&("boolean"===typeof t.isCancellationRequested&&"function"===typeof t.onCancellationRequested))}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ct.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Dt})})(Tt||(Tt={}));class Rt{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?Dt:(this._emitter||(this._emitter=new Ft),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Nt{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 Rt),this._token}cancel(){this._token?this._token instanceof Rt&&this._token.cancel():this._token=Tt.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Rt&&this._token.dispose():this._token=Tt.None}}class zt{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 At=new zt,It=new zt,Pt=new zt;var Mt,Ot,Lt,Wt,Ut,jt,Vt,Bt,qt,Kt,$t,Gt,Ht,Yt,Jt,Xt,Qt,Zt,en,tn,nn,rn,on,sn,an,ln,cn,dn,hn,pn,un,mn,fn,gn,bn,vn;function yn(e,t){const n=(65535&t)<<16>>>0;return(e|n)>>>0}(function(){function e(e,t,n=t,r=n){At.define(e,t),It.define(e,n),Pt.define(e,r)}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){function t(e){return At.keyCodeToStr(e)}function n(e){return At.strToKeyCode(e)}function r(e){return It.keyCodeToStr(e)}function i(e){return Pt.keyCodeToStr(e)}function o(e){return It.strToKeyCode(e)||Pt.strToKeyCode(e)}e.toString=t,e.fromString=n,e.toUserSettingsUS=r,e.toUserSettingsGeneral=i,e.fromUserSettings=o}(Mt||(Mt={}));class wn extends We{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return wn.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 wn(this.startLineNumber,this.startColumn,e,t):new wn(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Le(this.positionLineNumber,this.positionColumn)}setStartPosition(e,t){return 0===this.getDirection()?new wn(e,t,this.endLineNumber,this.endColumn):new wn(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new wn(e.lineNumber,e.column,t.lineNumber,t.column)}static liftSelection(e){return new wn(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}}class _n{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 En(Fe.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;let n=this._models[e];n.onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeDiff(e,t,n,r){return kn(this,void 0,void 0,(function*(){const i=this._getModel(e),o=this._getModel(t);if(!i||!o)return null;const s=i.getLinesContent(),a=o.getLinesContent(),l=new Ge(s,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}),c=l.computeDiff(),d=!(c.changes.length>0)&&this._modelsAreIdentical(i,o);return{quitEarly:c.quitEarly,identical:d,changes:c.changes}}))}_modelsAreIdentical(e,t){const n=e.getLineCount(),r=t.getLineCount();if(n!==r)return!1;for(let i=1;i<=n;i++){const n=e.getLineContent(i),r=t.getLineContent(i);if(n!==r)return!1}return!0}computeMoreMinimalEdits(e,t){return kn(this,void 0,void 0,(function*(){const n=this._getModel(e);if(!n)return t;const r=[];let i=void 0;t=t.slice(0).sort((e,t)=>{if(e.range&&t.range)return We.compareRangesUsingStarts(e.range,t.range);let n=e.range?0:1,r=t.range?0:1;return n-r});for(let{range:e,text:o,eol:s}of t){if("number"===typeof s&&(i=s),We.isEmpty(e)&&!o)continue;const t=n.getValueInRange(e);if(o=o.replace(/\r\n|\n|\r/g,n.eol),t===o)continue;if(Math.max(o.length,t.length)>_n._diffLimit){r.push({range:e,text:o});continue}const a=H(t,o,!1),l=n.offsetAt(We.lift(e).getStartPosition());for(const e of a){const t=n.positionAt(l+e.originalStart),i=n.positionAt(l+e.originalStart+e.originalLength),s={text:o.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:i.lineNumber,endColumn:i.column}};n.getValueInRange(s.range)!==s.text&&r.push(s)}}return"number"===typeof i&&r.push({eol:i,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}))}computeLinks(e){return kn(this,void 0,void 0,(function*(){let t=this._getModel(e);return t?bt(t):null}))}textualSuggest(e,t,n,r){return kn(this,void 0,void 0,(function*(){const i=new St(!0),o=new RegExp(n,r),s=new Set;e:for(let n of e){const e=this._getModel(n);if(e)for(let n of e.words(o))if(n!==t&&isNaN(Number(n))&&(s.add(n),s.size>_n._suggestionsLimit))break e}return{words:Array.from(s),duration:i.elapsed()}}))}computeWordRanges(e,t,n,r){return kn(this,void 0,void 0,(function*(){let i=this._getModel(e);if(!i)return Object.create(null);const o=new RegExp(n,r),s=Object.create(null);for(let e=t.startLineNumber;ethis._host.fhr(e,t),i=F(n,r);let o={host:i,getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,t),Promise.resolve(_(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(n){return Promise.reject(n)}}}_n._diffLimit=1e5,_n._suggestionsLimit=1e4,"function"===typeof importScripts&&(k["a"].monaco=Cn());let Fn=!1;function Dn(e){if(Fn)return;Fn=!0;const t=new R(e=>{self.postMessage(e)},t=>new _n(t,e));self.onmessage=e=>{t.onmessage(e.data)}}var Tn;self.onmessage=e=>{Fn||Dn(null)},function(e){e[e["Ident"]=0]="Ident",e[e["AtKeyword"]=1]="AtKeyword",e[e["String"]=2]="String",e[e["BadString"]=3]="BadString",e[e["UnquotedString"]=4]="UnquotedString",e[e["Hash"]=5]="Hash",e[e["Num"]=6]="Num",e[e["Percentage"]=7]="Percentage",e[e["Dimension"]=8]="Dimension",e[e["UnicodeRange"]=9]="UnicodeRange",e[e["CDO"]=10]="CDO",e[e["CDC"]=11]="CDC",e[e["Colon"]=12]="Colon",e[e["SemiColon"]=13]="SemiColon",e[e["CurlyL"]=14]="CurlyL",e[e["CurlyR"]=15]="CurlyR",e[e["ParenthesisL"]=16]="ParenthesisL",e[e["ParenthesisR"]=17]="ParenthesisR",e[e["BracketL"]=18]="BracketL",e[e["BracketR"]=19]="BracketR",e[e["Whitespace"]=20]="Whitespace",e[e["Includes"]=21]="Includes",e[e["Dashmatch"]=22]="Dashmatch",e[e["SubstringOperator"]=23]="SubstringOperator",e[e["PrefixOperator"]=24]="PrefixOperator",e[e["SuffixOperator"]=25]="SuffixOperator",e[e["Delim"]=26]="Delim",e[e["EMS"]=27]="EMS",e[e["EXS"]=28]="EXS",e[e["Length"]=29]="Length",e[e["Angle"]=30]="Angle",e[e["Time"]=31]="Time",e[e["Freq"]=32]="Freq",e[e["Exclamation"]=33]="Exclamation",e[e["Resolution"]=34]="Resolution",e[e["Comma"]=35]="Comma",e[e["Charset"]=36]="Charset",e[e["EscapedJavaScript"]=37]="EscapedJavaScript",e[e["BadEscapedJavaScript"]=38]="BadEscapedJavaScript",e[e["Comment"]=39]="Comment",e[e["SingleLineComment"]=40]="SingleLineComment",e[e["EOF"]=41]="EOF",e[e["CustomToken"]=42]="CustomToken"}(Tn||(Tn={}));var Rn=function(){function e(e){this.source=e,this.len=e.length,this.position=0}return e.prototype.substring=function(e,t){return void 0===t&&(t=this.position),this.source.substring(e,t)},e.prototype.eos=function(){return this.len<=this.position},e.prototype.pos=function(){return this.position},e.prototype.goBackTo=function(e){this.position=e},e.prototype.goBack=function(e){this.position-=e},e.prototype.advance=function(e){this.position+=e},e.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position+e)||0},e.prototype.lookbackChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position-e)||0},e.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)},e.prototype.advanceIfChars=function(e){if(this.position+e.length>this.source.length)return!1;for(var t=0;t=On&&e<=Ln&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=On&&e<=Ln||0===t&&e===gr})),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case rr:case ir:case nr:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===rr&&this.stream.advanceIfChar(nr)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===er){this.stream.advance(1),n=this.stream.peekChar();var r=0;while(r<6&&(n>=On&&n<=Ln||n>=Nn&&n<=zn||n>=In&&n<=Pn))this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var i=parseInt(this.stream.substring(this.stream.pos()-r),16);i&&e.push(String.fromCharCode(i))}catch(o){}return n===ar||n===lr?this.stream.advance(1):this._newline([]),!0}if(n!==rr&&n!==ir&&n!==nr)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},e.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==er&&n!==rr&&n!==ir&&n!==nr&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===sr||this.stream.peekChar()===or){var t=this.stream.nextChar();e.push(String.fromCharCode(t));while(this._stringChar(t,e)||this._escape(e,!0));return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),Tn.String):Tn.BadString}return null},e.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==er&&t!==sr&&t!==or&&t!==Gn&&t!==Hn&&t!==ar&&t!==lr&&t!==nr&&t!==ir&&t!==rr&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unquotedString=function(e){var t=!1;while(this._unquotedChar(e)||this._escape(e))t=!0;return t},e.prototype._whitespace=function(){var e=this.stream.advanceWhileChar((function(e){return e===ar||e===lr||e===nr||e===ir||e===rr}));return e>0},e.prototype._name=function(e){var t=!1;while(this._identChar(e)||this._escape(e))t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos(),n=this._minus(e);if(n&&this._minus(e)){if(this._identFirstChar(e)||this._escape(e)){while(this._identChar(e)||this._escape(e));return!0}}else if(this._identFirstChar(e)||this._escape(e)){while(this._identChar(e)||this._escape(e));return!0}return this.stream.goBackTo(t),!1},e.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===qn||t>=Nn&&t<=An||t>=In&&t<=Mn||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._minus=function(e){var t=this.stream.peekChar();return t===Bn&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===qn||t===Bn||t>=Nn&&t<=An||t>=In&&t<=Mn||t>=On&&t<=Ln||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e}();function xr(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t}function Cr(e,t,n){void 0===n&&(n=4);var r=Math.abs(e.length-t.length);if(r>n)return 0;var i,o,s=[],a=[];for(i=0;ie.end?null:(e.accept((function(e){return-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)})),n)}function Rr(e,t){var n=Tr(e,t),r=[];while(n)r.unshift(n),n=n.parent;return r}function Nr(e){var t=e.findParent(_r.Declaration),n=t&&t.getValue();return n&&n.encloses(e)?t:null}(function(e){e[e["Undefined"]=0]="Undefined",e[e["Identifier"]=1]="Identifier",e[e["Stylesheet"]=2]="Stylesheet",e[e["Ruleset"]=3]="Ruleset",e[e["Selector"]=4]="Selector",e[e["SimpleSelector"]=5]="SimpleSelector",e[e["SelectorInterpolation"]=6]="SelectorInterpolation",e[e["SelectorCombinator"]=7]="SelectorCombinator",e[e["SelectorCombinatorParent"]=8]="SelectorCombinatorParent",e[e["SelectorCombinatorSibling"]=9]="SelectorCombinatorSibling",e[e["SelectorCombinatorAllSiblings"]=10]="SelectorCombinatorAllSiblings",e[e["SelectorCombinatorShadowPiercingDescendant"]=11]="SelectorCombinatorShadowPiercingDescendant",e[e["Page"]=12]="Page",e[e["PageBoxMarginBox"]=13]="PageBoxMarginBox",e[e["ClassSelector"]=14]="ClassSelector",e[e["IdentifierSelector"]=15]="IdentifierSelector",e[e["ElementNameSelector"]=16]="ElementNameSelector",e[e["PseudoSelector"]=17]="PseudoSelector",e[e["AttributeSelector"]=18]="AttributeSelector",e[e["Declaration"]=19]="Declaration",e[e["Declarations"]=20]="Declarations",e[e["Property"]=21]="Property",e[e["Expression"]=22]="Expression",e[e["BinaryExpression"]=23]="BinaryExpression",e[e["Term"]=24]="Term",e[e["Operator"]=25]="Operator",e[e["Value"]=26]="Value",e[e["StringLiteral"]=27]="StringLiteral",e[e["URILiteral"]=28]="URILiteral",e[e["EscapedValue"]=29]="EscapedValue",e[e["Function"]=30]="Function",e[e["NumericValue"]=31]="NumericValue",e[e["HexColorValue"]=32]="HexColorValue",e[e["MixinDeclaration"]=33]="MixinDeclaration",e[e["MixinReference"]=34]="MixinReference",e[e["VariableName"]=35]="VariableName",e[e["VariableDeclaration"]=36]="VariableDeclaration",e[e["Prio"]=37]="Prio",e[e["Interpolation"]=38]="Interpolation",e[e["NestedProperties"]=39]="NestedProperties",e[e["ExtendsReference"]=40]="ExtendsReference",e[e["SelectorPlaceholder"]=41]="SelectorPlaceholder",e[e["Debug"]=42]="Debug",e[e["If"]=43]="If",e[e["Else"]=44]="Else",e[e["For"]=45]="For",e[e["Each"]=46]="Each",e[e["While"]=47]="While",e[e["MixinContentReference"]=48]="MixinContentReference",e[e["MixinContentDeclaration"]=49]="MixinContentDeclaration",e[e["Media"]=50]="Media",e[e["Keyframe"]=51]="Keyframe",e[e["FontFace"]=52]="FontFace",e[e["Import"]=53]="Import",e[e["Namespace"]=54]="Namespace",e[e["Invocation"]=55]="Invocation",e[e["FunctionDeclaration"]=56]="FunctionDeclaration",e[e["ReturnStatement"]=57]="ReturnStatement",e[e["MediaQuery"]=58]="MediaQuery",e[e["FunctionParameter"]=59]="FunctionParameter",e[e["FunctionArgument"]=60]="FunctionArgument",e[e["KeyframeSelector"]=61]="KeyframeSelector",e[e["ViewPort"]=62]="ViewPort",e[e["Document"]=63]="Document",e[e["AtApplyRule"]=64]="AtApplyRule",e[e["CustomPropertyDeclaration"]=65]="CustomPropertyDeclaration",e[e["CustomPropertySet"]=66]="CustomPropertySet",e[e["ListEntry"]=67]="ListEntry",e[e["Supports"]=68]="Supports",e[e["SupportsCondition"]=69]="SupportsCondition",e[e["NamespacePrefix"]=70]="NamespacePrefix",e[e["GridLine"]=71]="GridLine",e[e["Plugin"]=72]="Plugin",e[e["UnknownAtRule"]=73]="UnknownAtRule",e[e["Use"]=74]="Use",e[e["ModuleConfiguration"]=75]="ModuleConfiguration",e[e["Forward"]=76]="Forward",e[e["ForwardVisibility"]=77]="ForwardVisibility",e[e["Module"]=78]="Module"})(_r||(_r={})),function(e){e[e["Mixin"]=0]="Mixin",e[e["Rule"]=1]="Rule",e[e["Variable"]=2]="Variable",e[e["Function"]=3]="Function",e[e["Keyframe"]=4]="Keyframe",e[e["Unknown"]=5]="Unknown",e[e["Module"]=6]="Module",e[e["Forward"]=7]="Forward",e[e["ForwardVisibility"]=8]="ForwardVisibility"}(Fr||(Fr={}));var zr,Ar=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||_r.Undefined},set:function(e){this.nodeType=e},enumerable:!1,configurable:!0}),e.prototype.getTextProvider=function(){var e=this;while(e&&!e.textProvider)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){if(e(this)&&this.children)for(var t=0,n=this.children;t=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),-1!==t?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return Array.isArray(this.issues)&&this.issues.some((function(t){return t.getRule()===e}))},e.prototype.isErroneous=function(e){return void 0===e&&(e=!1),!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((function(e){return e.isErroneous(!0)}))},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return!!this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e=0;n--)if(t=this.children[n],t.offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){var e=this.parent;while(e instanceof Ir)e=e.parent;return e},e.prototype.findParent=function(e){var t=this;while(t&&t.type!==e)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t/g,">")}function no(e,t){if(!e.description||""===e.description)return"";if("string"!==typeof e.description)return e.description.value;var n="";if(!1!==(null===t||void 0===t?void 0:t.documentation)){e.status&&(n+=Zi(e.status)),n+=e.description;var r=io(e.browsers);r&&(n+="\n("+r+")"),"syntax"in e&&(n+="\n\nSyntax: "+e.syntax)}return e.references&&e.references.length>0&&!1!==(null===t||void 0===t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return e.name+": "+e.url})).join(" | ")),n}function ro(e,t){if(!e.description||""===e.description)return"";var n="";if(!1!==(null===t||void 0===t?void 0:t.documentation)){e.status&&(n+=Zi(e.status));var r="string"===typeof e.description?e.description:e.description.value;n+=to(r);var i=io(e.browsers);i&&(n+="\n\n("+to(i)+")"),"syntax"in e&&e.syntax&&(n+="\n\nSyntax: "+to(e.syntax))}return e.references&&e.references.length>0&&!1!==(null===t||void 0===t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | ")),n}function io(e){return void 0===e&&(e=[]),0===e.length?null:e.map((function(e){var t="",n=e.match(/([A-Z]+)(\d+)?/),r=n[1],i=n[2];return r in Qi&&(t+=Qi[r]),i&&(t+=" "+i),t})).join(", ")}var oo=Hi(),so=[{func:"rgb($red, $green, $blue)",desc:oo("css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:oo("css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:oo("css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:oo("css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")}],ao={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",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",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",grey:"#808080",green:"#008000",greenyellow:"#adff2f",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",lightgrey:"#d3d3d3",lightgreen:"#90ee90",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:"#9370d8",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:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",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",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},lo={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."};function co(e,t){var n=e.getText(),r=n.match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(r){r[2]&&(t=100);var i=parseFloat(r[1])/t;if(i>=0&&i<=1)return i}throw new Error}function ho(e){var t=e.getText(),n=t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg)?$/);if(n)return parseFloat(t)%360;throw new Error}function po(e){var t=e.getName();return!!t&&/^(rgb|rgba|hsl|hsla)$/gi.test(t)}var uo=48,mo=57,fo=65,go=97,bo=102;function vo(e){return e=go&&e<=bo?e-go+10:0)}function yo(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*vo(e.charCodeAt(1))/255,green:17*vo(e.charCodeAt(2))/255,blue:17*vo(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*vo(e.charCodeAt(1))/255,green:17*vo(e.charCodeAt(2))/255,blue:17*vo(e.charCodeAt(3))/255,alpha:17*vo(e.charCodeAt(4))/255};case 7:return{red:(16*vo(e.charCodeAt(1))+vo(e.charCodeAt(2)))/255,green:(16*vo(e.charCodeAt(3))+vo(e.charCodeAt(4)))/255,blue:(16*vo(e.charCodeAt(5))+vo(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*vo(e.charCodeAt(1))+vo(e.charCodeAt(2)))/255,green:(16*vo(e.charCodeAt(3))+vo(e.charCodeAt(4)))/255,blue:(16*vo(e.charCodeAt(5))+vo(e.charCodeAt(6)))/255,alpha:(16*vo(e.charCodeAt(7))+vo(e.charCodeAt(8)))/255}}return null}function wo(e,t,n,r){if(void 0===r&&(r=1),e/=60,0===t)return{red:n,green:n,blue:n,alpha:r};var i=function(e,t,n){while(n<0)n+=6;while(n>=6)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},o=n<=.5?n*(t+1):n+t-n*t,s=2*n-o;return{red:i(s,o,e+2),green:i(s,o,e),blue:i(s,o,e-2),alpha:r}}function xo(e){var t=e.red,n=e.green,r=e.blue,i=e.alpha,o=Math.max(t,n,r),s=Math.min(t,n,r),a=0,l=0,c=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),o){case t:a=(n-r)/d+(n4)return null;try{var o=4===i.length?co(i[3],1):1;if("rgb"===r||"rgba"===r)return{red:co(i[0],255),green:co(i[1],255),blue:co(i[2],255),alpha:o};if("hsl"===r||"hsla"===r){var s=ho(i[0]),a=co(i[1],100),l=co(i[2],100);return wo(s,a,l,o)}}catch(u){return null}}else if(e.type===_r.Identifier){if(e.parent&&e.parent.type!==_r.Term)return null;var c=e.parent;if(c&&c.parent&&c.parent.type===_r.BinaryExpression){var d=c.parent;if(d.parent&&d.parent.type===_r.ListEntry&&d.parent.key===d)return null}var h=e.getText().toLowerCase();if("none"===h)return null;var p=ao[h];if(p)return yo(p)}return null}var Co={bottom:"Computes to ‘100%’ for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.",center:"Computes to ‘50%’ (‘left 50%’) for the horizontal position if the horizontal position is not otherwise specified, or ‘50%’ (‘top 50%’) for the vertical position if it is.",left:"Computes to ‘0%’ for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.",right:"Computes to ‘100%’ for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.",top:"Computes to ‘0%’ for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset."},ko={"no-repeat":"Placed once and not repeated in this direction.",repeat:"Repeated in this direction as often as needed to cover the background painting area.","repeat-x":"Computes to ‘repeat no-repeat’.","repeat-y":"Computes to ‘no-repeat repeat’.",round:"Repeated as often as will fit within the background positioning area. If it doesn’t fit a whole number of times, it is rescaled so that it does.",space:"Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area."},Eo={dashed:"A series of square-ended dashes.",dotted:"A series of round dots.",double:"Two parallel solid lines with some space between them.",groove:"Looks as if it were carved in the canvas.",hidden:"Same as ‘none’, but has different behavior in the border conflict resolution rules for border-collapsed tables.",inset:"Looks as if the content on the inside of the border is sunken into the canvas.",none:"No border. Color and width are ignored.",outset:"Looks as if the content on the inside of the border is coming out of the canvas.",ridge:"Looks as if it were coming out of the canvas.",solid:"A single line segment."},_o=["medium","thick","thin"],Fo={"border-box":"The background is painted within (clipped to) the border box.","content-box":"The background is painted within (clipped to) the content box.","padding-box":"The background is painted within (clipped to) the padding box."},Do={"margin-box":"Uses the margin box as reference box.","fill-box":"Uses the object bounding box as reference box.","stroke-box":"Uses the stroke bounding box as reference box.","view-box":"Uses the nearest SVG viewport as reference box."},To={initial:"Represents the value specified as the property’s initial value.",inherit:"Represents the computed value of the property on the element’s parent.",unset:"Acts as either `inherit` or `initial`, depending on whether the property is inherited or not."},Ro={"url()":"Reference an image file by URL","image()":"Provide image fallbacks and annotations.","-webkit-image-set()":"Provide multiple resolutions. Remember to use unprefixed image-set() in addition.","image-set()":"Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.","-moz-element()":"Use an element in the document as an image. Remember to use unprefixed element() in addition.","element()":"Use an element in the document as an image.","cross-fade()":"Indicates the two images to be combined and how far along in the transition the combination is.","-webkit-gradient()":"Deprecated. Use modern linear-gradient() or radial-gradient() instead.","-webkit-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-moz-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-o-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","linear-gradient()":"A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.","-webkit-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-moz-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-o-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","repeating-linear-gradient()":"Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.","-webkit-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","-moz-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","radial-gradient()":"Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.","-webkit-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","-moz-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","repeating-radial-gradient()":"Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position."},No={ease:"Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).","ease-in":"Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).","ease-in-out":"Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).","ease-out":"Equivalent to cubic-bezier(0, 0, 0.58, 1.0).",linear:"Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).","step-end":"Equivalent to steps(1, end).","step-start":"Equivalent to steps(1, start).","steps()":"The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value “start” or “end”.","cubic-bezier()":"Specifies a cubic-bezier curve. The four values specify points P1 and P2 of the curve as (x1, y1, x2, y2).","cubic-bezier(0.6, -0.28, 0.735, 0.045)":"Ease-in Back. Overshoots.","cubic-bezier(0.68, -0.55, 0.265, 1.55)":"Ease-in-out Back. Overshoots.","cubic-bezier(0.175, 0.885, 0.32, 1.275)":"Ease-out Back. Overshoots.","cubic-bezier(0.6, 0.04, 0.98, 0.335)":"Ease-in Circular. Based on half circle.","cubic-bezier(0.785, 0.135, 0.15, 0.86)":"Ease-in-out Circular. Based on half circle.","cubic-bezier(0.075, 0.82, 0.165, 1)":"Ease-out Circular. Based on half circle.","cubic-bezier(0.55, 0.055, 0.675, 0.19)":"Ease-in Cubic. Based on power of three.","cubic-bezier(0.645, 0.045, 0.355, 1)":"Ease-in-out Cubic. Based on power of three.","cubic-bezier(0.215, 0.610, 0.355, 1)":"Ease-out Cubic. Based on power of three.","cubic-bezier(0.95, 0.05, 0.795, 0.035)":"Ease-in Exponential. Based on two to the power ten.","cubic-bezier(1, 0, 0, 1)":"Ease-in-out Exponential. Based on two to the power ten.","cubic-bezier(0.19, 1, 0.22, 1)":"Ease-out Exponential. Based on two to the power ten.","cubic-bezier(0.47, 0, 0.745, 0.715)":"Ease-in Sine.","cubic-bezier(0.445, 0.05, 0.55, 0.95)":"Ease-in-out Sine.","cubic-bezier(0.39, 0.575, 0.565, 1)":"Ease-out Sine.","cubic-bezier(0.55, 0.085, 0.68, 0.53)":"Ease-in Quadratic. Based on power of two.","cubic-bezier(0.455, 0.03, 0.515, 0.955)":"Ease-in-out Quadratic. Based on power of two.","cubic-bezier(0.25, 0.46, 0.45, 0.94)":"Ease-out Quadratic. Based on power of two.","cubic-bezier(0.895, 0.03, 0.685, 0.22)":"Ease-in Quartic. Based on power of four.","cubic-bezier(0.77, 0, 0.175, 1)":"Ease-in-out Quartic. Based on power of four.","cubic-bezier(0.165, 0.84, 0.44, 1)":"Ease-out Quartic. Based on power of four.","cubic-bezier(0.755, 0.05, 0.855, 0.06)":"Ease-in Quintic. Based on power of five.","cubic-bezier(0.86, 0, 0.07, 1)":"Ease-in-out Quintic. Based on power of five.","cubic-bezier(0.23, 1, 0.320, 1)":"Ease-out Quintic. Based on power of five."},zo={"circle()":"Defines a circle.","ellipse()":"Defines an ellipse.","inset()":"Defines an inset rectangle.","polygon()":"Defines a polygon."},Ao={length:["em","rem","ex","px","cm","mm","in","pt","pc","ch","vw","vh","vmin","vmax"],angle:["deg","rad","grad","turn"],time:["ms","s"],frequency:["Hz","kHz"],resolution:["dpi","dpcm","dppx"],percentage:["%","fr"]},Io=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","const","video","wbr"],Po=["circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","hatch","hatchpath","image","line","linearGradient","marker","mask","mesh","meshpatch","meshrow","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","solidcolor","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Mo=["@bottom-center","@bottom-left","@bottom-left-corner","@bottom-right","@bottom-right-corner","@left-bottom","@left-middle","@left-top","@right-bottom","@right-middle","@right-top","@top-center","@top-left","@top-left-corner","@top-right","@top-right-corner"];function Oo(e){return Object.keys(e).map((function(t){return e[t]}))}function Lo(e){return"undefined"!==typeof e}var Wo=function(){function e(e){void 0===e&&(e=new wr),this.keyframeRegex=/^@(\-(webkit|ms|moz|o)\-)?keyframes$/i,this.scanner=e,this.token={type:Tn.EOF,offset:-1,len:0,text:""},this.prevToken=void 0}return e.prototype.peekIdent=function(e){return Tn.Ident===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekKeyword=function(e){return Tn.AtKeyword===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekDelim=function(e){return Tn.Delim===this.token.type&&e===this.token.text},e.prototype.peek=function(e){return e===this.token.type},e.prototype.peekOne=function(e){return-1!==e.indexOf(this.token.type)},e.prototype.peekRegExp=function(e,t){return e===this.token.type&&t.test(this.token.text)},e.prototype.hasWhitespace=function(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset},e.prototype.consumeToken=function(){this.prevToken=this.token,this.token=this.scanner.scan()},e.prototype.mark=function(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}},e.prototype.restoreAtMark=function(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)},e.prototype.try=function(e){var t=this.mark(),n=e();return n||(this.restoreAtMark(t),null)},e.prototype.acceptOneKeyword=function(e){if(Tn.AtKeyword===this.token.type)for(var t=0,n=e;te.offset?i-e.offset:0}return e},e.prototype.markError=function(e,t,n,r){this.token!==this.lastErrorToken&&(e.addIssue(new qi(e,t,zr.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||r)&&this.resync(n,r)},e.prototype.parseStylesheet=function(e){var t=e.version,n=e.getText(),r=function(r,i){if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(r,i)};return this.internalParse(n,this._parseStylesheet,r)},e.prototype.internalParse=function(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();var r=t.bind(this)();return r&&(r.textProvider=n||function(t,n){return e.substr(t,n)}),r},e.prototype._parseStylesheet=function(){var e=this.create(Mr);while(e.addChild(this._parseStylesheetStart()));var t=!1;do{var n=!1;do{n=!1;var r=this._parseStylesheetStatement();r&&(e.addChild(r),n=!0,t=!1,this.peek(Tn.EOF)||!this._needsSemicolonAfter(r)||this.accept(Tn.SemiColon)||this.markError(e,Xi.SemiColonExpected));while(this.accept(Tn.SemiColon)||this.accept(Tn.CDO)||this.accept(Tn.CDC))n=!0,t=!1}while(n);if(this.peek(Tn.EOF))break;t||(this.peek(Tn.AtKeyword)?this.markError(e,Xi.UnknownAtRule):this.markError(e,Xi.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(Tn.EOF));return this.finish(e)},e.prototype._parseStylesheetStart=function(){return this._parseCharset()},e.prototype._parseStylesheetStatement=function(e){return void 0===e&&(e=!1),this.peek(Tn.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)},e.prototype._parseStylesheetAtStatement=function(e){return void 0===e&&(e=!1),this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseUnknownAtRule()},e.prototype._tryParseRuleset=function(e){var t=this.mark();if(this._parseSelector(e)){while(this.accept(Tn.Comma)&&this._parseSelector(e));if(this.accept(Tn.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null},e.prototype._parseRuleset=function(e){void 0===e&&(e=!1);var t=this.create(Wr),n=t.getSelectors();if(!n.addChild(this._parseSelector(e)))return null;while(this.accept(Tn.Comma))if(!n.addChild(this._parseSelector(e)))return this.finish(t,Xi.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseRuleSetDeclarationAtStatement=function(){return this._parseUnknownAtRule()},e.prototype._parseRuleSetDeclaration=function(){return this.peek(Tn.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this._parseDeclaration()},e.prototype._needsSemicolonAfter=function(e){switch(e.type){case _r.Keyframe:case _r.ViewPort:case _r.Media:case _r.Ruleset:case _r.Namespace:case _r.If:case _r.For:case _r.Each:case _r.While:case _r.MixinDeclaration:case _r.FunctionDeclaration:case _r.MixinContentDeclaration:return!1;case _r.ExtendsReference:case _r.MixinContentReference:case _r.ReturnStatement:case _r.MediaQuery:case _r.Debug:case _r.Import:case _r.AtApplyRule:case _r.CustomPropertyDeclaration:return!0;case _r.VariableDeclaration:return e.needsSemicolon;case _r.MixinReference:return!e.getContent();case _r.Declaration:return!e.getNestedProperties()}return!1},e.prototype._parseDeclarations=function(e){var t=this.create(Or);if(!this.accept(Tn.CurlyL))return null;var n=e();while(t.addChild(n)){if(this.peek(Tn.CurlyR))break;if(this._needsSemicolonAfter(n)&&!this.accept(Tn.SemiColon))return this.finish(t,Xi.SemiColonExpected,[Tn.SemiColon,Tn.CurlyR]);n&&this.prevToken&&this.prevToken.type===Tn.SemiColon&&(n.semicolonPosition=this.prevToken.offset);while(this.accept(Tn.SemiColon));n=e()}return this.accept(Tn.CurlyR)?this.finish(t):this.finish(t,Xi.RightCurlyExpected,[Tn.CurlyR,Tn.SemiColon])},e.prototype._parseBody=function(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,Xi.LeftCurlyExpected,[Tn.CurlyR,Tn.SemiColon])},e.prototype._parseSelector=function(e){var t=this.create(Ur),n=!1;e&&(n=t.addChild(this._parseCombinator()));while(t.addChild(this._parseSimpleSelector()))n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null},e.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(qr);return n.setProperty(this._parseProperty())?this.accept(Tn.Colon)?(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseExpr())?(n.addChild(this._parsePrio()),this.peek(Tn.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)):this.finish(n,Xi.PropertyValueExpected)):this.finish(n,Xi.ColonExpected,[Tn.Colon],e||[Tn.SemiColon]):null},e.prototype._tryParseCustomPropertyDeclaration=function(e){if(!this.peekRegExp(Tn.Ident,/^--/))return null;var t=this.create(Kr);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(Tn.Colon))return this.finish(t,Xi.ColonExpected,[Tn.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);var n=this.mark();if(this.peek(Tn.CurlyL)){var r=this.create(Br),i=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(r.setDeclarations(i)&&!i.isErroneous(!0)&&(r.addChild(this._parsePrio()),this.peek(Tn.SemiColon)))return this.finish(r),t.setPropertySet(r),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(n)}var o=this._parseExpr();return o&&!o.isErroneous(!0)&&(this._parsePrio(),this.peekOne(e||[Tn.SemiColon]))?(t.setValue(o),t.semicolonPosition=this.token.offset,this.finish(t)):(this.restoreAtMark(n),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),Lo(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,Xi.PropertyValueExpected):this.finish(t))},e.prototype._parseCustomPropertyValue=function(e){var t=this;void 0===e&&(e=[Tn.CurlyR]);var n=this.create(Ar),r=function(){return 0===o&&0===s&&0===a},i=function(){return-1!==e.indexOf(t.token.type)},o=0,s=0,a=0;e:while(1){switch(this.token.type){case Tn.SemiColon:if(r())break e;break;case Tn.Exclamation:if(r())break e;break;case Tn.CurlyL:o++;break;case Tn.CurlyR:if(o--,o<0){if(i()&&0===s&&0===a)break e;return this.finish(n,Xi.LeftCurlyExpected)}break;case Tn.ParenthesisL:s++;break;case Tn.ParenthesisR:if(s--,s<0){if(i()&&0===a&&0===o)break e;return this.finish(n,Xi.LeftParenthesisExpected)}break;case Tn.BracketL:a++;break;case Tn.BracketR:if(a--,a<0)return this.finish(n,Xi.LeftSquareBracketExpected);break;case Tn.BadString:break e;case Tn.EOF:var l=Xi.RightCurlyExpected;return a>0?l=Xi.RightSquareBracketExpected:s>0&&(l=Xi.RightParenthesisExpected),this.finish(n,l)}this.consumeToken()}return this.finish(n)},e.prototype._tryToParseDeclaration=function(e){var t=this.mark();return this._parseProperty()&&this.accept(Tn.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)},e.prototype._parseProperty=function(){var e=this.create($r),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null},e.prototype._parsePropertyIdentifier=function(){return this._parseIdent()},e.prototype._parseCharset=function(){if(!this.peek(Tn.Charset))return null;var e=this.create(Ar);return this.consumeToken(),this.accept(Tn.String)?this.accept(Tn.SemiColon)?this.finish(e):this.finish(e,Xi.SemiColonExpected):this.finish(e,Xi.IdentifierExpected)},e.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var e=this.create(li);return this.consumeToken(),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(Tn.SemiColon)||this.peek(Tn.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,Xi.URIOrStringExpected)},e.prototype._parseNamespace=function(){if(!this.peekKeyword("@namespace"))return null;var e=this.create(ui);return this.consumeToken(),e.addChild(this._parseURILiteral())||(e.addChild(this._parseIdent()),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral()))?this.accept(Tn.SemiColon)?this.finish(e):this.finish(e,Xi.SemiColonExpected):this.finish(e,Xi.URIExpected,[Tn.SemiColon])},e.prototype._parseFontFace=function(){if(!this.peekKeyword("@font-face"))return null;var e=this.create(ii);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseViewPort=function(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;var e=this.create(ri);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseKeyframe=function(){if(!this.peekRegExp(Tn.AtKeyword,this.keyframeRegex))return null;var e=this.create(si),t=this.create(Ar);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches("@-ms-keyframes")&&this.markError(t,Xi.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,Xi.IdentifierExpected,[Tn.CurlyR])},e.prototype._parseKeyframeIdent=function(){return this._parseIdent([Fr.Keyframe])},e.prototype._parseKeyframeSelector=function(){var e=this.create(ai);if(!e.addChild(this._parseIdent())&&!this.accept(Tn.Percentage))return null;while(this.accept(Tn.Comma))if(!e.addChild(this._parseIdent())&&!this.accept(Tn.Percentage))return this.finish(e,Xi.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._tryParseKeyframeSelector=function(){var e=this.create(ai),t=this.mark();if(!e.addChild(this._parseIdent())&&!this.accept(Tn.Percentage))return null;while(this.accept(Tn.Comma))if(!e.addChild(this._parseIdent())&&!this.accept(Tn.Percentage))return this.restoreAtMark(t),null;return this.peek(Tn.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)},e.prototype._parseSupports=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@supports"))return null;var t=this.create(fi);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))},e.prototype._parseSupportsDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseSupportsCondition=function(){var e=this.create(yi);if(this.acceptIdent("not"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(Tn.Ident,/^(and|or)$/i)){var t=this.token.text.toLowerCase();while(this.acceptIdent(t))e.addChild(this._parseSupportsConditionInParens())}return this.finish(e)},e.prototype._parseSupportsConditionInParens=function(){var e=this.create(yi);if(this.accept(Tn.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),e.addChild(this._tryToParseDeclaration([Tn.ParenthesisR]))||this._parseSupportsCondition()?this.accept(Tn.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,Xi.RightParenthesisExpected,[Tn.ParenthesisR],[]):this.finish(e,Xi.ConditionExpected);if(this.peek(Tn.Ident)){var t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(Tn.ParenthesisL)){var n=1;while(this.token.type!==Tn.EOF&&0!==n)this.token.type===Tn.ParenthesisL?n++:this.token.type===Tn.ParenthesisR&&n--,this.consumeToken();return this.finish(e)}this.restoreAtMark(t)}return this.finish(e,Xi.LeftParenthesisExpected,[],[Tn.ParenthesisL])},e.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseMedia=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@media"))return null;var t=this.create(mi);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,Xi.MediaQueryExpected)},e.prototype._parseMediaQueryList=function(){var e=this.create(bi);if(!e.addChild(this._parseMediaQuery([Tn.CurlyL])))return this.finish(e,Xi.MediaQueryExpected);while(this.accept(Tn.Comma))if(!e.addChild(this._parseMediaQuery([Tn.CurlyL])))return this.finish(e,Xi.MediaQueryExpected);return this.finish(e)},e.prototype._parseMediaQuery=function(e){var t=this.create(vi),n=!0,r=!1;if(!this.peek(Tn.ParenthesisL)){if(this.acceptIdent("only")||this.acceptIdent("not"),!t.addChild(this._parseIdent()))return null;r=!0,n=this.acceptIdent("and")}while(n)if(t.addChild(this._parseMediaContentStart()))n=this.acceptIdent("and");else{if(!this.accept(Tn.ParenthesisL))return r?this.finish(t,Xi.LeftParenthesisExpected,[],e):null;if(!t.addChild(this._parseMediaFeatureName()))return this.finish(t,Xi.IdentifierExpected,[],e);if(this.accept(Tn.Colon)&&!t.addChild(this._parseExpr()))return this.finish(t,Xi.TermExpected,[],e);if(!this.accept(Tn.ParenthesisR))return this.finish(t,Xi.RightParenthesisExpected,[],e);n=this.acceptIdent("and")}return this.finish(t)},e.prototype._parseMediaContentStart=function(){return null},e.prototype._parseMediaFeatureName=function(){return this._parseIdent()},e.prototype._parseMedium=function(){var e=this.create(Ar);return e.addChild(this._parseIdent())?this.finish(e):null},e.prototype._parsePageDeclaration=function(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()},e.prototype._parsePage=function(){if(!this.peekKeyword("@page"))return null;var e=this.create(wi);if(this.consumeToken(),e.addChild(this._parsePageSelector()))while(this.accept(Tn.Comma))if(!e.addChild(this._parsePageSelector()))return this.finish(e,Xi.IdentifierExpected);return this._parseBody(e,this._parsePageDeclaration.bind(this))},e.prototype._parsePageMarginBox=function(){if(!this.peek(Tn.AtKeyword))return null;var e=this.create(xi);return this.acceptOneKeyword(Mo)||this.markError(e,Xi.UnknownAtRule,[],[Tn.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parsePageSelector=function(){if(!this.peek(Tn.Ident)&&!this.peek(Tn.Colon))return null;var e=this.create(Ar);return e.addChild(this._parseIdent()),this.accept(Tn.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,Xi.IdentifierExpected):this.finish(e)},e.prototype._parseDocument=function(){if(!this.peekKeyword("@-moz-document"))return null;var e=this.create(gi);return this.consumeToken(),this.resync([],[Tn.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))},e.prototype._parseUnknownAtRule=function(){if(!this.peek(Tn.AtKeyword))return null;var e=this.create(Wi);e.addChild(this._parseUnknownAtRuleName());var t=function(){return 0===r&&0===i&&0===o},n=0,r=0,i=0,o=0;e:while(1){switch(this.token.type){case Tn.SemiColon:if(t())break e;break;case Tn.EOF:return r>0?this.finish(e,Xi.RightCurlyExpected):o>0?this.finish(e,Xi.RightSquareBracketExpected):i>0?this.finish(e,Xi.RightParenthesisExpected):this.finish(e);case Tn.CurlyL:n++,r++;break;case Tn.CurlyR:if(r--,n>0&&0===r){if(this.consumeToken(),o>0)return this.finish(e,Xi.RightSquareBracketExpected);if(i>0)return this.finish(e,Xi.RightParenthesisExpected);break e}if(r<0){if(0===i&&0===o)break e;return this.finish(e,Xi.LeftCurlyExpected)}break;case Tn.ParenthesisL:i++;break;case Tn.ParenthesisR:if(i--,i<0)return this.finish(e,Xi.LeftParenthesisExpected);break;case Tn.BracketL:o++;break;case Tn.BracketR:if(o--,o<0)return this.finish(e,Xi.LeftSquareBracketExpected);break}this.consumeToken()}return e},e.prototype._parseUnknownAtRuleName=function(){var e=this.create(Ar);return this.accept(Tn.AtKeyword)?this.finish(e):e},e.prototype._parseOperator=function(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(Tn.Dashmatch)||this.peek(Tn.Includes)||this.peek(Tn.SubstringOperator)||this.peek(Tn.PrefixOperator)||this.peek(Tn.SuffixOperator)||this.peekDelim("=")){var e=this.createNode(_r.Operator);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseUnaryOperator=function(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;var e=this.create(Ar);return this.consumeToken(),this.finish(e)},e.prototype._parseCombinator=function(){if(this.peekDelim(">")){var e=this.create(Ar);this.consumeToken();var t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=_r.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=_r.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+")){e=this.create(Ar);return this.consumeToken(),e.type=_r.SelectorCombinatorSibling,this.finish(e)}if(this.peekDelim("~")){e=this.create(Ar);return this.consumeToken(),e.type=_r.SelectorCombinatorAllSiblings,this.finish(e)}if(this.peekDelim("/")){e=this.create(Ar);this.consumeToken();t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=_r.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null},e.prototype._parseSimpleSelector=function(){var e=this.create(jr),t=0;e.addChild(this._parseElementName())&&t++;while((0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody()))t++;return t>0?this.finish(e):null},e.prototype._parseSimpleSelectorBody=function(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()},e.prototype._parseSelectorIdent=function(){return this._parseIdent()},e.prototype._parseHash=function(){if(!this.peek(Tn.Hash)&&!this.peekDelim("#"))return null;var e=this.createNode(_r.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,Xi.IdentifierExpected)}else this.consumeToken();return this.finish(e)},e.prototype._parseClass=function(){if(!this.peekDelim("."))return null;var e=this.createNode(_r.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,Xi.IdentifierExpected):this.finish(e)},e.prototype._parseElementName=function(){var e=this.mark(),t=this.createNode(_r.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseNamespacePrefix=function(){var e=this.mark(),t=this.createNode(_r.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseAttrib=function(){if(!this.peek(Tn.BracketL))return null;var e=this.create(Ei);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent("i")),this.accept(Tn.BracketR)?this.finish(e):this.finish(e,Xi.RightSquareBracketExpected)):this.finish(e,Xi.IdentifierExpected)},e.prototype._parsePseudo=function(){var e=this,t=this._tryParsePseudoIdentifier();if(t){if(!this.hasWhitespace()&&this.accept(Tn.ParenthesisL)){var n=function(){var t=e.create(Ar);if(!t.addChild(e._parseSelector(!1)))return null;while(e.accept(Tn.Comma)&&t.addChild(e._parseSelector(!1)));return e.peek(Tn.ParenthesisR)?e.finish(t):null};if(t.addChild(this.try(n)||this._parseBinaryExpr()),!this.accept(Tn.ParenthesisR))return this.finish(t,Xi.RightParenthesisExpected)}return this.finish(t)}return null},e.prototype._tryParsePseudoIdentifier=function(){if(!this.peek(Tn.Colon))return null;var e=this.mark(),t=this.createNode(_r.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(Tn.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,Xi.IdentifierExpected):this.finish(t))},e.prototype._tryParsePrio=function(){var e=this.mark(),t=this._parsePrio();return t||(this.restoreAtMark(e),null)},e.prototype._parsePrio=function(){if(!this.peek(Tn.Exclamation))return null;var e=this.createNode(_r.Prio);return this.accept(Tn.Exclamation)&&this.acceptIdent("important")?this.finish(e):null},e.prototype._parseExpr=function(e){void 0===e&&(e=!1);var t=this.create(Si);if(!t.addChild(this._parseBinaryExpr()))return null;while(1){if(this.peek(Tn.Comma)){if(e)return this.finish(t);this.consumeToken()}if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)},e.prototype._parseNamedLine=function(){if(!this.peek(Tn.BracketL))return null;var e=this.createNode(_r.GridLine);this.consumeToken();while(e.addChild(this._parseIdent()));return this.accept(Tn.BracketR)?this.finish(e):this.finish(e,Xi.RightSquareBracketExpected)},e.prototype._parseBinaryExpr=function(e,t){var n=this.create(Ci);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,Xi.TermExpected);n=this.finish(n);var r=this._parseOperator();return r&&(n=this._parseBinaryExpr(n,r)),this.finish(n)},e.prototype._parseTerm=function(){var e=this.create(ki);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null},e.prototype._parseTermExpression=function(){return this._parseURILiteral()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()},e.prototype._parseOperation=function(){if(!this.peek(Tn.ParenthesisL))return null;var e=this.create(Ar);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(Tn.ParenthesisR)?this.finish(e):this.finish(e,Xi.RightParenthesisExpected)},e.prototype._parseNumeric=function(){if(this.peek(Tn.Num)||this.peek(Tn.Percentage)||this.peek(Tn.Resolution)||this.peek(Tn.Length)||this.peek(Tn.EMS)||this.peek(Tn.EXS)||this.peek(Tn.Angle)||this.peek(Tn.Time)||this.peek(Tn.Dimension)||this.peek(Tn.Freq)){var e=this.create(Ri);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseStringLiteral=function(){if(!this.peek(Tn.String)&&!this.peek(Tn.BadString))return null;var e=this.createNode(_r.StringLiteral);return this.consumeToken(),this.finish(e)},e.prototype._parseURILiteral=function(){if(!this.peekRegExp(Tn.Ident,/^url(-prefix)?$/i))return null;var e=this.mark(),t=this.createNode(_r.URILiteral);return this.accept(Tn.Ident),this.hasWhitespace()||!this.peek(Tn.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(Tn.ParenthesisR)?this.finish(t):this.finish(t,Xi.RightParenthesisExpected))},e.prototype._parseURLArgument=function(){var e=this.create(Ar);return this.accept(Tn.String)||this.accept(Tn.BadString)||this.acceptUnquotedString()?this.finish(e):null},e.prototype._parseIdent=function(e){if(!this.peek(Tn.Ident))return null;var t=this.create(Pr);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(Tn.Ident,/^--/),this.consumeToken(),this.finish(t)},e.prototype._parseFunction=function(){var e=this.mark(),t=this.create(Hr);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(Tn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,Xi.ExpressionExpected)}return this.accept(Tn.ParenthesisR)?this.finish(t):this.finish(t,Xi.RightParenthesisExpected)},e.prototype._parseFunctionIdentifier=function(){if(!this.peek(Tn.Ident))return null;var e=this.create(Pr);if(e.referenceTypes=[Fr.Function],this.acceptIdent("progid")){if(this.accept(Tn.Colon))while(this.accept(Tn.Ident)&&this.acceptDelim("."));return this.finish(e)}return this.consumeToken(),this.finish(e)},e.prototype._parseFunctionArgument=function(){var e=this.create(Jr);return e.setValue(this._parseExpr(!0))?this.finish(e):null},e.prototype._parseHexColor=function(){if(this.peekRegExp(Tn.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){var e=this.create(_i);return this.consumeToken(),this.finish(e)}return null},e}();function Uo(e,t){var n=0,r=e.length;if(0===r)return 0;while(ne+t||this.offset===e&&this.length===t?this.findInScope(e,t):null},e.prototype.findInScope=function(e,t){void 0===t&&(t=0);var n=e+t,r=Uo(this.children,(function(e){return e.offset>n}));if(0===r)return this;var i=this.children[r-1];return i.offset<=e&&i.offset+i.length>=e+t?i.findInScope(e,t):this},e.prototype.addSymbol=function(e){this.symbols.push(e)},e.prototype.getSymbol=function(e,t){for(var n=0;n0&&(i.arguments=n),i}function n(e){var t=e;return ea.defined(t)&&ea.string(t.title)&&ea.string(t.command)}e.create=t,e.is=n}(os||(os={})),function(e){function t(e,t){return{range:e,newText:t}}function n(e,t){return{range:{start:e,end:e},newText:t}}function r(e){return{range:e,newText:""}}function i(e){var t=e;return ea.objectLiteral(t)&&ea.string(t.newText)&&$o.is(t.range)}e.replace=t,e.insert=n,e.del=r,e.is=i}(ss||(ss={})),function(e){function t(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r}function n(e){var t=e;return void 0!==t&&ea.objectLiteral(t)&&ea.string(t.label)&&(ea.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ea.string(t.description)||void 0===t.description)}e.create=t,e.is=n}(as||(as={})),function(e){function t(e){var t=e;return"string"===typeof t}e.is=t}(ls||(ls={})),function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}function r(e,t){return{range:e,newText:"",annotationId:t}}function i(e){var t=e;return ss.is(t)&&(as.is(t.annotationId)||ls.is(t.annotationId))}e.replace=t,e.insert=n,e.del=r,e.is=i}(cs||(cs={})),function(e){function t(e,t){return{textDocument:e,edits:t}}function n(e){var t=e;return ea.defined(t)&&Cs.is(t.textDocument)&&Array.isArray(t.edits)}e.create=t,e.is=n}(ds||(ds={})),function(e){function t(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r}function n(e){var t=e;return t&&"create"===t.kind&&ea.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ea.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ea.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||ls.is(t.annotationId))}e.create=t,e.is=n}(hs||(hs={})),function(e){function t(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i}function n(e){var t=e;return t&&"rename"===t.kind&&ea.string(t.oldUri)&&ea.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ea.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ea.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||ls.is(t.annotationId))}e.create=t,e.is=n}(ps||(ps={})),function(e){function t(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r}function n(e){var t=e;return t&&"delete"===t.kind&&ea.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ea.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ea.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||ls.is(t.annotationId))}e.create=t,e.is=n}(us||(us={})),function(e){function t(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ea.string(e.kind)?hs.is(e)||ps.is(e)||us.is(e):ds.is(e)})))}e.is=t}(ms||(ms={}));var xs,Ss,Cs,ks,Es,_s,Fs,Ds,Ts,Rs,Ns,zs,As,Is,Ps,Ms,Os,Ls,Ws,Us,js,Vs,Bs,qs,Ks,$s,Gs,Hs,Ys,Js,Xs=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=ss.insert(e,t):ls.is(n)?(i=n,r=cs.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=cs.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=ss.replace(e,t):ls.is(n)?(i=n,r=cs.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=cs.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=ss.del(e):ls.is(t)?(r=t,n=cs.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=cs.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Qs=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(ls.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();(function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Qs(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(ds.is(e)){var n=new Xs(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new Xs(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Cs.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version},n=this._textEditChanges[t.uri];if(!n){var r=[],i={textDocument:t,edits:r};this._workspaceEdit.documentChanges.push(i),n=new Xs(r,this._changeAnnotations),this._textEditChanges[t.uri]=n}return n}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");n=this._textEditChanges[e];if(!n){r=[];this._workspaceEdit.changes[e]=r,n=new Xs(r),this._textEditChanges[e]=n}return n},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Qs,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(as.is(t)||ls.is(t)?r=t:n=t,void 0===r?i=hs.create(e,n):(o=ls.is(r)?r:this._changeAnnotations.manage(r),i=hs.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,s;if(as.is(n)||ls.is(n)?i=n:r=n,void 0===i?o=ps.create(e,t,r):(s=ls.is(i)?i:this._changeAnnotations.manage(i),o=ps.create(e,t,r,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(as.is(t)||ls.is(t)?r=t:n=t,void 0===r?i=us.create(e,n):(o=ls.is(r)?r:this._changeAnnotations.manage(r),i=us.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}})();(function(e){function t(e){return{uri:e}}function n(e){var t=e;return ea.defined(t)&&ea.string(t.uri)}e.create=t,e.is=n})(xs||(xs={})),function(e){function t(e,t){return{uri:e,version:t}}function n(e){var t=e;return ea.defined(t)&&ea.string(t.uri)&&ea.integer(t.version)}e.create=t,e.is=n}(Ss||(Ss={})),function(e){function t(e,t){return{uri:e,version:t}}function n(e){var t=e;return ea.defined(t)&&ea.string(t.uri)&&(null===t.version||ea.integer(t.version))}e.create=t,e.is=n}(Cs||(Cs={})),function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}function n(e){var t=e;return ea.defined(t)&&ea.string(t.uri)&&ea.string(t.languageId)&&ea.integer(t.version)&&ea.string(t.text)}e.create=t,e.is=n}(ks||(ks={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(Es||(Es={})),function(e){function t(t){var n=t;return n===e.PlainText||n===e.Markdown}e.is=t}(Es||(Es={})),function(e){function t(e){var t=e;return ea.objectLiteral(e)&&Es.is(t.kind)&&ea.string(t.value)}e.is=t}(_s||(_s={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(Fs||(Fs={})),function(e){e.PlainText=1,e.Snippet=2}(Ds||(Ds={})),function(e){e.Deprecated=1}(Ts||(Ts={})),function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}function n(e){var t=e;return t&&ea.string(t.newText)&&$o.is(t.insert)&&$o.is(t.replace)}e.create=t,e.is=n}(Rs||(Rs={})),function(e){e.asIs=1,e.adjustIndentation=2}(Ns||(Ns={})),function(e){function t(e){return{label:e}}e.create=t}(zs||(zs={})),function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t}(As||(As={})),function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function n(e){var t=e;return ea.string(t)||ea.objectLiteral(t)&&ea.string(t.language)&&ea.string(t.value)}e.fromPlainText=t,e.is=n}(Is||(Is={})),function(e){function t(e){var t=e;return!!t&&ea.objectLiteral(t)&&(_s.is(t.contents)||Is.is(t.contents)||ea.typedArray(t.contents,Is.is))&&(void 0===e.range||$o.is(e.range))}e.is=t}(Ps||(Ps={})),function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t}(Ms||(Ms={})),function(e){function t(e,t){for(var n=[],r=2;r=0;s--){var a=r[s],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=o))throw new Error("Overlapping edit");n=n.substring(0,l)+a.newText+n.substring(c,n.length),o=l}return n}function i(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),o=e.slice(n);i(r,t),i(o,t);var s=0,a=0,l=0;while(s0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Ko.create(0,e);while(ne?r=i:n=i+1}var o=n-1;return Ko.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1e?r=i:n=i+1}var o=n-1;return{line:o,character:e-t[o]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function ca(e){var t=la(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(function(e){function t(e,t,n,r){return new oa(e,t,n,r)}function n(e,t,n){if(e instanceof oa)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function r(e,t){for(var n=e.getText(),r=sa(t.map(ca),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0,o=[],s=0,a=r;si&&o.push(n.substring(i,c)),l.newText.length&&o.push(l.newText),i=e.offsetAt(l.range.end)}return o.push(n.substr(i)),o.join("")}e.create=t,e.update=n,e.applyEdits=r})(na||(na={})),function(e){e.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Es.Markdown,Es.PlainText]}},hover:{contentFormat:[Es.Markdown,Es.PlainText]}}}}(ra||(ra={})),function(e){e[e["Unknown"]=0]="Unknown",e[e["File"]=1]="File",e[e["Directory"]=2]="Directory",e[e["SymbolicLink"]=64]="SymbolicLink"}(ia||(ia={}));var da=n("ed59"),ha=function(e,t){for(var n=0,r=t.length,i=e.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;o--){var s=this.nodePath[o];if(s instanceof $r)this.getCompletionsForDeclarationProperty(s.getParent(),i);else if(s instanceof Si)s.parent instanceof zi?this.getVariableProposals(null,i):this.getCompletionsForExpression(s,i);else if(s instanceof jr){var a=s.findAParent(_r.ExtendsReference,_r.Ruleset);if(a)if(a.type===_r.ExtendsReference)this.getCompletionsForExtendsReference(a,s,i);else{var l=a;this.getCompletionsForSelector(l,l&&l.isNested(),i)}}else if(s instanceof Jr)this.getCompletionsForFunctionArgument(s,s.getParent(),i);else if(s instanceof Or)this.getCompletionsForDeclarations(s,i);else if(s instanceof Ni)this.getCompletionsForVariableDeclaration(s,i);else if(s instanceof Wr)this.getCompletionsForRuleSet(s,i);else if(s instanceof zi)this.getCompletionsForInterpolation(s,i);else if(s instanceof ni)this.getCompletionsForFunctionDeclaration(s,i);else if(s instanceof Oi)this.getCompletionsForMixinReference(s,i);else if(s instanceof Hr)this.getCompletionsForFunctionArgument(null,s,i);else if(s instanceof fi)this.getCompletionsForSupports(s,i);else if(s instanceof yi)this.getCompletionsForSupportsCondition(s,i);else if(s instanceof Ii)this.getCompletionsForExtendsReference(s,null,i);else if(s.type===_r.URILiteral)this.getCompletionForUriLiteralValue(s,i);else if(null===s.parent)this.getCompletionForTopLevel(i);else{if(s.type!==_r.StringLiteral||!this.isImportPathParent(s.parent.type))continue;this.getCompletionForImportPath(s,i)}if(i.items.length>0||this.offset>s.offset)return this.finalize(i)}return this.getCompletionsForStylesheet(i),0===i.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,i),this.finalize(i)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}},e.prototype.isImportPathParent=function(e){return e===_r.Import},e.prototype.finalize=function(e){return e},e.prototype.findInNodePath=function(){for(var e=[],t=0;t=0;n--){var r=this.nodePath[n];if(-1!==e.indexOf(r.type))return r}return null},e.prototype.getCompletionsForDeclarationProperty=function(e,t){return this.getPropertyProposals(e,t)},e.prototype.getPropertyProposals=function(e,t){var n=this,r=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled,o=this.cssDataManager.getProperties();return o.forEach((function(o){var s,a,l=!1;e?(s=n.getCompletionRange(e.getProperty()),a=o.name,Lo(e.colonPosition)||(a+=": ",l=!0)):(s=n.getCompletionRange(null),a=o.name+": ",l=!0),!e&&i&&(a+="$0;"),e&&!e.semicolonPosition&&i&&n.offset>=n.textDocument.offsetAt(s.end)&&(a+="$0;");var c={label:o.name,documentation:eo(o,n.doesSupportMarkdown()),tags:Ra(o)?[Ts.Deprecated]:[],textEdit:ss.replace(s,a),insertTextFormat:Ds.Snippet,kind:Fs.Property};o.restrictions||(l=!1),r&&l&&(c.command={title:"Suggest",command:"editor.action.triggerSuggest"});var d="number"===typeof o.relevance?Math.min(Math.max(o.relevance,0),99):50,h=(255-d).toString(16),p=xr(o.name,"-")?ka.VendorPrefixed:ka.Normal;c.sortText=p+"_"+h,t.items.push(c)})),this.completionParticipants.forEach((function(e){e.onCssProperty&&e.onCssProperty({propertyName:n.currentWord,range:n.defaultReplaceRange})})),t},Object.defineProperty(e.prototype,"isTriggerPropertyValueCompletionEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.triggerPropertyValueCompletion)||void 0===t||t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCompletePropertyWithSemicolonEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.completePropertyWithSemicolon)||void 0===t||t},enumerable:!1,configurable:!0}),e.prototype.getCompletionsForDeclarationValue=function(e,t){var n=this,r=e.getFullPropertyName(),i=this.cssDataManager.getProperty(r),o=e.getValue()||null;while(o&&o.hasChildren())o=o.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((function(e){e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:r,propertyValue:n.currentWord,range:n.getCompletionRange(o)})})),i){if(i.restrictions)for(var s=0,a=i.restrictions;s=e.offset+2&&this.getVariableProposals(null,t),t},e.prototype.getVariableProposals=function(e,t){for(var n=this.getSymbolContext().findSymbolsAtOffset(this.offset,Fr.Variable),r=0,i=n;r0){var i=this.currentWord.match(/^-?\d[\.\d+]*/);i&&(r=i[0],n.isIncomplete=r.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===_r.Term&&(t=t.getParent()),e.restrictions)for(var o=0,s=e.restrictions;o=n.end;if(r)return this.getCompletionForTopLevel(t);var i=!n||this.offset<=n.offset;return i?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)},e.prototype.getCompletionsForSelector=function(e,t,n){var r=this,i=this.findInNodePath(_r.PseudoSelector,_r.IdentifierSelector,_r.ClassSelector,_r.ElementNameSelector);!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=$o.create(Ko.create(this.position.line,this.position.character-this.currentWord.length),this.position));var o=this.cssDataManager.getPseudoClasses();o.forEach((function(e){var t=za(e.name),o={label:e.name,textEdit:ss.replace(r.getCompletionRange(i),t),documentation:eo(e,r.doesSupportMarkdown()),tags:Ra(e)?[Ts.Deprecated]:[],kind:Fs.Function,insertTextFormat:e.name!==t?Da:void 0};xr(e.name,":-")&&(o.sortText=ka.VendorPrefixed),n.items.push(o)}));var s=this.cssDataManager.getPseudoElements();if(s.forEach((function(e){var t=za(e.name),o={label:e.name,textEdit:ss.replace(r.getCompletionRange(i),t),documentation:eo(e,r.doesSupportMarkdown()),tags:Ra(e)?[Ts.Deprecated]:[],kind:Fs.Function,insertTextFormat:e.name!==t?Da:void 0};xr(e.name,"::-")&&(o.sortText=ka.VendorPrefixed),n.items.push(o)})),!t){for(var a=0,l=Io;a0){var t=u.substr(e.offset,e.length);return"."!==t.charAt(0)||p[t]||(p[t]=!0,n.items.push({label:t,textEdit:ss.replace(r.getCompletionRange(i),t),kind:Fs.Keyword})),!1}return!0})),e&&e.isNested()){var m=e.getSelectors().findFirstChildBeforeOffset(this.offset);m&&0===e.getSelectors().getChildren().indexOf(m)&&this.getPropertyProposals(null,n)}return n},e.prototype.getCompletionsForDeclarations=function(e,t){if(!e||this.offset===e.offset)return t;var n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof Vr){var r=n;if(!Lo(r.colonPosition)||this.offset<=r.colonPosition)return this.getCompletionsForDeclarationProperty(r,t);if(Lo(r.semicolonPosition)&&r.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue(),t),t},e.prototype.getCompletionsForExpression=function(e,t){var n=e.getParent();if(n instanceof Jr)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;var r=e.findParent(_r.Declaration);if(!r)return this.getTermProposals(void 0,null,t),t;var i=e.findChildAtOffset(this.offset,!0);return i?i instanceof Ri||i instanceof Pr?this.getCompletionsForDeclarationValue(r,t):t:this.getCompletionsForDeclarationValue(r,t)},e.prototype.getCompletionsForFunctionArgument=function(e,t,n){var r=t.getIdentifier();return r&&r.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n},e.prototype.getCompletionsForFunctionDeclaration=function(e,t){var n=e.getDeclarations();return n&&this.offset>n.offset&&this.offsete.lParent&&(!Lo(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t},e.prototype.getCompletionsForSupports=function(e,t){var n=e.getDeclarations(),r=!n||this.offset<=n.offset;if(r){var i=e.findFirstChildBeforeOffset(this.offset);return i instanceof yi?this.getCompletionsForSupportsCondition(i,t):t}return this.getCompletionForTopLevel(t)},e.prototype.getCompletionsForExtendsReference=function(e,t,n){return n},e.prototype.getCompletionForUriLiteralValue=function(e,t){var n,r,i;if(e.hasChildren()){var o=e.getChild(0);n=o.getText(),r=this.position,i=this.getCompletionRange(o)}else{n="",r=this.position;var s=this.textDocument.positionAt(e.offset+"url(".length);i=$o.create(s,s)}return this.completionParticipants.forEach((function(e){e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:r,range:i})})),t},e.prototype.getCompletionForImportPath=function(e,t){var n=this;return this.completionParticipants.forEach((function(t){t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:n.position,range:n.getCompletionRange(e)})})),t},e.prototype.hasCharacterAtPosition=function(e,t){var n=this.textDocument.getText();return e>=0&&e=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n)))n--;return r.substring(n+1,t)}function Ma(e){return e.toLowerCase()in ao||/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)}var Oa,La=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Wa=Hi(),Ua=function(){function e(){this.parent=null,this.children=null,this.attributes=null}return e.prototype.findAttribute=function(e){if(this.attributes)for(var t=0,n=this.attributes;t"),this.writeLine(t,r.join(""))}},e}();(function(e){function t(e,t){return t+n(e)+t}function n(e){var t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=t,e.remove=n})(Oa||(Oa={}));var qa=function(){function e(){this.id=0,this.attr=0,this.tag=0}return e}();function Ka(e,t){for(var n=new Ua,r=0,i=e.getChildren();r1){var c=t.cloneWithParent();n.addChild(c.findRoot()),n=c}n.append(s[l])}}break;case _r.SelectorPlaceholder:if(o.matches("@at-root"))return n;case _r.ElementNameSelector:var d=o.getText();n.addAttr("name","*"===d?"element":$a(d));break;case _r.ClassSelector:n.addAttr("class",$a(o.getText().substring(1)));break;case _r.IdentifierSelector:n.addAttr("id",$a(o.getText().substring(1)));break;case _r.MixinDeclaration:n.addAttr("class",o.getName());break;case _r.PseudoSelector:n.addAttr($a(o.getText()),"");break;case _r.AttributeSelector:var h=o,p=h.getIdentifier();if(p){var u=h.getValue(),m=h.getOperator(),f=void 0;if(u&&m)switch($a(m.getText())){case"|=":f=Oa.remove($a(u.getText()))+"-…";break;case"^=":f=Oa.remove($a(u.getText()))+"…";break;case"$=":f="…"+Oa.remove($a(u.getText()));break;case"~=":f=" … "+Oa.remove($a(u.getText()))+" … ";break;case"*=":f="…"+Oa.remove($a(u.getText()))+"…";break;default:f=Oa.remove($a(u.getText()));break}n.addAttr($a(p.getText()),f)}break}}return n}function $a(e){var t=new wr;t.setSource(e);var n=t.scanUnquotedString();return n?n.text:e}var Ga=function(){function e(e){this.cssDataManager=e}return e.prototype.selectorToMarkedString=function(e){var t=Ja(e);if(t){var n=new Ba('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}return[]},e.prototype.simpleSelectorToMarkedString=function(e){var t=Ka(e),n=new Ba('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n},e.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])},e.prototype.selectorToSpecificityMarkedString=function(e){var t=this,n=function(e){for(var i=0,o=e.getChildren();i0&&n(s)}},r=new qa;return n(e),Wa("specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",r.id,r.attr,r.tag)},e}(),Ha=function(){function e(e){this.prev=null,this.element=e}return e.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof ja)&&e.getChildren().some((function(e){return e.hasChildren()&&e.getChild(0).type===_r.SelectorCombinator}))){var n=this.element.findRoot();n.parent instanceof ja&&(t=this.element,this.element=n.parent,this.element.removeChild(n),this.prev=null)}for(var r=0,i=e.getChildren();r=0;s--){var a=n[s].getSelectors().getChild(0);a&&o.processSelector(a)}return o.processSelector(e),t}var Xa=function(){function e(e,t){this.clientCapabilities=e,this.cssDataManager=t,this.selectorPrinting=new Ga(t)}return e.prototype.configure=function(e){this.defaultSettings=e},e.prototype.doHover=function(e,t,n,r){function i(t){return $o.create(e.positionAt(t.offset),e.positionAt(t.end))}void 0===r&&(r=this.defaultSettings);for(var o=e.offsetAt(t),s=Rr(n,o),a=null,l=0;l0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i.length/2&&o.push({property:e.name,score:t})})),o.sort((function(e,t){return t.score-e.score||e.property.localeCompare(t.property)}));for(var s=3,a=0,l=o;a=0;a--){var l=s[a];if(l instanceof qr){var c=l.getProperty();if(c&&c.offset===i&&c.end===o)return void this.getFixesForUnknownProperty(e,c,n,r)}}},e}(),xl=function(){function e(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e}return e}();function Sl(e,t,n,r){var i=e[t];i.value=n,n&&(jo(i.properties,r)||i.properties.push(r))}function Cl(e,t,n){Sl(e,"top",t,n),Sl(e,"right",t,n),Sl(e,"bottom",t,n),Sl(e,"left",t,n)}function kl(e,t,n,r){"top"===t||"right"===t||"bottom"===t||"left"===t?Sl(e,t,n,r):Cl(e,n,r)}function El(e,t,n){switch(t.length){case 1:kl(e,void 0,t[0],n);break;case 2:kl(e,"top",t[0],n),kl(e,"bottom",t[0],n),kl(e,"right",t[1],n),kl(e,"left",t[1],n);break;case 3:kl(e,"top",t[0],n),kl(e,"right",t[1],n),kl(e,"left",t[1],n),kl(e,"bottom",t[2],n);break;case 4:kl(e,"top",t[0],n),kl(e,"right",t[1],n),kl(e,"bottom",t[2],n),kl(e,"left",t[3],n);break}}function _l(e,t){for(var n=0,r=t;n0)for(var f=this.fetch(r,"float"),g=0;g0)for(f=this.fetch(r,"vertical-align"),g=0;g1)for(var S=0;S")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){var t=this.createNode(_r.Operator);return this.consumeToken(),this.finish(t)}return e.prototype._parseOperator.call(this)},t.prototype._parseUnaryOperator=function(){if(this.peekIdent("not")){var t=this.create(Ar);return this.consumeToken(),this.finish(t)}return e.prototype._parseUnaryOperator.call(this)},t.prototype._parseRuleSetDeclaration=function(){return this.peek(Tn.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._parseVariableDeclaration()||this._tryParseRuleset(!0)||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(qr);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(Tn.Colon))return this.finish(n,Xi.ColonExpected,[Tn.Colon],e||[Tn.SemiColon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);var r=!1;if(n.setValue(this._parseExpr())&&(r=!0,n.addChild(this._parsePrio())),this.peek(Tn.CurlyL))n.setNestedProperties(this._parseNestedProperties());else if(!r)return this.finish(n,Xi.PropertyValueExpected);return this.peek(Tn.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)},t.prototype._parseNestedProperties=function(){var e=this.create(oi);return this._parseBody(e,this._parseDeclaration.bind(this))},t.prototype._parseExtends=function(){if(this.peekKeyword("@extend")){var e=this.create(Ii);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,Xi.SelectorExpected);while(this.accept(Tn.Comma))e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(Tn.Exclamation)&&!this.acceptIdent("optional")?this.finish(e,Xi.UnknownKeyword):this.finish(e)}return null},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||this._parseSelectorPlaceholder()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(_r.SelectorCombinator);this.consumeToken();while(!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(Tn.Num)||this.accept(Tn.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")));return this.finish(e)}return null},t.prototype._parseSelectorPlaceholder=function(){if(this.peekDelim("%")){var e=this.createNode(_r.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}if(this.peekKeyword("@at-root")){e=this.createNode(_r.SelectorPlaceholder);return this.consumeToken(),this.finish(e)}return null},t.prototype._parseElementName=function(){var t=this.mark(),n=e.prototype._parseElementName.call(this);return n&&!this.hasWhitespace()&&this.peek(Tn.ParenthesisL)?(this.restoreAtMark(t),null):n},t.prototype._tryParsePseudoIdentifier=function(){return this._parseInterpolation()||e.prototype._tryParsePseudoIdentifier.call(this)},t.prototype._parseWarnAndDebug=function(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;var e=this.createNode(_r.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)},t.prototype._parseControlStatement=function(e){return void 0===e&&(e=this._parseRuleSetDeclaration.bind(this)),this.peek(Tn.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null},t.prototype._parseIfStatement=function(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null},t.prototype._internalParseIfStatement=function(e){var t=this.create(Xr);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,Xi.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword("@else"))if(this.peekIdent("if"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(Tn.CurlyL)){var n=this.create(ti);this._parseBody(n,e),t.setElseClause(n)}return this.finish(t)},t.prototype._parseForStatement=function(e){if(!this.peekKeyword("@for"))return null;var t=this.create(Qr);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent("from")?t.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,Xi.ExpressionExpected,[Tn.CurlyR]):this.finish(t,ac.ThroughOrToExpected,[Tn.CurlyR]):this.finish(t,Xi.ExpressionExpected,[Tn.CurlyR]):this.finish(t,ac.FromExpected,[Tn.CurlyR]):this.finish(t,Xi.VariableNameExpected,[Tn.CurlyR])},t.prototype._parseEachStatement=function(e){if(!this.peekKeyword("@each"))return null;var t=this.create(Zr);this.consumeToken();var n=t.getVariables();if(!n.addChild(this._parseVariable()))return this.finish(t,Xi.VariableNameExpected,[Tn.CurlyR]);while(this.accept(Tn.Comma))if(!n.addChild(this._parseVariable()))return this.finish(t,Xi.VariableNameExpected,[Tn.CurlyR]);return this.finish(n),this.acceptIdent("in")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,Xi.ExpressionExpected,[Tn.CurlyR]):this.finish(t,ac.InExpected,[Tn.CurlyR])},t.prototype._parseWhileStatement=function(e){if(!this.peekKeyword("@while"))return null;var t=this.create(ei);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,Xi.ExpressionExpected,[Tn.CurlyR])},t.prototype._parseFunctionBodyDeclaration=function(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))},t.prototype._parseFunctionDeclaration=function(){if(!this.peekKeyword("@function"))return null;var e=this.create(ni);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([Fr.Function])))return this.finish(e,Xi.IdentifierExpected,[Tn.CurlyR]);if(!this.accept(Tn.ParenthesisL))return this.finish(e,Xi.LeftParenthesisExpected,[Tn.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Xi.VariableNameExpected)}return this.accept(Tn.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,Xi.RightParenthesisExpected,[Tn.CurlyR])},t.prototype._parseReturnStatement=function(){if(!this.peekKeyword("@return"))return null;var e=this.createNode(_r.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,Xi.ExpressionExpected)},t.prototype._parseMixinDeclaration=function(){if(!this.peekKeyword("@mixin"))return null;var e=this.create(Li);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([Fr.Mixin])))return this.finish(e,Xi.IdentifierExpected,[Tn.CurlyR]);if(this.accept(Tn.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Xi.VariableNameExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected,[Tn.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseParameterDeclaration=function(){var e=this.create(Yr);return e.setIdentifier(this._parseVariable())?(this.accept(rc),this.accept(Tn.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,Xi.VariableValueExpected,[],[Tn.Comma,Tn.ParenthesisR]):this.finish(e)):null},t.prototype._parseMixinContent=function(){if(!this.peekKeyword("@content"))return null;var e=this.create(Pi);if(this.consumeToken(),this.accept(Tn.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,Xi.ExpressionExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected)}return this.finish(e)},t.prototype._parseMixinReference=function(){if(!this.peekKeyword("@include"))return null;var e=this.create(Oi);this.consumeToken();var t=this._parseIdent([Fr.Mixin]);if(!e.setIdentifier(t))return this.finish(e,Xi.IdentifierExpected,[Tn.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){var n=this._parseIdent([Fr.Mixin]);if(!n)return this.finish(e,Xi.IdentifierExpected,[Tn.CurlyR]);var r=this.create(Bi);t.referenceTypes=[Fr.Module],r.setIdentifier(t),e.setIdentifier(n),e.addChild(r)}if(this.accept(Tn.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,Xi.ExpressionExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(Tn.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)},t.prototype._parseMixinContentDeclaration=function(){var e=this.create(Mi);if(this.acceptIdent("using")){if(!this.accept(Tn.ParenthesisL))return this.finish(e,Xi.LeftParenthesisExpected,[Tn.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Xi.VariableNameExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected,[Tn.CurlyL])}return this.peek(Tn.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)},t.prototype._parseMixinReferenceBodyStatement=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._parseFunctionArgument=function(){var e=this.create(Jr),t=this.mark(),n=this._parseVariable();if(n)if(this.accept(Tn.Colon))e.setIdentifier(n);else{if(this.accept(rc))return e.setValue(n),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(rc),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(Tn.ParenthesisR)){this.restoreAtMark(t);var r=this.create(Ar);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t.prototype._parseOperation=function(){if(!this.peek(Tn.ParenthesisL))return null;var e=this.create(Ar);this.consumeToken();while(e.addChild(this._parseListElement()))this.accept(Tn.Comma);return this.accept(Tn.ParenthesisR)?this.finish(e):this.finish(e,Xi.RightParenthesisExpected)},t.prototype._parseListElement=function(){var e=this.create(Ui),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(Tn.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,Xi.ExpressionExpected)}else e.setValue(t);return this.finish(e)},t.prototype._parseUse=function(){if(!this.peekKeyword("@use"))return null;var e=this.create(ci);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,Xi.StringLiteralExpected);if(!this.peek(Tn.SemiColon)&&!this.peek(Tn.EOF)){if(!this.peekRegExp(Tn.Ident,/as|with/))return this.finish(e,Xi.UnknownKeyword);if(this.acceptIdent("as")&&!e.setIdentifier(this._parseIdent([Fr.Module]))&&!this.acceptDelim("*"))return this.finish(e,Xi.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(Tn.ParenthesisL))return this.finish(e,Xi.LeftParenthesisExpected,[Tn.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Xi.VariableNameExpected);while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Xi.VariableNameExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected)}}return this.accept(Tn.SemiColon)||this.accept(Tn.EOF)?this.finish(e):this.finish(e,Xi.SemiColonExpected)},t.prototype._parseModuleConfigDeclaration=function(){var e=this.create(di);return e.setIdentifier(this._parseVariable())?this.accept(Tn.Colon)&&e.setValue(this._parseExpr(!0))?!this.accept(Tn.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(e):this.finish(e,Xi.UnknownKeyword):this.finish(e,Xi.VariableValueExpected,[],[Tn.Comma,Tn.ParenthesisR]):null},t.prototype._parseForward=function(){if(!this.peekKeyword("@forward"))return null;var e=this.create(hi);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,Xi.StringLiteralExpected);if(this.acceptIdent("with")){if(!this.accept(Tn.ParenthesisL))return this.finish(e,Xi.LeftParenthesisExpected,[Tn.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Xi.VariableNameExpected);while(this.accept(Tn.Comma)){if(this.peek(Tn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Xi.VariableNameExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected)}if(!this.peek(Tn.SemiColon)&&!this.peek(Tn.EOF)){if(!this.peekRegExp(Tn.Ident,/as|hide|show/))return this.finish(e,Xi.UnknownKeyword);if(this.acceptIdent("as")){var t=this._parseIdent([Fr.Forward]);if(!e.setIdentifier(t))return this.finish(e,Xi.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(e,Xi.WildcardExpected)}if((this.peekIdent("hide")||this.peekIdent("show"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,Xi.IdentifierOrVariableExpected)}return this.accept(Tn.SemiColon)||this.accept(Tn.EOF)?this.finish(e):this.finish(e,Xi.SemiColonExpected)},t.prototype._parseForwardVisibility=function(){var e=this.create(pi);e.setIdentifier(this._parseIdent());while(e.addChild(this._parseVariable()||this._parseIdent()))this.accept(Tn.Comma);return e.getChildren().length>1?e:null},t.prototype._parseSupportsCondition=function(){return this._parseInterpolation()||e.prototype._parseSupportsCondition.call(this)},t}(Wo),dc=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),hc=Hi(),pc=function(e){function t(n,r){var i=e.call(this,"$",n,r)||this;return uc(t.scssModuleLoaders),uc(t.scssModuleBuiltIns),i}return dc(t,e),t.prototype.isImportPathParent=function(t){return t===_r.Forward||t===_r.Use||e.prototype.isImportPathParent.call(this,t)},t.prototype.getCompletionForImportPath=function(n,r){var i=n.getParent().type;if(i===_r.Forward||i===_r.Use)for(var o=0,s=t.scssModuleBuiltIns;o0){var t="string"===typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | "),e.documentation=t}}))}var mc=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),fc="/".charCodeAt(0),gc="\n".charCodeAt(0),bc="\r".charCodeAt(0),vc="\f".charCodeAt(0),yc="`".charCodeAt(0),wc=".".charCodeAt(0),xc=Tn.CustomToken,Sc=xc++,Cc=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mc(t,e),t.prototype.scanNext=function(t){var n=this.escapedJavaScript();return null!==n?this.finishToken(t,n):this.stream.advanceIfChars([wc,wc,wc])?this.finishToken(t,Sc):e.prototype.scanNext.call(this,t)},t.prototype.comment=function(){return!!e.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([fc,fc]))&&(this.stream.advanceWhileChar((function(e){switch(e){case gc:case bc:case vc:return!1;default:return!0}})),!0)},t.prototype.escapedJavaScript=function(){var e=this.stream.peekChar();return e===yc?(this.stream.advance(1),this.stream.advanceWhileChar((function(e){return e!==yc})),this.stream.advanceIfChar(yc)?Tn.EscapedJavaScript:Tn.BadEscapedJavaScript):null},t}(wr),kc=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ec=function(e){function t(){return e.call(this,new Cc)||this}return kc(t,e),t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(Tn.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||e.prototype._parseStylesheetAtStatement.call(this,t):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},t.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var e=this.create(li);if(this.consumeToken(),this.accept(Tn.ParenthesisL)){if(!this.accept(Tn.Ident))return this.finish(e,Xi.IdentifierExpected,[Tn.SemiColon]);do{if(!this.accept(Tn.Comma))break}while(this.accept(Tn.Ident));if(!this.accept(Tn.ParenthesisR))return this.finish(e,Xi.RightParenthesisExpected,[Tn.SemiColon])}return e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(Tn.SemiColon)||this.peek(Tn.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,Xi.URIOrStringExpected,[Tn.SemiColon])},t.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var e=this.createNode(_r.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(Tn.SemiColon)?this.finish(e):this.finish(e,Xi.SemiColonExpected):this.finish(e,Xi.StringLiteralExpected)},t.prototype._parseMediaQuery=function(t){var n=e.prototype._parseMediaQuery.call(this,t);if(!n){var r=this.create(vi);return r.addChild(this._parseVariable())?this.finish(r):null}return n},t.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)},t.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},t.prototype._parseVariableDeclaration=function(e){void 0===e&&(e=[]);var t=this.create(Ni),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(!this.accept(Tn.Colon))return this.restoreAtMark(n),null;if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,Xi.VariableValueExpected,[],e);return t.addChild(this._parsePrio()),this.peek(Tn.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)},t.prototype._parseDetachedRuleSet=function(){var e=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(Tn.ParenthesisL))return this.restoreAtMark(e),null;var t=this.create(Li);if(t.getParameters().addChild(this._parseMixinParameter()))while(this.accept(Tn.Comma)||this.accept(Tn.SemiColon)){if(this.peek(Tn.ParenthesisR))break;t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,Xi.IdentifierExpected,[],[Tn.ParenthesisR])}if(!this.accept(Tn.ParenthesisR))return this.restoreAtMark(e),null}if(!this.peek(Tn.CurlyL))return null;var n=this.create(Lr);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)},t.prototype._parseDetachedRuleSetBody=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._addLookupChildren=function(e){if(!e.addChild(this._parseLookupValue()))return!1;var t=!1;while(1){if(this.peek(Tn.BracketL)&&(t=!0),!e.addChild(this._parseLookupValue()))break;t=!1}return!t},t.prototype._parseLookupValue=function(){var e=this.create(Ar),t=this.mark();return this.accept(Tn.BracketL)&&((e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(Tn.BracketR)||this.accept(Tn.BracketR))?e:(this.restoreAtMark(t),null)},t.prototype._parseVariable=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(Tn.AtKeyword))return null;var r=this.create(Ai),i=this.mark();while(this.acceptDelim("@")||!e&&this.acceptDelim("$"))if(this.hasWhitespace())return this.restoreAtMark(i),null;return(this.accept(Tn.AtKeyword)||this.accept(Tn.Ident))&&(t||!this.peek(Tn.BracketL)||this._addLookupChildren(r))?r:(this.restoreAtMark(i),null)},t.prototype._parseTermExpression=function(){return this._parseVariable()||this._parseEscaped()||e.prototype._parseTermExpression.call(this)||this._tryParseMixinReference(!1)},t.prototype._parseEscaped=function(){if(this.peek(Tn.EscapedJavaScript)||this.peek(Tn.BadEscapedJavaScript)){var e=this.createNode(_r.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){e=this.createNode(_r.EscapedValue);return this.consumeToken(),this.accept(Tn.String)||this.accept(Tn.EscapedJavaScript)?this.finish(e):this.finish(e,Xi.TermExpected)}return null},t.prototype._parseOperator=function(){var t=this._parseGuardOperator();return t||e.prototype._parseOperator.call(this)},t.prototype._parseGuardOperator=function(){if(this.peekDelim(">")){var e=this.createNode(_r.Operator);return this.consumeToken(),this.acceptDelim("="),e}if(this.peekDelim("=")){e=this.createNode(_r.Operator);return this.consumeToken(),this.acceptDelim("<"),e}if(this.peekDelim("<")){e=this.createNode(_r.Operator);return this.consumeToken(),this.acceptDelim("="),e}return null},t.prototype._parseRuleSetDeclaration=function(){return this.peek(Tn.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseKeyframeIdent=function(){return this._parseIdent([Fr.Keyframe])||this._parseVariable()},t.prototype._parseKeyframeSelector=function(){return this._parseDetachedRuleSetMixin()||e.prototype._parseKeyframeSelector.call(this)},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelector=function(e){var t=this.create(Ur),n=!1;e&&(n=t.addChild(this._parseCombinator()));while(t.addChild(this._parseSimpleSelector())){n=!0;var r=this.mark();if(t.addChild(this._parseGuard())&&this.peek(Tn.CurlyL))break;this.restoreAtMark(r),t.addChild(this._parseCombinator())}return n?this.finish(t):null},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(_r.SelectorCombinator);this.consumeToken();while(!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(Tn.Num)||this.accept(Tn.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")));return this.finish(e)}return null},t.prototype._parseSelectorIdent=function(){if(!this.peekInterpolatedIdent())return null;var e=this.createNode(_r.SelectorInterpolation),t=this._acceptInterpolatedIdent(e);return t?this.finish(e):null},t.prototype._parsePropertyIdentifier=function(e){void 0===e&&(e=!1);var t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;var n=this.mark(),r=this.create(Pr);r.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-");var i=!1;return i=e?r.isCustomProperty?r.addChild(this._parseIdent()):r.addChild(this._parseRegexp(t)):r.isCustomProperty?this._acceptInterpolatedIdent(r):this._acceptInterpolatedIdent(r,t),i?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(r)):(this.restoreAtMark(n),null)},t.prototype.peekInterpolatedIdent=function(){return this.peek(Tn.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")},t.prototype._acceptInterpolatedIdent=function(e,t){var n=this,r=!1,i=function(){var e=n.mark();return n.acceptDelim("-")&&(n.hasWhitespace()||n.acceptDelim("-"),n.hasWhitespace())?(n.restoreAtMark(e),null):n._parseInterpolation()},o=t?function(){return n.acceptRegexp(t)}:function(){return n.accept(Tn.Ident)};while(o()||e.addChild(this._parseInterpolation()||this.try(i)))if(r=!0,this.hasWhitespace())break;return r},t.prototype._parseInterpolation=function(){var e=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){var t=this.createNode(_r.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(Tn.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(Tn.CurlyR)?this.finish(t):this.finish(t,Xi.RightCurlyExpected):this.finish(t,Xi.IdentifierExpected)}return null},t.prototype._tryParseMixinDeclaration=function(){var e=this.mark(),t=this.create(Li);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(Tn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))while(this.accept(Tn.Comma)||this.accept(Tn.SemiColon)){if(this.peek(Tn.ParenthesisR))break;t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,Xi.IdentifierExpected,[],[Tn.ParenthesisR])}return this.accept(Tn.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(Tn.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)},t.prototype._parseMixInBodyDeclaration=function(){return this._parseFontFace()||this._parseRuleSetDeclaration()},t.prototype._parseMixinDeclarationIdentifier=function(){var e;if(this.peekDelim("#")||this.peekDelim(".")){if(e=this.create(Pr),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else{if(!this.peek(Tn.Hash))return null;e=this.create(Pr),this.consumeToken()}return e.referenceTypes=[Fr.Mixin],this.finish(e)},t.prototype._parsePseudo=function(){if(!this.peek(Tn.Colon))return null;var t=this.mark(),n=this.create(Ii);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(n):(this.restoreAtMark(t),e.prototype._parsePseudo.call(this))},t.prototype._parseExtend=function(){if(!this.peekDelim("&"))return null;var e=this.mark(),t=this.create(Ii);return this.consumeToken(),!this.hasWhitespace()&&this.accept(Tn.Colon)&&this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),null)},t.prototype._completeExtends=function(e){if(!this.accept(Tn.ParenthesisL))return this.finish(e,Xi.LeftParenthesisExpected);var t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,Xi.SelectorExpected);while(this.accept(Tn.Comma))if(!t.addChild(this._parseSelector(!0)))return this.finish(e,Xi.SelectorExpected);return this.accept(Tn.ParenthesisR)?this.finish(e):this.finish(e,Xi.RightParenthesisExpected)},t.prototype._parseDetachedRuleSetMixin=function(){if(!this.peek(Tn.AtKeyword))return null;var e=this.mark(),t=this.create(Oi);return!t.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(Tn.ParenthesisL)?this.accept(Tn.ParenthesisR)?this.finish(t):this.finish(t,Xi.RightParenthesisExpected):(this.restoreAtMark(e),null)},t.prototype._tryParseMixinReference=function(e){void 0===e&&(e=!0);var t=this.mark(),n=this.create(Oi),r=this._parseMixinDeclarationIdentifier();while(r){this.acceptDelim(">");var i=this._parseMixinDeclarationIdentifier();if(!i)break;n.getNamespaces().addChild(r),r=i}if(!n.setIdentifier(r))return this.restoreAtMark(t),null;var o=!1;if(this.accept(Tn.ParenthesisL)){if(o=!0,n.getArguments().addChild(this._parseMixinArgument()))while(this.accept(Tn.Comma)||this.accept(Tn.SemiColon)){if(this.peek(Tn.ParenthesisR))break;if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,Xi.ExpressionExpected)}if(!this.accept(Tn.ParenthesisR))return this.finish(n,Xi.RightParenthesisExpected);r.referenceTypes=[Fr.Mixin]}else r.referenceTypes=[Fr.Mixin,Fr.Rule];return this.peek(Tn.BracketL)?e||this._addLookupChildren(n):n.addChild(this._parsePrio()),o||this.peek(Tn.SemiColon)||this.peek(Tn.CurlyR)||this.peek(Tn.EOF)?this.finish(n):(this.restoreAtMark(t),null)},t.prototype._parseMixinArgument=function(){var e=this.create(Jr),t=this.mark(),n=this._parseVariable();return n&&(this.accept(Tn.Colon)?e.setIdentifier(n):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)},t.prototype._parseMixinParameter=function(){var e=this.create(Yr);if(this.peekKeyword("@rest")){var t=this.create(Ar);return this.consumeToken(),this.accept(Sc)?(e.setIdentifier(this.finish(t)),this.finish(e)):this.finish(e,Xi.DotExpected,[],[Tn.Comma,Tn.ParenthesisR])}if(this.peek(Sc)){var n=this.create(Ar);return this.consumeToken(),e.setIdentifier(this.finish(n)),this.finish(e)}var r=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(Tn.Colon),r=!0),e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||r?this.finish(e):null},t.prototype._parseGuard=function(){if(!this.peekIdent("when"))return null;var e=this.create(ji);if(this.consumeToken(),e.isNegated=this.acceptIdent("not"),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,Xi.ConditionExpected);while(this.acceptIdent("and")||this.accept(Tn.Comma))if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,Xi.ConditionExpected);return this.finish(e)},t.prototype._parseGuardCondition=function(){if(!this.peek(Tn.ParenthesisL))return null;var e=this.create(Vi);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(Tn.ParenthesisR)?this.finish(e):this.finish(e,Xi.RightParenthesisExpected)},t.prototype._parseFunction=function(){var e=this.mark(),t=this.create(Hr);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(Tn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument()))while(this.accept(Tn.Comma)||this.accept(Tn.SemiColon)){if(this.peek(Tn.ParenthesisR))break;if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,Xi.ExpressionExpected)}return this.accept(Tn.ParenthesisR)?this.finish(t):this.finish(t,Xi.RightParenthesisExpected)},t.prototype._parseFunctionIdentifier=function(){if(this.peekDelim("%")){var t=this.create(Pr);return t.referenceTypes=[Fr.Function],this.consumeToken(),this.finish(t)}return e.prototype._parseFunctionIdentifier.call(this)},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(Tn.ParenthesisR)){this.restoreAtMark(t);var r=this.create(Ar);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t}(Wo),_c=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Fc=Hi(),Dc=function(e){function t(t,n){return e.call(this,"@",t,n)||this}return _c(t,e),t.prototype.createFunctionProposals=function(e,t,n,r){for(var i=0,o=e;i 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:Fc("less.builtin.round","rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:Fc("less.builtin.sqrt","calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:Fc("less.builtin.sin","sine function"),example:"sin(number);"},{name:"tan",description:Fc("less.builtin.tan","tangent function"),example:"tan(number);"},{name:"atan",description:Fc("less.builtin.atan","arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:Fc("less.builtin.pi","returns pi"),example:"pi();"},{name:"pow",description:Fc("less.builtin.pow","first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:Fc("less.builtin.mod","first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:Fc("less.builtin.min","returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:Fc("less.builtin.max","returns the lowest of one or more values"),example:"max(@x, @y);"}],t.colorProposals=[{name:"argb",example:"argb(@color);",description:Fc("less.builtin.argb","creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:Fc("less.builtin.hsl","creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:Fc("less.builtin.hsla","creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:Fc("less.builtin.hsv","creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:Fc("less.builtin.hsva","creates a color")},{name:"hue",example:"hue(@color);",description:Fc("less.builtin.hue","returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:Fc("less.builtin.saturation","returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:Fc("less.builtin.lightness","returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:Fc("less.builtin.hsvhue","returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:Fc("less.builtin.hsvsaturation","returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:Fc("less.builtin.hsvvalue","returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:Fc("less.builtin.red","returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:Fc("less.builtin.green","returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:Fc("less.builtin.blue","returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:Fc("less.builtin.alpha","returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:Fc("less.builtin.luma","returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:Fc("less.builtin.saturate","return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:Fc("less.builtin.desaturate","return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:Fc("less.builtin.lighten","return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:Fc("less.builtin.darken","return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:Fc("less.builtin.fadein","return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:Fc("less.builtin.fadeout","return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:Fc("less.builtin.fade","return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:Fc("less.builtin.spin","return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:Fc("less.builtin.mix","return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:Fc("less.builtin.greyscale","returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:Fc("less.builtin.contrast","return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],t}(Ta);function Tc(e,t){var n=Rc(e);return zc(n,t)}function Rc(e){function t(t){return e.positionAt(t.offset).line}function n(t){return e.positionAt(t.offset+t.len).line}function r(){switch(e.languageId){case"scss":return new ic;case"less":return new Cc;default:return new wr}}function i(e,r){var i=t(e),o=n(e);return i!==o?{startLine:i,endLine:o,kind:r}:null}var o=[],s=[],a=r();a.ignoreComment=!1,a.setSource(e.getText());var l=a.scan(),c=null,d=function(){switch(l.type){case Tn.CurlyL:case Ql:s.push({line:t(l),type:"brace",isStart:!0});break;case Tn.CurlyR:if(0!==s.length){var r=Nc(s,"brace");if(!r)break;var d=n(l);"brace"===r.type&&(c&&n(c)!==d&&d--,r.line!==d&&o.push({startLine:r.line,endLine:d,kind:void 0}))}break;case Tn.Comment:var h=function(e){return"#region"===e?{line:t(l),type:"comment",isStart:!0}:{line:n(l),type:"comment",isStart:!1}},p=function(t){var n=t.text.match(/^\s*\/\*\s*(#region|#endregion)\b\s*(.*?)\s*\*\//);if(n)return h(n[1]);if("scss"===e.languageId||"less"===e.languageId){var r=t.text.match(/^\s*\/\/\s*(#region|#endregion)\b\s*(.*?)\s*/);if(r)return h(r[1])}return null},u=p(l);if(u)if(u.isStart)s.push(u);else{r=Nc(s,"comment");if(!r)break;"comment"===r.type&&r.line!==u.line&&o.push({startLine:r.line,endLine:u.line,kind:"region"})}else{var m=i(l,"comment");m&&o.push(m)}break}c=l,l=a.scan()};while(l.type!==Tn.EOF)d();return o}function Nc(e,t){if(0===e.length)return null;for(var n=e.length-1;n>=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}function zc(e,t){var n=t&&t.rangeLimit||Number.MAX_VALUE,r=e.sort((function(e,t){var n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),i=[],o=-1;return r.forEach((function(e){e.startLine && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."}],syntax:"normal | | | ? ",relevance:60,description:"Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",values:[{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"normal | stretch | | [ ? ]",relevance:84,description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:51,description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:52,description:"Defines the way of justifying a box inside its container along the appropriate axis.",restrictions:["enum"]},{name:"align-self",values:[{name:"auto",description:"Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"auto | normal | stretch | | ? ",relevance:71,description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert",relevance:52,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{name:"animation",values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",relevance:81,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"animation-delay",syntax:"