miniscript-languageserver 1.10.4 → 1.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +4 -4
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -107,11 +107,11 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
107
107
  */`;gd.createCommentBlock=uF});var k_=m(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.enrichWithMetaInformation=Ns.FunctionBlockTag=void 0;var cF=Fh(),yd=xn(),lF=md(),es;(function(t){t.Description="description",t.Param="param",t.Return="return",t.Returns="returns",t.Example="example"})(es=Ns.FunctionBlockTag||(Ns.FunctionBlockTag={}));var hF=new Set(Object.values(es));function dF(t){return t.tag===es.Description?[t.name,t.description].filter(e=>e!==void 0).join(" "):[`@${t.tag}`,t.name,t.description].filter(e=>e!==void 0).join(" ")}function fF(t){return[t.name,t.description].filter(e=>e!==void 0).join(" ")}function iO(t){return new yd.TypeParser(t).parse()}function rO(t){return t.type.split("|").map(iO)}function pF(t){return{types:t.type.split("|").map(iO),label:t.name,opt:t.optional}}function gF(t){let e=[t.description??"",...t.tags.filter(s=>s.tag===es.Description||!sO(s)).map(dF)].join(`
108
108
 
109
109
  `),n=t.tags.filter(s=>s.tag===es.Param).map(pF),r=t.tags.filter(s=>s.tag===es.Return||s.tag===es.Returns).flatMap(rO),i=t.tags.filter(s=>s.tag===es.Example).map(fF);return r.length===0&&(r=rO({type:yd.SignatureDefinitionBaseType.Any})),{descriptions:e,args:n,returns:r,examples:i}}function sO(t){return hF.has(t.tag)}function mF(t){let e=(0,cF.parse)((0,lF.createCommentBlock)(t.getDescription())),[n]=e;if(n.tags.filter(sO).length>0){let{descriptions:i,args:s,returns:o,examples:a}=gF(n);return yd.SignatureDefinitionFunction.parse({type:yd.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((u,c)=>{let l=u.getLabel(),h=u.getTypes().map(g=>g.toString()),d=u.isOptional();return{types:h,opt:d,...s[c],label:l}}),returns:o,description:i,example:a})}return t}Ns.enrichWithMetaInformation=mF});var C_=m(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.createResolveChain=void 0;var Lt=Ee();function ts(t,e,n=null,r=!1){switch(t.type){case Lt.ASTType.ParenthesisExpression:{ts(t.expression,e,n);return}case Lt.ASTType.MemberExpression:{let i=t;ts(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case Lt.ASTType.IndexExpression:{let i=t;ts(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case Lt.ASTType.CallStatement:{ts(t.expression,e,n,!0);return}case Lt.ASTType.CallExpression:{ts(t.base,e,n,!0);return}case Lt.ASTType.NegationExpression:case Lt.ASTType.BinaryNegatedExpression:case Lt.ASTType.UnaryExpression:{let i=t;ts(i.argument,e,i);return}case Lt.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case Lt.ASTType.NumericLiteral:case Lt.ASTType.StringLiteral:case Lt.ASTType.NilLiteral:case Lt.ASTType.BooleanLiteral:case Lt.ASTType.MapConstructorExpression:case Lt.ASTType.ListConstructorExpression:case Lt.ASTType.BinaryExpression:case Lt.ASTType.LogicalExpression:case Lt.ASTType.ComparisonGroupExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case Lt.ASTType.SliceExpression:ts(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function yF(t){let e=[];return ts(t,e),e}bd.createResolveChain=yF});var aO=m(O_=>{function oO(t,e){return t>e?1:-1}O_.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(oO),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},O_.sortNumbers=oO});var D_=m(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.ObjectSet=Xo.ObjectSetIterator=void 0;var R_=aO(),_d=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};Xo.ObjectSetIterator=_d;var P_=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,R_.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new _d(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,R_.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,R_.hash)(e);return this._map.delete(n)}extend(e){return e._map.forEach((n,r)=>{this._map.set(r,n),this._first??(this._first=r),this._last=r}),this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};Xo.ObjectSet=P_});var I_=m(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});vd.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;vd.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var qs=m(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.CompletionItemKind=void 0;var bF;(function(t){t.Variable="var",t.Property="property",t.Function="function",t.Literal="literal",t.Constant="constant",t.Internal="internal",t.InternalFunction="internal-function",t.InternalProperty="internal-property",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(bF=Au.CompletionItemKind||(Au.CompletionItemKind={}))});var js=m(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.IsaPropertyPattern=yi.IdentifierPropertyPattern=yi.PropertyType=void 0;var M_;(function(t){t.Type="t",t.Identifier="i"})(M_=yi.PropertyType||(yi.PropertyType={}));yi.IdentifierPropertyPattern=`${M_.Identifier}:`;yi.IsaPropertyPattern=`${M_.Identifier}:__isa`});var L_=m(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.isResolveChainItemWithValue=Xr.isResolveChainItemWithIdentifier=Xr.isResolveChainItemWithMember=Xr.isResolveChainItemWithIndex=void 0;var ir=Ee(),_F=t=>t!=null&&t.ref.type===ir.ASTType.IndexExpression;Xr.isResolveChainItemWithIndex=_F;var vF=t=>t!=null&&t.ref.type===ir.ASTType.MemberExpression;Xr.isResolveChainItemWithMember=vF;var SF=t=>t!=null&&t.ref.type===ir.ASTType.Identifier;Xr.isResolveChainItemWithIdentifier=SF;var TF=new Set([ir.ASTType.NumericLiteral,ir.ASTType.StringLiteral,ir.ASTType.NilLiteral,ir.ASTType.BooleanLiteral,ir.ASTType.MapConstructorExpression,ir.ASTType.ListConstructorExpression,ir.ASTType.BinaryExpression,ir.ASTType.LogicalExpression,ir.ASTType.ComparisonGroupExpression]),wF=t=>t!=null&&TF.has(t.ref.type);Xr.isResolveChainItemWithValue=wF});var N_=m(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.isSignatureDefinitionFunction=void 0;var EF=xn(),xF=t=>t.getType().type===EF.SignatureDefinitionBaseType.Function;Sd.isSignatureDefinitionFunction=xF});var q_=m(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});Td.aggregateEntity=void 0;var AF=t=>{let e=new Set,n=t;for(;n!=null&&!e.has(n);)e.add(n),n=n.getIsa();return Array.from(e)};Td.aggregateEntity=AF});var ku=m(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});wd.injectIdentifers=void 0;var kF=js(),CF=q_(),OF=(t,e)=>{let n=(0,CF.aggregateEntity)(e);for(let r=0;r<n.length;r++)n[r].values.forEach((s,o)=>{if(o.startsWith(kF.IdentifierPropertyPattern)){let a=o.slice(2);if(t.has(a))return;t.set(a,{kind:s.kind,line:s.source===e.source?s.line:-1})}})};wd.injectIdentifers=OF});var xd=m(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.isEligibleForProperties=void 0;var j_=xn(),RF=t=>t.types.has(j_.SignatureDefinitionBaseType.Map)||t.types.has(j_.SignatureDefinitionBaseType.List)||t.types.has(j_.SignatureDefinitionBaseType.Any);Ed.isEligibleForProperties=RF});var kd=m(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});Ad.lookupProperty=void 0;var PF=xd(),DF=(t,e,n)=>{let r=e,i=new Set([r]);for(;(0,PF.isEligibleForProperties)(r);){let s=r.values.get(`${t}:${n}`);if(s!=null)return s;let o=r.getIsa();if(o==null||i.has(o))break;i.add(o),r=o}return null};Ad.lookupProperty=DF});var F_=m(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.mergeUnique=void 0;function IF(t,e,n=1e4){let r=Array.from(new Set([...t,...e]));if(t.length=0,r.length<=n){Array.prototype.push.apply(t,r);return}for(let i=0;i<r.length;i+=n)Array.prototype.push.apply(t,r.slice(i,i+n))}Cd.mergeUnique=IF});var Yo=m(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.Entity=void 0;var yt=xn(),Fs=qs(),sr=js(),MF=N_(),LF=ku(),Cu=xd(),Od=kd(),NF=F_(),uO=D_(),bi=class t{static resolveEntity(e,n,r=!1){if(n.isCallable()&&!r){let i=n.getReturnEntity();if(i!==null)return i;let s=n.getCallableReturnTypes();return s?new t({source:n.source,kind:Fs.CompletionItemKind.Variable,container:e,label:n.label,context:n.context}).addTypesWithMeta(s):new t({source:n.source,kind:Fs.CompletionItemKind.Variable,container:e,label:n.label,context:n.context}).addType(yt.SignatureDefinitionBaseType.Any)}return n}get source(){return this._source}get definitions(){return this._definitions}get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._source=e.source,this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new uO.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._definitions=e.definitions??[],this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){return this._values.get(sr.IsaPropertyPattern)??null}hasIsa(){return this._values.has(sr.IsaPropertyPattern)}isAPI(){return this._isAPI}isCallable(){return this._types.has(yt.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,MF.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns())}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(e){return this._types.add(e),this}addTypes(e){for(let n=0;n<e.length;n++)this._types.add(e[n]);return this}addTypeWithMeta(e){if(this._types.add(e.type),e.type===yt.SignatureDefinitionBaseType.Map||e.type===yt.SignatureDefinitionBaseType.List){let n=e.type===yt.SignatureDefinitionBaseType.Map?e.keyType.type??yt.SignatureDefinitionBaseType.Any:yt.SignatureDefinitionBaseType.Number,r=new t({source:this._source,kind:Fs.CompletionItemKind.Property,container:this._container,context:this});e.valueType.type===yt.SignatureDefinitionBaseType.Map||e.valueType.type===yt.SignatureDefinitionBaseType.List?r.addTypeWithMeta(e.valueType):r.addType(e.valueType.type??yt.SignatureDefinitionBaseType.Any),t.handlers.type.setProperty(this,this._container,n,r)}return this}addTypesWithMeta(e){for(let n=0;n<e.length;n++)this.addTypeWithMeta(e[n]);return this}hasProperty(e){switch(typeof e){case"object":return t.handlers.entity.hasProperty(this,this._container,e);default:return t.handlers.identifier.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return t.handlers.entity.resolveProperty(this,this._container,e,n);default:return t.handlers.identifier.resolveProperty(this,this._container,e,n)}}setProperty(e,n,r=!1){switch(typeof e){case"object":return t.handlers.entity.setProperty(this,this._container,e,n,r);default:return t.handlers.identifier.setProperty(this,this._container,e,n,r)}}extend(e,n=!1,r=!1){if(e===this)return this;let i=new WeakSet([e]),s=[{target:this,source:e}];for(;s.length>0;){let o=s.pop(),a=o.target,u=o.source;a._isFromSignature=!1,a._signatureDefinitions.extend(u._signatureDefinitions),n&&(r?a._definitions=[...a._definitions,...u._definitions]:(0,NF.mergeUnique)(a._definitions,u._definitions)),a.addTypes(Array.from(u.types)),u.values.forEach((c,l)=>{let h=a._values.get(l);h==null?a._values.set(l,c.copy({container:a._container,context:a,deepCopy:r})):i.has(c)||(i.add(c),s.push({target:h,source:c}))})}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(yt.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({source:this._source,label:i,kind:s.getType().type===yt.SignatureDefinitionBaseType.Function?Fs.CompletionItemKind.InternalFunction:Fs.CompletionItemKind.InternalProperty,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getPropertyTypes(){let e=new Set;return this._values.forEach((n,r)=>{let[i,s]=r.split(":");i===sr.PropertyType.Type?e.add(s):e.add(yt.SignatureDefinitionBaseType.String)}),Array.from(e)}getValueTypes(){let e=new Set;return this._values.forEach(n=>{n.types.forEach(r=>{e.add(r)})}),Array.from(e)}getAvailableIdentifier(){let e=new Map;return this._types.forEach(n=>{this._container.getAvailableIdentifier(n).forEach((i,s)=>{e.set(s,i)})}),(0,LF.injectIdentifers)(e,this),e}toJSON(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSON(e),r),{}),n}toMeta(){let e=[];return this.types.forEach(n=>{let r={type:n};switch(n){case yt.SignatureDefinitionBaseType.Map:{let i=this.getPropertyTypes();i.length===1?r.keyType=i[0]:r.keyType=yt.SignatureDefinitionBaseType.Any;let s=this.getValueTypes();s.length===1?r.valueType=s[0]:r.valueType=yt.SignatureDefinitionBaseType.Any;break}case yt.SignatureDefinitionBaseType.List:{let i=t.handlers.type.resolveProperty(this,this._container,yt.SignatureDefinitionBaseType.Number);i!=null&&i.types.size===1?r.valueType=i.types.values().next().value:r.valueType=yt.SignatureDefinitionBaseType.Any;break}}e.push(r)}),e}copy(e={}){let n=new t({source:e.source??this._source,kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new uO.ObjectSet(Array.from(this._signatureDefinitions,s=>s.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:e.values??this.values,definitions:e.definitions??this._definitions});if(!e.deepCopy)return n;let r=new WeakMap;function i(s,o){let a=r.get(o);if(a)return a;let u=o.copy({container:e.container,line:e.line,context:s,values:new Map});return r.set(o,u),o.values.forEach((c,l)=>{u._values.set(l,i(u,c))}),u._definitions=[...o.definitions],u}return n._values=new Map,this._values.forEach((s,o)=>{n._values.set(o,i(n,s))}),n._definitions=[...this._definitions],n}};Rd.Entity=bi;bi.handlers={identifier:{hasProperty(t,e,n){return!!(0,Od.lookupProperty)(sr.PropertyType.Identifier,t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,Od.lookupProperty)(sr.PropertyType.Identifier,t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){if(!(0,Cu.isEligibleForProperties)(t))return!1;let s=`${sr.PropertyType.Identifier}:${n}`,o=t.values.get(s);return o?o.extend(r,i):t.values.set(s,r.copy({container:e,label:n,context:t,definitions:i?r.definitions:[]})),!0}},entity:{hasProperty(t,e,n){if(!(0,Cu.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`${sr.PropertyType.Type}:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,Cu.isEligibleForProperties)(t))return new bi({source:t.source,kind:Fs.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(yt.SignatureDefinitionBaseType.Any);let i=new bi({source:n.source,kind:Fs.CompletionItemKind.Variable,container:e,label:n.label,context:t});return n.types.has(yt.SignatureDefinitionBaseType.Any)?t.values.forEach(s=>{i.extend(s)}):n.types.forEach(s=>{let o=t.values.get(`${sr.PropertyType.Type}:${s}`);o&&i.extend(o)}),i.types.size===0&&i.addType(yt.SignatureDefinitionBaseType.Any),bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){return(0,Cu.isEligibleForProperties)(t)?(n.types.forEach(s=>{let o=`${sr.PropertyType.Type}:${s}`,a=t.values.get(o);a?a.extend(r,i):t.values.set(o,r.copy({container:e,label:s,context:t,definitions:i?r.definitions:[]}))}),!0):!1}},type:{hasProperty(t,e,n){return!!(0,Od.lookupProperty)(sr.PropertyType.Type,t,n)},resolveProperty(t,e,n,r=!1){let i=(0,Od.lookupProperty)(sr.PropertyType.Type,t,n)??null;return i==null?null:bi.resolveEntity(e,i,r)},setProperty(t,e,n,r,i=!1){if(!(0,Cu.isEligibleForProperties)(t))return!1;let s=`${sr.PropertyType.Type}:${n}`,o=t.values.get(s);return o?o.extend(r,i):t.values.set(s,r.copy({container:e,label:n,context:t,definitions:i?r.definitions:[]})),!0}}}});var W_=m(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.Scope=void 0;var Pd=xn(),$s=qs(),qF=js(),$_=ku(),Dd=Yo(),B_=class t{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return $s.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(Pd.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._source=e.source,this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new Dd.Entity({source:this._source,kind:$s.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(Pd.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,n){this._container.setCustomType(e,n)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;let r=`${qF.PropertyType.Identifier}:${e}`;if(this._locals.values.has(r)){let i=this._locals.values.get(r);return Dd.Entity.resolveEntity(this._container,i,n)}else if(this._parent?.locals.values.has(r)){let i=this._parent.locals.values.get(r);return Dd.Entity.resolveEntity(this._container,i,n)}else if(this._globals.values.has(r)){let i=this._globals.values.get(r);return Dd.Entity.resolveEntity(this._container,i,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}addTypes(){throw new Error("Scope cannot get types assigned!")}addTypeWithMeta(){throw new Error("Scope cannot get meta type assigned!")}addTypesWithMeta(){throw new Error("Scope cannot get meta types assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getPropertyTypes(){return this._locals.getPropertyTypes()}getValueTypes(){return this._locals.getValueTypes()}getAvailableIdentifier(){let e=new Map([["globals",{kind:$s.CompletionItemKind.Constant,line:-1}],["locals",{kind:$s.CompletionItemKind.Constant,line:-1}],["outer",{kind:$s.CompletionItemKind.Constant,line:-1}],...this._container.getAvailableIdentifier(Pd.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,$_.injectIdentifers)(e,this._globals),this._parent&&(0,$_.injectIdentifers)(e,this._parent.locals),(0,$_.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:$s.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:$s.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(Pd.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}toMeta(){return this._locals.toMeta()}copy(e={}){return new t({source:this._source,container:e.container??this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy({...e,deepCopy:!0})})}};Id.Scope=B_});var Jo=m(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.GreybelKeyword=void 0;var jF;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(jF=Ou.GreybelKeyword||(Ou.GreybelKeyword={}))});var G_=m(H_=>{"use strict";Object.defineProperty(H_,"__esModule",{value:!0});var Bs=Ee(),FF=Jo(),U_=class extends Bs.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(Bs.Keyword),...Object.values(FF.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===Bs.CharacterCode.HASH}isMultilineComment(e,n){return Bs.CharacterCode.SLASH===e&&Bs.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return Bs.CharacterCode.ASTERISK===e&&Bs.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};H_.default=U_});var z_=m(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});Ru.CharacterCode=void 0;var $F;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})($F=Ru.CharacterCode||(Ru.CharacterCode={}))});var Qo=m(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.Operator=void 0;var BF;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(BF=Pu.Operator||(Pu.Operator={}))});var K_=m(Du=>{"use strict";var WF=Du&&Du.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Du,"__esModule",{value:!0});var xr=Ee(),UF=WF(G_()),cO=z_(),lO=Jo(),V_=Qo();function hO(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var Md=class t extends xr.Lexer{constructor(e,n={}){n.validator=n.validator||new UF.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let h=n.codeAt();if(n.validator.isEndOfLine(h))n.validator.isWinNewline(h,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new xr.ASTRange(new xr.ASTPosition(r,s-o+1),new xr.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new xr.Token({type:xr.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(lO.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(lO.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};Du.default=Md;Md.greybelScanHandlers={[xr.CharacterCode.ARROW_LEFT]:function(e){if(xr.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(V_.Operator.LeftShift,e)},[xr.CharacterCode.ARROW_RIGHT]:function(e){if(xr.CharacterCode.ARROW_RIGHT===this.codeAt(1))return xr.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(V_.Operator.UnsignedRightShift,e):this.scanPunctuator(V_.Operator.RightShift,e)},[cO.CharacterCode.AMPERSAND]:hO,[cO.CharacterCode.VERTICAL_LINE]:hO}});var Ld=m(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.ASTType=void 0;var HF;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(HF=Iu.ASTType||(Iu.ASTType={}))});var Y_=m(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});Nd.ASTChunkGreybel=void 0;var GF=Ee(),X_=class t extends GF.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Nd.ASTChunkGreybel=X_});var nv=m(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ASTFeatureFileExpression=or.ASTFeatureInjectExpression=or.ASTFeatureEnvarExpression=or.ASTFeatureIncludeExpression=or.ASTFeatureImportExpression=void 0;var Mu=Ee(),Lu=Ld(),J_=class t extends Mu.ASTBase{constructor(e){super(Lu.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureImportExpression=J_;var Q_=class t extends Mu.ASTBase{constructor(e){super(Lu.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureIncludeExpression=Q_;var Z_=class t extends Mu.ASTBase{constructor(e){super(Lu.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureEnvarExpression=Z_;var ev=class t extends Mu.ASTBase{constructor(e){super(Lu.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureInjectExpression=ev;var tv=class t extends Mu.ASTBase{constructor(e){super(Lu.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};or.ASTFeatureFileExpression=tv});var sv=m(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.ASTFeatureInjectExpression=Wt.ASTFeatureIncludeExpression=Wt.ASTFeatureImportExpression=Wt.ASTFeatureFileExpression=Wt.ASTFeatureEnvarExpression=Wt.ASTChunkGreybel=Wt.ASTType=Wt.ASTProvider=void 0;var rv=Ee(),dO=Ld(),zF=Y_(),Nu=nv(),iv=class extends rv.ASTProvider{featureImportExpression(e){return new Nu.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Nu.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Nu.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Nu.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new rv.ASTBase(dO.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new rv.ASTBase(dO.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Nu.ASTFeatureFileExpression(e)}chunk(e){return new zF.ASTChunkGreybel(e)}};Wt.ASTProvider=iv;var VF=Ld();Object.defineProperty(Wt,"ASTType",{enumerable:!0,get:function(){return VF.ASTType}});var KF=Y_();Object.defineProperty(Wt,"ASTChunkGreybel",{enumerable:!0,get:function(){return KF.ASTChunkGreybel}});var qu=nv();Object.defineProperty(Wt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return qu.ASTFeatureEnvarExpression}});Object.defineProperty(Wt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return qu.ASTFeatureFileExpression}});Object.defineProperty(Wt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return qu.ASTFeatureImportExpression}});Object.defineProperty(Wt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return qu.ASTFeatureIncludeExpression}});Object.defineProperty(Wt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return qu.ASTFeatureInjectExpression}})});var ov=m(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.SelectorGroups=bt.SelectorGroupType=bt.Selectors=bt.SelectorTypes=void 0;var We=Ee(),qd=Jo(),ju=Qo(),XF;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(XF=bt.SelectorTypes||(bt.SelectorTypes={}));bt.Selectors=Object.assign(Object.assign({},We.Selectors),{From:(0,We.createSelector)({type:We.TokenType.Identifier,value:"from"}),Envar:(0,We.createSelector)({type:We.TokenType.Keyword,value:qd.GreybelKeyword.Envar}),Inject:(0,We.createSelector)({type:We.TokenType.Keyword,value:qd.GreybelKeyword.Inject}),Line:(0,We.createSelector)({type:We.TokenType.Keyword,value:qd.GreybelKeyword.Line}),File:(0,We.createSelector)({type:We.TokenType.Keyword,value:qd.GreybelKeyword.File}),LeftShift:(0,We.createSelector)({type:We.TokenType.Punctuator,value:ju.Operator.LeftShift}),RightShift:(0,We.createSelector)({type:We.TokenType.Punctuator,value:ju.Operator.RightShift}),UnsignedRightShift:(0,We.createSelector)({type:We.TokenType.Punctuator,value:ju.Operator.UnsignedRightShift}),BitwiseOr:(0,We.createSelector)({type:We.TokenType.Punctuator,value:ju.Operator.BitwiseOr}),BitwiseAnd:(0,We.createSelector)({type:We.TokenType.Punctuator,value:ju.Operator.BitwiseAnd}),Escape:(0,We.createSelector)({type:We.TokenType.Punctuator,value:We.Operator.Escape})});var _i;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(_i=bt.SelectorGroupType||(bt.SelectorGroupType={}));bt.SelectorGroups=Object.assign(Object.assign({},We.SelectorGroups),{[_i.MapSeparator]:(0,We.createSelectorGroup)(_i.MapSeparator,[bt.Selectors.MapSeperator,bt.Selectors.CRBracket]),[_i.ListSeparator]:(0,We.createSelectorGroup)(_i.ListSeparator,[bt.Selectors.MapSeperator,bt.Selectors.SRBracket]),[_i.PathSegmentEnd]:(0,We.createSelectorGroup)(_i.PathSegmentEnd,[bt.Selectors.EndOfLine,bt.Selectors.Comment,bt.Selectors.EndOfFile]),[_i.BitwiseOperators]:(0,We.createSelectorGroup)(_i.BitwiseOperators,[bt.Selectors.LeftShift,bt.Selectors.RightShift,bt.Selectors.UnsignedRightShift])})});var gO=m(Fu=>{"use strict";var YF=Fu&&Fu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fu,"__esModule",{value:!0});var Fn=Ee(),JF=Va(),fO=Za(),QF=YF(K_()),ZF=sv(),Ws=Jo(),pO=Qo(),qe=ov(),av=class extends Fn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new QF.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new ZF.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){var e;let n=this,r=0;for(;;){if(qe.Selectors.Comment(n.token)){let i=((e=n.previousToken)===null||e===void 0?void 0:e.line)!==n.token.line,s=n.astProvider.comment({value:n.token.value,isMultiline:n.token.value.indexOf(`
110
- `)!==-1,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(qe.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}parseMap(e=!1,n=!1){let r=this;if(!qe.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.CRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.key=r.parseExpr(null),r.requireToken(qe.Selectors.MapKeyValueSeperator),r.skipNewlines(),u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.MapSeparator,s.start);if(qe.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!qe.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.SRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.ListSeparator,s.start);if(qe.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===Fn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!qe.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(qe.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier(Fn.ASTIdentifierKind.Variable);if(!n.consume(qe.Selectors.From))return n.raise("expected from keyword",new fO.Range(r.start,new JF.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});return n.imports.push(o),n.currentScope.definitions.push(o),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(qe.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:Fn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;qe.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:pO.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;qe.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:pO.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;qe.Selectors.Plus(r.token)||qe.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;qe.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return qe.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):qe.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):qe.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):qe.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(Fn.TokenType.Keyword))switch(e.token.value){case Ws.GreybelKeyword.Include:case Ws.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Import:case Ws.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunk({start:n.start,end:null,range:[n.range[0],null]}),i=new Fn.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!qe.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!qe.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Fn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new fO.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Fu.default=av});var Yr=m(Nt=>{"use strict";var e$=Nt&&Nt.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),$u=Nt&&Nt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&e$(e,t,n)},uv=Nt&&Nt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Parser=Nt.LexerValidator=Nt.Lexer=void 0;var t$=K_();Object.defineProperty(Nt,"Lexer",{enumerable:!0,get:function(){return uv(t$).default}});var n$=G_();Object.defineProperty(Nt,"LexerValidator",{enumerable:!0,get:function(){return uv(n$).default}});var r$=gO();Object.defineProperty(Nt,"Parser",{enumerable:!0,get:function(){return uv(r$).default}});$u(sv(),Nt);$u(z_(),Nt);$u(Jo(),Nt);$u(Qo(),Nt);$u(ov(),Nt)});var cv=m(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.merge=void 0;function i$(t,e,n=1e4){if(e.length<=n){Array.prototype.push.apply(t,e);return}for(let r=0;r<e.length;r+=n)Array.prototype.push.apply(t,e.slice(r,r+n))}jd.merge=i$});var mO=m(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.parseAssignDescription=Us.AssignTag=void 0;var s$=Fh(),o$=xn(),a$=md(),lv;(function(t){t.Define="define"})(lv=Us.AssignTag||(Us.AssignTag={}));var u$=new Set(Object.values(lv));function c$(t){return o$.SignatureDefinitionTypeMeta.fromString(t)}function l$(t){let e=t.tags.find(n=>n.tag===lv.Define);return e?{type:e.type.split("|").map(c$)}:null}function h$(t){return u$.has(t.tag)}function d$(t){let e=(0,s$.parse)((0,a$.createCommentBlock)(t)),[n]=e;return n.tags.filter(h$).length>0?l$(n):null}Us.parseAssignDescription=d$});var yO=m(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.parseMapDescription=Hs.MapTag=void 0;var f$=Fh(),p$=xn(),g$=md(),Fd;(function(t){t.Type="type",t.Property="property"})(Fd=Hs.MapTag||(Hs.MapTag={}));var m$=new Set(Object.values(Fd));function y$(t){return p$.SignatureDefinitionTypeMeta.fromString(t)}function b$(t){return{path:t.name,type:t.type.split("|").map(y$)}}function _$(t){let e=t.tags.find(r=>r.tag===Fd.Type);if(!e)return null;let n=t.tags.filter(r=>r.tag===Fd.Property);return{type:e.name,properties:n.map(b$)}}function v$(t){return m$.has(t.tag)}function S$(t){let e=(0,f$.parse)((0,g$.createCommentBlock)(t)),[n]=e;return n.tags.filter(v$).length>0?_$(n):null}Hs.parseMapDescription=S$});var dv=m(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Aggregator=Zo.ASTChainIterator=void 0;var Bu=Yr(),Te=xn(),Ce=Ee(),T$=I_(),Se=qs(),bO=js(),Gs=L_(),_O=_b(),vO=C_(),w$=k_(),wO=au(),SO=cv(),E$=F_(),TO=A_(),x$=mO(),A$=yO(),k$=Yo(),$d=class{constructor(e,n,r=!1,i=!1){this.aggregator=e,this.chain=n,this.noInvoke=r,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,n){let r=this.aggregator.factory(this.index===0?Se.CompletionItemKind.Variable:Se.CompletionItemKind.Property);return typeof n=="string"&&r.setLabel(n),this.assume?(r.addType(Te.SignatureDefinitionBaseType.Map),e.setProperty(n,r),e.resolveProperty(n,!0)):(r.addType(Te.SignatureDefinitionBaseType.Any),r)}getInitial(){let e=null,n=this.aggregator.scope,r=this.aggregator.document,i=this.chain[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,Gs.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")e=n.globals;else if(i.getter.name==="outer")e=n.outer;else if(i.getter.name==="locals")e=n.locals;else if(i.getter.name==="super"){let o=r.getScopeContext(i.ref.scope)?.scope.context?.getIsa();o==null?e=this.aggregator.factory(Se.CompletionItemKind.Constant).addType("null").setLabel("super"):e=o.copy({kind:Se.CompletionItemKind.Constant,label:"super",values:o.values})}else if(i.getter.name==="self"){let o=r.getScopeContext(i.ref.scope)?.scope.context;o==null?e=this.aggregator.factory(Se.CompletionItemKind.Constant).addType("null").setLabel("self"):e=o.copy({kind:Se.CompletionItemKind.Constant,label:"self",values:o.values})}else{let o=n.resolveNamespace(i.getter.name,s);o==null&&(o=this.defineAssumedProperty(n.globals,i.getter.name)),e=o}else if((0,Gs.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator===Ce.Keyword.New&&e!==null){let o=this.aggregator.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,o),e=o}return e}getNext(){let e=this.current,n=this.chain[this.index];if((0,Gs.isResolveChainItemWithMember)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex,i=e.resolveProperty(n.getter.name,r);i==null&&(i=this.defineAssumedProperty(e,n.getter.name)),e=i}else if((0,Gs.isResolveChainItemWithIndex)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex||!n.ref.isStatementStart&&!n.isInCallExpression;if((0,wO.isValidIdentifierLiteral)(n.getter)){let i=n.getter.value.toString(),s=e.resolveProperty(i,r);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}else{let i=this.aggregator.resolveTypeWithDefault(n.getter),s=e.resolveProperty(i,r);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}}else if(n.ref.type===Ce.ASTType.SliceExpression)e=e.copy();else return null;if(n.unary?.operator===Ce.Keyword.New&&this.current!==null){let r=this.aggregator.factory(Se.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Map).setLabel(e.label);r.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(n.unary,r),e=r}return e}next(){if(this.index>=this.chain.length)return{value:null,done:!0};let e=this.index===0?this.getInitial():this.getNext();return e==null?{value:null,done:!0}:(this.index++,this.current=e,{value:e,done:!1})}};Zo.ASTChainIterator=$d;var hv=class{get definitions(){return this._definitions}get parent(){return this._parent}get scope(){return this._scope}get document(){return this._document}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new k$.Entity({source:this._document.source,kind:e,container:this._document.container})}resolveRelatedCommentLines(e){let n=this._document.getLastASTItemOfLine(e.start.line-1),r=this._document.findASTItemInLine(e.start.line,Ce.ASTType.Comment);if(n instanceof Ce.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let a=this._document.getLastASTItemOfLine(o--);if(!i.has(a))if(a instanceof Ce.ASTComment)i.add(a),s.unshift((0,TO.normalizeText)(a.value));else break}return s}else if(r instanceof Ce.ASTComment)return[(0,TO.normalizeText)(r.value)];return null}createCustomTypeFromMap(e,n){let r=this.resolveRelatedCommentLines(e);if(r==null)return;let i=r.join(`
111
- `),s=(0,A$.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path==="__isa")return;let a=o.path.split("."),u=this.factory(Se.CompletionItemKind.Property).addTypesWithMeta(o.type).setLabel(a[a.length-1]);this.setEntityInPath(n,a,u)}),this._scope.setCustomType(s.type,n))}createFunctionDescription(e,n=T$.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this.resolveRelatedCommentLines(e);return r==null?n:r.join(`
110
+ `)!==-1,start:n.token.start,end:n.token.end,range:n.token.range,scope:n.currentScope,isStatement:i});n.lineRegistry.addItemToLines(s)}else if(qe.Selectors.EndOfLine(n.token))r++;else break;n.next()}return r}parseMap(e=!1,n=!1){let r=this;if(!qe.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.CRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.key=r.parseExpr(null),r.requireToken(qe.Selectors.MapKeyValueSeperator),r.skipNewlines(),u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.MapSeparator,s.start);if(qe.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!qe.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.SRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});u.value=r.parseExpr(u),u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.ListSeparator,s.start);if(qe.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===Fn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!qe.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(qe.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier(Fn.ASTIdentifierKind.Variable);if(!n.consume(qe.Selectors.From))return n.raise("expected from keyword",new fO.Range(r.start,new JF.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});return n.imports.push(o),n.currentScope.definitions.push(o),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(qe.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:Fn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;qe.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:pO.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;qe.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:pO.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;qe.Selectors.Plus(r.token)||qe.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;qe.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return qe.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):qe.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):qe.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):qe.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(Fn.TokenType.Keyword))switch(e.token.value){case Ws.GreybelKeyword.Include:case Ws.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Import:case Ws.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.lineRegistry.addItemToLines(i),n.body.push(i);return}case Ws.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new Fn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new Fn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunk({start:n.start,end:null,range:[n.range[0],null]}),i=new Fn.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!qe.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!qe.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Fn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new fO.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Fu.default=av});var Yr=m(Nt=>{"use strict";var e$=Nt&&Nt.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),$u=Nt&&Nt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&e$(e,t,n)},uv=Nt&&Nt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Parser=Nt.LexerValidator=Nt.Lexer=void 0;var t$=K_();Object.defineProperty(Nt,"Lexer",{enumerable:!0,get:function(){return uv(t$).default}});var n$=G_();Object.defineProperty(Nt,"LexerValidator",{enumerable:!0,get:function(){return uv(n$).default}});var r$=gO();Object.defineProperty(Nt,"Parser",{enumerable:!0,get:function(){return uv(r$).default}});$u(sv(),Nt);$u(z_(),Nt);$u(Jo(),Nt);$u(Qo(),Nt);$u(ov(),Nt)});var cv=m(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.merge=void 0;function i$(t,e,n=1e4){if(e.length<=n){Array.prototype.push.apply(t,e);return}for(let r=0;r<e.length;r+=n)Array.prototype.push.apply(t,e.slice(r,r+n))}jd.merge=i$});var mO=m(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.parseAssignDescription=Us.AssignTag=void 0;var s$=Fh(),o$=xn(),a$=md(),lv;(function(t){t.Define="define"})(lv=Us.AssignTag||(Us.AssignTag={}));var u$=new Set(Object.values(lv));function c$(t){return o$.SignatureDefinitionTypeMeta.fromString(t)}function l$(t){let e=t.tags.find(n=>n.tag===lv.Define);return e?{type:e.type.split("|").map(c$)}:null}function h$(t){return u$.has(t.tag)}function d$(t){let e=(0,s$.parse)((0,a$.createCommentBlock)(t)),[n]=e;return n.tags.filter(h$).length>0?l$(n):null}Us.parseAssignDescription=d$});var yO=m(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.parseMapDescription=Hs.MapTag=void 0;var f$=Fh(),p$=xn(),g$=md(),Fd;(function(t){t.Type="type",t.Property="property"})(Fd=Hs.MapTag||(Hs.MapTag={}));var m$=new Set(Object.values(Fd));function y$(t){return p$.SignatureDefinitionTypeMeta.fromString(t)}function b$(t){return{path:t.name,type:t.type.split("|").map(y$)}}function _$(t){let e=t.tags.find(r=>r.tag===Fd.Type);if(!e)return null;let n=t.tags.filter(r=>r.tag===Fd.Property);return{type:e.name,properties:n.map(b$)}}function v$(t){return m$.has(t.tag)}function S$(t){let e=(0,f$.parse)((0,g$.createCommentBlock)(t)),[n]=e;return n.tags.filter(v$).length>0?_$(n):null}Hs.parseMapDescription=S$});var dv=m(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Aggregator=Zo.ASTChainIterator=void 0;var Bu=Yr(),Se=xn(),Ce=Ee(),T$=I_(),Te=qs(),bO=js(),Gs=L_(),_O=_b(),vO=C_(),w$=k_(),wO=au(),SO=cv(),E$=F_(),TO=A_(),x$=mO(),A$=yO(),k$=Yo(),$d=class{constructor(e,n,r=!1,i=!1){this.aggregator=e,this.chain=n,this.noInvoke=r,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,n){let r=this.aggregator.factory(this.index===0?Te.CompletionItemKind.Variable:Te.CompletionItemKind.Property);return typeof n=="string"&&r.setLabel(n),this.assume?(r.addType(Se.SignatureDefinitionBaseType.Map),e.setProperty(n,r),e.resolveProperty(n,!0)):(r.addType(Se.SignatureDefinitionBaseType.Any),r)}getInitial(){let e=null,n=this.aggregator.scope,r=this.aggregator.document,i=this.chain[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,Gs.isResolveChainItemWithIdentifier)(i)){let o=r.getScopeContext(i.ref.scope)?.scope.context,a=o?.getIsa();if(i.getter.name==="globals")e=n.globals;else if(i.getter.name==="outer")e=n.outer;else if(i.getter.name==="locals")e=n.locals;else if(i.getter.name==="super"&&a!=null)e=a.copy({kind:Te.CompletionItemKind.Constant,label:"super",values:o.values});else if(i.getter.name==="self"&&o!=null)e=o.copy({kind:Te.CompletionItemKind.Constant,label:"self",values:o.values});else{let u=n.resolveNamespace(i.getter.name,s);u==null&&(u=this.defineAssumedProperty(n.globals,i.getter.name)),e=u}}else if((0,Gs.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator===Ce.Keyword.New&&e!==null){let o=this.aggregator.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,o),e=o}return e}getNext(){let e=this.current,n=this.chain[this.index];if((0,Gs.isResolveChainItemWithMember)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex,i=e.resolveProperty(n.getter.name,r);i==null&&(i=this.defineAssumedProperty(e,n.getter.name)),e=i}else if((0,Gs.isResolveChainItemWithIndex)(n)){let r=n.unary?.operator==="@"&&!n.isInCallExpression||this.noInvoke&&this.index===this.endIndex||!n.ref.isStatementStart&&!n.isInCallExpression;if((0,wO.isValidIdentifierLiteral)(n.getter)){let i=n.getter.value.toString(),s=e.resolveProperty(i,r);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}else{let i=this.aggregator.resolveTypeWithDefault(n.getter),s=e.resolveProperty(i,r);s==null&&(s=this.defineAssumedProperty(e,i)),e=s}}else if(n.ref.type===Ce.ASTType.SliceExpression)e=e.copy();else return null;if(n.unary?.operator===Ce.Keyword.New&&this.current!==null){let r=this.aggregator.factory(Te.CompletionItemKind.Property).addType(Se.SignatureDefinitionBaseType.Map).setLabel(e.label);r.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(n.unary,r),e=r}return e}next(){if(this.index>=this.chain.length)return{value:null,done:!0};let e=this.index===0?this.getInitial():this.getNext();return e==null?{value:null,done:!0}:(this.index++,this.current=e,{value:e,done:!1})}};Zo.ASTChainIterator=$d;var hv=class{get definitions(){return this._definitions}get parent(){return this._parent}get scope(){return this._scope}get document(){return this._document}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new k$.Entity({source:this._document.source,kind:e,container:this._document.container})}resolveRelatedCommentLines(e){let n=this._document.getLastASTItemOfLine(e.start.line-1),r=this._document.findASTItemInLine(e.start.line,Ce.ASTType.Comment);if(n instanceof Ce.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let a=this._document.getLastASTItemOfLine(o--);if(!i.has(a))if(a instanceof Ce.ASTComment)i.add(a),s.unshift((0,TO.normalizeText)(a.value));else break}return s}else if(r instanceof Ce.ASTComment)return[(0,TO.normalizeText)(r.value)];return null}createCustomTypeFromMap(e,n){let r=this.resolveRelatedCommentLines(e);if(r==null)return;let i=r.join(`
111
+ `),s=(0,A$.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path==="__isa")return;let a=o.path.split("."),u=this.factory(Te.CompletionItemKind.Property).addTypesWithMeta(o.type).setLabel(a[a.length-1]);this.setEntityInPath(n,a,u)}),this._scope.setCustomType(s.type,n))}createFunctionDescription(e,n=T$.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this.resolveRelatedCommentLines(e);return r==null?n:r.join(`
112
112
 
113
- `)}resolveFunctionStatement(e){let n=this.createFunctionDescription(e),r=Te.SignatureDefinitionFunction.parse({type:Te.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(i=>{if(i.type===Ce.ASTType.Identifier)return{label:i.name??"unknown",type:Te.SignatureDefinitionBaseType.Any};let s=i;return{label:s.variable?.name??"unknown",types:Array.from(this.resolveTypeWithDefault(s.init).types)}}),returns:["any"]});return this.factory(Se.CompletionItemKind.Function).addType(Te.SignatureDefinitionBaseType.Function).addSignatureType((0,w$.enrichWithMetaInformation)(r)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let n=this.factory(Se.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),r=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return n.extend(r),n.extend(i),n}resolveLogicalExpression(e){return this.factory(Se.CompletionItemKind.Expression).setLabel("Logical Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(Se.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(Se.CompletionItemKind.Expression).setLabel("Isa Expr").addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let n=this.resolveNamespace(e);return n===null?this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveCallExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveUnaryExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMapConstructorExpression(e){let n=this.factory(Se.CompletionItemKind.MapConstructor).addType(Te.SignatureDefinitionBaseType.Map);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.resolveTypeWithDefault(i.value).setLine(i.start.line);if(i.key.type===Ce.ASTType.StringLiteral){let o=i.key.value.toString();n.setProperty(o,s),n.values.get(`${bO.PropertyType.Identifier}:${o}`)?.definitions.push({source:this._document.source,node:i})}else{let o=this.resolveTypeWithDefault(i.key).setLine(i.start.line);n.setProperty(o,s)}}return this.createCustomTypeFromMap(e,n),n.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let n=this.factory(Se.CompletionItemKind.ListConstructor).addType(Te.SignatureDefinitionBaseType.List);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);n.setProperty(s,o)}return n.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):n.setLine(e.start.line)}resolveIndexExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMemberExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Se.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):r}resolveIdentifier(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Se.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):r}resolveType(e,n=!1){if(e==null)return null;switch(e.type){case Ce.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case Ce.ASTType.CallStatement:return this.resolveCallStatement(e);case Ce.ASTType.CallExpression:return this.resolveCallExpression(e);case Ce.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case Ce.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case Ce.ASTType.IsaExpression:return this.resolveIsaExpression(e);case Ce.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case Ce.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case Ce.ASTType.SliceExpression:return this.resolveSliceExpression(e);case Ce.ASTType.IndexExpression:return this.resolveIndexExpression(e,n);case Ce.ASTType.MemberExpression:return this.resolveMemberExpression(e,n);case Ce.ASTType.Identifier:return this.resolveIdentifier(e,n);case Ce.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case Ce.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case Ce.ASTType.NegationExpression:case Ce.ASTType.BinaryNegatedExpression:case Ce.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case Ce.ASTType.NilLiteral:return this.factory(Se.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case Ce.ASTType.StringLiteral:{let r=e.value.toString();return this.factory(Se.CompletionItemKind.Literal).addType(Te.SignatureDefinitionBaseType.String).setLabel(`"${r.length>20?r.substr(0,20)+"...":r}"`).setLine(e.start.line)}case Ce.ASTType.NumericLiteral:case Ce.ASTType.BooleanLiteral:{let r=e.value.toString();return this.factory(Se.CompletionItemKind.Literal).addType(Te.SignatureDefinitionBaseType.Number).setLabel(r).setLine(e.start.line)}case Bu.ASTType.FeatureFileExpression:return this.factory(Se.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case Bu.ASTType.FeatureLineExpression:return this.factory(Se.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case Bu.ASTType.FeatureEnvarExpression:return this.factory(Se.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case Bu.ASTType.FeatureInjectExpression:return this.factory(Se.CompletionItemKind.Expression).addType(Te.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,n=!1){let r=this.resolveType(e,n);if(r==null){let i=this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return r}resolveChain(e,n=!1,r=!1){if(e.length===0)return null;let i=new $d(this,e,n,r),s=null,o=i.next();for(;!o.done;)s=o.value,o=i.next();return s}setEntityInPath(e,n,r){let i=e;for(let s=0;s<n.length-1;s++){let o=n[s],a=i.resolveProperty(o);if(a==null){let u=this.factory(Se.CompletionItemKind.Property).addType(Te.SignatureDefinitionBaseType.Map).setLabel(o);i.setProperty(o,u),a=u}i=a}return i.setProperty(n[n.length-1],r)}getEntityInPath(e,n){let r=e;for(let i=0;i<n.length;i++){let s=n[i],o=r.resolveProperty(s);if(o==null)return null;r=o}return r}resolveNamespace(e,n=!1){let r=(0,vO.createResolveChain)(e);return this.resolveChain(r,n)}defineProperty(e,n,r){let i=e.setProperty(n,r);return this._lastModifiedProperty=e.resolveProperty(n,!0),i}defineNamespace(e,n){let r=(0,vO.createResolveChain)(e),i=r.pop();if(this._lastModifiedProperty=null,r.length>0){let o=this.resolveChain(r,!1,!0);if(o===null)return!1;if((0,Gs.isResolveChainItemWithMember)(i))return this.defineProperty(o,i.getter.name,n);if((0,Gs.isResolveChainItemWithIndex)(i)){if((0,wO.isValidIdentifierLiteral)(i.getter))return this.defineProperty(o,i.getter.value.toString(),n);{let a=this.resolveTypeWithDefault(i.getter);return this.defineProperty(o,a,n)}}return!1}let s=this._scope;return(0,Gs.isResolveChainItemWithIdentifier)(i)?this.defineProperty(s,i.getter.name,n):!1}addDefinition(e,n){this._lastModifiedProperty?.definitions.push({source:this._document.source,node:e});let r=(0,_O.createExpressionId)(n),i=this._definitions;r.startsWith("globals.")?(i=this._document.getRootScopeContext().aggregator.definitions,r=r.slice(8)):r.startsWith("locals.")?(i=this._definitions,r=r.slice(7)):r.startsWith("outer.")&&(i=this.parent.definitions,r=r.slice(6));let s=i.get(r);s?s.push({source:this._document.source,node:e}):i.set(r,[{source:this._document.source,node:e}])}resolveAvailableAssignmentsWithQuery(e){let n=[];return new Set([this,this._parent,this._document.getRootScopeContext().aggregator]).forEach(i=>{let s=i.definitions;s.forEach((o,a)=>{if(a.includes(e)){let u=s.get(a);(0,SO.merge)(n,u)}})}),n}resolveAvailableAssignments(e){let n=(0,_O.createExpressionId)(e),r=this;n.startsWith("globals.")?(r=this._document.getRootScopeContext().aggregator,n=n.slice(8)):n.startsWith("locals.")?(r=this,n=n.slice(7)):n.startsWith("outer.")&&(r=this.parent,n=n.slice(6));let i=[];return new Set([r,r._parent,r._document.getRootScopeContext().aggregator]).forEach(o=>{if(o==null)return;let a=o.resolveNamespace(e,!0);a!=null&&(0,SO.merge)(i,a.definitions)}),i}resolveCommentDefinition(e){let n=this.resolveRelatedCommentLines(e);if(n!=null){let r=n.join(`
114
- `),i=(0,x$.parseAssignDescription)(r);if(i!=null)return this.factory(Se.CompletionItemKind.Variable).addTypesWithMeta(i.type)}return null}analyzeAssignmentDefinition(e){let n=this.resolveCommentDefinition(e.init)?.setLine(e.start.line)??this.resolveType(e.init)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.variable,n),this.addDefinition(e,e.variable)}analyzeForDefinition(e){let n=this.resolveType(e.iterator)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line),r=this.factory(Se.CompletionItemKind.Variable).setLine(e.start.line);if(n.types.has(Te.SignatureDefinitionBaseType.List)){let o=n.values.get(`${bO.PropertyType.Type}:number`);o!=null&&r.extend(o)}if(n.types.has(Te.SignatureDefinitionBaseType.String)&&r.addType(Te.SignatureDefinitionBaseType.String),n.types.has(Te.SignatureDefinitionBaseType.Map)){let o=this.factory(Se.CompletionItemKind.Variable).addTypes(n.getPropertyTypes()).setLine(e.start.line),a=this.factory(Se.CompletionItemKind.Property).addTypes(n.getValueTypes()).setLine(e.start.line);r.addType(Te.SignatureDefinitionBaseType.Map),r.setProperty("key",o),r.setProperty("value",a)}r.types.size===0&&r.addType(Te.SignatureDefinitionBaseType.Any),this.defineNamespace(e.variable,r),this.addDefinition(e,e.variable);let i=this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Number).setLine(e.start.line),s=new Ce.ASTIdentifier({name:`__${e.variable.name}_idx`,kind:Ce.ASTIdentifierKind.Variable,range:e.range,start:e.start,end:e.end});this.defineNamespace(s,i),this.addDefinition(e,s)}analyzeImportDefinition(e){let n=e.name,r=this.scope.resolveProperty(n.name,!0);if(r!=null){this._lastModifiedProperty=r,this.addDefinition(e,e.name);return}let i=this.factory(Se.CompletionItemKind.Variable).addType(Te.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.name,i),this.addDefinition(e,e.name)}analyze(){for(let e=0;e<this._root.definitions.length;e++){let n=this._root.definitions[e];switch(n.type){case Ce.ASTType.AssignmentStatement:{this.analyzeAssignmentDefinition(n);break}case Ce.ASTType.ForGenericStatement:{this.analyzeForDefinition(n);break}case Bu.ASTType.FeatureImportExpression:{this.analyzeImportDefinition(n);break}}}}extend(e){e.definitions.forEach((n,r)=>{let i=this.definitions.get(r);i?(0,E$.mergeUnique)(i,n):this.definitions.set(r,n)})}};Zo.Aggregator=hv});var pv=m(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.Document=void 0;var vi=xn(),C$=Ee(),EO=qs(),O$=cv(),xO=dv(),AO=Yo(),kO=W_(),fv=class t{get source(){return this._source}get root(){return this._root}get container(){return this._container}get intrinsics(){return this._intrinscis}get globals(){return this._globals}get api(){return this._api}constructor(e){this._source=e.source,this._root=e.root,this._container=e.container,this._scopeMapping=e.scopeMapping??new WeakMap,this._intrinscis=e.intrinsics??this.createIntrinscis(),this._api=e.api??this.initApi(),this._globals=e.globals??this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(vi.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(vi.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(vi.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(vi.SignatureDefinitionBaseType.String),list:this._container.primitives.get(vi.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(vi.SignatureDefinitionBaseType.General);return e.resolveProperty("map",!0).setReturnEntity(this._intrinscis.map),e.resolveProperty("funcRef",!0).setReturnEntity(this._intrinscis.funcRef),e.resolveProperty("number",!0).setReturnEntity(this._intrinscis.number),e.resolveProperty("string",!0).setReturnEntity(this._intrinscis.string),e.resolveProperty("list",!0).setReturnEntity(this._intrinscis.list),e}initGlobals(){return new AO.Entity({source:this._source,kind:EO.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(vi.SignatureDefinitionBaseType.Map)}analyzeScope(e){let n=this._scopeMapping.get(e.scope),r=new kO.Scope({source:this._source,container:this._container,parent:n?.scope,globals:this._globals}),i=new xO.Aggregator({scope:r,root:e,document:this,parent:n?.aggregator});this._scopeMapping.set(e,{scope:r,aggregator:i});let s=e.assignment instanceof C$.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s?.context;o!=null&&o.types.has(vi.SignatureDefinitionBaseType.Map)&&o!==this._globals&&r.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let a=o.getArguments();for(let u=0;u<a.length;u++){let c=a[u],l=r.resolveProperty(c.getLabel(),!0),h=c.getTypes();l===null?r.setProperty(c.getLabel(),new AO.Entity({source:this._source,kind:EO.CompletionItemKind.Variable,container:this._container}).addTypesWithMeta(h)):(l.types.delete(vi.SignatureDefinitionBaseType.Any),l.addTypesWithMeta(h))}}}}analyze(){let e=new kO.Scope({source:this._source,container:this._container,globals:this._globals,locals:this._globals}),n=new xO.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:n}),n.analyze();for(let r=0;r<this._root.scopes.length;r++){let i=this._root.scopes[r];this.analyzeScope(i)}}getRootScopeContext(){return this._scopeMapping.get(this._root)}getAllScopeContexts(){return[this._root,...this._root.scopes].map(e=>this._scopeMapping.get(e))}getScopeContext(e){return this._scopeMapping.get(e)??null}getLastASTItemOfLine(e){let n=this._root.lines[e];if(!n||n.length===0)return null;let r=n[0];for(let i=1;i<n.length;i++){let s=n[i];(s.start.line>r.start.line||s.start.line===r.start.line&&s.start.character>r.start.character)&&(r=s)}return r}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let n=[],r=[this._root,...this._root.scopes];for(let i=0;i<r.length;i++){let o=this._scopeMapping.get(r[i]).aggregator.definitions;o.forEach((a,u)=>{if(u.includes(e)){let c=o.get(u);(0,O$.merge)(n,c)}})}return n}resolveAvailableAssignments(e){return this._scopeMapping.get(e.scope)?.aggregator.resolveAvailableAssignments(e)??[]}resolveType(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveType(e,n)??null}resolveTypeWithDefault(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveTypeWithDefault(e,n)}resolveNamespace(e,n=!1){return this._scopeMapping.get(e.scope)?.aggregator.resolveNamespace(e,n)??null}merge(...e){let n=new t({source:this._source,root:this._root,container:this._container.copy()});for(let r=0;r<e.length;r++){let i=e[r];n._globals.extend(i._globals,!0,!0),n._intrinscis.map.extend(i._intrinscis.map,!0,!0),n._intrinscis.funcRef.extend(i._intrinscis.funcRef,!0,!0),n._intrinscis.number.extend(i._intrinscis.number,!0,!0),n._intrinscis.string.extend(i._intrinscis.string,!0,!0),n._intrinscis.list.extend(i._intrinscis.list,!0,!0),n._container.mergeCustomTypes(i._container)}n.analyze();for(let r=0;r<e.length;r++){let i=e[r];n.getRootScopeContext().aggregator.extend(i.getRootScopeContext().aggregator)}return n}};Bd.Document=fv});var bv=m(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.ContainerProxy=void 0;var Ar=xn(),gv=js(),Si=Yo(),CO=qs(),OO=ku(),mv=kd(),yv=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){this._container=e.container,this._primitives=e.primitives??this.createPrimitives(),this._types=e.types??this.createTypes(),this._customTypes=new Set}createPrimitives(){let e=new Map;return this._container.getPrimitives().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:CO.CompletionItemKind.Internal,container:this,isAPI:r===Ar.SignatureDefinitionBaseType.General}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}createTypes(){let e=new Map;return this._container.getTypes().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:CO.CompletionItemKind.Internal,container:this}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}setCustomType(e,n){this._types.has(e)||(this._types.set(e,n),this._customTypes.add(e))}mergeCustomTypes(e){e._customTypes.forEach(n=>{let r=e._types.get(n);r!=null&&this.setCustomType(n,r.copy({deepCopy:!0}))})}getTypeSignature(e){return this._primitives.get(e)??this._types.get(e)??null}searchDefinitionMatches(e,n){if(typeof e=="string")return this.searchDefinitionMatches([e],n);let r=e.includes(Ar.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;return r.forEach(s=>{let o=this.getTypeSignature(s);if(o===null)return;let a=(0,mv.lookupProperty)(gv.PropertyType.Identifier,o,n);a!==null&&i.set(s,a)}),i}getDefinition(e,n,r=!1){if(typeof e=="string")return this.getDefinition([e],n);let i=(0,mv.lookupProperty)(gv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.Any),n);if(e.includes(Ar.SignatureDefinitionBaseType.Any)&&i)return Si.Entity.resolveEntity(this,i,r);let s=this.searchDefinitionMatches(e,n);if(s.size===0)return null;if(s.size===1)return Si.Entity.resolveEntity(this,s.values().next().value,r);if(s.has(Ar.SignatureDefinitionBaseType.Any))return Si.Entity.resolveEntity(this,s.get(Ar.SignatureDefinitionBaseType.Any),r);if(i!==null)return Si.Entity.resolveEntity(this,i,r);let o=s.values().next().value,a=new Si.Entity({source:"internal",label:n,kind:o.kind,container:this});return s.forEach(u=>{let c=Si.Entity.resolveEntity(this,u,r);a.extend(c,!0,!0)}),a}getGeneralDefinition(e,n=!1){let r=(0,mv.lookupProperty)(gv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.General),e);return r==null?null:Si.Entity.resolveEntity(this,r,n)}injectTypeIdentifiers(e,n){let r=this.getTypeSignature(n);if(r!=null&&((0,OO.injectIdentifers)(e,r),this._types.has(n))){let i=this._primitives.get(Ar.SignatureDefinitionBaseType.Map);(0,OO.injectIdentifers)(e,i)}}getAvailableIdentifier(e){let n=new Map;if(e===Ar.SignatureDefinitionBaseType.Any){let r=this._container.getAllVisibleTypes();for(let i=0;i<r.length;i++)this.injectTypeIdentifiers(n,r[i]);return n}return this.injectTypeIdentifiers(n,e),n}copy(){return new t({container:this._container})}};Wd.ContainerProxy=yv});var RO=m(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.TypeManager=void 0;var R$=pv(),P$=bv(),_v=class{constructor(e){this._container=new P$.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,n){let r=new R$.Document({source:e,container:this._container.copy(),root:n});try{r.analyze()}catch(i){console.error(i)}return this._types.set(e,r),r}get(e){return this._types.get(e)??null}};Ud.TypeManager=_v});var ea=m(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.TypeManager=Q.ContainerProxy=Q.Document=Q.Aggregator=Q.Scope=Q.Entity=Q.aggregateEntity=Q.lookupProperty=Q.isEligibleForProperties=Q.injectIdentifers=Q.isSignatureDefinitionFunction=Q.isResolveChainItemWithValue=Q.isResolveChainItemWithMember=Q.isResolveChainItemWithIndex=Q.isResolveChainItemWithIdentifier=Q.IsaPropertyPattern=Q.IdentifierPropertyPattern=Q.PropertyType=Q.CompletionItemKind=Q.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=Q.ObjectSetIterator=Q.ObjectSet=Q.rotateBits=Q.getStringHashCode=Q.getHashCode=Q.createResolveChain=Q.enrichWithMetaInformation=Q.createExpressionId=Q.createExpressionHash=Q.isValidIdentifierLiteral=void 0;var D$=au();Object.defineProperty(Q,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return D$.isValidIdentifierLiteral}});var I$=IA();Object.defineProperty(Q,"createExpressionHash",{enumerable:!0,get:function(){return I$.createExpressionHash}});var M$=_b();Object.defineProperty(Q,"createExpressionId",{enumerable:!0,get:function(){return M$.createExpressionId}});var L$=k_();Object.defineProperty(Q,"enrichWithMetaInformation",{enumerable:!0,get:function(){return L$.enrichWithMetaInformation}});var N$=C_();Object.defineProperty(Q,"createResolveChain",{enumerable:!0,get:function(){return N$.createResolveChain}});var vv=bb();Object.defineProperty(Q,"getHashCode",{enumerable:!0,get:function(){return vv.getHashCode}});Object.defineProperty(Q,"getStringHashCode",{enumerable:!0,get:function(){return vv.getStringHashCode}});Object.defineProperty(Q,"rotateBits",{enumerable:!0,get:function(){return vv.rotateBits}});var PO=D_();Object.defineProperty(Q,"ObjectSet",{enumerable:!0,get:function(){return PO.ObjectSet}});Object.defineProperty(Q,"ObjectSetIterator",{enumerable:!0,get:function(){return PO.ObjectSetIterator}});var q$=I_();Object.defineProperty(Q,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return q$.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var j$=qs();Object.defineProperty(Q,"CompletionItemKind",{enumerable:!0,get:function(){return j$.CompletionItemKind}});var Sv=js();Object.defineProperty(Q,"PropertyType",{enumerable:!0,get:function(){return Sv.PropertyType}});Object.defineProperty(Q,"IdentifierPropertyPattern",{enumerable:!0,get:function(){return Sv.IdentifierPropertyPattern}});Object.defineProperty(Q,"IsaPropertyPattern",{enumerable:!0,get:function(){return Sv.IsaPropertyPattern}});var Hd=L_();Object.defineProperty(Q,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithIdentifier}});Object.defineProperty(Q,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithIndex}});Object.defineProperty(Q,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithMember}});Object.defineProperty(Q,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithValue}});var F$=N_();Object.defineProperty(Q,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return F$.isSignatureDefinitionFunction}});var $$=ku();Object.defineProperty(Q,"injectIdentifers",{enumerable:!0,get:function(){return $$.injectIdentifers}});var B$=xd();Object.defineProperty(Q,"isEligibleForProperties",{enumerable:!0,get:function(){return B$.isEligibleForProperties}});var W$=kd();Object.defineProperty(Q,"lookupProperty",{enumerable:!0,get:function(){return W$.lookupProperty}});var U$=q_();Object.defineProperty(Q,"aggregateEntity",{enumerable:!0,get:function(){return U$.aggregateEntity}});var H$=Yo();Object.defineProperty(Q,"Entity",{enumerable:!0,get:function(){return H$.Entity}});var G$=W_();Object.defineProperty(Q,"Scope",{enumerable:!0,get:function(){return G$.Scope}});var z$=dv();Object.defineProperty(Q,"Aggregator",{enumerable:!0,get:function(){return z$.Aggregator}});var V$=pv();Object.defineProperty(Q,"Document",{enumerable:!0,get:function(){return V$.Document}});var K$=bv();Object.defineProperty(Q,"ContainerProxy",{enumerable:!0,get:function(){return K$.ContainerProxy}});var X$=RO();Object.defineProperty(Q,"TypeManager",{enumerable:!0,get:function(){return X$.TypeManager}})});var Tv=m(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.getSymbolItemKind=ta.getCompletionItemKind=void 0;var at=ea(),Y$={[at.CompletionItemKind.Constant]:21,[at.CompletionItemKind.Internal]:21,[at.CompletionItemKind.InternalFunction]:21,[at.CompletionItemKind.InternalProperty]:21,[at.CompletionItemKind.Property]:6,[at.CompletionItemKind.Variable]:6,[at.CompletionItemKind.Expression]:6,[at.CompletionItemKind.Function]:3,[at.CompletionItemKind.ListConstructor]:12,[at.CompletionItemKind.MapConstructor]:12,[at.CompletionItemKind.Literal]:12,[at.CompletionItemKind.Unknown]:12},J$=t=>Y$[t]??6;ta.getCompletionItemKind=J$;var Q$={[at.CompletionItemKind.Constant]:14,[at.CompletionItemKind.Internal]:14,[at.CompletionItemKind.InternalFunction]:14,[at.CompletionItemKind.InternalProperty]:14,[at.CompletionItemKind.Variable]:13,[at.CompletionItemKind.Property]:13,[at.CompletionItemKind.Expression]:13,[at.CompletionItemKind.Function]:12,[at.CompletionItemKind.ListConstructor]:18,[at.CompletionItemKind.MapConstructor]:19,[at.CompletionItemKind.Literal]:13,[at.CompletionItemKind.Unknown]:13},Z$=t=>Q$[t]??13;ta.getSymbolItemKind=Z$});var DO=m(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.CompletionListBuilder=void 0;var eB=Tv(),wv=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[n,r]of this.collection)e.push({label:n,kind:(0,eB.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};Gd.CompletionListBuilder=wv});var Vd=m(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.findEx=na.ScraperWalker=void 0;var tB=Ee(),nB=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},zd=class{constructor(e,n={}){this.map=Object.assign(nB(this.visit.bind(this)),n),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,n=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let r=this.callback(e,n);if(r!=null&&Object.assign(this.state,r),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i?.call(this,e,n+1)}};na.ScraperWalker=zd;function rB(t,e){let n=[];return new zd((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==tB.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}na.findEx=rB});var Ev=m(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.lookupBase=gn.lookupIdentifier=gn.lookupScopes=gn.lookupRootScope=void 0;var Ti=Ee(),iB=t=>{let e=t;for(;e.scope;)e=e.scope;return e};gn.lookupRootScope=iB;var sB=t=>{if(!t.scope)return[t];let e=(0,gn.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};gn.lookupScopes=sB;var oB=t=>{switch(t.type){case Ti.ASTType.CallStatement:return(0,gn.lookupIdentifier)(t.expression);case Ti.ASTType.CallExpression:return(0,gn.lookupIdentifier)(t.base);case Ti.ASTType.Identifier:return t;case Ti.ASTType.MemberExpression:return(0,gn.lookupIdentifier)(t.identifier);case Ti.ASTType.IndexExpression:return(0,gn.lookupIdentifier)(t.index);default:return null}};gn.lookupIdentifier=oB;var aB=(t=null)=>{switch(t?.type){case Ti.ASTType.MemberExpression:return t.base;case Ti.ASTType.IndexExpression:return t.base;case Ti.ASTType.CallExpression:return t.base;case Ti.ASTType.SliceExpression:return t.base;default:return null}};gn.lookupBase=aB});var ia=m(Jr=>{"use strict";var uB=Jr&&Jr.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),cB=Jr&&Jr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lB=Jr&&Jr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&uB(e,t,n);return cB(e,t),e};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.LookupHelper=void 0;var hB=xn(),IO=Ee(),ra=ea(),dB=lB(Vd()),fB=Ev(),xv=class{constructor(e,n){this.document=e,this.context=n,this.mergedTypeMap=null}async getTypeMap(){return this.mergedTypeMap==null&&(this.mergedTypeMap=await this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap}async findAllAssignmentsOfIdentifier(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)}async findAllAssignmentsOfItem(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)}async findAllAvailableIdentifierInRoot(){let e=await this.getTypeMap();return e==null?new Map:e.getRootScopeContext().scope.getAvailableIdentifier()}async findAllAvailableIdentifier(e){let n=await this.getTypeMap();if(n==null)return new Map;let r=n.getScopeContext(e);return r==null?new Map:r.scope.getAvailableIdentifier()}async findAllAvailableIdentifierRelatedToPosition(e){let n=await this.getTypeMap(),r=new Map;if(n==null)return r;for(let a of n.container.getAvailableIdentifier(hB.SignatureDefinitionBaseType.General))r.set(...a);let i=n.getScopeContext(e.scope);if(i==null)return r;i.scope.isSelfAvailable()&&r.set("self",{kind:ra.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&r.set("super",{kind:ra.CompletionItemKind.Constant,line:-1});let s=new Map;(0,ra.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([a,u])=>({identifier:a,...u})).sort((a,u)=>a.line-u.line);for(let a=0;a<o.length;a++){let u=o[a];if(u.line>=e.end.line)break;r.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,ra.injectIdentifers)(r,i.scope.globals),i.scope.outer&&(0,ra.injectIdentifers)(r,i.scope.outer),r}async lookupAST(e){let n=this,s=(await this.context.documentManager.getLatest(n.document)).document.lines[e.line+1];if(!s)return null;for(let o=0;o<s.length;o++){let a=s[o],u=dB.findEx((l,h)=>{let d=l.start.line-1,g=l.start.character-1,y=l.end.line-1,b=l.end.character-1;return d>e.line?{exit:!0}:d<y?{valid:e.line>d&&e.line<y||e.line===d&&g<=e.character||e.line===y&&b>=e.character}:{valid:d<=e.line&&g<=e.character&&y>=e.line&&b>=e.character}},a),c=u.pop();if(c)return{closest:c,outer:u}}return null}async lookupBasePath(e){let n=await this.getTypeMap();if(n===null)return null;let r=(0,fB.lookupBase)(e);return r?n.resolveNamespace(r):null}async lookupTypeInfo({closest:e,outer:n}){let r=await this.getTypeMap();if(r===null)return null;let i=n.length>0?n[n.length-1]:void 0;return i?.type===IO.ASTType.MemberExpression&&e===i.identifier||i?.type===IO.ASTType.IndexExpression&&e===i.index&&(0,ra.isValidIdentifierLiteral)(e)?r.resolveType(i,!0):r.resolveType(e,!0)}async lookupType(e){let n=this,r=await n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};Jr.LookupHelper=xv});var MO=m(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.AVAILABLE_CONSTANTS=void 0;Kd.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var LO=m(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.AVAILABLE_KEYWORDS=void 0;var sa=Yr(),an=Ee();Xd.AVAILABLE_KEYWORDS=[an.Keyword.If,an.Keyword.In,an.Keyword.Or,an.Keyword.And,an.Keyword.Isa,an.Keyword.For,an.Keyword.New,an.Keyword.Not,an.Keyword.End,an.Keyword.Then,an.Keyword.Else,an.Keyword.Break,an.Keyword.While,an.Keyword.Return,an.Keyword.Function,an.Keyword.Continue,sa.GreybelKeyword.Envar,sa.GreybelKeyword.Import,sa.GreybelKeyword.Include,sa.GreybelKeyword.Debugger,sa.GreybelKeyword.Line,sa.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var NO=m(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});Yd.AVAILABLE_OPERATORS=void 0;var Wu=Qo(),Ut=Ee();Yd.AVAILABLE_OPERATORS=[Ut.Operator.Plus,Ut.Operator.Asterik,Ut.Operator.Minus,Ut.Operator.Slash,Ut.Operator.Power,Ut.Operator.Modulo,Ut.Operator.LessThan,Ut.Operator.GreaterThan,Ut.Operator.LessThanOrEqual,Ut.Operator.GreaterThanOrEqual,Ut.Operator.NotEqual,Ut.Operator.Equal,Ut.Operator.AddShorthand,Ut.Operator.SubtractShorthand,Ut.Operator.MultiplyShorthand,Ut.Operator.DivideShorthand,Wu.Operator.BitwiseAnd,Wu.Operator.BitwiseOr,Wu.Operator.LeftShift,Wu.Operator.RightShift,Wu.Operator.UnsignedRightShift,Ut.Operator.Assign,Ut.Operator.Reference].map(t=>({label:t,kind:24}))});var jO=m(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.activate=ar.getDefaultCompletionList=ar.getPropertyCompletionList=void 0;var qO=Ee(),pB=DO(),gB=ia(),mB=MO(),yB=LO(),bB=NO(),_B=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?null:n.getAvailableIdentifier()};ar.getPropertyCompletionList=_B;var vB=()=>[...yB.AVAILABLE_KEYWORDS,...bB.AVAILABLE_OPERATORS,...mB.AVAILABLE_CONSTANTS];ar.getDefaultCompletionList=vB;function SB(t){t.connection.onCompletion(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new gB.LookupHelper(r.textDocument,t),s=await i.lookupAST(e.position),o=new pB.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof qO.ASTMemberExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):a instanceof qO.ASTIndexExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):(o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierInRoot());return o.build()}),t.connection.onCompletionResolve(e=>e)}ar.activate=SB});var $O=m((jK,FO)=>{"use strict";FO.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Av=m((FK,WO)=>{var Uu=$O(),BO={};for(let t of Object.keys(Uu))BO[Uu[t]]=t;var te={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};WO.exports=te;for(let t of Object.keys(te)){if(!("channels"in te[t]))throw new Error("missing channels property: "+t);if(!("labels"in te[t]))throw new Error("missing channel labels property: "+t);if(te[t].labels.length!==te[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=te[t];delete te[t].channels,delete te[t].labels,Object.defineProperty(te[t],"channels",{value:e}),Object.defineProperty(te[t],"labels",{value:n})}te.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,u;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?u=0:c<=.5?u=o/(s+i):u=o/(2-s-i),[a,u*100,c*100]};te.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,u=t[2]/255,c=Math.max(o,a,u),l=c-Math.min(o,a,u),h=function(d){return(c-d)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=h(o),n=h(a),r=h(u),o===c?i=r-n:a===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};te.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};te.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function TB(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}te.rgb.keyword=function(t){let e=BO[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Uu)){let s=Uu[i],o=TB(t,s);o<n&&(n=o,r=i)}return r};te.keyword.rgb=function(t){return Uu[t]};te.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};te.rgb.lab=function(t){let e=te.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};te.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,u=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,u[c]=o*255;return u};te.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};te.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),u=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};te.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};te.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let u=n+s*(a-n),c,l,h;switch(o){default:case 6:case 0:c=a,l=u,h=n;break;case 1:c=u,l=a,h=n;break;case 2:c=n,l=a,h=u;break;case 3:c=n,l=u,h=a;break;case 4:c=u,l=n,h=a;break;case 5:c=a,l=n,h=u;break}return[c*255,l*255,h*255]};te.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};te.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};te.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};te.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=s**3,u=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};te.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};te.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};te.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?te.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};te.hsv.ansi16=function(t){return te.rgb.ansi16(te.hsv.rgb(t),t[2])};te.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};te.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};te.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};te.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};te.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};te.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,u;return o<1?a=s/(1-o):a=0,o<=0?u=0:i===e?u=(n-r)/o%6:i===n?u=2+(r-e)/o:u=4+(e-n)/o,u/=6,u%=1,[u*360,o*100,a*100]};te.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};te.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};te.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-n)*r,[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};te.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};te.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};te.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};te.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};te.gray.hsl=function(t){return[0,0,t[0]]};te.gray.hsv=te.gray.hsl;te.gray.hwb=function(t){return[0,100,t[0]]};te.gray.cmyk=function(t){return[0,0,0,t[0]]};te.gray.lab=function(t){return[t[0],0,0]};te.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};te.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var HO=m(($K,UO)=>{var Jd=Av();function wB(){let t={},e=Object.keys(Jd);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function EB(t){let e=wB(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(Jd[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],u=e[a];u.distance===-1&&(u.distance=e[r].distance+1,u.parent=r,n.unshift(a))}}return e}function xB(t,e){return function(n){return e(t(n))}}function AB(t,e){let n=[e[t].parent,t],r=Jd[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=xB(Jd[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}UO.exports=function(t){let e=EB(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=AB(o,e))}return n}});var zO=m((BK,GO)=>{var kv=Av(),kB=HO(),oa={},CB=Object.keys(kv);function OB(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function RB(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}CB.forEach(t=>{oa[t]={},Object.defineProperty(oa[t],"channels",{value:kv[t].channels}),Object.defineProperty(oa[t],"labels",{value:kv[t].labels});let e=kB(t);Object.keys(e).forEach(r=>{let i=e[r];oa[t][r]=RB(i),oa[t][r].raw=OB(i)})});GO.exports=oa});var KO=m(aa=>{"use strict";var PB=aa&&aa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(aa,"__esModule",{value:!0});aa.activate=void 0;var Cv=PB(zO()),DB=Ee(),VO;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(VO||(VO={}));var Ov={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},IB=()=>new RegExp(`(?:mark|color)=(${Object.keys(Ov).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),MB=Object.prototype.hasOwnProperty;function LB(t){t.connection.onColorPresentation(e=>[{label:`#${Cv.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(await t.documentManager.getLatest(n)).document.literals.filter(u=>u.type===DB.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:h,lineIndex:d})=>{let g=u.index+c.indexOf("=")+1,y=g+l.length,b=h.line-1+d,C=g,A=y;return d===0&&(C+=h.character,A+=h.character),{start:{line:b,character:C},end:{line:b,character:A}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,h=c.value.toString().split(`
113
+ `)}resolveFunctionStatement(e){let n=this.createFunctionDescription(e),r=Se.SignatureDefinitionFunction.parse({type:Se.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(i=>{if(i.type===Ce.ASTType.Identifier)return{label:i.name??"unknown",type:Se.SignatureDefinitionBaseType.Any};let s=i;return{label:s.variable?.name??"unknown",types:Array.from(this.resolveTypeWithDefault(s.init).types)}}),returns:["any"]});return this.factory(Te.CompletionItemKind.Function).addType(Se.SignatureDefinitionBaseType.Function).addSignatureType((0,w$.enrichWithMetaInformation)(r)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let n=this.factory(Te.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),r=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return n.extend(r),n.extend(i),n}resolveLogicalExpression(e){return this.factory(Te.CompletionItemKind.Expression).setLabel("Logical Expr").addType(Se.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(Te.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(Se.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(Te.CompletionItemKind.Expression).setLabel("Isa Expr").addType(Se.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let n=this.resolveNamespace(e);return n===null?this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveCallExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveUnaryExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMapConstructorExpression(e){let n=this.factory(Te.CompletionItemKind.MapConstructor).addType(Se.SignatureDefinitionBaseType.Map);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.resolveTypeWithDefault(i.value).setLine(i.start.line);if(i.key.type===Ce.ASTType.StringLiteral){let o=i.key.value.toString();n.setProperty(o,s),n.values.get(`${bO.PropertyType.Identifier}:${o}`)?.definitions.push({source:this._document.source,node:i})}else{let o=this.resolveTypeWithDefault(i.key).setLine(i.start.line);n.setProperty(o,s)}}return this.createCustomTypeFromMap(e,n),n.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let n=this.factory(Te.CompletionItemKind.ListConstructor).addType(Se.SignatureDefinitionBaseType.List);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);n.setProperty(s,o)}return n.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line):n.setLine(e.start.line)}resolveIndexExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMemberExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Te.CompletionItemKind.Property).addType(Se.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):r}resolveIdentifier(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(Te.CompletionItemKind.Property).addType(Se.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):r}resolveType(e,n=!1){if(e==null)return null;switch(e.type){case Ce.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case Ce.ASTType.CallStatement:return this.resolveCallStatement(e);case Ce.ASTType.CallExpression:return this.resolveCallExpression(e);case Ce.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case Ce.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case Ce.ASTType.IsaExpression:return this.resolveIsaExpression(e);case Ce.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case Ce.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case Ce.ASTType.SliceExpression:return this.resolveSliceExpression(e);case Ce.ASTType.IndexExpression:return this.resolveIndexExpression(e,n);case Ce.ASTType.MemberExpression:return this.resolveMemberExpression(e,n);case Ce.ASTType.Identifier:return this.resolveIdentifier(e,n);case Ce.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case Ce.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case Ce.ASTType.NegationExpression:case Ce.ASTType.BinaryNegatedExpression:case Ce.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case Ce.ASTType.NilLiteral:return this.factory(Te.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case Ce.ASTType.StringLiteral:{let r=e.value.toString();return this.factory(Te.CompletionItemKind.Literal).addType(Se.SignatureDefinitionBaseType.String).setLabel(`"${r.length>20?r.substr(0,20)+"...":r}"`).setLine(e.start.line)}case Ce.ASTType.NumericLiteral:case Ce.ASTType.BooleanLiteral:{let r=e.value.toString();return this.factory(Te.CompletionItemKind.Literal).addType(Se.SignatureDefinitionBaseType.Number).setLabel(r).setLine(e.start.line)}case Bu.ASTType.FeatureFileExpression:return this.factory(Te.CompletionItemKind.Expression).addType(Se.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case Bu.ASTType.FeatureLineExpression:return this.factory(Te.CompletionItemKind.Expression).addType(Se.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case Bu.ASTType.FeatureEnvarExpression:return this.factory(Te.CompletionItemKind.Expression).addType(Se.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case Bu.ASTType.FeatureInjectExpression:return this.factory(Te.CompletionItemKind.Expression).addType(Se.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,n=!1){let r=this.resolveType(e,n);if(r==null){let i=this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return r}resolveChain(e,n=!1,r=!1){if(e.length===0)return null;let i=new $d(this,e,n,r),s=null,o=i.next();for(;!o.done;)s=o.value,o=i.next();return s}setEntityInPath(e,n,r){let i=e;for(let s=0;s<n.length-1;s++){let o=n[s],a=i.resolveProperty(o);if(a==null){let u=this.factory(Te.CompletionItemKind.Property).addType(Se.SignatureDefinitionBaseType.Map).setLabel(o);i.setProperty(o,u),a=u}i=a}return i.setProperty(n[n.length-1],r)}getEntityInPath(e,n){let r=e;for(let i=0;i<n.length;i++){let s=n[i],o=r.resolveProperty(s);if(o==null)return null;r=o}return r}resolveNamespace(e,n=!1){let r=(0,vO.createResolveChain)(e);return this.resolveChain(r,n)}defineProperty(e,n,r){let i=e.setProperty(n,r);return this._lastModifiedProperty=e.resolveProperty(n,!0),i}defineNamespace(e,n){let r=(0,vO.createResolveChain)(e),i=r.pop();if(this._lastModifiedProperty=null,r.length>0){let o=this.resolveChain(r,!1,!0);if(o===null)return!1;if((0,Gs.isResolveChainItemWithMember)(i))return this.defineProperty(o,i.getter.name,n);if((0,Gs.isResolveChainItemWithIndex)(i)){if((0,wO.isValidIdentifierLiteral)(i.getter))return this.defineProperty(o,i.getter.value.toString(),n);{let a=this.resolveTypeWithDefault(i.getter);return this.defineProperty(o,a,n)}}return!1}let s=this._scope;return(0,Gs.isResolveChainItemWithIdentifier)(i)?this.defineProperty(s,i.getter.name,n):!1}addDefinition(e,n){this._lastModifiedProperty?.definitions.push({source:this._document.source,node:e});let r=(0,_O.createExpressionId)(n),i=this._definitions;r.startsWith("globals.")?(i=this._document.getRootScopeContext().aggregator.definitions,r=r.slice(8)):r.startsWith("locals.")?(i=this._definitions,r=r.slice(7)):r.startsWith("outer.")&&(i=this.parent.definitions,r=r.slice(6));let s=i.get(r);s?s.push({source:this._document.source,node:e}):i.set(r,[{source:this._document.source,node:e}])}resolveAvailableAssignmentsWithQuery(e){let n=[];return new Set([this,this._parent,this._document.getRootScopeContext().aggregator]).forEach(i=>{let s=i.definitions;s.forEach((o,a)=>{if(a.includes(e)){let u=s.get(a);(0,SO.merge)(n,u)}})}),n}resolveAvailableAssignments(e){let n=(0,_O.createExpressionId)(e),r=this;n.startsWith("globals.")?(r=this._document.getRootScopeContext().aggregator,n=n.slice(8)):n.startsWith("locals.")?(r=this,n=n.slice(7)):n.startsWith("outer.")&&(r=this.parent,n=n.slice(6));let i=[];return new Set([r,r._parent,r._document.getRootScopeContext().aggregator]).forEach(o=>{if(o==null)return;let a=o.resolveNamespace(e,!0);a!=null&&(0,SO.merge)(i,a.definitions)}),i}resolveCommentDefinition(e){let n=this.resolveRelatedCommentLines(e);if(n!=null){let r=n.join(`
114
+ `),i=(0,x$.parseAssignDescription)(r);if(i!=null)return this.factory(Te.CompletionItemKind.Variable).addTypesWithMeta(i.type)}return null}analyzeAssignmentDefinition(e){let n=this.resolveCommentDefinition(e.init)?.setLine(e.start.line)??this.resolveType(e.init)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.variable,n),this.addDefinition(e,e.variable)}analyzeForDefinition(e){let n=this.resolveType(e.iterator)?.copy({source:this._document.source}).setLine(e.start.line)??this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line),r=this.factory(Te.CompletionItemKind.Variable).setLine(e.start.line);if(n.types.has(Se.SignatureDefinitionBaseType.List)){let o=n.values.get(`${bO.PropertyType.Type}:number`);o!=null&&r.extend(o)}if(n.types.has(Se.SignatureDefinitionBaseType.String)&&r.addType(Se.SignatureDefinitionBaseType.String),n.types.has(Se.SignatureDefinitionBaseType.Map)){let o=this.factory(Te.CompletionItemKind.Variable).addTypes(n.getPropertyTypes()).setLine(e.start.line),a=this.factory(Te.CompletionItemKind.Property).addTypes(n.getValueTypes()).setLine(e.start.line);r.addType(Se.SignatureDefinitionBaseType.Map),r.setProperty("key",o),r.setProperty("value",a)}r.types.size===0&&r.addType(Se.SignatureDefinitionBaseType.Any),this.defineNamespace(e.variable,r),this.addDefinition(e,e.variable);let i=this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Number).setLine(e.start.line),s=new Ce.ASTIdentifier({name:`__${e.variable.name}_idx`,kind:Ce.ASTIdentifierKind.Variable,range:e.range,start:e.start,end:e.end});this.defineNamespace(s,i),this.addDefinition(e,s)}analyzeImportDefinition(e){let n=e.name,r=this.scope.resolveProperty(n.name,!0);if(r!=null){this._lastModifiedProperty=r,this.addDefinition(e,e.name);return}let i=this.factory(Te.CompletionItemKind.Variable).addType(Se.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.name,i),this.addDefinition(e,e.name)}analyze(){for(let e=0;e<this._root.definitions.length;e++){let n=this._root.definitions[e];switch(n.type){case Ce.ASTType.AssignmentStatement:{this.analyzeAssignmentDefinition(n);break}case Ce.ASTType.ForGenericStatement:{this.analyzeForDefinition(n);break}case Bu.ASTType.FeatureImportExpression:{this.analyzeImportDefinition(n);break}}}}extend(e){e.definitions.forEach((n,r)=>{let i=this.definitions.get(r);i?(0,E$.mergeUnique)(i,n):this.definitions.set(r,n)})}};Zo.Aggregator=hv});var pv=m(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.Document=void 0;var vi=xn(),C$=Ee(),EO=qs(),O$=cv(),xO=dv(),AO=Yo(),kO=W_(),fv=class t{get source(){return this._source}get root(){return this._root}get container(){return this._container}get intrinsics(){return this._intrinscis}get globals(){return this._globals}get api(){return this._api}constructor(e){this._source=e.source,this._root=e.root,this._container=e.container,this._scopeMapping=e.scopeMapping??new WeakMap,this._intrinscis=e.intrinsics??this.createIntrinscis(),this._api=e.api??this.initApi(),this._globals=e.globals??this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(vi.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(vi.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(vi.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(vi.SignatureDefinitionBaseType.String),list:this._container.primitives.get(vi.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(vi.SignatureDefinitionBaseType.General);return e.resolveProperty("map",!0).setReturnEntity(this._intrinscis.map),e.resolveProperty("funcRef",!0).setReturnEntity(this._intrinscis.funcRef),e.resolveProperty("number",!0).setReturnEntity(this._intrinscis.number),e.resolveProperty("string",!0).setReturnEntity(this._intrinscis.string),e.resolveProperty("list",!0).setReturnEntity(this._intrinscis.list),e}initGlobals(){return new AO.Entity({source:this._source,kind:EO.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(vi.SignatureDefinitionBaseType.Map)}analyzeScope(e){let n=this._scopeMapping.get(e.scope),r=new kO.Scope({source:this._source,container:this._container,parent:n?.scope,globals:this._globals}),i=new xO.Aggregator({scope:r,root:e,document:this,parent:n?.aggregator});this._scopeMapping.set(e,{scope:r,aggregator:i});let s=e.assignment instanceof C$.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s?.context;o!=null&&o.types.has(vi.SignatureDefinitionBaseType.Map)&&o!==this._globals&&r.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let a=o.getArguments();for(let u=0;u<a.length;u++){let c=a[u],l=r.resolveProperty(c.getLabel(),!0),h=c.getTypes();l===null?r.setProperty(c.getLabel(),new AO.Entity({source:this._source,kind:EO.CompletionItemKind.Variable,container:this._container}).addTypesWithMeta(h)):(l.types.delete(vi.SignatureDefinitionBaseType.Any),l.addTypesWithMeta(h))}}}}analyze(){let e=new kO.Scope({source:this._source,container:this._container,globals:this._globals,locals:this._globals}),n=new xO.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:n}),n.analyze();for(let r=0;r<this._root.scopes.length;r++){let i=this._root.scopes[r];this.analyzeScope(i)}}getRootScopeContext(){return this._scopeMapping.get(this._root)}getAllScopeContexts(){return[this._root,...this._root.scopes].map(e=>this._scopeMapping.get(e))}getScopeContext(e){return this._scopeMapping.get(e)??null}getLastASTItemOfLine(e){let n=this._root.lines[e];if(!n||n.length===0)return null;let r=n[0];for(let i=1;i<n.length;i++){let s=n[i];(s.start.line>r.start.line||s.start.line===r.start.line&&s.start.character>r.start.character)&&(r=s)}return r}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let n=[],r=[this._root,...this._root.scopes];for(let i=0;i<r.length;i++){let o=this._scopeMapping.get(r[i]).aggregator.definitions;o.forEach((a,u)=>{if(u.includes(e)){let c=o.get(u);(0,O$.merge)(n,c)}})}return n}resolveAvailableAssignments(e){return this._scopeMapping.get(e.scope)?.aggregator.resolveAvailableAssignments(e)??[]}resolveType(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveType(e,n)??null}resolveTypeWithDefault(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveTypeWithDefault(e,n)}resolveNamespace(e,n=!1){return this._scopeMapping.get(e.scope)?.aggregator.resolveNamespace(e,n)??null}merge(...e){let n=new t({source:this._source,root:this._root,container:this._container.copy()});for(let r=0;r<e.length;r++){let i=e[r];n._globals.extend(i._globals,!0,!0),n._intrinscis.map.extend(i._intrinscis.map,!0,!0),n._intrinscis.funcRef.extend(i._intrinscis.funcRef,!0,!0),n._intrinscis.number.extend(i._intrinscis.number,!0,!0),n._intrinscis.string.extend(i._intrinscis.string,!0,!0),n._intrinscis.list.extend(i._intrinscis.list,!0,!0),n._container.mergeCustomTypes(i._container)}n.analyze();for(let r=0;r<e.length;r++){let i=e[r];n.getRootScopeContext().aggregator.extend(i.getRootScopeContext().aggregator)}return n}};Bd.Document=fv});var bv=m(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.ContainerProxy=void 0;var Ar=xn(),gv=js(),Si=Yo(),CO=qs(),OO=ku(),mv=kd(),yv=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){this._container=e.container,this._primitives=e.primitives??this.createPrimitives(),this._types=e.types??this.createTypes(),this._customTypes=new Set}createPrimitives(){let e=new Map;return this._container.getPrimitives().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:CO.CompletionItemKind.Internal,container:this,isAPI:r===Ar.SignatureDefinitionBaseType.General}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}createTypes(){let e=new Map;return this._container.getTypes().forEach((n,r)=>{let i=new Si.Entity({source:"internal",kind:CO.CompletionItemKind.Internal,container:this}).addType(Ar.SignatureDefinitionBaseType.Map).insertSignature(n);e.set(r,i)}),e}setCustomType(e,n){this._types.has(e)||(this._types.set(e,n),this._customTypes.add(e))}mergeCustomTypes(e){e._customTypes.forEach(n=>{let r=e._types.get(n);r!=null&&this.setCustomType(n,r.copy({deepCopy:!0}))})}getTypeSignature(e){return this._primitives.get(e)??this._types.get(e)??null}searchDefinitionMatches(e,n){if(typeof e=="string")return this.searchDefinitionMatches([e],n);let r=e.includes(Ar.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;return r.forEach(s=>{let o=this.getTypeSignature(s);if(o===null)return;let a=(0,mv.lookupProperty)(gv.PropertyType.Identifier,o,n);a!==null&&i.set(s,a)}),i}getDefinition(e,n,r=!1){if(typeof e=="string")return this.getDefinition([e],n);let i=(0,mv.lookupProperty)(gv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.Any),n);if(e.includes(Ar.SignatureDefinitionBaseType.Any)&&i)return Si.Entity.resolveEntity(this,i,r);let s=this.searchDefinitionMatches(e,n);if(s.size===0)return null;if(s.size===1)return Si.Entity.resolveEntity(this,s.values().next().value,r);if(s.has(Ar.SignatureDefinitionBaseType.Any))return Si.Entity.resolveEntity(this,s.get(Ar.SignatureDefinitionBaseType.Any),r);if(i!==null)return Si.Entity.resolveEntity(this,i,r);let o=s.values().next().value,a=new Si.Entity({source:"internal",label:n,kind:o.kind,container:this});return s.forEach(u=>{let c=Si.Entity.resolveEntity(this,u,r);a.extend(c,!0,!0)}),a}getGeneralDefinition(e,n=!1){let r=(0,mv.lookupProperty)(gv.PropertyType.Identifier,this._primitives.get(Ar.SignatureDefinitionBaseType.General),e);return r==null?null:Si.Entity.resolveEntity(this,r,n)}injectTypeIdentifiers(e,n){let r=this.getTypeSignature(n);if(r!=null&&((0,OO.injectIdentifers)(e,r),this._types.has(n))){let i=this._primitives.get(Ar.SignatureDefinitionBaseType.Map);(0,OO.injectIdentifers)(e,i)}}getAvailableIdentifier(e){let n=new Map;if(e===Ar.SignatureDefinitionBaseType.Any){let r=this._container.getAllVisibleTypes();for(let i=0;i<r.length;i++)this.injectTypeIdentifiers(n,r[i]);return n}return this.injectTypeIdentifiers(n,e),n}copy(){return new t({container:this._container})}};Wd.ContainerProxy=yv});var RO=m(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.TypeManager=void 0;var R$=pv(),P$=bv(),_v=class{constructor(e){this._container=new P$.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,n){let r=new R$.Document({source:e,container:this._container.copy(),root:n});try{r.analyze()}catch(i){console.error(i)}return this._types.set(e,r),r}get(e){return this._types.get(e)??null}};Ud.TypeManager=_v});var ea=m(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.TypeManager=Q.ContainerProxy=Q.Document=Q.Aggregator=Q.Scope=Q.Entity=Q.aggregateEntity=Q.lookupProperty=Q.isEligibleForProperties=Q.injectIdentifers=Q.isSignatureDefinitionFunction=Q.isResolveChainItemWithValue=Q.isResolveChainItemWithMember=Q.isResolveChainItemWithIndex=Q.isResolveChainItemWithIdentifier=Q.IsaPropertyPattern=Q.IdentifierPropertyPattern=Q.PropertyType=Q.CompletionItemKind=Q.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=Q.ObjectSetIterator=Q.ObjectSet=Q.rotateBits=Q.getStringHashCode=Q.getHashCode=Q.createResolveChain=Q.enrichWithMetaInformation=Q.createExpressionId=Q.createExpressionHash=Q.isValidIdentifierLiteral=void 0;var D$=au();Object.defineProperty(Q,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return D$.isValidIdentifierLiteral}});var I$=IA();Object.defineProperty(Q,"createExpressionHash",{enumerable:!0,get:function(){return I$.createExpressionHash}});var M$=_b();Object.defineProperty(Q,"createExpressionId",{enumerable:!0,get:function(){return M$.createExpressionId}});var L$=k_();Object.defineProperty(Q,"enrichWithMetaInformation",{enumerable:!0,get:function(){return L$.enrichWithMetaInformation}});var N$=C_();Object.defineProperty(Q,"createResolveChain",{enumerable:!0,get:function(){return N$.createResolveChain}});var vv=bb();Object.defineProperty(Q,"getHashCode",{enumerable:!0,get:function(){return vv.getHashCode}});Object.defineProperty(Q,"getStringHashCode",{enumerable:!0,get:function(){return vv.getStringHashCode}});Object.defineProperty(Q,"rotateBits",{enumerable:!0,get:function(){return vv.rotateBits}});var PO=D_();Object.defineProperty(Q,"ObjectSet",{enumerable:!0,get:function(){return PO.ObjectSet}});Object.defineProperty(Q,"ObjectSetIterator",{enumerable:!0,get:function(){return PO.ObjectSetIterator}});var q$=I_();Object.defineProperty(Q,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return q$.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var j$=qs();Object.defineProperty(Q,"CompletionItemKind",{enumerable:!0,get:function(){return j$.CompletionItemKind}});var Sv=js();Object.defineProperty(Q,"PropertyType",{enumerable:!0,get:function(){return Sv.PropertyType}});Object.defineProperty(Q,"IdentifierPropertyPattern",{enumerable:!0,get:function(){return Sv.IdentifierPropertyPattern}});Object.defineProperty(Q,"IsaPropertyPattern",{enumerable:!0,get:function(){return Sv.IsaPropertyPattern}});var Hd=L_();Object.defineProperty(Q,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithIdentifier}});Object.defineProperty(Q,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithIndex}});Object.defineProperty(Q,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithMember}});Object.defineProperty(Q,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return Hd.isResolveChainItemWithValue}});var F$=N_();Object.defineProperty(Q,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return F$.isSignatureDefinitionFunction}});var $$=ku();Object.defineProperty(Q,"injectIdentifers",{enumerable:!0,get:function(){return $$.injectIdentifers}});var B$=xd();Object.defineProperty(Q,"isEligibleForProperties",{enumerable:!0,get:function(){return B$.isEligibleForProperties}});var W$=kd();Object.defineProperty(Q,"lookupProperty",{enumerable:!0,get:function(){return W$.lookupProperty}});var U$=q_();Object.defineProperty(Q,"aggregateEntity",{enumerable:!0,get:function(){return U$.aggregateEntity}});var H$=Yo();Object.defineProperty(Q,"Entity",{enumerable:!0,get:function(){return H$.Entity}});var G$=W_();Object.defineProperty(Q,"Scope",{enumerable:!0,get:function(){return G$.Scope}});var z$=dv();Object.defineProperty(Q,"Aggregator",{enumerable:!0,get:function(){return z$.Aggregator}});var V$=pv();Object.defineProperty(Q,"Document",{enumerable:!0,get:function(){return V$.Document}});var K$=bv();Object.defineProperty(Q,"ContainerProxy",{enumerable:!0,get:function(){return K$.ContainerProxy}});var X$=RO();Object.defineProperty(Q,"TypeManager",{enumerable:!0,get:function(){return X$.TypeManager}})});var Tv=m(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.getSymbolItemKind=ta.getCompletionItemKind=void 0;var at=ea(),Y$={[at.CompletionItemKind.Constant]:21,[at.CompletionItemKind.Internal]:21,[at.CompletionItemKind.InternalFunction]:21,[at.CompletionItemKind.InternalProperty]:21,[at.CompletionItemKind.Property]:6,[at.CompletionItemKind.Variable]:6,[at.CompletionItemKind.Expression]:6,[at.CompletionItemKind.Function]:3,[at.CompletionItemKind.ListConstructor]:12,[at.CompletionItemKind.MapConstructor]:12,[at.CompletionItemKind.Literal]:12,[at.CompletionItemKind.Unknown]:12},J$=t=>Y$[t]??6;ta.getCompletionItemKind=J$;var Q$={[at.CompletionItemKind.Constant]:14,[at.CompletionItemKind.Internal]:14,[at.CompletionItemKind.InternalFunction]:14,[at.CompletionItemKind.InternalProperty]:14,[at.CompletionItemKind.Variable]:13,[at.CompletionItemKind.Property]:13,[at.CompletionItemKind.Expression]:13,[at.CompletionItemKind.Function]:12,[at.CompletionItemKind.ListConstructor]:18,[at.CompletionItemKind.MapConstructor]:19,[at.CompletionItemKind.Literal]:13,[at.CompletionItemKind.Unknown]:13},Z$=t=>Q$[t]??13;ta.getSymbolItemKind=Z$});var DO=m(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.CompletionListBuilder=void 0;var eB=Tv(),wv=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[n,r]of this.collection)e.push({label:n,kind:(0,eB.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};Gd.CompletionListBuilder=wv});var Vd=m(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.findEx=na.ScraperWalker=void 0;var tB=Ee(),nB=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},zd=class{constructor(e,n={}){this.map=Object.assign(nB(this.visit.bind(this)),n),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,n=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let r=this.callback(e,n);if(r!=null&&Object.assign(this.state,r),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i?.call(this,e,n+1)}};na.ScraperWalker=zd;function rB(t,e){let n=[];return new zd((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==tB.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}na.findEx=rB});var Ev=m(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.lookupBase=gn.lookupIdentifier=gn.lookupScopes=gn.lookupRootScope=void 0;var Ti=Ee(),iB=t=>{let e=t;for(;e.scope;)e=e.scope;return e};gn.lookupRootScope=iB;var sB=t=>{if(!t.scope)return[t];let e=(0,gn.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};gn.lookupScopes=sB;var oB=t=>{switch(t.type){case Ti.ASTType.CallStatement:return(0,gn.lookupIdentifier)(t.expression);case Ti.ASTType.CallExpression:return(0,gn.lookupIdentifier)(t.base);case Ti.ASTType.Identifier:return t;case Ti.ASTType.MemberExpression:return(0,gn.lookupIdentifier)(t.identifier);case Ti.ASTType.IndexExpression:return(0,gn.lookupIdentifier)(t.index);default:return null}};gn.lookupIdentifier=oB;var aB=(t=null)=>{switch(t?.type){case Ti.ASTType.MemberExpression:return t.base;case Ti.ASTType.IndexExpression:return t.base;case Ti.ASTType.CallExpression:return t.base;case Ti.ASTType.SliceExpression:return t.base;default:return null}};gn.lookupBase=aB});var ia=m(Jr=>{"use strict";var uB=Jr&&Jr.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),cB=Jr&&Jr.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lB=Jr&&Jr.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&uB(e,t,n);return cB(e,t),e};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.LookupHelper=void 0;var hB=xn(),IO=Ee(),ra=ea(),dB=lB(Vd()),fB=Ev(),xv=class{constructor(e,n){this.document=e,this.context=n,this.mergedTypeMap=null}async getTypeMap(){return this.mergedTypeMap==null&&(this.mergedTypeMap=await this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap}async findAllAssignmentsOfIdentifier(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)}async findAllAssignmentsOfItem(e,n){let r=await this.getTypeMap();if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)}async findAllAvailableIdentifierInRoot(){let e=await this.getTypeMap();return e==null?new Map:e.getRootScopeContext().scope.getAvailableIdentifier()}async findAllAvailableIdentifier(e){let n=await this.getTypeMap();if(n==null)return new Map;let r=n.getScopeContext(e);return r==null?new Map:r.scope.getAvailableIdentifier()}async findAllAvailableIdentifierRelatedToPosition(e){let n=await this.getTypeMap(),r=new Map;if(n==null)return r;for(let a of n.container.getAvailableIdentifier(hB.SignatureDefinitionBaseType.General))r.set(...a);let i=n.getScopeContext(e.scope);if(i==null)return r;i.scope.isSelfAvailable()&&r.set("self",{kind:ra.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&r.set("super",{kind:ra.CompletionItemKind.Constant,line:-1});let s=new Map;(0,ra.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([a,u])=>({identifier:a,...u})).sort((a,u)=>a.line-u.line);for(let a=0;a<o.length;a++){let u=o[a];if(u.line>=e.end.line)break;r.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,ra.injectIdentifers)(r,i.scope.globals),i.scope.outer&&(0,ra.injectIdentifers)(r,i.scope.outer),r}async lookupAST(e){let n=this,s=(await this.context.documentManager.getLatest(n.document)).document.lines[e.line+1];if(!s)return null;for(let o=0;o<s.length;o++){let a=s[o],u=dB.findEx((l,h)=>{let d=l.start.line-1,g=l.start.character-1,y=l.end.line-1,b=l.end.character-1;return d>e.line?{exit:!0}:d<y?{valid:e.line>d&&e.line<y||e.line===d&&g<=e.character||e.line===y&&b>=e.character}:{valid:d<=e.line&&g<=e.character&&y>=e.line&&b>=e.character}},a),c=u.pop();if(c)return{closest:c,outer:u}}return null}async lookupBasePath(e){let n=await this.getTypeMap();if(n===null)return null;let r=(0,fB.lookupBase)(e);return r?n.resolveNamespace(r):null}async lookupTypeInfo({closest:e,outer:n}){let r=await this.getTypeMap();if(r===null)return null;let i=n.length>0?n[n.length-1]:void 0;return i?.type===IO.ASTType.MemberExpression&&e===i.identifier||i?.type===IO.ASTType.IndexExpression&&e===i.index&&(0,ra.isValidIdentifierLiteral)(e)?r.resolveType(i,!0):r.resolveType(e,!0)}async lookupType(e){let n=this,r=await n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};Jr.LookupHelper=xv});var MO=m(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.AVAILABLE_CONSTANTS=void 0;Kd.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var LO=m(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.AVAILABLE_KEYWORDS=void 0;var sa=Yr(),an=Ee();Xd.AVAILABLE_KEYWORDS=[an.Keyword.If,an.Keyword.In,an.Keyword.Or,an.Keyword.And,an.Keyword.Isa,an.Keyword.For,an.Keyword.New,an.Keyword.Not,an.Keyword.End,an.Keyword.Then,an.Keyword.Else,an.Keyword.Break,an.Keyword.While,an.Keyword.Return,an.Keyword.Function,an.Keyword.Continue,sa.GreybelKeyword.Envar,sa.GreybelKeyword.Import,sa.GreybelKeyword.Include,sa.GreybelKeyword.Debugger,sa.GreybelKeyword.Line,sa.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var NO=m(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});Yd.AVAILABLE_OPERATORS=void 0;var Wu=Qo(),Ut=Ee();Yd.AVAILABLE_OPERATORS=[Ut.Operator.Plus,Ut.Operator.Asterik,Ut.Operator.Minus,Ut.Operator.Slash,Ut.Operator.Power,Ut.Operator.Modulo,Ut.Operator.LessThan,Ut.Operator.GreaterThan,Ut.Operator.LessThanOrEqual,Ut.Operator.GreaterThanOrEqual,Ut.Operator.NotEqual,Ut.Operator.Equal,Ut.Operator.AddShorthand,Ut.Operator.SubtractShorthand,Ut.Operator.MultiplyShorthand,Ut.Operator.DivideShorthand,Wu.Operator.BitwiseAnd,Wu.Operator.BitwiseOr,Wu.Operator.LeftShift,Wu.Operator.RightShift,Wu.Operator.UnsignedRightShift,Ut.Operator.Assign,Ut.Operator.Reference].map(t=>({label:t,kind:24}))});var jO=m(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.activate=ar.getDefaultCompletionList=ar.getPropertyCompletionList=void 0;var qO=Ee(),pB=DO(),gB=ia(),mB=MO(),yB=LO(),bB=NO(),_B=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?null:n.getAvailableIdentifier()};ar.getPropertyCompletionList=_B;var vB=()=>[...yB.AVAILABLE_KEYWORDS,...bB.AVAILABLE_OPERATORS,...mB.AVAILABLE_CONSTANTS];ar.getDefaultCompletionList=vB;function SB(t){t.connection.onCompletion(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new gB.LookupHelper(r.textDocument,t),s=await i.lookupAST(e.position),o=new pB.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof qO.ASTMemberExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):a instanceof qO.ASTIndexExpression?o.addCollection(await(0,ar.getPropertyCompletionList)(i,a)):(o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,ar.getDefaultCompletionList)()),o.addCollection(await i.findAllAvailableIdentifierInRoot());return o.build()}),t.connection.onCompletionResolve(e=>e)}ar.activate=SB});var $O=m((jK,FO)=>{"use strict";FO.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Av=m((FK,WO)=>{var Uu=$O(),BO={};for(let t of Object.keys(Uu))BO[Uu[t]]=t;var te={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};WO.exports=te;for(let t of Object.keys(te)){if(!("channels"in te[t]))throw new Error("missing channels property: "+t);if(!("labels"in te[t]))throw new Error("missing channel labels property: "+t);if(te[t].labels.length!==te[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=te[t];delete te[t].channels,delete te[t].labels,Object.defineProperty(te[t],"channels",{value:e}),Object.defineProperty(te[t],"labels",{value:n})}te.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,u;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?u=0:c<=.5?u=o/(s+i):u=o/(2-s-i),[a,u*100,c*100]};te.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,u=t[2]/255,c=Math.max(o,a,u),l=c-Math.min(o,a,u),h=function(d){return(c-d)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=h(o),n=h(a),r=h(u),o===c?i=r-n:a===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};te.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};te.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function TB(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}te.rgb.keyword=function(t){let e=BO[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Uu)){let s=Uu[i],o=TB(t,s);o<n&&(n=o,r=i)}return r};te.keyword.rgb=function(t){return Uu[t]};te.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};te.rgb.lab=function(t){let e=te.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};te.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,u=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,u[c]=o*255;return u};te.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};te.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),u=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};te.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};te.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let u=n+s*(a-n),c,l,h;switch(o){default:case 6:case 0:c=a,l=u,h=n;break;case 1:c=u,l=a,h=n;break;case 2:c=n,l=a,h=u;break;case 3:c=n,l=u,h=a;break;case 4:c=u,l=n,h=a;break;case 5:c=a,l=n,h=u;break}return[c*255,l*255,h*255]};te.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};te.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};te.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};te.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=s**3,u=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};te.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};te.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};te.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?te.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};te.hsv.ansi16=function(t){return te.rgb.ansi16(te.hsv.rgb(t),t[2])};te.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};te.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};te.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};te.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};te.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};te.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,u;return o<1?a=s/(1-o):a=0,o<=0?u=0:i===e?u=(n-r)/o%6:i===n?u=2+(r-e)/o:u=4+(e-n)/o,u/=6,u%=1,[u*360,o*100,a*100]};te.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};te.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};te.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-n)*r,[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};te.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};te.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};te.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};te.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};te.gray.hsl=function(t){return[0,0,t[0]]};te.gray.hsv=te.gray.hsl;te.gray.hwb=function(t){return[0,100,t[0]]};te.gray.cmyk=function(t){return[0,0,0,t[0]]};te.gray.lab=function(t){return[t[0],0,0]};te.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};te.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var HO=m(($K,UO)=>{var Jd=Av();function wB(){let t={},e=Object.keys(Jd);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function EB(t){let e=wB(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(Jd[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],u=e[a];u.distance===-1&&(u.distance=e[r].distance+1,u.parent=r,n.unshift(a))}}return e}function xB(t,e){return function(n){return e(t(n))}}function AB(t,e){let n=[e[t].parent,t],r=Jd[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=xB(Jd[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}UO.exports=function(t){let e=EB(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=AB(o,e))}return n}});var zO=m((BK,GO)=>{var kv=Av(),kB=HO(),oa={},CB=Object.keys(kv);function OB(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function RB(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}CB.forEach(t=>{oa[t]={},Object.defineProperty(oa[t],"channels",{value:kv[t].channels}),Object.defineProperty(oa[t],"labels",{value:kv[t].labels});let e=kB(t);Object.keys(e).forEach(r=>{let i=e[r];oa[t][r]=RB(i),oa[t][r].raw=OB(i)})});GO.exports=oa});var KO=m(aa=>{"use strict";var PB=aa&&aa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(aa,"__esModule",{value:!0});aa.activate=void 0;var Cv=PB(zO()),DB=Ee(),VO;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(VO||(VO={}));var Ov={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},IB=()=>new RegExp(`(?:mark|color)=(${Object.keys(Ov).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),MB=Object.prototype.hasOwnProperty;function LB(t){t.connection.onColorPresentation(e=>[{label:`#${Cv.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(await t.documentManager.getLatest(n)).document.literals.filter(u=>u.type===DB.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:h,lineIndex:d})=>{let g=u.index+c.indexOf("=")+1,y=g+l.length,b=h.line-1+d,C=g,A=y;return d===0&&(C+=h.character,A+=h.character),{start:{line:b,character:C},end:{line:b,character:A}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,h=c.value.toString().split(`
115
115
  `);for(let d=0;d<h.length;d++){let g=h[d],y=IB(),b;for(;b=y.exec(g);){let[C,A]=b,w=a({match:b,markup:C,value:A,astPosition:l,lineIndex:d});if(A.startsWith("#")){let[T,v,L]=Cv.default.hex.rgb(A.slice(1));o.push({range:w,color:{red:T/255,green:v/255,blue:L/255,alpha:1}})}else if(MB.call(Ov,A)){let[T,v,L]=Cv.default.hex.rgb(Ov[A].slice(1));o.push({range:w,color:{red:T/255,green:v/255,blue:L/255,alpha:1}})}else o.push({range:w,color:{red:0,green:0,blue:0,alpha:1}})}}}return o})}aa.activate=LB});var YO=m(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});Qd.activate=void 0;var XO=Ee(),NB=ia(),qB=t=>`${t.targetUri}:${t.targetRange.start.line}:${t.targetRange.start.character}-${t.targetRange.end.line}:${t.targetRange.end.character}`,jB=t=>{let e=t.node,n,r;switch(e.type){case XO.ASTType.ForGenericStatement:{let i=e;n={line:i.variable.start.line-1,character:i.variable.start.character-1},r={line:i.variable.end.line-1,character:i.variable.end.character-1};break}default:n={line:e.start.line-1,character:e.start.character-1},r={line:e.end.line-1,character:e.end.character-1}}return{targetUri:t.source,targetRange:{start:n,end:r},targetSelectionRange:{start:n,end:r}}},FB=async(t,e,n)=>{let r=await t.findAllAssignmentsOfItem(e,n),i=[],s=new Set;for(let o of r){let a=o.node;if(!a.start||!a.end)continue;let u=jB(o),c=qB(u);s.has(c)||(s.add(c),i.push(u))}return i};function $B(t){t.connection.onDefinition(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=new NB.LookupHelper(n,t),i=await r.lookupAST(e.position);if(!i)return;let{outer:s,closest:o}=i,a=s.length>0?s[s.length-1]:void 0,u=o;return a&&a instanceof XO.ASTMemberExpression&&a.identifier===o&&(u=a),await FB(r,u,u.scope)})}Qd.activate=$B});var JO=m(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.activate=void 0;async function BB(t,e){let n=await e.documentManager.getLatest(t);return n.errors.map(r=>{if(r?.range){let i=r.range;return{range:{start:{line:i.start.line-1,character:i.start.character-1},end:{line:i.end.line-1,character:i.end.character-1}},message:r.message,severity:1}}return{range:{start:n.document.start,end:n.document.end},message:r.message,severity:1}})}function WB(t){t.connection.languages.diagnostics.on(async e=>{if(!t.getConfiguration().diagnostic)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await BB(n,t);return r.length===0?{kind:"full",items:[]}:{kind:"full",items:r}})}Zd.activate=WB});var QO=m(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.getStringHashCode=void 0;ef.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var Rv=m(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.createExpressionHash=void 0;var tf=Ee(),ZO=QO(),nf=(t,e)=>t.$$hash=e,UB=t=>{var e;return(e=t.$$hash)!==null&&e!==void 0?e:null};function ua(t){let e=UB(t);if(e!==null)return e;let n=(0,ZO.getStringHashCode)(t.type);switch(t.type){case tf.ASTType.ParenthesisExpression:return ua(t.expression);case tf.ASTType.MemberExpression:{let r=t;return n^=ua(r.base),n^=ua(r.identifier),nf(t,n)}case tf.ASTType.IndexExpression:{let r=t;return n^=ua(r.base),n^=ua(r.index),nf(t,n)}case tf.ASTType.Identifier:{let r=t;return n^=(0,ZO.getStringHashCode)(r.name),nf(t,n)}}return nf(t,n)}function HB(t){return ua(t)}rf.createExpressionHash=HB});var ha=m(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.getLiteralValue=la.getLiteralRawValue=void 0;var ca=Ee(),GB=t=>{switch(t.type){case ca.ASTType.NilLiteral:return"null";case ca.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}case ca.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}default:return t.raw.toString()}};la.getLiteralRawValue=GB;var zB=t=>{switch(t.type){case ca.ASTType.NilLiteral:return"null";case ca.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}case ca.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}default:return t.value.toString()}};la.getLiteralValue=zB});var Dv=m(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.BeautifyBodyIterator=Vs.FILLER_TYPE=void 0;var zs=Ee();Vs.FILLER_TYPE="FILLER";var Pv=class{constructor(e,n){this._base=e,this._items=n.sort((r,i)=>r.range[0]-i.range[0]),this._index=0,this._freeSpaceIndex=0,this._freeSpace=0,this._lastEndLine=0,this._checkedIndexes=new Set,this._previous=null}getBlockOpenerEndLine(e){switch(e.type){case zs.ASTType.IfClause:return e.condition.end.line;case zs.ASTType.WhileStatement:return e.condition.end.line;case zs.ASTType.ForGenericStatement:return e.iterator.end.line;case zs.ASTType.Chunk:return e.start.line-1}return e.start.line}getBlockCloseEndLine(e){switch(e.type){case zs.ASTType.Chunk:return e.end.line+1}return e.end.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===zs.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}getFreeSpaceItem(){let e={line:this._lastEndLine+this._freeSpaceIndex+1,character:0};return this._freeSpaceIndex++,this._freeSpace===this._freeSpaceIndex&&(this._lastEndLine=0,this._freeSpaceIndex=0,this._freeSpace=0),new zs.ASTBase(Vs.FILLER_TYPE,{start:e,end:e,range:[0,0],scope:this._base.scope})}next(){if(this._freeSpace>this._freeSpaceIndex)return{value:this.getFreeSpaceItem(),done:!1};if(this._index>=this._items.length){if(!this._checkedIndexes.has(this._items.length)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(this.getBlockCloseEndLine(this._base)-n-1,0);if(r>0)return this._checkedIndexes.add(this._items.length),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return{value:null,done:!0}}let e=this._items[this._index];if(!this._checkedIndexes.has(this._index)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(e.start.line-n-1,0);if(r>0)return this._checkedIndexes.add(this._index),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return this._index++,this._previous=e,{value:e,done:!1}}};Vs.BeautifyBodyIterator=Pv});var Mv=m(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.BeautifyContext=Xs.IndentationType=void 0;var Ks=Ee(),e1=Dv(),t1;(function(t){t[t.Tab=0]="Tab",t[t.Whitespace=1]="Whitespace"})(t1=Xs.IndentationType||(Xs.IndentationType={}));var Iv=class{get indent(){return this._indent}get isMultilineAllowed(){return this._isMultilineAllowed}constructor(e,n){this.factory=e,this.options=n,this._indent=0,this._stack=[],this._contexts=new Map,this._isMultilineAllowed=!0,this.getIndent=n.indentation===t1.Tab?(r=0)=>" ".repeat(this._indent+r):(r=0)=>" ".repeat(n.indentationSpaces).repeat(this._indent+r)}buildChunkContext(e){let n=new Map,r=Object.keys(e.lines),i=new Set;for(let s=0;s<r.length;s++){let o=Number(r[s]),u=e.lines[o].filter(c=>c.type===Ks.ASTType.Comment);for(let c=0;c<u.length;c++){let l=u[c];if(!i.has(l))if(i.add(l),l.isMultiline){let h=l.value.split(`
116
116
  `);h.forEach((d,g)=>{let y=o+g;n.has(y)||n.set(y,[]);let C=e.lines[y].filter(L=>L.type!==Ks.ASTType.Comment).map(L=>L.start.character),A=C.length>0?Math.min(...C):-1,w=y===o,T=y===o+h.length-1,v=T?l.end.character<A:!1;n.get(y).push({isMultiline:!0,isStart:w,isEnd:T,isBefore:v,value:d})})}else n.has(o)||n.set(o,[]),n.get(o).push({isMultiline:!1,isStart:!1,isEnd:!1,isBefore:!1,value:l.value})}}return{commentBuckets:n}}getChunkContext(e){return this._contexts.get(e)}getCurrentChunk(){return this._stack[this._stack.length-1]}pushStack(e){this._stack.push(e),this._contexts.set(e,this.buildChunkContext(e))}popStack(){this._stack.pop()}disableMultiline(){this._isMultilineAllowed=!1}enableMultiline(){this._isMultilineAllowed=!0}incIndent(){this._indent++}decIndent(){this._indent--}getBlockOpenerEndLine(e){return e instanceof Ks.ASTIfClause||e instanceof Ks.ASTWhileStatement?e.condition.end.line:e instanceof Ks.ASTForGenericStatement?e.iterator.end.line:e instanceof Ks.ASTChunk?e.start.line-1:e.start.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===Ks.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}buildBlock(e){let n=new e1.BeautifyBodyIterator(e,e.body),r=n.next();for(;!r.done;){let i=r.value;if(i.type===e1.FILLER_TYPE){this.factory.pushSegment(this.getIndent()),this.factory.pushComment(i.start.line),this.factory.eol(),r=n.next();continue}this.factory.pushSegment(this.getIndent()),this.factory.process(i,{isCommand:!0}),this.factory.eol(),r=n.next()}}};Xs.BeautifyContext=Iv});var Lv=m(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.commentToText=qt.hasEmptyBody=qt.containsMultilineItemInShortcutClauses=qt.getLastComment=qt.unwrap=qt.countRightBinaryExpressions=qt.SHORTHAND_OPERATORS=void 0;var An=Ee();qt.SHORTHAND_OPERATORS=[An.Operator.Plus,An.Operator.Minus,An.Operator.Asterik,An.Operator.Slash,An.Operator.Modulo,An.Operator.Power];var VB=t=>{if(t=(0,qt.unwrap)(t),t instanceof An.ASTComparisonGroupExpression)return t.expressions.length;let e=[t],n=0;for(;e.length>0;){let r=e.pop();r instanceof An.ASTBinaryExpression&&n++,(r instanceof An.ASTBinaryExpression||r instanceof An.ASTLogicalExpression||r instanceof An.ASTIsaExpression)&&(e.push((0,qt.unwrap)(r.left)),e.push((0,qt.unwrap)(r.right)))}return n};qt.countRightBinaryExpressions=VB;var KB=t=>{for(;t instanceof An.ASTParenthesisExpression;)t=t.expression;return t};qt.unwrap=KB;var XB=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type===An.ASTType.Comment)return n}return null};qt.getLastComment=XB;var YB=(t,e)=>e.some(n=>t.line<n.body[0].end.line);qt.containsMultilineItemInShortcutClauses=YB;var JB=t=>!t.some(e=>!(e instanceof An.ASTComment));qt.hasEmptyBody=JB;var QB=t=>t.isMultiline?t.isStart&&!t.isEnd?"/* "+t.value.trim():!t.isStart&&t.isEnd?t.value.trim()+" */":t.isStart&&t.isEnd?"/* "+t.value.trim()+" */":t.value.trim():"// "+t.value.trim();qt.commentToText=QB});var qv=m(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.Stack=void 0;var Nv=class{constructor(){let e=this;e.currentStack=[]}get(e){let r=this.currentStack;e==null&&(e=0);let i=r.length-e-1;return i<0?null:r[i]}depth(){return this.currentStack.filter(function(e){return Object.prototype.hasOwnProperty.call(e,"body")}).length}lookup(e){let n=this;for(let r=n.currentStack.length-2;r>=0;r--)if(e(n.currentStack[r]))return!0;return!1}push(e){let n=this;return n.currentStack.push(e),n}pop(){let e=this;return e.currentStack.pop(),e}};sf.Stack=Nv});var Hu=m(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});of.Factory=void 0;var ZB=qv(),jv=class{get activeLine(){return this._activeLine}get lines(){return this._lines}get currentStack(){return this._currentStack}get currentDependency(){return this._currentDependency}constructor(e){this.transformer=e,this._activeLine=this.createLine(),this._lines=[],this._currentDependency=null,this._currentStack=new ZB.Stack}pushSegment(e,n){this._activeLine.segments.push(e)}pushComment(e){throw new Error("Not implemented")}createLine(){return{segments:[]}}eol(e){this._lines.push(this._activeLine),this._activeLine=this.createLine()}reset(){this._activeLine=this.createLine(),this._lines=[]}process(e,n={}){let r=this,i=r._currentStack;if(e==null)return;if(e.type==null)throw console.error("Error AST type:",e),new Error("Unexpected AST type");let s=r.handlers[e.type];if(s==null)throw console.error("Error AST:",e),new Error("Type does not exist "+e.type);i.push(e),s.call(this,e,n),i.pop()}};of.Factory=jv});var $v=m(cf=>{"use strict";Object.defineProperty(cf,"__esModule",{value:!0});cf.BeautifyFactory=void 0;var Gu=Ee(),e2=require("path"),n1=Rv(),af=ha(),uf=Dv(),r1=Mv(),kr=Lv(),t2=Hu(),Fv=class extends t2.Factory{constructor(e){super(e),this.handlers={ParenthesisExpression:function(o,a){this.pushSegment("(",o),this.process(o.expression,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(")",o)},Comment:function(o,a){},AssignmentStatement:function(o,a){let u=o.variable,c=o.init;if(this.process(u),(u instanceof Gu.ASTIdentifier||u instanceof Gu.ASTMemberExpression)&&c instanceof Gu.ASTBinaryExpression&&(c.left instanceof Gu.ASTIdentifier||c.left instanceof Gu.ASTMemberExpression)&&kr.SHORTHAND_OPERATORS.includes(c.operator)&&(0,n1.createExpressionHash)(u)===(0,n1.createExpressionHash)(c.left)){this.pushSegment(" "+c.operator+"= ",o),this.process((0,kr.unwrap)(c.right));return}this.pushSegment(" = ",o),this.process(c)},MemberExpression:function(o,a){this.process(o.base),this.pushSegment(o.indexer,o),this.process(o.identifier)},FunctionDeclaration:function(o,a){if(o.parameters.length===0)this.pushSegment("function",{start:o.start,end:o.start});else{this.context.disableMultiline(),this.pushSegment("function(",{start:o.start,end:o.start});for(let u=0;u<o.parameters.length;u++){let c=o.parameters[u];this.process(c),u!==o.parameters.length-1&&this.pushSegment(", ",c)}this.pushSegment(")",{start:o.start,end:o.start}),this.context.enableMultiline()}this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end function",{start:o.end,end:o.end})},MapConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("{}",o);return}if(o.fields.length===1){this.pushSegment("{ ",o),this.process(o.fields[0]),this.pushSegment(" }",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("{",{start:o.start,end:o.start}),this.eol();let u=new uf.BeautifyBodyIterator(o,o.fields),c=u.next();for(;!c.done;){let l=c.value;if(l.type===uf.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(l.start.line),this.eol(),c=u.next();continue}this.pushSegment(this.context.getIndent(),l),this.process(l),this.pushSegment(",",l),this.eol(),c=u.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"}",{start:o.end,end:o.end});return}this.pushSegment("{ ",{start:o.start,end:o.start});for(let u=0;u<o.fields.length;u++){let c=o.fields[u];this.process(c),u!==o.fields.length-1&&this.pushSegment(", ",c)}this.context.decIndent(),this.pushSegment(" }",{start:o.end,end:o.end})},MapKeyString:function(o,a){this.process(o.key),this.pushSegment(": ",o),this.process(o.value)},Identifier:function(o,a){this.pushSegment(o.name,o)},ReturnStatement:function(o,a){this.pushSegment("return ",o),o.argument&&this.process(o.argument)},NumericLiteral:function(o,a){this.pushSegment((0,af.getLiteralValue)(o),o)},WhileStatement:function(o,a){this.pushSegment("while ",{start:o.start,end:o.start}),this.context.disableMultiline(),this.process(o.condition),this.context.enableMultiline(),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end while",{start:o.end,end:o.end})},CallExpression:function(o,a){let u=this.lines.length-1;if(this.process(o.base),o.arguments.length===0)return;if(o.arguments.length>3&&this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("(",{start:o.start,end:o.start}),this.eol();for(let l=0;l<o.arguments.length;l++){let h=o.arguments[l];this.pushSegment(this.context.getIndent(),h),this.process(h),l!==o.arguments.length-1&&(this.pushSegment(",",h),this.eol())}this.context.decIndent(),this.pushSegment(")",{start:o.end,end:o.end});return}a.isCommand&&!this.transformer.buildOptions.keepParentheses?this.pushSegment(" ",{start:o.start,end:o.start}):this.pushSegment("(",{start:o.start,end:o.start});let c=this.lines.length;for(let l=0;l<o.arguments.length;l++){let h=o.arguments[l];this.process(h),l!==o.arguments.length-1&&this.pushSegment(", ",h)}a.isCommand&&!this.transformer.buildOptions.keepParentheses||this.pushSegment(")",{start:o.end,end:o.end})},StringLiteral:function(o,a){this.pushSegment((0,af.getLiteralRawValue)(o),{start:o.end,end:o.end})},SliceExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.left),this.pushSegment(" : ",o),this.process(o.right),this.pushSegment("]",o)},IndexExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.index),this.pushSegment("]",o)},UnaryExpression:function(o,a){o.operator==="new"?this.pushSegment(o.operator+" ",o):this.pushSegment(o.operator,o),this.process(o.argument)},NegationExpression:function(o,a){this.pushSegment("not ",o),this.process(o.argument)},FeatureEnvarExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#envar ${o.name}`,o);return}let u=this.transformer.environmentVariables.get(o.name);if(!u){this.pushSegment("null",o);return}this.pushSegment(`"${u}"`,o)},IfShortcutStatement:function(o,a){for(let u=0;u<o.clauses.length;u++){let c=o.clauses[u];this.process(c),u!==o.clauses.length-1&&this.pushSegment(" ",o)}},IfShortcutClause:function(o,a){this.pushSegment("if ",o),this.process((0,kr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseifShortcutClause:function(o,a){this.pushSegment("else if ",o),this.process((0,kr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseShortcutClause:function(o,a){this.pushSegment("else ",o),this.process(o.body[0])},NilLiteral:function(o,a){this.pushSegment((0,af.getLiteralRawValue)(o),o)},ForGenericStatement:function(o,a){this.pushSegment("for ",{start:o.start,end:o.start}),this.process((0,kr.unwrap)(o.variable)),this.pushSegment(" in ",{start:o.start,end:o.start}),this.process((0,kr.unwrap)(o.iterator)),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end for",{start:o.end,end:o.end})},IfStatement:function(o,a){for(let u of o.clauses)this.process(u);this.pushSegment(this.context.getIndent()+"end if",{start:o.end,end:o.end})},IfClause:function(o,a){this.pushSegment("if ",{start:o.start,end:o.start}),this.process((0,kr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseifClause:function(o,a){this.pushSegment(this.context.getIndent()+"else if ",{start:o.start,end:o.start}),this.process((0,kr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseClause:function(o,a){this.pushSegment(this.context.getIndent()+"else",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ContinueStatement:function(o,a){this.pushSegment("continue",o)},BreakStatement:function(o,a){this.pushSegment("break",o)},CallStatement:function(o,a){this.process(o.expression,{isCommand:!0})},FeatureInjectExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#inject "${o.path}";`,o);return}if(this.currentDependency===null){this.pushSegment(`#inject "${o.path}";`,o);return}let u=this.currentDependency.injections.get(o.path);if(u==null){this.pushSegment("null",o);return}this.pushSegment(`"${u.replace(/"/g,()=>'""')}"`,o)},FeatureImportExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}if(!o.chunk){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}this.process(o.name),this.pushSegment(' = __REQUIRE("'+o.namespace+'")',o)},FeatureIncludeExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#include "${o.path}";`,o);return}if(!o.chunk){this.pushSegment(`#include "${o.path}";`,o);return}this.process(o.chunk)},FeatureDebuggerExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("debugger",o);return}this.pushSegment("//debugger",o)},FeatureLineExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#line",o);return}this.pushSegment(`${o.start.line}`,o)},FeatureFileExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#filename",o);return}this.pushSegment(`"${(0,e2.basename)(o.filename).replace(/"/g,()=>'"')}"`,o)},ListConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("[]",o);return}if(o.fields.length===1){this.pushSegment("[ ",o),this.process(o.fields[0]),this.pushSegment(" ]",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("[",{start:o.start,end:o.start}),this.eol();let u=new uf.BeautifyBodyIterator(o,o.fields),c=u.next();for(;!c.done;){let l=c.value;if(l.type===uf.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(l.start.line),this.eol(),c=u.next();continue}this.pushSegment(this.context.getIndent(),l),this.process(l),this.pushSegment(",",l),this.eol(),c=u.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"]",{start:o.end,end:o.end});return}this.pushSegment("[ ",o);for(let u=0;u<o.fields.length;u++){let c=o.fields[u];this.process(c),u!==o.fields.length-1&&this.pushSegment(", ",c)}this.pushSegment(" ]",o)},ListValue:function(o,a){this.process(o.value)},BooleanLiteral:function(o,a){this.pushSegment((0,af.getLiteralRawValue)(o),o)},EmptyExpression:function(o,a){this.pushSegment("",o)},IsaExpression:function(o,a){this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},LogicalExpression:function(o,a){if((0,kr.countRightBinaryExpressions)(o.right)>2){a.hasLogicalIndentActive||this.context.incIndent(),this.process(o.left,{hasLogicalIndentActive:!0}),this.pushSegment(" "+o.operator+" ",o),this.eol(),this.pushSegment(this.context.getIndent(),o),this.process(o.right,{hasLogicalIndentActive:!0}),a.hasLogicalIndentActive||this.context.decIndent();return}this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},BinaryExpression:function(o,a){if(o.operator==="|"){this.pushSegment("bitOr(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="&"){this.pushSegment("bitAnd(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="<<"||o.operator===">>"||o.operator===">>>")throw new Error("Operators in binary expression are not supported");this.process(o.left),this.pushSegment(" "+o.operator+" ",o),this.process(o.right)},BinaryNegatedExpression:function(o,a){this.pushSegment(o.operator,o),this.process(o.argument)},ComparisonGroupExpression:function(o,a){this.process(o.expressions[0]);for(let u=0;u<o.operators.length;u++)this.pushSegment(" "+o.operators[u]+" ",o),this.process(o.expressions[u+1])},Chunk:function(o,a){this.context.pushStack(o),this.context.buildBlock(o),this.context.popStack()}};let{keepParentheses:n=!1,indentation:r=r1.IndentationType.Tab,indentationSpaces:i=2,isDevMode:s=!1}=e.buildOptions;this.context=new r1.BeautifyContext(this,{keepParentheses:n,indentation:r,indentationSpaces:i,isDevMode:s})}createLine(){return{segments:[],comments:[]}}pushSegment(e,n){this._activeLine.segments.push(e),n!=null&&this.pushComment(n.start.line)}pushComment(e){let n=this.context.getCurrentChunk(),r=this.context.getChunkContext(n),i=r.commentBuckets.get(e);i&&(this._activeLine.comments.push(...i),r.commentBuckets.delete(e))}transform(e,n){return this.reset(),this._currentDependency=n,this.process(e),this._lines.map(r=>{let i=r.segments.join(""),s=i.trim();if(r.comments.length===0)return s.length===0?"":i;let o=r.comments.filter(l=>l.isBefore),a=o.map(kr.commentToText).join(""),u=r.comments.filter(l=>!l.isBefore),c=u.map(kr.commentToText).join("");return s.length===0&&o.length===0&&u.length===0?"":(s.length>0&&o.length>0&&(i=" "+i),s.length>0&&u.length>0&&(i=i+" "),a+i+c)}).join(`
117
117
  `)}generateOptimizations(){return[]}};cf.BeautifyFactory=Fv});var Wv=m(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.DefaultFactory=void 0;var n2=require("path"),lf=ha(),r2=Hu(),Bv=class extends r2.Factory{constructor(){super(...arguments),this.handlers={ParenthesisExpression:function(e,n){this.pushSegment("("),this.process(e.expression),this.pushSegment(")")},Comment:function(e,n){if(e.isMultiline){this.pushSegment(e.value.split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miniscript-languageserver",
3
- "version": "1.10.4",
3
+ "version": "1.10.5",
4
4
  "description": "Language server for MiniScript",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -72,6 +72,6 @@
72
72
  "greybel-transpiler": "~3.6.3",
73
73
  "miniscript-languageserver-core": "^1.9.1",
74
74
  "miniscript-meta": "~1.3.2",
75
- "miniscript-type-analyzer": "~0.20.7"
75
+ "miniscript-type-analyzer": "~0.20.8"
76
76
  }
77
77
  }