@fincity/kirun-js 2.8.4 → 2.8.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.
package/dist/module.js CHANGED
@@ -1,2 +1,2 @@
1
- import{DateTime as e}from"luxon";function t(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function r(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}t({},"KIRunSchemaRepository",()=>B);var n,s,a,i,o,E,u,A,T,l,c,R,g={};t(g,"AdditionalType",()=>L),t(g,"Schema",()=>U),t({},"Namespaces",()=>m);class m{static{this.SYSTEM="System"}static{this.SYSTEM_CTX="System.Context"}static{this.SYSTEM_LOOP="System.Loop"}static{this.SYSTEM_ARRAY="System.Array"}static{this.SYSTEM_OBJECT="System.Object"}static{this.MATH="System.Math"}static{this.STRING="System.String"}static{this.DATE="System.Date"}constructor(){}}function h(e){return null==e}t({},"ArraySchemaType",()=>p),t({},"isNullValue",()=>h);class p{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new U(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new U(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!h(this.singleSchema)}static of(...e){return 1==e.length?new p().setSingleSchema(e[0]):new p().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new p().setTupleSchema(U.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new p().setSingleSchema(U.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new p().setTupleSchema(U.fromListOfSchemas(e.tupleSchema));let r=U.from(e);if(r)return new p().setSingleSchema(r)}}t({},"SchemaType",()=>n),(u=n||(n={})).INTEGER="Integer",u.LONG="Long",u.FLOAT="Float",u.DOUBLE="Double",u.STRING="String",u.OBJECT="Object",u.ARRAY="Array",u.BOOLEAN="Boolean",u.NULL="Null",t({},"TypeUtil",()=>M),t({},"MultipleType",()=>N),t({},"Type",()=>f);class f{}class N extends f{constructor(e){super(),e instanceof N?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}t({},"SingleType",()=>_);class _ extends f{constructor(e){super(),e instanceof _?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class M{static of(...e){return 1==e.length?new _(e[0]):new N(new Set(e))}static from(e){return"string"==typeof e?new _(n[M.fromJSONType(e)]):Array.isArray(e)?new N(new Set(e.map(M.fromJSONType).map(e=>e).map(e=>n[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}let S="additionalProperty",O="additionalItems",d="enums",w="items",I="System.Schema",P="required",y="version",x="namespace";class L{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new U(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(h(e))return;let t=new L;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=U.from(e.schemaValue):t.schemaValue=U.from(e)}return t}}class U{static{this.NULL=new U().setNamespace(m.SYSTEM).setName("Null").setType(M.of(n.NULL)).setConstant(void 0)}static{this.TYPE_SCHEMA=new U().setType(M.of(n.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName("Schema").setType(M.of(n.OBJECT)).setProperties(new Map([[x,U.of(x,n.STRING).setDefaultValue("_")],["name",U.ofString("name")],[y,U.of(y,n.INTEGER).setDefaultValue(1)],["ref",U.ofString("ref")],["type",new U().setAnyOf([U.TYPE_SCHEMA,U.ofArray("type",U.TYPE_SCHEMA)])],["anyOf",U.ofArray("anyOf",U.ofRef(I))],["allOf",U.ofArray("allOf",U.ofRef(I))],["oneOf",U.ofArray("oneOf",U.ofRef(I))],["not",U.ofRef(I)],["title",U.ofString("title")],["description",U.ofString("description")],["id",U.ofString("id")],["examples",U.ofAny("examples")],["defaultValue",U.ofAny("defaultValue")],["comment",U.ofString("comment")],[d,U.ofArray(d,U.ofString(d))],["constant",U.ofAny("constant")],["pattern",U.ofString("pattern")],["format",U.of("format",n.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",U.ofInteger("minLength")],["maxLength",U.ofInteger("maxLength")],["multipleOf",U.ofLong("multipleOf")],["minimum",U.ofNumber("minimum")],["maximum",U.ofNumber("maximum")],["exclusiveMinimum",U.ofNumber("exclusiveMinimum")],["exclusiveMaximum",U.ofNumber("exclusiveMaximum")],["properties",U.of("properties",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(I)))],["additionalProperties",new U().setName(S).setNamespace(m.SYSTEM).setAnyOf([U.ofBoolean(S),U.ofObject(S).setRef(I)]).setDefaultValue(!0)],[P,U.ofArray(P,U.ofString(P)).setDefaultValue([])],["propertyNames",U.ofRef(I)],["minProperties",U.ofInteger("minProperties")],["maxProperties",U.ofInteger("maxProperties")],["patternProperties",U.of("patternProperties",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(I)))],[w,new U().setName(w).setAnyOf([U.ofRef(I).setName("item"),U.ofArray("tuple",U.ofRef(I))])],["contains",U.ofRef(I)],["minContains",U.ofInteger("minContains")],["maxContains",U.ofInteger("maxContains")],["minItems",U.ofInteger("minItems")],["maxItems",U.ofInteger("maxItems")],["uniqueItems",U.ofBoolean("uniqueItems")],["additionalItems",new U().setName(O).setNamespace(m.SYSTEM).setAnyOf([U.ofBoolean(O),U.ofObject(O).setRef(I)])],["$defs",U.of("$defs",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(I)))],["permission",U.ofString("permission")]])).setRequired([])}static ofString(e){return new U().setType(M.of(n.STRING)).setName(e)}static ofInteger(e){return new U().setType(M.of(n.INTEGER)).setName(e)}static ofFloat(e){return new U().setType(M.of(n.FLOAT)).setName(e)}static ofLong(e){return new U().setType(M.of(n.LONG)).setName(e)}static ofDouble(e){return new U().setType(M.of(n.DOUBLE)).setName(e)}static ofAny(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE,n.STRING,n.BOOLEAN,n.ARRAY,n.NULL,n.OBJECT)).setName(e)}static ofAnyNotNull(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE,n.STRING,n.BOOLEAN,n.ARRAY,n.OBJECT)).setName(e)}static ofNumber(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)).setName(e)}static ofBoolean(e){return new U().setType(M.of(n.BOOLEAN)).setName(e)}static of(e,...t){return new U().setType(M.of(...t)).setName(e)}static ofObject(e){return new U().setType(M.of(n.OBJECT)).setName(e)}static ofRef(e){return new U().setRef(e)}static ofArray(e,...t){return new U().setType(M.of(n.ARRAY)).setName(e).setItems(p.of(...t))}static fromListOfSchemas(e){if(h(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=U.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(h(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let n=U.from(r);n&&t.set(e,n)}),t}static from(e,t=!1){if(h(e))return;let r=new U;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,t?r.type=new _(n.STRING):r.type=M.from(e.type),r.anyOf=U.fromListOfSchemas(e.anyOf),r.allOf=U.fromListOfSchemas(e.allOf),r.oneOf=U.fromListOfSchemas(e.oneOf),r.not=U.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=U.fromMapOfSchemas(e.properties),r.additionalProperties=L.from(e.additionalProperties),r.required=e.required,r.propertyNames=U.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=U.fromMapOfSchemas(e.patternProperties),r.items=p.from(e.items),r.additionalItems=L.from(e.additionalItems),r.contains=U.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=U.fromMapOfSchemas(e.$defs),r.permission=e.permission,r}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,h(e.type)||(this.type=e.type instanceof _?new _(e.type):new N(e.type)),this.anyOf=e.anyOf?.map(e=>new U(e)),this.allOf=e.allOf?.map(e=>new U(e)),this.oneOf=e.oneOf?.map(e=>new U(e)),this.not=this.not?new U(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new L(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new U(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.items=e.items?new p(e.items):void 0,this.contains=e.contains?new U(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new L(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.permission=e.permission}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new _(n.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}t({},"Parameter",()=>v),t({},"SchemaReferenceException",()=>V);class V extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}t({},"ParameterType",()=>s),(A=s||(s={})).CONSTANT="CONSTANT",A.EXPRESSION="EXPRESSION";let b="value";class v{static{this.SCHEMA_NAME="Parameter"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(v.SCHEMA_NAME).setProperties(new Map([["schema",U.SCHEMA],["parameterName",U.ofString("parameterName")],["variableArgument",U.of("variableArgument",n.BOOLEAN).setDefaultValue(!1)],["type",U.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))}static{this.EXPRESSION=new U().setNamespace(m.SYSTEM).setName("ParameterExpression").setType(M.of(n.OBJECT)).setProperties(new Map([["isExpression",U.ofBoolean("isExpression").setDefaultValue(!0)],[b,U.ofAny(b)]]))}constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof v)this.schema=new U(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=s.EXPRESSION){return[e,new v(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new v(e,t).setType(n).setVariableArgument(r)}static from(e){let t=U.from(e.schema);if(!t)throw new V("","Parameter requires Schema");return new v(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}var C={};t(C,"MapUtil",()=>G),t(C,"MapEntry",()=>D);class G{static of(e,t,r,n,s,a,i,o,E,u,A,T,l,c,R,g,m,p,f,N){let _=new Map;return h(e)||h(t)||_.set(e,t),h(r)||h(n)||_.set(r,n),h(s)||h(a)||_.set(s,a),h(i)||h(o)||_.set(i,o),h(E)||h(u)||_.set(E,u),h(A)||h(T)||_.set(A,T),h(l)||h(c)||_.set(l,c),h(R)||h(g)||_.set(R,g),h(m)||h(p)||_.set(m,p),h(f)||h(N)||_.set(f,N),_}static ofArrayEntries(...e){let t=new Map;for(let[r,n]of e)t.set(r,n);return t}static entry(e,t){return new D(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class D{constructor(e,t){this.k=e,this.v=t}}let $=new Map([["any",U.ofAny("any").setNamespace(m.SYSTEM)],["boolean",U.ofBoolean("boolean").setNamespace(m.SYSTEM)],["double",U.ofDouble("double").setNamespace(m.SYSTEM)],["float",U.ofFloat("float").setNamespace(m.SYSTEM)],["integer",U.ofInteger("integer").setNamespace(m.SYSTEM)],["long",U.ofLong("long").setNamespace(m.SYSTEM)],["number",U.ofNumber("number").setNamespace(m.SYSTEM)],["string",U.ofString("string").setNamespace(m.SYSTEM)],["Timestamp",U.ofString("Timestamp").setNamespace(m.DATE)],["Timeunit",U.ofString("Timeunit").setNamespace(m.DATE).setEnums(["YEARS","QUARTERS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","MILLISECONDS"])],["Duration",U.ofObject("Duration").setNamespace(m.DATE).setProperties(G.ofArrayEntries(["years",U.ofNumber("years")],["quarters",U.ofNumber("quarters")],["months",U.ofNumber("months")],["weeks",U.ofNumber("weeks")],["days",U.ofNumber("days")],["hours",U.ofNumber("hours")],["minutes",U.ofNumber("minutes")],["seconds",U.ofNumber("seconds")],["milliseconds",U.ofNumber("milliseconds")])).setAdditionalItems(L.from(!1))],["TimeObject",U.ofObject("TimeObject").setNamespace(m.DATE).setProperties(G.ofArrayEntries(["year",U.ofNumber("year")],["month",U.ofNumber("month")],["day",U.ofNumber("day")],["hour",U.ofNumber("hour")],["minute",U.ofNumber("minute")],["second",U.ofNumber("second")],["millisecond",U.ofNumber("millisecond")])).setAdditionalItems(L.from(!1))],[v.EXPRESSION.getName(),v.EXPRESSION],[U.NULL.getName(),U.NULL],[U.SCHEMA.getName(),U.SCHEMA]]),F=Array.from($.values()).map(e=>e.getFullName());class B{async find(e,t){return m.SYSTEM!=e&&m.DATE!=e?Promise.resolve(void 0):Promise.resolve($.get(t))}async filter(e){return Promise.resolve(F.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function Y(e){return[e.getSignature().getName(),e]}t({},"KIRunFunctionRepository",()=>n0),t({},"EventResult",()=>k),t({},"Event",()=>H);class H{static{this.OUTPUT="output"}static{this.ERROR="error"}static{this.ITERATION="iteration"}static{this.TRUE="true"}static{this.FALSE="false"}static{this.SCHEMA_NAME="Event"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(H.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["name",U.ofString("name")],["parameters",U.ofObject("parameter").setAdditionalProperties(new L().setSchemaValue(U.SCHEMA))]]))}constructor(e,t){if(e instanceof H)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new U(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return H.eventMapEntry(H.OUTPUT,e)}static eventMapEntry(e,t){return[e,new H(e,t)]}static from(e){return new H(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=U.from(e[1]);if(!t)throw new V("","Event expects a schema");return[e[0],t]})))}}class k{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return k.of(H.OUTPUT,e)}static of(e,t){return new k(e,t)}}t({},"FunctionOutput",()=>W),t({},"KIRuntimeException",()=>j);class j extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class W{constructor(e){if(this.index=0,h(e))throw new j("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof k?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}t({},"FunctionSignature",()=>X);class X{static{this.SCHEMA_NAME="FunctionSignature"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(X.SCHEMA_NAME).setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofObject("parameters").setAdditionalProperties(new L().setSchemaValue(v.SCHEMA))],["events",U.ofObject("events").setAdditionalProperties(new L().setSchemaValue(H.SCHEMA))]]))}constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof X?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new v(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new H(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}t({},"AbstractFunction",()=>eS),t({},"SchemaValidator",()=>eM),t({},"deepEqual",()=>z),t({},"LinkedList",()=>q),t({},"StringFormatter",()=>J);class J{static format(e,...t){if(!t||0==t.length)return e;let r="",n=0,s="",a=s,i=e.length;for(let o=0;o<i;o++)"$"==(s=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+s:"$"==s&&n<t.length?r+=t[n++]:r+=s,a=s;return r.toString()}constructor(){}}class q{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new K(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new K(t);this.length=e.length}}push(e){let t=new K(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new j(J.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new K(e,this.head),this.head.next=this.tail):(this.tail=new K(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new K(e),this}map(e,t){let r=new q,n=this.head,s=0;for(;n;)r.add(e(n.value,s)),n=n.next,++s;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(z(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,n=0;for(;r;)e(r.value,n),r=r.next,++n}}class K{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function z(e,t){let r=new q;r.push(e);let n=new q;for(n.push(t);!r.isEmpty()&&!n.isEmpty();){let e=r.pop(),t=n.pop();if(e===t)continue;let s=typeof e,a=typeof t;if("undefined"===s||"undefined"===a){if(!e&&!t)continue;return!1}if(s!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let s=0;s<e.length;s++)r.push(e[s]),n.push(t[s]);continue}if("object"===s){if("object"!==a||null===e||null===t)return!1;let s=Object.entries(e),i=Object.entries(t);if(s.length!==i.length)return!1;for(let[e,a]of s)r.push(a),n.push(t[e]);continue}return!1}return!0}t({},"StringUtil",()=>Q);class Q{constructor(){}static nthIndex(e,t,r=0,n){if(!e)throw new j("String cannot be null");if(r<0||r>=e.length)throw new j(J.format("Cannot search from index : $",r));if(n<=0||n>e.length)throw new j(J.format("Cannot search for occurance : $",n));for(;r<e.length;){if(e.charAt(r)==t&&0==--n)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static splitAtLastOccurance(e,t){if(!e)return[void 0,void 0];let r=e.lastIndexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}t({},"SchemaUtil",()=>es);var Z={};t(Z,"Tuple2",()=>ee),t(Z,"Tuple3",()=>et),t(Z,"Tuple4",()=>er);class ee{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class et extends ee{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class er extends et{constructor(e,t,r,n){super(e,t,r),this.fr=n}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}t({},"SchemaValidationException",()=>en);class en extends Error{constructor(e,t,r=[],n){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=n}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class es{static{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"}static{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20}static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():h(e.getDefaultValue())?es.getDefaultValue(await es.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!h(e.getDefaultValue())?Promise.resolve(!0):h(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(n.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await es.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,n=0){if(++n==es.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new en(r??"","Schema has a cyclic reference");if(!e||!r||Q.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var s=await es.resolveExternalSchema(e,t,r);s&&(e=s.getT1(),r=s.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(es.resolveInternalSchema(e,t,r,n,a,1))}static async resolveInternalSchema(e,t,r,s,a,i){let o=e;if(i!==a.length){for(;i<a.length;){if("$defs"===a[i]){if(++i>=a.length||!o.get$defs())throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(n.OBJECT)||!o.getProperties()))throw new V(r,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!Q.isNullOrBlank(o.getRef())&&!(o=await es.getSchemaFromRef(o,t,o.getRef(),s)))throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(o)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let n=Q.splitAtFirstOccurance(r??"","/");if(!n[0])return Promise.resolve(void 0);let s=Q.splitAtLastOccurance(n[0],".");if(!s[0]||!s[1])return Promise.resolve(void 0);let a=await t.find(s[0],s[1]);if(!a)return Promise.resolve(void 0);if(!n[1]||""===n[1])return Promise.resolve(new ee(a,r));if(r="#/"+n[1],!a)throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new ee(a,r))}constructor(){}}t({},"AnyOfAllOfOneOfValidator",()=>ea);class ea{static async validate(e,t,r,n,s,a){let i=[];return t.getOneOf()&&!t.getOneOf()?await ea.oneOf(e,t,r,n,i,s,a):t.getAllOf()&&!t.getAllOf()?await ea.allOf(e,t,r,n,i,s,a):t.getAnyOf()&&!t.getAnyOf()?await ea.anyOf(e,t,r,n,i,s,a):n}static async anyOf(e,t,r,n,s,a,i){let o=!1;for(let E of t.getAnyOf()??[])try{await ea.validate(e,E,r,n,a,i),o=!0;break}catch(e){o=!1,s.push(e)}if(o)return n;throw new en(eM.path(e),"The value don't satisfy any of the schemas.",s)}static async allOf(e,t,r,n,s,a,i){let o=0;for(let E of t.getAllOf()??[])try{await ea.validate(e,E,r,n,a,i),o++}catch(e){s.push(e)}if(o===t.getAllOf()?.length)return n;throw new en(eM.path(e),"The value doesn't satisfy some of the schemas.",s)}static async oneOf(e,t,r,n,s,a,i){let o=0;for(let E of t.getOneOf()??[])try{await ea.validate(e,E,r,n,a,i),o++}catch(e){s.push(e)}if(1===o)return n;throw new en(eM.path(e),0==o?"The value does not satisfy any schema":"The value satisfy more than one schema",s)}constructor(){}}t({},"TypeValidator",()=>e_),t({},"ArrayValidator",()=>ei);class ei{static async validate(e,t,r,n,s,a){if(h(n))throw new en(eM.path(e),"Expected an array but found null");if(!Array.isArray(n))throw new en(eM.path(e),n.toString()+" is not an Array");return ei.checkMinMaxItems(e,t,n),await ei.checkItems(e,t,r,n,s,a),ei.checkUniqueItems(e,t,n),await ei.checkContains(t,e,r,n),n}static async checkContains(e,t,r,n){if(h(e.getContains()))return;let s=await ei.countContains(t,e,r,n,h(e.getMinContains())&&h(e.getMaxContains()));if(0===s)throw new en(eM.path(t),"None of the items are of type contains schema");if(!h(e.getMinContains())&&e.getMinContains()>s)throw new en(eM.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+s);if(!h(e.getMaxContains())&&e.getMaxContains()<s)throw new en(eM.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+s)}static async countContains(e,t,r,n,s){let a=0;for(let i=0;i<n.length;i++){let o=e?[...e]:[];try{if(await eM.validate(o,t.getContains(),r,n[i]),a++,s)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new en(eM.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new en(eM.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new en(eM.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,n,s,a){if(!t.getItems())return;let i=t.getItems();if(i.getSingleSchema())for(let t=0;t<n.length;t++){let o=e?[...e]:[];n[t]=await eM.validate(o,i.getSingleSchema(),r,n[t],s,a)}if(i.getTupleSchema()){if(i.getTupleSchema().length!==n.length&&h(t?.getAdditionalItems()))throw new en(eM.path(e),"Expected an array with only "+i.getTupleSchema().length+" but found "+n.length);await this.checkItemsInTupleSchema(e,r,n,i),await this.checkAdditionalItems(e,t,r,n,i)}}static async checkItemsInTupleSchema(e,t,r,n,s,a){for(let i=0;i<n.getTupleSchema()?.length;i++){let o=e?[...e]:[];r[i]=await eM.validate(o,n.getTupleSchema()[i],t,r[i],s,a)}}static async checkAdditionalItems(e,t,r,n,s){if(!h(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=U.ofAny("item");if(a?.getBooleanValue()===!1&&n.length>s.getTupleSchema()?.length)throw new en(eM.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,n,s,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,n,s,i)}}}static async checkEachItemInAdditionalItems(e,t,r,n,s,a){for(let t=s.getTupleSchema()?.length;t<n.length;t++){let s=e?[...e]:[];n[t]=await eM.validate(s,a,r,n[t])}}constructor(){}}t({},"BooleanValidator",()=>eo);class eo{static validate(e,t,r){if(h(r))throw new en(eM.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new en(eM.path(e),r.toString()+" is not a boolean");return r}constructor(){}}t({},"NullValidator",()=>eE);class eE{static validate(e,t,r){if(h(r))return r;throw new en(eM.path(e),"Expected a null but found "+r)}constructor(){}}t({},"NumberValidator",()=>eu);class eu{static validate(e,t,r,n){if(h(n))throw new en(eM.path(t),"Expected a number but found null");if("number"!=typeof n)throw new en(eM.path(t),n.toString()+" is not a "+e);let s=eu.extractNumber(e,t,r,n);return eu.checkRange(t,r,n,s),eu.checkMultipleOf(t,r,n,s),n}static extractNumber(e,t,r,s){let a=s;try{(e==n.LONG||e==n.INTEGER)&&(a=Math.round(a))}catch(r){throw new en(eM.path(t),s+" is not a number of type "+e,r)}if(h(a)||(e==n.LONG||e==n.INTEGER)&&a!=s)throw new en(eM.path(t),s.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,n){if(t.getMultipleOf()&&n%t.getMultipleOf()!=0)throw new en(eM.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,n){if(!h(t.getMinimum())&&0>eu.numberCompare(n,t.getMinimum()))throw new en(eM.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!h(t.getMaximum())&&eu.numberCompare(n,t.getMaximum())>0)throw new en(eM.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!h(t.getExclusiveMinimum())&&0>=eu.numberCompare(n,t.getExclusiveMinimum()))throw new en(eM.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!h(t.getExclusiveMaximum())&&eu.numberCompare(n,t.getExclusiveMaximum())>0)throw new en(eM.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}t({},"ObjectValidator",()=>eA);class eA{static async validate(e,t,r,n,s,a){if(h(n))throw new en(eM.path(e),"Expected an object but found null");if("object"!=typeof n||Array.isArray(n))throw new en(eM.path(e),n.toString()+" is not an Object");let i=new Set(Object.keys(n));return eA.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&await eA.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&eA.checkRequired(e,t,n),t.getProperties()&&await eA.checkProperties(e,t,r,n,i,s,a),t.getPatternProperties()&&await eA.checkPatternProperties(e,t,r,n,i),t.getAdditionalProperties()&&await eA.checkAdditionalProperties(e,t,r,n,i),n}static async checkPropertyNameSchema(e,t,r,n){for(let s of Array.from(n.values()))try{await eM.validate(e,t.getPropertyNames(),r,s)}catch(t){throw new en(eM.path(e),"Property name '"+s+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let n of t.getRequired()??[])if(h(r[n]))throw new en(eM.path(e),n+" is mandatory")}static async checkAdditionalProperties(e,t,r,n,s){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(s.values())){let s=e?[...e]:[];n[t]=await eM.validate(s,a.getSchemaValue(),r,n[t])}else if(!1===a.getBooleanValue()&&s.size)throw new en(eM.path(e),Array.from(s)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,n,s){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(s.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){n[i]=await eM.validate(o,t.getPatternProperties().get(e[0]),r,n[i]),s.delete(i);break}}}static async checkProperties(e,t,r,n,s,a,i){for(let o of Array.from(t.getProperties())){let t=n[o[0]];if(!n.hasOwnProperty(o[0])&&h(t)&&h(await es.getDefaultValue(o[1],r)))continue;let E=e?[...e]:[];n[o[0]]=await eM.validate(E,o[1],r,t,a,i),s.delete(o[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new en(eM.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new en(eM.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}t({},"StringValidator",()=>eT),t({},"StringFormat",()=>a),(T=a||(a={})).DATETIME="DATETIME",T.TIME="TIME",T.DATE="DATE",T.EMAIL="EMAIL",T.REGEX="REGEX";class eT{static{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/}static{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/}static validate(e,t,r){if(h(r))throw new en(eM.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new en(eM.path(e),r.toString()+" is not String");t.getFormat()==a.TIME?eT.patternMatcher(e,t,r,eT.TIME,"time pattern"):t.getFormat()==a.DATE?eT.patternMatcher(e,t,r,eT.DATE,"date pattern"):t.getFormat()==a.DATETIME?eT.patternMatcher(e,t,r,eT.DATETIME,"date time pattern"):t.getFormat()==a.EMAIL?eT.patternMatcher(e,t,r,eT.EMAIL,"email pattern"):t.getPattern()&&eT.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let n=r.length;if(t.getMinLength()&&n<t.getMinLength())throw new en(eM.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&n>t.getMaxLength())throw new en(eM.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,n,s){if(!n.test(r))throw new en(eM.path(e),r.toString()+" is not matched with the "+s)}constructor(){}}(l=i||(i={})).STRICT="STRICT",l.LENIENT="LENIENT",l.USE_DEFAULT="USE_DEFAULT",l.SKIP="SKIP";let el=e=>i[e.toUpperCase()],ec=()=>Object.values(i);class eR extends Error{constructor(e,t,r,n,s=[],a){super(r+(s?s.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.source=t??null,this.mode=n??null,this.cause=a}getSchemaPath(){return this.schemaPath}getSource(){return this.source??null}getMode(){return this.mode??null}getCause(){return this.cause}}class eg{static handleUnConvertibleValue(e,t,r,n){return this.handleUnConvertibleValueWithDefault(e,t,r,null,n)}static handleUnConvertibleValueWithDefault(e,t,r,n,s){switch(null===t&&(t=i.STRICT),t){case i.STRICT:throw new eR(eM.path(e),r,s,t);case i.LENIENT:return null;case i.USE_DEFAULT:return n;case i.SKIP:return r;default:throw new eR(eM.path(e),r,"Invalid conversion mode")}}constructor(){}}class em{static convert(e,t,r,n){if(h(n))return eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Expected a string but found null");let s=n??("object"==typeof n?JSON.stringify(n):String(n));return this.getConvertedString(s,r)}static getConvertedString(e,t){return t===i.STRICT?e.toString():e.trim()}static getDefault(e){return e.getDefaultValue()??null}constructor(){}}class eh{static convert(e,t,r,n,s){if(h(s))return eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),"Expected a number but found null");if("object"==typeof s||"boolean"==typeof s||Array.isArray(s)||"string"==typeof s&&isNaN(s=Number(s)))return eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),s+" is not a "+t);let a=this.extractNumber(t,s,n);return null===a?eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),s+" is not a "+t):a}static extractNumber(e,t,r){if("number"!=typeof t)return null;switch(e){case n.INTEGER:return this.isInteger(t,r)?Math.floor(t):null;case n.LONG:return this.isLong(t,r)?Math.floor(t):null;case n.DOUBLE:return t;case n.FLOAT:return this.isFloat(t,r)?t:null;default:return null}}static isInteger(e,t){return t!==i.STRICT?"number"==typeof e:Number.isInteger(e)}static isLong(e,t){return t!==i.STRICT?"number"==typeof e:Number.isInteger(e)&&e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER}static isFloat(e,t){return t!==i.STRICT?"number"==typeof e:e>=-Number.MAX_VALUE&&e<=Number.MAX_VALUE}static getDefault(e){return"number"==typeof e.getDefaultValue()?Number(e.getDefaultValue):null}}class ep{static{this.BOOLEAN_MAP={true:!0,t:!0,yes:!0,y:!0,1:!0,false:!1,f:!1,no:!1,n:!1,0:!1}}static convert(e,t,r,n){return null==n?eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Expected a boolean but found null"):this.getBooleanPrimitive(n)??eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Unable to convert to boolean")}static getBooleanPrimitive(e){return"boolean"==typeof e?e:"string"==typeof e?this.handleStringValue(e):"number"==typeof e?this.handleNumberValue(e):null}static handleStringValue(e){let t=e.toLowerCase().trim();return ep.BOOLEAN_MAP[t]??null}static handleNumberValue(e){return 0===e||1===e?1===e:null}static getDefault(e){return e.getDefaultValue()??!1}constructor(){}}class ef{static convert(e,t,r,n){return h(n)?n:"string"==typeof n&&"null"===n.toLowerCase()?null:eg.handleUnConvertibleValueWithDefault(e,r,n,null,"Unable to convert to null")}constructor(){}}class eN{static handleValidationError(e,t,r,n,s){switch(t=t??i.STRICT){case i.STRICT:throw new en(eM.path(e),s);case i.LENIENT:return null;case i.USE_DEFAULT:return n;case i.SKIP:return r}}constructor(){}}class e_{static async validate(e,t,r,s,a,i,o){return t==n.OBJECT?await eA.validate(e,r,s,a,i,o):t==n.ARRAY?await ei.validate(e,r,s,a,i,o):this.handleTypeValidationAndConversion(e,t,r,a,i,o)}static async handleTypeValidationAndConversion(e,t,r,n,s,a){let o=s?this.convertElement(e,t,r,n,a??i.STRICT):n;return await this.validateElement(e,t,r,o,a??i.STRICT)}static convertElement(e,t,r,s,a){if(h(t))return eg.handleUnConvertibleValueWithDefault(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type for conversion.",t));switch(t){case n.STRING:return em.convert(e,r,a,s);case n.INTEGER:case n.LONG:case n.DOUBLE:case n.FLOAT:return eh.convert(e,t,r,a,s);case n.BOOLEAN:return ep.convert(e,r,a,s);case n.NULL:return ef.convert(e,r,a,s);default:return eg.handleUnConvertibleValueWithDefault(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type for conversion.",t))}}static validateElement(e,t,r,s,a){if(h(t))return eN.handleValidationError(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type.",t));switch(t){case n.STRING:return eT.validate(e,r,s);case n.INTEGER:case n.LONG:case n.DOUBLE:case n.FLOAT:return eu.validate(t,e,r,s);case n.BOOLEAN:return eo.validate(e,r,s);case n.NULL:return eE.validate(e,r,s);default:return eN.handleValidationError(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type.",t))}}constructor(){}}class eM{static{this.ORDER={[n.OBJECT]:0,[n.ARRAY]:1,[n.DOUBLE]:2,[n.FLOAT]:3,[n.LONG]:4,[n.INTEGER]:5,[n.STRING]:6,[n.BOOLEAN]:7,[n.NULL]:8}}static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,n,s,a){if(!t)throw new en(eM.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),h(n)&&!h(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!h(t.getConstant()))return eM.constantValidation(e,t,n);if(t.getEnums()?.length)return eM.enumCheck(e,t,n);if(t.getFormat()&&h(t.getType()))throw new en(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(!0===s&&h(t.getType()))throw new en(this.path(e),"Type is missing in schema for declared "+a);if(t.getType()&&(n=await eM.typeValidation(e,t,r,n,s,a)),!Q.isNullOrBlank(t.getRef()))return await eM.validate(e,await es.getSchemaFromRef(e[0],r,t.getRef()),r,n,s,a);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&(n=await ea.validate(e,t,r,n,s,a)),t.getNot()){let i;try{await eM.validate(e,t.getNot(),r,n,s,a),i=!0}catch(e){i=!1}if(i)throw new en(eM.path(e),"Schema validated value in not condition.")}return n}static constantValidation(e,t,r){if(!z(t.getConstant(),r))throw new en(eM.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let n=!1;for(let e of t.getEnums()??[])if(e===r){n=!0;break}if(n)return r;throw new en(eM.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,n,s,a){let i=Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]).sort((e,t)=>(this.ORDER[e]??1/0)-(this.ORDER[t]??1/0)),o=[];for(let E of i)try{return await e_.validate(e,E,t,r,n,s,a)}catch(e){o.push(e)}throw new en(eM.path(e),"Value "+JSON.stringify(n)+" is not of valid type(s)",o)}constructor(){}}class eS{async validateArguments(e,t,r){let n=new Map;for(let s of Array.from(this.getSignature().getParameters().entries())){let a=s[1];try{let r=await this.validateArgument(e,t,s,a);n.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new j(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return n}async validateArgument(e,t,r,n){let s,a=r[0],i=e.get(r[0]);if(h(i)&&!n.isVariableArgument())return new ee(a,await eM.validate(void 0,n.getSchema(),t,void 0));if(!n?.isVariableArgument())return new ee(a,await eM.validate(void 0,n.getSchema(),t,i));Array.isArray(i)?s=i:(s=[],h(i)?h(n.getSchema().getDefaultValue())||s.push(n.getSchema().getDefaultValue()):s.push(i));for(let e=0;e<s.length;e++)s[e]=await eM.validate(void 0,n.getSchema(),t,s[e]);return new ee(a,s)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return await this.internalExecute(e)}catch(r){let t=this.getSignature();throw new j(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class eO extends eS{static{this.EVENT_INDEX_NAME="index"}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_INDEX=new H(H.OUTPUT,G.of(eO.EVENT_INDEX_NAME,U.ofInteger(eO.EVENT_INDEX_NAME)))}static{this.EVENT_RESULT_INTEGER=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofInteger(eO.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_BOOLEAN=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofBoolean(eO.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_ARRAY=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofArray(eO.EVENT_RESULT_NAME,U.ofAny(eO.EVENT_RESULT_NAME))))}static{this.EVENT_RESULT_EMPTY=new H(H.OUTPUT,G.of())}static{this.EVENT_RESULT_ANY=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofAny(this.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_OBJECT=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofObject(this.EVENT_RESULT_NAME)))}static{this.PARAMETER_INT_LENGTH=v.of("length",U.ofInteger("length").setDefaultValue(-1))}static{this.PARAMETER_ARRAY_FIND=v.of("find",U.ofArray("eachFind",U.ofAny("eachFind")))}static{this.PARAMETER_INT_SOURCE_FROM=v.of("srcFrom",U.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))}static{this.PARAMETER_INT_SECOND_SOURCE_FROM=v.of("secondSrcFrom",U.ofInteger("secondSrcFrom").setDefaultValue(0))}static{this.PARAMETER_INT_FIND_FROM=v.of("findFrom",U.ofInteger("findFrom").setDefaultValue(0))}static{this.PARAMETER_INT_OFFSET=v.of("offset",U.ofInteger("offset").setDefaultValue(0))}static{this.PARAMETER_ROTATE_LENGTH=v.of("rotateLength",U.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))}static{this.PARAMETER_BOOLEAN_ASCENDING=v.of("ascending",U.ofBoolean("ascending").setDefaultValue(!0))}static{this.PARAMETER_KEY_PATH=v.of("keyPath",U.ofString("keyPath").setDefaultValue(""))}static{this.PARAMETER_FIND_PRIMITIVE=v.of("findPrimitive",U.of("findPrimitive",n.STRING,n.DOUBLE,n.FLOAT,n.INTEGER,n.LONG))}static{this.PARAMETER_ARRAY_SOURCE=v.of("source",U.ofArray("eachSource",U.ofAny("eachSource")))}static{this.PARAMETER_ARRAY_SECOND_SOURCE=v.of("secondSource",U.ofArray("eachSecondSource",U.ofAny("eachSecondSource")))}static{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=v.of("source",U.ofArray("eachSource",new U().setName("eachSource").setType(M.of(n.STRING,n.NULL,n.INTEGER,n.FLOAT,n.DOUBLE,n.LONG))))}static{this.PARAMETER_BOOLEAN_DEEP_COPY=v.of("deepCopy",U.ofBoolean("deepCopy").setDefaultValue(!0))}static{this.PARAMETER_ANY=v.of("element",U.ofAny("element"))}static{this.PARAMETER_ANY_ELEMENT_OBJECT=v.of("elementObject",U.ofAny("elementObject"))}static{this.PARAMETER_ANY_VAR_ARGS=v.of("element",U.ofAny("element")).setVariableArgument(!0)}static{this.PARAMETER_ARRAY_RESULT=v.of(eO.EVENT_RESULT_NAME,U.ofArray("eachResult",U.ofAny("eachResult")))}constructor(e,t,r){super();let n=new Map;for(let e of t)n.set(e.getParameterName(),e);this.signature=new X(e).setNamespace(m.SYSTEM_ARRAY).setParameters(n).setEvents(G.of(r.getName(),r))}getSignature(){return this.signature}}class ed extends eO{constructor(){super("Concatenate",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ARRAY_SECOND_SOURCE],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,[...t,...r]]]))])}}class ew extends eO{constructor(){super("AddFirst",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ANY],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eO.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new W([k.outputOf(new Map([]))]);t.push(r);let n=t.length-1;for(;n>0;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}let eI="keyName";class eP extends eO{constructor(){super("ArrayToArrayOfObjects",[eO.PARAMETER_ARRAY_SOURCE,v.of(eI,U.ofString(eI),!0)],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eP.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eI);if(!t?.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,[]]]))]);let n=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,n)=>{t[r]=e[n]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,n]]))])}}t({},"PrimitiveUtil",()=>ex),t({},"ExecutionException",()=>ey);class ey extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class ex{static findPrimitiveNullAsBoolean(e){if(h(e))return new ee(n.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new ey(J.format("$ is not a primitive type",e));return"boolean"===t?new ee(n.BOOLEAN,e):"string"===t?new ee(n.STRING,e):ex.findPrimitiveNumberType(e)}static findPrimitive(e){if(h(e))return new ee(n.NULL,void 0);let t=typeof e;if("object"===t)throw new ey(J.format("$ is not a primitive type",e));return"boolean"===t?new ee(n.BOOLEAN,e):"string"===t?new ee(n.STRING,e):ex.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(h(e)||Array.isArray(e)||"object"==typeof e)throw new ey(J.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new ee(n.LONG,e);return new ee(n.DOUBLE,e)}catch(t){throw new ey(J.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(h(e)||h(t))return h(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let n=this.compare(e[r],t[r]);if(0!=n)return n}return 0}return Array.isArray(e)?-1:1}let r=typeof e,n=typeof t;return"object"===r||"object"===n?("object"===r&&"object"===n&&Object.keys(e).forEach(r=>{let n=this.compare(e[r],t[r]);if(0!=n)return n}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return h(e)||h(t)?h(e)&&h(t)?0:h(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?n.LONG:n.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eL extends eO{constructor(){super("BinarySearch",[eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eL.PARAMETER_INT_SOURCE_FROM,eL.PARAMETER_FIND_PRIMITIVE,eL.PARAMETER_INT_LENGTH],eL.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eL.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eL.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eL.PARAMETER_FIND_PRIMITIVE.getParameterName()),s=e?.getArguments()?.get(eL.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new j("Search source array cannot be empty");if(-1==s&&(s=t.length-r),(s=r+s)>t.length)throw new j("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=s;){let e=Math.floor((r+s)/2);if(0==ex.compare(t[e],n)){a=e;break}ex.compare(t[e],n)>0?s=e-1:r=e+1}return new W([k.outputOf(new Map([[eL.EVENT_INDEX_NAME,a]]))])}}t({},"ArrayUtil",()=>eU);class eU{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class eV extends eO{constructor(){super("Compare",eU.of(eV.PARAMETER_ARRAY_SOURCE,eV.PARAMETER_INT_SOURCE_FROM,eV.PARAMETER_ARRAY_FIND,eV.PARAMETER_INT_FIND_FROM,eV.PARAMETER_INT_LENGTH),eV.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(eV.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eV.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eV.PARAMETER_ARRAY_FIND.getParameterName()),s=e?.getArguments()?.get(eV.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(eV.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new j("Compare source array cannot be empty");if(0==n.length)throw new j("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new j(J.format("Source array size $ is less than comparing size $",t.length,r+a));if(s+a>n.length)throw new j(J.format("Find array size $ is less than comparing size $",n.length,s+a));return new W(eU.of(k.outputOf(G.of(eV.EVENT_RESULT_NAME,this.compare(t,r,r+a,n,s,s+a)))))}compare(e,t,r,n,s,a){if(r<t){let e=t;t=r,r=e}if(a<s){let e=s;s=a,a=e}if(r-t!=a-s)throw new j(J.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,s));for(let a=t,i=s;a<r;a++,i++){let t=1;if(h(e[a])||h(n[i])){let r=h(e[a]);r==h(n[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],s=typeof n[i];if("object"===r||"object"===s)t=1;else if("string"===r||"string"===s){let r=""+e[a],s=""+n[i];r===s?t=0:r<s&&(t=-1)}else"boolean"===r||"boolean"===s?t=r==s?0:1:"number"===r&&"number"===s&&(t=e[a]-n[i])}if(0!=t)return t}return 0}}function eb(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}t({},"duplicate",()=>eb);class ev extends eO{constructor(){super("Copy",[ev.PARAMETER_ARRAY_SOURCE,ev.PARAMETER_INT_SOURCE_FROM,ev.PARAMETER_INT_LENGTH,ev.PARAMETER_BOOLEAN_DEEP_COPY],ev.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ev.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ev.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new j(J.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));var s=e?.getArguments()?.get(ev.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(n);for(let e=r;e<r+n;e++)h(t[e])||(a[e-r]=s?eb(t[e]):t[e]);return new W([k.outputOf(G.of(ev.EVENT_RESULT_NAME,a))])}}class eC extends eO{constructor(){super("Delete",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ANY_VAR_ARGS],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eC.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eC.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new j("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new j("Expected a source or deletable for an array but not found any");let n=new Set;for(let e=t.length-1;e>=0;e--)for(let s=0;s<r.length;s++)n.has(e)||0!=ex.compare(t[e],r[s])||n.add(t[e]);return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t.filter(e=>!n.has(e))]]))])}}class eG extends eO{constructor(){super("DeleteFirst",[eG.PARAMETER_ARRAY_SOURCE],eG.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eG.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new j("Given source array is empty");return(t=[...t]).shift(),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class eD extends eO{constructor(){super("DeleteFrom",[eD.PARAMETER_ARRAY_SOURCE,eD.PARAMETER_INT_SOURCE_FROM,eD.PARAMETER_INT_LENGTH],eD.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eD.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eD.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eD.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new j("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new j("The int source for the array should be in between 0 and length of the array ");if(-1==n&&(n=t.length-r),r+n>t.length)throw new j("Requested length to be deleted is more than the size of array ");return t.splice(r,n),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class e$ extends eO{constructor(){super("DeleteLast",[e$.PARAMETER_ARRAY_SOURCE],e$.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e$.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new j("Given source array is empty");return(t=[...t]).pop(),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class eF extends eO{constructor(){super("Disjoint",[eF.PARAMETER_ARRAY_SOURCE,eF.PARAMETER_INT_SOURCE_FROM,eF.PARAMETER_ARRAY_SECOND_SOURCE,eF.PARAMETER_INT_SECOND_SOURCE_FROM,eF.PARAMETER_INT_LENGTH],eF.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eF.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eF.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eF.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eF.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eF.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=n.length?t.length-r:n.length-s),a>t.length||a>n.length||r+a>t.length||s+a>n.length)throw new j("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(n[e+s]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new W([k.outputOf(new Map([[eF.EVENT_RESULT_NAME,[...E]]]))])}}class eB extends eO{constructor(){super("Equals",[eB.PARAMETER_ARRAY_SOURCE,eB.PARAMETER_INT_SOURCE_FROM,eB.PARAMETER_ARRAY_FIND,eB.PARAMETER_INT_FIND_FROM,eB.PARAMETER_INT_LENGTH],eB.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new eV,r=(await t.execute(e)).allResults()[0].getResult().get(eB.EVENT_RESULT_NAME);return new W([k.outputOf(G.of(eB.EVENT_RESULT_NAME,0==r))])}}class eY extends eO{constructor(){super("Fill",[eY.PARAMETER_ARRAY_SOURCE,eY.PARAMETER_INT_SOURCE_FROM,eY.PARAMETER_INT_LENGTH,eY.PARAMETER_ANY],eY.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(eY.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eY.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eY.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(eY.PARAMETER_ANY.getParameterName());if(r<0)throw new j(J.format("Arrays out of bound trying to access $ index",r));-1==n&&(n=t.length-r);let a=r+n-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+n;e++)t[e]=h(s)?s:eb(s);return new W([k.outputOf(G.of(eO.EVENT_RESULT_NAME,t))])}}class eH extends eO{constructor(){super("Frequency",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY,eH.PARAMETER_INT_SOURCE_FROM,eH.PARAMETER_INT_LENGTH],eH.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ANY.getParameterName()),n=e?.getArguments()?.get(eH.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eH.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eH.EVENT_RESULT_NAME,0]]))]);if(n>t.length)throw new j("Given start point is more than the size of source");let a=n+s;if(-1==s&&(a=t.length-n),a>t.length)throw new j("Given length is more than the size of source");let i=0;for(let e=n;e<a&&e<t.length;e++)0==ex.compare(t[e],r)&&i++;return new W([k.outputOf(new Map([[eH.EVENT_RESULT_NAME,i]]))])}}class ek extends eO{constructor(){super("IndexOf",[ek.PARAMETER_ARRAY_SOURCE,ek.PARAMETER_ANY_ELEMENT_OBJECT,ek.PARAMETER_INT_FIND_FROM],ek.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ek.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ek.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),n=e?.getArguments()?.get(ek.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[ek.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length)throw new j("The size of the search index of the array is greater than the size of the array");let s=-1;for(let e=n;e<t.length;e++)if(0==ex.compare(t[e],r)){s=e;break}return new W([k.outputOf(new Map([[ek.EVENT_RESULT_NAME,s]]))])}}class ej extends eO{constructor(){super("IndexOfArray",[ej.PARAMETER_ARRAY_SOURCE,ej.PARAMETER_ARRAY_SECOND_SOURCE,ej.PARAMETER_INT_FIND_FROM],ej.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(ej.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new W([k.outputOf(new Map([[ej.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length||t.length<r.length)throw new j("Given from second source is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==ex.compare(t[e],r[n])){for(;n<s&&0==ex.compare(t[e+n],r[n]);)n++;if(n==s){a=e;break}}}return new W([k.outputOf(new Map([[ej.EVENT_RESULT_NAME,a]]))])}}class eW extends eO{constructor(){super("LastIndexOf",[eW.PARAMETER_ARRAY_SOURCE,eW.PARAMETER_ANY_ELEMENT_OBJECT,eW.PARAMETER_INT_FIND_FROM],eW.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eW.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eW.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),n=e?.getArguments()?.get(eW.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eW.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length)throw new j("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let s=-1;for(let e=t.length-1;e>=n;e--)if(0==ex.compare(t[e],r)){s=e;break}return new W([k.outputOf(new Map([[eW.EVENT_RESULT_NAME,s]]))])}}class eX extends eO{constructor(){super("LastIndexOfArray",[eX.PARAMETER_ARRAY_SOURCE,eX.PARAMETER_ARRAY_SECOND_SOURCE,eX.PARAMETER_INT_FIND_FROM],eX.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(eX.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eX.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length||r.length>t.length)throw new j("Given from index is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==ex.compare(t[e],r[n])){for(;n<s&&0==ex.compare(t[e+n],r[n]);)n++;n==s&&(a=e)}}return new W([k.outputOf(new Map([[eX.EVENT_RESULT_NAME,a]]))])}}class eJ extends eO{constructor(){super("Max",[eJ.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eJ.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eJ.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new j("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let n=t[e];ex.comparePrimitive(r,n)>=0||(r=n)}return new W([k.outputOf(new Map([[eJ.EVENT_RESULT_NAME,r]]))])}}class eq extends eO{constructor(){super("Min",[eq.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eq.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(eq.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new j("Search source array cannot be empty");for(let e=0;e<r.length;e++)!h(r[e])&&(void 0===t||0>ex.comparePrimitive(r[e],t))&&(t=r[e]);return new W([k.outputOf(new Map([[eq.EVENT_RESULT_NAME,t]]))])}}class eK extends eO{constructor(){super("MisMatch",[eK.PARAMETER_ARRAY_SOURCE,eK.PARAMETER_INT_FIND_FROM,eK.PARAMETER_ARRAY_SECOND_SOURCE,eK.PARAMETER_INT_SECOND_SOURCE_FROM,eK.PARAMETER_INT_LENGTH],eK.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eK.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eK.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=s<n.length&&s>0?s:0;if(i+a>=t.length||o+a>n.length)throw new j("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=n[o+e]){E=e;break}return new W([k.outputOf(new Map([[eK.EVENT_RESULT_NAME,E]]))])}}class ez extends eO{constructor(){super("Reverse",[ez.PARAMETER_ARRAY_SOURCE,ez.PARAMETER_INT_SOURCE_FROM,ez.PARAMETER_INT_LENGTH],ez.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ez.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ez.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ez.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n>=t.length||n<0||r<0)throw new j("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let s=r+n-1;for(;r<=s;){let e=t[r],n=t[s];t[r++]=n,t[s--]=e}return new W([k.outputOf(new Map([[ez.EVENT_RESULT_NAME,t]]))])}}class eQ extends eO{constructor(){super("Rotate",[eQ.PARAMETER_ARRAY_SOURCE,eQ.PARAMETER_ROTATE_LENGTH],eQ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eQ.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eQ.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);let n=(t=[...t]).length;return r%=n,this.rotate(t,0,r-1),this.rotate(t,r,n-1),this.rotate(t,0,n-1),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let n=e[t];e[t++]=e[r],e[r--]=n}}}class eZ extends eO{constructor(){super("Shuffle",[eZ.PARAMETER_ARRAY_SOURCE],eZ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eZ.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);let r=0,n=(t=[...t]).length;for(let e=0;e<n;e++){let e=Math.floor(Math.random()*n)%n,s=t[r];t[r]=t[e],t[e]=s,r=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}t({},"ObjectValueSetterExtractor",()=>e9),t({},"Expression",()=>e4),t({},"StringBuilder",()=>e0);class e0{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new j(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}t({},"ExpressionEvaluationException",()=>e1);class e1 extends Error{constructor(e,t,r){super(J.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}t({},"ExpressionToken",()=>e2);class e2{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}t({},"ExpressionTokenValue",()=>e5);class e5 extends e2{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return J.format("$: $",this.expression,this.element)}}t({},"Operation",()=>e7);class e7{static{this.MULTIPLICATION=new e7("*")}static{this.DIVISION=new e7("/")}static{this.INTEGER_DIVISION=new e7("//")}static{this.MOD=new e7("%")}static{this.ADDITION=new e7("+")}static{this.SUBTRACTION=new e7("-")}static{this.NOT=new e7("not",void 0,!0)}static{this.AND=new e7("and",void 0,!0)}static{this.OR=new e7("or",void 0,!0)}static{this.LESS_THAN=new e7("<")}static{this.LESS_THAN_EQUAL=new e7("<=")}static{this.GREATER_THAN=new e7(">")}static{this.GREATER_THAN_EQUAL=new e7(">=")}static{this.EQUAL=new e7("=")}static{this.NOT_EQUAL=new e7("!=")}static{this.BITWISE_AND=new e7("&")}static{this.BITWISE_OR=new e7("|")}static{this.BITWISE_XOR=new e7("^")}static{this.BITWISE_COMPLEMENT=new e7("~")}static{this.BITWISE_LEFT_SHIFT=new e7("<<")}static{this.BITWISE_RIGHT_SHIFT=new e7(">>")}static{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new e7(">>>")}static{this.UNARY_PLUS=new e7("UN: +","+")}static{this.UNARY_MINUS=new e7("UN: -","-")}static{this.UNARY_LOGICAL_NOT=new e7("UN: not","not")}static{this.UNARY_BITWISE_COMPLEMENT=new e7("UN: ~","~")}static{this.ARRAY_OPERATOR=new e7("[")}static{this.OBJECT_OPERATOR=new e7(".")}static{this.NULLISH_COALESCING_OPERATOR=new e7("??")}static{this.CONDITIONAL_TERNARY_OPERATOR=new e7("?")}static{this.VALUE_OF=new Map([["MULTIPLICATION",e7.MULTIPLICATION],["DIVISION",e7.DIVISION],["INTEGER_DIVISON",e7.INTEGER_DIVISION],["MOD",e7.MOD],["ADDITION",e7.ADDITION],["SUBTRACTION",e7.SUBTRACTION],["NOT",e7.NOT],["AND",e7.AND],["OR",e7.OR],["LESS_THAN",e7.LESS_THAN],["LESS_THAN_EQUAL",e7.LESS_THAN_EQUAL],["GREATER_THAN",e7.GREATER_THAN],["GREATER_THAN_EQUAL",e7.GREATER_THAN_EQUAL],["EQUAL",e7.EQUAL],["NOT_EQUAL",e7.NOT_EQUAL],["BITWISE_AND",e7.BITWISE_AND],["BITWISE_OR",e7.BITWISE_OR],["BITWISE_XOR",e7.BITWISE_XOR],["BITWISE_COMPLEMENT",e7.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",e7.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",e7.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",e7.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",e7.UNARY_PLUS],["UNARY_MINUS",e7.UNARY_MINUS],["UNARY_LOGICAL_NOT",e7.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",e7.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",e7.ARRAY_OPERATOR],["OBJECT_OPERATOR",e7.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",e7.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",e7.CONDITIONAL_TERNARY_OPERATOR]])}static{this.UNARY_OPERATORS=new Set([e7.ADDITION,e7.SUBTRACTION,e7.NOT,e7.BITWISE_COMPLEMENT,e7.UNARY_PLUS,e7.UNARY_MINUS,e7.UNARY_LOGICAL_NOT,e7.UNARY_BITWISE_COMPLEMENT])}static{this.ARITHMETIC_OPERATORS=new Set([e7.MULTIPLICATION,e7.DIVISION,e7.INTEGER_DIVISION,e7.MOD,e7.ADDITION,e7.SUBTRACTION])}static{this.LOGICAL_OPERATORS=new Set([e7.NOT,e7.AND,e7.OR,e7.LESS_THAN,e7.LESS_THAN_EQUAL,e7.GREATER_THAN,e7.GREATER_THAN_EQUAL,e7.EQUAL,e7.NOT_EQUAL,e7.NULLISH_COALESCING_OPERATOR])}static{this.BITWISE_OPERATORS=new Set([e7.BITWISE_AND,e7.BITWISE_COMPLEMENT,e7.BITWISE_LEFT_SHIFT,e7.BITWISE_OR,e7.BITWISE_RIGHT_SHIFT,e7.BITWISE_UNSIGNED_RIGHT_SHIFT,e7.BITWISE_XOR])}static{this.CONDITIONAL_OPERATORS=new Set([e7.CONDITIONAL_TERNARY_OPERATOR])}static{this.OPERATOR_PRIORITY=new Map([[e7.UNARY_PLUS,1],[e7.UNARY_MINUS,1],[e7.UNARY_LOGICAL_NOT,1],[e7.UNARY_BITWISE_COMPLEMENT,1],[e7.ARRAY_OPERATOR,1],[e7.OBJECT_OPERATOR,1],[e7.MULTIPLICATION,2],[e7.DIVISION,2],[e7.INTEGER_DIVISION,2],[e7.MOD,2],[e7.ADDITION,3],[e7.SUBTRACTION,3],[e7.BITWISE_LEFT_SHIFT,4],[e7.BITWISE_RIGHT_SHIFT,4],[e7.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[e7.LESS_THAN,5],[e7.LESS_THAN_EQUAL,5],[e7.GREATER_THAN,5],[e7.GREATER_THAN_EQUAL,5],[e7.EQUAL,6],[e7.NOT_EQUAL,6],[e7.BITWISE_AND,7],[e7.BITWISE_XOR,8],[e7.BITWISE_OR,9],[e7.AND,10],[e7.OR,11],[e7.NULLISH_COALESCING_OPERATOR,11],[e7.CONDITIONAL_TERNARY_OPERATOR,12]])}static{this.OPERATORS=new Set([...Array.from(e7.ARITHMETIC_OPERATORS),...Array.from(e7.LOGICAL_OPERATORS),...Array.from(e7.BITWISE_OPERATORS),e7.ARRAY_OPERATOR,e7.OBJECT_OPERATOR,...Array.from(e7.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))}static{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(e7.ARITHMETIC_OPERATORS),...Array.from(e7.LOGICAL_OPERATORS),...Array.from(e7.BITWISE_OPERATORS),e7.ARRAY_OPERATOR,e7.OBJECT_OPERATOR,...Array.from(e7.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))}static{this.OPERATION_VALUE_OF=new Map(Array.from(e7.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))}static{this.UNARY_MAP=new Map([[e7.ADDITION,e7.UNARY_PLUS],[e7.SUBTRACTION,e7.UNARY_MINUS],[e7.NOT,e7.UNARY_LOGICAL_NOT],[e7.BITWISE_COMPLEMENT,e7.UNARY_BITWISE_COMPLEMENT],[e7.UNARY_PLUS,e7.UNARY_PLUS],[e7.UNARY_MINUS,e7.UNARY_MINUS],[e7.UNARY_LOGICAL_NOT,e7.UNARY_LOGICAL_NOT],[e7.UNARY_BITWISE_COMPLEMENT,e7.UNARY_BITWISE_COMPLEMENT]])}static{this.BIGGEST_OPERATOR_SIZE=Array.from(e7.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)}constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return e7.VALUE_OF.get(e)}toString(){return this.operator}}class e4 extends e2{constructor(e,t,r,n){super(e||""),this.tokens=new q,this.ops=new q,t&&this.tokens.push(t),r&&this.tokens.push(r),n&&this.ops.push(n),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",n=new e0(""),s=0,a=!1;for(;s<t;){switch(r=this.expression[s],e=n.toString(),r){case" ":a=this.processTokenSepearator(n,e,a);break;case"(":s=this.processSubExpression(t,n,e,s,a),a=!1;break;case")":throw new e1(this.expression,"Extra closing parenthesis found");case"]":throw new e1(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,s);s=e.getT1(),a=e.getT2();break}case"?":if(s+1<t&&"?"!=this.expression.charAt(s+1)&&0!=s&&"?"!=this.expression.charAt(s-1))s=this.processTernaryOperator(t,n,e,s,a);else{let i=this.processOthers(r,t,n,e,s,a);s=i.getT1(),(a=i.getT2())&&this.ops.peek()==e7.ARRAY_OPERATOR&&(s=(i=this.process(t,n,s)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,n,e,s,a);s=i.getT1(),(a=i.getT2())&&this.ops.peek()==e7.ARRAY_OPERATOR&&(s=(i=this.process(t,n,s)).getT1(),a=i.getT2())}++s}if(e=n.toString(),!Q.isNullOrBlank(e)){if(e7.OPERATORS.has(e))throw new e1(this.expression,"Expression is ending with an operator");this.tokens.push(new e2(e))}}processStringLiteral(e,t,r){let n="",s=r+1;for(;s<e;s++){let e=this.expression.charAt(s);if(e==t&&"\\"!=this.expression.charAt(s-1))break;n+=e}if(s==e&&this.expression.charAt(s-1)!=t)throw new e1(this.expression,"Missing string ending marker "+t);let a=new ee(s,!1);return this.tokens.push(new e5(n,n)),a}process(e,t,r){let n=1;for(++r;r<e&&0!=n;){let e=this.expression.charAt(r);"]"==e?--n:"["==e&&++n,0!=n&&(t.append(e),r++)}return this.tokens.push(new e4(t.toString())),t.setLength(0),new ee(r,!1)}processOthers(e,t,r,n,s,a){let i=t-s;i=i<e7.BIGGEST_OPERATOR_SIZE?i:e7.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(s,s+e);if(e7.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return Q.isNullOrBlank(n)||(this.tokens.push(new e2(n)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new ee(s+e-1,a)}return r.append(e),new ee(s,!1)}processTernaryOperator(e,t,r,n,s){if(s)throw new e1(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new e4(r)),t.setLength(0));let a=1,i="",o=++n;for(;n<e&&a>0;)"?"==(i=this.expression.charAt(n))?++a:":"==i&&--a,++n;if(":"!=i)throw new e1(this.expression,"':' operater is missing");if(n>=e)throw new e1(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(e7.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(e7.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new e4("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new e4("",r,t,e))}}this.ops.push(e7.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new e4(this.expression.substring(o,n-1)));let E=this.expression.substring(n);if(""===E.trim())throw new e1(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new e4(E)),e-1}processSubExpression(e,t,r,n,s){if(e7.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(r),s),t.setLength(0);else if(!Q.isNullOrBlank(r))throw new e1(this.expression,J.format("Unkown token : $ found.",r));let a=1,i=new e0,o=this.expression.charAt(n);for(n++;n<e&&a>0;)"("==(o=this.expression.charAt(n))?a++:")"==o&&a--,0!=a&&(i.append(o),n++);if(")"!=o)throw new e1(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new e4(i.toString().trim())),n}processTokenSepearator(e,t,r){return Q.isNullOrBlank(t)||(e7.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new e2(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,n){if(r){if(n||e.isEmpty()){if(e7.UNARY_OPERATORS.has(r)){let e=e7.UNARY_MAP.get(r);e&&t.push(e)}else throw new e1(this.expression,J.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(e7.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new e4("",t,void 0,r))}else{let t=e.pop(),n=e.pop();e.push(new e4("",n,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=e7.OPERATOR_PRIORITY.get(e),n=e7.OPERATOR_PRIORITY.get(t);if(!r||!n)throw Error("Unknown operators provided");return n<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new e0,t=0,r=this.ops.toArray(),n=this.tokens.toArray();for(let s=0;s<r.length;s++)if(r[s].getOperator().startsWith("UN: "))e.append("(").append(r[s].getOperator().substring(4)).append(n[t]instanceof e4?n[t].toString():n[t]).append(")"),t++;else if(r[s]==e7.CONDITIONAL_TERNARY_OPERATOR){let r=n[t++];e.insert(0,r.toString()),e.insert(0,":"),r=n[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=n[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=n[t++];e.insert(0,r.toString())}let a=n[t++];e.insert(0,r[s].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}t({},"TokenValueExtractor",()=>e6);class e6{static{this.REGEX_SQUARE_BRACKETS=/[\[\]]/}static{this.REGEX_DOT=/\./}getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new j(J.format("Token $ doesn't start with $",e,t));if(e.endsWith(".__index")){let t=e.substring(0,e.length-8),r=this.getValueInternal(t);if(!h(r?.__index))return r.__index;if(!t.endsWith("]"))return t.substring(t.lastIndexOf(".")+1);{let e=t.substring(t.lastIndexOf("[")+1,t.length-1),r=parseInt(e);return isNaN(r)?e:r}}return this.getValueInternal(e)}retrieveElementFrom(e,t,r,n){if(h(n))return;if(t.length==r)return n;let s=t[r].split(e6.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!Q.isNullOrBlank(e)).reduce((n,s)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,s,n),n);return this.retrieveElementFrom(e,t,r+1,s)}resolveForEachPartOfTokenWithBrackets(e,t,r,n,s){if(!h(s))return"length"===n?this.getLength(e,s):Array.isArray(s)?this.handleArrayAccess(e,n,s):this.handleObjectAccess(e,t,r,n,s)}getLength(e,t){let r=typeof t;if("string"===r||Array.isArray(t))return t.length;if("object"===r)return"length"in t?t.length:Object.keys(t).length;throw new e1(e,J.format("Length can't be found in token $",e))}handleArrayAccess(e,t,r){let n=parseInt(t);if(isNaN(n))throw new e1(e,J.format("$ is not a number",t));if(!(n<0)&&!(n>=r.length))return r[n]}handleObjectAccess(e,t,r,n,s){if(n.startsWith('"')){if(!n.endsWith('"')||1==n.length||2==n.length)throw new e1(e,J.format("$ is missing a double quote or empty key found",e));n=n.substring(1,t.length-2)}return this.checkIfObject(e,t,r,s),s[n]}checkIfObject(e,t,r,n){if("object"!=typeof n||Array.isArray(n))throw new e1(e,J.format("Unable to retrieve $ from $ in the path $",t[r],n.toString(),e))}}class e9 extends e6{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(e6.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,n=!1){this.store=eb(this.store),this.modifyStore(e,t,r,n)}modifyStore(e,t,r,n){let s=new e4(e),a=s.getTokens();a.removeLast();let i=s.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof e5?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==e7.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof e5?E.getElement():E.getExpression();o==e7.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,n):this.putDataInArray(A,u,t,r,n)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));let s=e[n];return h(s)&&(s=r==e7.OBJECT_OPERATOR?{}:[],e[n]=s),s}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));let n=e[t];return h(n)&&(n=r==e7.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r,n,s){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new j(J.format("Expected an array index but found $",t));if(a<0)throw new j(J.format("Array index is out of bound - $",t));(n||h(e[a]))&&(s&&h(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,n,s){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));(n||h(e[t]))&&(s&&h(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class e8 extends eO{constructor(){super("Sort",[e8.PARAMETER_ARRAY_SOURCE,e8.PARAMETER_INT_FIND_FROM,e8.PARAMETER_INT_LENGTH,e8.PARAMETER_BOOLEAN_ASCENDING,e8.PARAMETER_KEY_PATH],e8.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e8.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e8.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(e8.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(e8.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(e8.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==n&&(n=t.length-r),r<0||r>=t.length||r+n>t.length)throw new j("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+n+1),o=new e9({},"Data.");return i.sort((e,t)=>"object"==typeof e&&"object"==typeof t&&a.length?(o.setStore({a:e,b:t}),e3(o.getValue("Data.a."+a),o.getValue("Data.b."+a),s)):e3(e,t,s)),t.splice(r,n,...i),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}function e3(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class te extends eO{constructor(){super("SubArray",[te.PARAMETER_ARRAY_SOURCE,te.PARAMETER_INT_FIND_FROM,te.PARAMETER_INT_LENGTH],te.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(te.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(te.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n<=0)return new W([k.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+n>t.length)throw new j("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let s=t.slice(r,r+n);return new W([k.outputOf(new Map([[te.EVENT_RESULT_NAME,s]]))])}}class tt extends eO{constructor(){super("Insert",[tt.PARAMETER_ARRAY_SOURCE,tt.PARAMETER_INT_OFFSET,tt.PARAMETER_ANY],tt.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tt.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tt.PARAMETER_INT_OFFSET.getParameterName());var n=e?.getArguments()?.get(tt.PARAMETER_ANY.getParameterName());if(h(n)||h(r)||r>t.length)throw new j("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(n),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);t.push(n);let s=t.length-1;for(r++;s>=r;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class tr extends eO{constructor(){super("InsertLast",[tr.PARAMETER_ARRAY_SOURCE,tr.PARAMETER_ANY],tr.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tr.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tr.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class tn extends eO{constructor(){super("RemoveDuplicates",[tn.PARAMETER_ARRAY_SOURCE,tn.PARAMETER_INT_SOURCE_FROM,tn.PARAMETER_INT_LENGTH],tn.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tn.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tn.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(tn.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new j(J.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));let s=[...t],a=r+n;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(z(s[e],s[t])){s.splice(e,1);break}return new W([k.outputOf(G.of(tn.EVENT_RESULT_NAME,s))])}}let ts="keyPath",ta="valuePath",ti="ignoreNullValues",to="ignoreNullKeys",tE="ignoreDuplicateKeys";class tu extends eO{constructor(){super("ArrayToObjects",[eO.PARAMETER_ARRAY_SOURCE,v.of(ts,U.ofString(ts)),v.of(ta,U.of(ta,n.STRING,n.NULL)),v.of(ti,U.ofBoolean(ti).setDefaultValue(!1)),v.of(to,U.ofBoolean(to).setDefaultValue(!0)),v.of(tE,U.ofBoolean(tE).setDefaultValue(!1))],eO.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ts),n=e?.getArguments()?.get(ta)??"",s=e?.getArguments()?.get(ti),a=e?.getArguments()?.get(to),i=e?.getArguments()?.get(tE),o=new e9({},"Data."),E=t.filter(e=>!h(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&h(E))return e;let u=n?o.getValue("Data."+n):t;return s&&h(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,E]]))])}}let tA="source",tT="delimiter",tl="result",tc=new X("Join").setNamespace(m.SYSTEM_ARRAY).setParameters(new Map([[tA,new v(tA,U.ofArray(tA,U.of("each",n.STRING,n.INTEGER,n.LONG,n.DOUBLE,n.FLOAT,n.NULL)))],[tT,new v(tT,U.ofString(tT).setDefaultValue(""))]])).setEvents(new Map([H.outputEventMapEntry(new Map([[tl,U.ofString(tl)]]))]));class tR extends eS{getSignature(){return tc}async internalExecute(e){let t=e?.getArguments()?.get(tA),r=e?.getArguments()?.get(tT);return new W([k.outputOf(new Map([[tl,t.join(r)]]))])}}class tg{static{this.repoMap=G.ofArrayEntries(Y(new ed),Y(new ew),Y(new eL),Y(new eV),Y(new ev),Y(new eC),Y(new eG),Y(new eD),Y(new e$),Y(new eF),Y(new eB),Y(new eY),Y(new eH),Y(new ek),Y(new ej),Y(new eW),Y(new eX),Y(new eJ),Y(new eq),Y(new eK),Y(new ez),Y(new eQ),Y(new eZ),Y(new e8),Y(new te),Y(new eP),Y(new tt),Y(new tr),Y(new tn),Y(new tu),Y(new tR))}static{this.filterableNames=Array.from(tg.repoMap.values()).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=m.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(tg.repoMap.get(t))}async filter(e){return Promise.resolve(tg.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}t({},"ContextElement",()=>tm);class tm{static{this.NULL=new tm(U.NULL,void 0)}constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}let th="name",tp="schema",tf=new X("Create").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(th,new U().setName(th).setType(M.of(n.STRING)).setMinLength(1).setFormat(a.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),v.ofEntry(tp,U.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([H.outputEventMapEntry(new Map)])),tN="name",t_="value",tM=new X("Get").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(tN,new U().setName(tN).setType(M.of(n.STRING)).setMinLength(1).setFormat(a.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([H.outputEventMapEntry(new Map([[t_,U.ofAny(t_)]]))]));t({},"ExpressionEvaluator",()=>rS);var tS={};t(tS,"LogicalNullishCoalescingOperator",()=>tw);var tO={};t(tO,"BinaryOperator",()=>td);class td{nullCheck(e,t,r){if(h(e)||h(t))throw new ey(J.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tw extends td{apply(e,t){return h(e)?t:e}}var tI={};t(tI,"ArithmeticAdditionOperator",()=>tP);class tP extends td{apply(e,t){return h(e)?t:h(t)?e:e+t}}var ty={};t(ty,"ArithmeticDivisionOperator",()=>tx);class tx extends td{apply(e,t){return this.nullCheck(e,t,e7.DIVISION),e/t}}var tL={};t(tL,"ArithmeticIntegerDivisionOperator",()=>tU);class tU extends td{apply(e,t){return this.nullCheck(e,t,e7.DIVISION),Math.floor(e/t)}}var tV={};t(tV,"ArithmeticModulusOperator",()=>tb);class tb extends td{apply(e,t){return this.nullCheck(e,t,e7.MOD),e%t}}var tv={};t(tv,"ArithmeticMultiplicationOperator",()=>tC);class tC extends td{apply(e,t){this.nullCheck(e,t,e7.MULTIPLICATION);let r="string"==typeof e,n=typeof t;if(r||"string"===n){let n=r?e:t,s=r?t:e,a="",i=s<0,o=Math.floor(s=Math.abs(s));for(;o-- >0;)a+=n;let E=Math.floor(n.length*(s-Math.floor(s)));if(E<0&&(E=-E),0!=E&&(a+=n.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var tG={};t(tG,"ArithmeticSubtractionOperator",()=>tD);class tD extends td{apply(e,t){return this.nullCheck(e,t,e7.SUBTRACTION),e-t}}var t$={};t(t$,"ArrayOperator",()=>tF);class tF extends td{apply(e,t){if(!e)throw new ey("Cannot apply array operator on a null value");if(!t)throw new ey("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new ey(J.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new ey(J.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var tB={};t(tB,"BitwiseAndOperator",()=>tY);class tY extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_AND),e&t}}var tH={};t(tH,"BitwiseLeftShiftOperator",()=>tk);class tk extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_LEFT_SHIFT),e<<t}}var tj={};t(tj,"BitwiseOrOperator",()=>tW);class tW extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_OR),e|t}}var tX={};t(tX,"BitwiseRightShiftOperator",()=>tJ);class tJ extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_RIGHT_SHIFT),e>>t}}var tq={};t(tq,"BitwiseUnsignedRightShiftOperator",()=>tK);class tK extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var tz={};t(tz,"BitwiseXorOperator",()=>tQ);class tQ extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_XOR),e^t}}var tZ={};t(tZ,"LogicalAndOperator",()=>t0);class t0 extends td{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var t1={};t(t1,"LogicalEqualOperator",()=>t2);class t2 extends td{apply(e,t){return z(e,t)}}var t5={};t(t5,"LogicalGreaterThanEqualOperator",()=>t7);class t7 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare >= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>=s.getT2()}}var t4={};t(t4,"LogicalGreaterThanOperator",()=>t6);class t6 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare > with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>s.getT2()}}var t9={};t(t9,"LogicalLessThanEqualOperator",()=>t8);class t8 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare <= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<=s.getT2()}}var t3={};t(t3,"LogicalLessThanOperator",()=>re);class re extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare < with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<s.getT2()}}var rt={};t(rt,"LogicalNotEqualOperator",()=>rr);class rr extends td{apply(e,t){return!z(e,t)}}var rn={};t(rn,"LogicalOrOperator",()=>rs);class rs extends td{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var ra={};t(ra,"ObjectOperator",()=>ri);class ri extends td{apply(e,t){if(!e)throw new ey("Cannot apply array operator on a null value");if(!t)throw new ey("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new ey(J.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var ro={};t(ro,"ArithmeticUnaryMinusOperator",()=>rA);var rE={};t(rE,"UnaryOperator",()=>ru);class ru{nullCheck(e,t){if(h(e))throw new ey(J.format("$ cannot be applied to a null value",t.getOperatorName()))}}class rA extends ru{apply(e){return this.nullCheck(e,e7.UNARY_MINUS),ex.findPrimitiveNumberType(e),-e}}var rT={};t(rT,"ArithmeticUnaryPlusOperator",()=>rl);class rl extends ru{apply(e){return this.nullCheck(e,e7.UNARY_PLUS),ex.findPrimitiveNumberType(e),e}}var rc={};t(rc,"BitwiseComplementOperator",()=>rR);class rR extends ru{apply(e){this.nullCheck(e,e7.UNARY_BITWISE_COMPLEMENT);let t=ex.findPrimitiveNumberType(e);if(t.getT1()!=n.INTEGER&&t.getT1()!=n.LONG)throw new ey(J.format("Unable to apply bitwise operator on $",e));return~e}}var rg={};t(rg,"LogicalNotOperator",()=>rm);class rm extends ru{apply(e){return!e&&""!==e}}t({},"LiteralTokenValueExtractor",()=>rp);let rh=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class rp extends e6{static{this.INSTANCE=new rp}getValueInternal(e){if(!Q.isNullOrBlank(e))return(e=e.trim(),rh.has(e))?rh.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new e1(e,J.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new e1(e,J.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.has(e+".")?t.get(e+".")?.getStore():this.getValue(e)}}var rf={};t(rf,"ConditionalTernaryOperator",()=>r_);class rN{nullCheck(e,t,r,n){if(h(e)||h(t)||h(r))throw new ey(J.format("$ cannot be applied to a null value",n.getOperatorName()))}}class r_ extends rN{apply(e,t,r){return e?t:r}}r({},rf);class rM extends e6{static{this.PREFIX="_internal."}addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.values.get(r))}getPrefix(){return rM.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rS{static{this.UNARY_OPERATORS_MAP=new Map([[e7.UNARY_BITWISE_COMPLEMENT,new rR],[e7.UNARY_LOGICAL_NOT,new rm],[e7.UNARY_MINUS,new rA],[e7.UNARY_PLUS,new rl]])}static{this.TERNARY_OPERATORS_MAP=new Map([[e7.CONDITIONAL_TERNARY_OPERATOR,new r_]])}static{this.BINARY_OPERATORS_MAP=new Map([[e7.ADDITION,new tP],[e7.DIVISION,new tx],[e7.INTEGER_DIVISION,new tU],[e7.MOD,new tb],[e7.MULTIPLICATION,new tC],[e7.SUBTRACTION,new tD],[e7.BITWISE_AND,new tY],[e7.BITWISE_LEFT_SHIFT,new tk],[e7.BITWISE_OR,new tW],[e7.BITWISE_RIGHT_SHIFT,new tJ],[e7.BITWISE_UNSIGNED_RIGHT_SHIFT,new tK],[e7.BITWISE_XOR,new tQ],[e7.AND,new t0],[e7.EQUAL,new t2],[e7.GREATER_THAN,new t6],[e7.GREATER_THAN_EQUAL,new t7],[e7.LESS_THAN,new re],[e7.LESS_THAN_EQUAL,new t8],[e7.OR,new rs],[e7.NOT_EQUAL,new rr],[e7.NULLISH_COALESCING_OPERATOR,new tw],[e7.ARRAY_OPERATOR,new tF],[e7.OBJECT_OPERATOR,new ri]])}static{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rS.UNARY_OPERATORS_MAP.keys())}constructor(e){this.internalTokenValueExtractor=new rM,e instanceof e4?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,n=0,s=new q;for(;n<e.length-1;){if("{"==e.charAt(n)&&"{"==e.charAt(n+1))0==r&&s.push(new ee(n+2,-1)),r++,n++;else if("}"==e.charAt(n)&&"}"==e.charAt(n+1)){if(--r<0)throw new e1(e,"Expecting {{ nesting path operator to be started before closing");0==r&&s.push(s.pop().setT2(n)),n++}n++}let a=this.replaceNestingExpression(e,t,s);return new ee(a,new e4(a))}replaceNestingExpression(e,t,r){let n=e;for(let s of r.toArray()){if(-1==s.getT2())throw new e1(e,"Expecting }} nesting path operator to be closed");let r=new rS(n.substring(s.getT1(),s.getT2())).evaluate(t);n=n.substring(0,s.getT1()-2)+r+n.substring(s.getT2()+2)}return n}getExpression(){return this.exp||(this.exp=new e4(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),n=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),s=n.pop();if(rS.UNARY_OPERATORS_MAP_KEY_SET.has(e))n.push(this.applyUnaryOperation(e,this.getValueFromToken(t,s)));else if(e==e7.OBJECT_OPERATOR||e==e7.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,n,e,s);else if(e==e7.CONDITIONAL_TERNARY_OPERATOR){let r=n.pop(),a=n.pop(),i=this.getValueFromToken(t,a),o=this.getValueFromToken(t,r),E=this.getValueFromToken(t,s);n.push(this.applyTernaryOperation(e,i,o,E))}else{let r=n.pop(),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,s);n.push(this.applyBinaryOperation(e,a,i))}}if(n.isEmpty())throw new ey(J.format("Expression : $ evaluated to null",e));if(1!=n.size())throw new ey(J.format("Expression : $ evaluated multiple values $",e,n));let s=n.get(0);if(s instanceof e5)return s.getElement();if(!(s instanceof e4))return this.getValueFromToken(t,s);throw new ey(J.format("Expression : $ evaluated to $",e,n.get(0)))}processObjectOrArrayOperator(e,t,r,n,s){let a=new q,i=new q;if(!n||!s)return;do i.push(n),s instanceof e4?a.push(new e5(s.toString(),this.evaluateExpression(s,e))):s&&a.push(s),s=r.isEmpty()?void 0:r.pop(),n=t.isEmpty()?void 0:t.pop();while(n==e7.OBJECT_OPERATOR||n==e7.ARRAY_OPERATOR)s&&(s instanceof e4?a.push(new e5(s.toString(),this.evaluateExpression(s,e))):a.push(s)),n&&t.push(n);let o=a.pop();if(o instanceof e5&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new e2(rM.PREFIX+e)}let E=new e0(o instanceof e5?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),n=i.pop(),E.append(n.getOperator()).append(o instanceof e5?o.getTokenValue():o.toString()),n==e7.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new e5(u,this.getValue(u,e)));else{let e;try{e=rp.INSTANCE.getValue(u)}catch(t){e=u}r.push(new e5(u,e))}}applyTernaryOperation(e,t,r,n){let s=rS.TERNARY_OPERATORS_MAP.get(e);if(!s)throw new e1(this.expression,J.format("No operator found to evaluate $",this.getExpression()));return new e5(e.toString(),s.apply(t,r,n))}applyBinaryOperation(e,t,r){let n=typeof t,s=typeof r,a=rS.BINARY_OPERATORS_MAP.get(e);if(("object"===n||"object"===s)&&e!==e7.EQUAL&&e!==e7.NOT_EQUAL&&e!==e7.NULLISH_COALESCING_OPERATOR&&e!==e7.AND&&e!==e7.OR)throw new e1(this.expression,J.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new e1(this.expression,J.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new e5(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=e7.NOT.getOperator()&&e.getOperator()!=e7.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new e1(this.expression,J.format("The operator $ cannot be applied to $",e.getOperator(),t));let n=rS.UNARY_OPERATORS_MAP.get(e);if(!n)throw new e1(this.expression,J.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new e5(e.toString(),n.apply(t))}getValueFromToken(e,t){return t instanceof e4?this.evaluateExpression(t,e):t instanceof e5?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):rp.INSTANCE.getValueFromExtractors(e,t)}}let rO="name",rd="value",rw=new X("Set").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(rO,new U().setName(rO).setType(M.of(n.STRING)).setMinLength(1),!1),v.ofEntry(rd,U.ofAny(rd))])).setEvents(new Map([H.outputEventMapEntry(new Map)])),rI="value",rP="eventName",ry="results",rx=new X("GenerateEvent").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(rP,U.ofString(rP).setDefaultValue("output")),v.ofEntry(ry,U.ofObject(ry).setProperties(new Map([["name",U.ofString("name")],[rI,v.EXPRESSION]])),!0)])).setEvents(new Map([H.outputEventMapEntry(new Map)]));class rL extends eS{static{this.CONDITION="condition"}static{this.SIGNATURE=new X("If").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(rL.CONDITION,U.ofAny(rL.CONDITION))])).setEvents(new Map([H.eventMapEntry(H.TRUE,new Map),H.eventMapEntry(H.FALSE,new Map),H.outputEventMapEntry(new Map)]))}getSignature(){return rL.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rL.CONDITION);return new W([k.of(t||""===t?H.TRUE:H.FALSE,new Map),k.outputOf(new Map)])}}let rU="stepName",rV=new X("Break").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rU,U.of(rU,n.STRING))])).setEvents(new Map([H.outputEventMapEntry(new Map([]))])),rb="count",rv="value",rC="index",rG=new X("CountLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rb,U.of(rb,n.INTEGER))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rC,U.of(rC,n.INTEGER)]])),H.outputEventMapEntry(new Map([[rv,U.of(rv,n.INTEGER)]]))])),rD="source",r$="each",rF="index",rB="value",rY=new X("ForEachLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rD,U.ofArray(rD,U.ofAny(rD)))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rF,U.of(rF,n.INTEGER)],[r$,U.ofAny(r$)]])),H.outputEventMapEntry(new Map([[rB,U.of(rB,n.INTEGER)]]))])),rH="from",rk="step",rj="value",rW="index",rX=new X("RangeLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rH,U.of(rH,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(0)),v.ofEntry("to",U.of("to",n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(1)),v.ofEntry(rk,U.of(rk,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(1).setNot(new U().setConstant(0)))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rW,U.of(rW,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)]])),H.outputEventMapEntry(new Map([[rj,U.of(rj,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)]]))])),rJ="value",rq=new X("Add").setNamespace(m.MATH).setParameters(new Map([[rJ,new v(rJ,U.ofNumber(rJ)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[rJ,U.ofNumber(rJ)]]))])),rK="value",rz="value1",rQ="value2",rZ=[()=>new Map([[rK,new v(rK,U.ofNumber(rK))]]),()=>new Map([[rz,new v(rz,U.ofNumber(rz))],[rQ,new v(rQ,U.ofNumber(rQ))]])];class r0 extends eS{constructor(e,t,r=1,...s){super(),s&&s.length||(s=[n.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new X(e).setNamespace(m.MATH).setParameters(rZ[r-1]()).setEvents(new Map([H.outputEventMapEntry(new Map([[rK,new U().setType(M.of(...s)).setName(rK)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=ex.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?rK:rz)).getT2();return 2==this.parametersNumber&&(t=ex.findPrimitiveNumberType(e.getArguments()?.get(rQ)).getT2()),new W([k.outputOf(new Map([[rK,this.mathFunction.call(this,r,t)]]))])}}let r1="value";class r2 extends eS{static{this.SIGNATURE=new X("Hypotenuse").setNamespace(m.MATH).setParameters(new Map([[r1,new v(r1,U.ofNumber(r1)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r1,new U().setType(M.of(n.DOUBLE)).setName(r1)]]))]))}constructor(){super()}getSignature(){return r2.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r1);return new W([k.outputOf(new Map([[r1,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}let r5="value",r7=new X("Maximum").setNamespace(m.MATH).setParameters(new Map([[r5,new v(r5,U.ofNumber(r5)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r5,U.ofNumber(r5)]]))])),r4="value",r6=new X("Minimum").setNamespace(m.MATH).setParameters(new Map([[r4,new v(r4,U.ofNumber(r4)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r4,U.ofNumber(r4)]]))])),r9="value";class r8 extends eS{static{this.SIGNATURE=new X("Random").setNamespace(m.MATH).setEvents(new Map([H.outputEventMapEntry(G.of(r9,U.ofDouble(r9)))]))}getSignature(){return r8.SIGNATURE}async internalExecute(e){return new W([k.outputOf(new Map([[r9,Math.random()]]))])}}class r3 extends eS{static{this.MIN_VALUE="minValue"}static{this.MAX_VALUE="maxValue"}static{this.VALUE="value"}constructor(e,t,r,n,s){super(),this.signature=new X(e).setParameters(G.of(r3.MIN_VALUE,t,r3.MAX_VALUE,r)).setNamespace(m.MATH).setEvents(new Map([H.outputEventMapEntry(G.of(r3.VALUE,n))])),this.randomFunction=s}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(r3.MIN_VALUE),r=e.getArguments()?.get(r3.MAX_VALUE),n=this.randomFunction(t,r);return new W([k.outputOf(new Map([[r3.VALUE,n]]))])}}let ne={Absolute:new r0("Absolute",e=>Math.abs(e),1,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE),ArcCosine:new r0("ArcCosine",e=>Math.acos(e)),ArcSine:new r0("ArcSine",e=>Math.asin(e)),ArcTangent:new r0("ArcTangent",e=>Math.atan(e)),Ceiling:new r0("Ceiling",e=>Math.ceil(e)),Cosine:new r0("Cosine",e=>Math.cos(e)),HyperbolicCosine:new r0("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new r0("CubeRoot",e=>Math.cbrt(e)),Exponential:new r0("Exponential",e=>Math.exp(e)),ExponentialMinus1:new r0("ExponentialMinus1",e=>Math.expm1(e)),Floor:new r0("Floor",e=>Math.floor(e)),LogNatural:new r0("LogNatural",e=>Math.log(e)),Log10:new r0("Log10",e=>Math.log10(e)),Round:new r0("Round",e=>Math.round(e),1,n.INTEGER,n.LONG),Sine:new r0("Sine",e=>Math.sin(e)),HyperbolicSine:new r0("HyperbolicSine",e=>Math.sinh(e)),Tangent:new r0("Tangent",e=>Math.tan(e)),HyperbolicTangent:new r0("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new r0("ToDegrees",e=>Math.PI/180*e),ToRadians:new r0("ToRadians",e=>180/Math.PI*e),SquareRoot:new r0("SquareRoot",e=>Math.sqrt(e)),ArcTangent2:new r0("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new r0("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends eS{getSignature(){return rq}async internalExecute(e){let t=e.getArguments()?.get(rJ);return new W([k.outputOf(new Map([[rJ,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new r2,Maximum:new class extends eS{getSignature(){return r7}async internalExecute(e){let t=e.getArguments()?.get(r5);return new W([k.outputOf(new Map([[r5,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends eS{getSignature(){return r6}async internalExecute(e){let t=e.getArguments()?.get(r4);return new W([k.outputOf(new Map([[r4,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new r8,RandomFloat:new r3("RandomFloat",v.of(r3.MIN_VALUE,U.ofFloat(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofFloat(r3.MAX_VALUE).setDefaultValue(0x7fffffff)),U.ofFloat(r3.VALUE),(e,t)=>Math.random()*(t-e)+e),RandomInt:new r3("RandomInt",v.of(r3.MIN_VALUE,U.ofInteger(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofInteger(r3.MAX_VALUE).setDefaultValue(0x7fffffff)),U.ofInteger(r3.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomLong:new r3("RandomLong",v.of(r3.MIN_VALUE,U.ofLong(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofLong(r3.MAX_VALUE).setDefaultValue(Number.MAX_SAFE_INTEGER)),U.ofLong(r3.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomDouble:new r3("RandomDouble",v.of(r3.MIN_VALUE,U.ofDouble(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofDouble(r3.MAX_VALUE).setDefaultValue(Number.MAX_VALUE)),U.ofDouble(r3.VALUE),(e,t)=>Math.random()*(t-e)+e)},nt=Object.values(ne).map(e=>e.getSignature().getFullName());class nr{async find(e,t){return e!=m.MATH?Promise.resolve(void 0):Promise.resolve(ne[t])}async filter(e){return Promise.resolve(nt.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nn extends eS{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.VALUE="value"}static{this.CONVERSION_MODE="conversionMode"}getSignature(){return new X("ObjectConvert").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(nn.SOURCE,U.ofAny(nn.SCHEMA)),v.ofEntry(nn.SCHEMA,U.SCHEMA,!1,s.CONSTANT),v.ofEntry(nn.CONVERSION_MODE,U.ofString(nn.CONVERSION_MODE).setEnums(ec()))])).setEvents(new Map([H.outputEventMapEntry(G.of(nn.VALUE,U.ofAny(nn.VALUE)))]))}internalExecute(e){let t=e.getArguments()?.get(nn.SOURCE),r=U.from(e?.getArguments()?.get(nn.SCHEMA));if(!r)throw new j("Schema is not supplied.");let n=el(e.getArguments()?.get(nn.CONVERSION_MODE))||i.STRICT;return this.convertToSchema(r,e.getSchemaRepository(),t,n)}async convertToSchema(e,t,r,n){try{return new W([k.outputOf(G.of(nn.VALUE,eM.validate([],e,t,r,!0,n)))])}catch(e){throw new j(e?.message)}}}let ns="value",na="source",ni="source";class no extends eS{constructor(e,t){super(),this.signature=new X(e).setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(ni,U.ofAny(ni))])).setEvents(new Map([H.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}let nE="value",nu="value",nA="value",nT="source",nl="overwrite",nc="deleteKeyOnNull",nR="value",ng={ObjectValues:new class extends no{constructor(){super("ObjectValues",U.ofArray(nR,U.ofAny(nR)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nR,[]]]))]);let r=Object.entries(eb(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new W([k.outputOf(new Map([[nR,r]]))])}},ObjectKeys:new class extends no{constructor(){super("ObjectKeys",U.ofArray(nu,U.ofString(nu)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nu,[]]]))]);let r=Object.keys(eb(t)).sort((e,t)=>e.localeCompare(t));return new W([k.outputOf(new Map([[nu,r]]))])}},ObjectEntries:new class extends no{constructor(){super("ObjectEntries",U.ofArray(nE,U.ofArray("tuple",U.ofString("key"),U.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nE,[]]]))]);let r=Object.entries(eb(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new W([k.outputOf(new Map([[nE,r]]))])}},ObjectDeleteKey:new class extends eS{constructor(){super(),this.signature=new X("ObjectDeleteKey").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(na,U.ofAny(na)),v.ofEntry("key",U.ofString("key"))])).setEvents(new Map([H.outputEventMapEntry(new Map([[ns,U.ofAny(ns)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(na),r=e.getArguments()?.get("key");return h(t)?new W([k.outputOf(new Map([[ns,void 0]]))]):(t=eb(t),delete t[r],new W([k.outputOf(new Map([[ns,t]]))]))}},ObjectPutValue:new class extends eS{constructor(){super(),this.signature=new X("ObjectPutValue").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(nT,U.ofObject(nT)),v.ofEntry("key",U.ofString("key")),v.ofEntry(nA,U.ofAny(nA)),v.ofEntry(nl,U.ofBoolean(nl).setDefaultValue(!0)),v.ofEntry(nc,U.ofBoolean(nc).setDefaultValue(!1))])).setEvents(new Map([H.outputEventMapEntry(new Map([[nA,U.ofObject(nA)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nT),r=e.getArguments()?.get("key"),n=e.getArguments()?.get(nA),s=e.getArguments()?.get(nl),a=e.getArguments()?.get(nc),i=new e9(t,"Data.");return i.setValue(r,n,s,a),new W([k.outputOf(new Map([[nA,i.getStore()]]))])}},ObjectConvert:new nn},nm=Object.values(ng).map(e=>e.getSignature().getFullName());class nh{async find(e,t){return e!=m.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(ng[t])}async filter(e){return Promise.resolve(nm.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class np extends eS{static{this.VALUES="values"}static{this.STREAM="stream"}static{this.LOG="LOG"}static{this.ERROR="ERROR"}static{this.SIGNATURE=new X("Print").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(np.VALUES,U.ofAny(np.VALUES),!0),v.ofEntry(np.STREAM,U.ofString(np.STREAM).setEnums([np.LOG,np.ERROR]).setDefaultValue(np.LOG))])).setEvents(new Map([H.outputEventMapEntry(new Map)]))}getSignature(){return np.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(np.VALUES),r=e.getArguments()?.get(np.STREAM);return(r===np.LOG?console?.log:console?.error)?.(...t),new W([k.outputOf(new Map)])}}class nf extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_SEARCH_STRING_NAME="searchString"}static{this.PARAMETER_SECOND_STRING_NAME="secondString"}static{this.PARAMETER_THIRD_STRING_NAME="thirdString"}static{this.PARAMETER_INDEX_NAME="index"}static{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nf.PARAMETER_STRING_NAME,U.ofString(nf.PARAMETER_STRING_NAME))}static{this.PARAMETER_SECOND_STRING=new v(nf.PARAMETER_SECOND_STRING_NAME,U.ofString(nf.PARAMETER_SECOND_STRING_NAME))}static{this.PARAMETER_THIRD_STRING=new v(nf.PARAMETER_THIRD_STRING_NAME,U.ofString(nf.PARAMETER_THIRD_STRING_NAME))}static{this.PARAMETER_INDEX=new v(nf.PARAMETER_INDEX_NAME,U.ofInteger(nf.PARAMETER_INDEX_NAME))}static{this.PARAMETER_SECOND_INDEX=new v(nf.PARAMETER_SECOND_INDEX_NAME,U.ofInteger(nf.PARAMETER_SECOND_INDEX_NAME))}static{this.PARAMETER_SEARCH_STRING=new v(nf.PARAMETER_SEARCH_STRING_NAME,U.ofString(nf.PARAMETER_STRING_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofString(nf.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofBoolean(nf.EVENT_RESULT_NAME)))}static{this.EVENT_INT=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofInteger(nf.EVENT_RESULT_NAME)))}static{this.EVENT_ARRAY=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofArray(nf.EVENT_RESULT_NAME)))}constructor(e,t,r,...n){super();let s=new Map;n.forEach(e=>s.set(e.getParameterName(),e)),this.signature=new X(t).setNamespace(e).setParameters(s).setEvents(G.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryStringStringAndBooleanOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_BOOLEAN,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING)]}static ofEntryStringIntegerAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_INDEX)]}static ofEntryStringStringAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING)]}static ofEntryStringAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING)]}static ofEntryStringAndBooleanOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_BOOLEAN,nf.PARAMETER_STRING)]}static ofEntryStringStringIntegerAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME),s=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING,nf.PARAMETER_INDEX)]}static ofEntryStringIntegerIntegerAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME),s=e?.getArguments()?.get(nf.PARAMETER_SECOND_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_INDEX,nf.PARAMETER_SECOND_INDEX)]}static ofEntryStringStringStringAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SECOND_STRING_NAME),s=e?.getArguments()?.get(nf.PARAMETER_THIRD_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_SECOND_STRING,nf.PARAMETER_THIRD_STRING)]}static ofEntryStringAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING)]}}class nN extends eS{static{this.VALUE="value"}static{this.SCHEMA=new U().setName(nN.VALUE).setType(new _(n.STRING))}static{this.SIGNATURE=new X("Concatenate").setNamespace(m.STRING).setParameters(new Map([[nN.VALUE,new v(nN.VALUE,nN.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[nN.VALUE,U.ofString(nN.VALUE)]]))]))}constructor(){super()}getSignature(){return nN.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(nN.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new W([k.outputOf(new Map([[nN.VALUE,r]]))])}}class n_ extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_END_NAME="endPosition"}static{this.EVENT_RESULT_NAME="result"}constructor(){super(),this.PARAMETER_STRING=new v(n_.PARAMETER_STRING_NAME,U.ofString(n_.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new v(n_.PARAMETER_AT_START_NAME,U.ofInteger(n_.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new v(n_.PARAMETER_AT_END_NAME,U.ofInteger(n_.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[n_.EVENT_RESULT_NAME,U.ofString(n_.EVENT_RESULT_NAME)]])),this.signature=new X("DeleteForGivenLength").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(n_.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(n_.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(n_.PARAMETER_AT_END_NAME);if(n>=r){let e="";return e+=t.substring(0,r)+t.substring(n),new W([k.outputOf(new Map([[n_.EVENT_RESULT_NAME,e.toString()]]))])}return new W([k.outputOf(new Map([[n_.EVENT_RESULT_NAME,t]]))])}}class nM extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_POSITION_NAME="position"}static{this.PARAMETER_INSERT_STRING_NAME="insertString"}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nM.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nM.PARAMETER_AT_POSITION_NAME),n=e?.getArguments()?.get(nM.PARAMETER_INSERT_STRING_NAME),s="";return s+=t.substring(0,r)+n+t.substring(r),new W([k.outputOf(new Map([[this.EVENT_RESULT_NAME,s]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new v(nM.PARAMETER_STRING_NAME,U.ofString(nM.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new v(nM.PARAMETER_AT_POSITION_NAME,U.ofInteger(nM.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new v(nM.PARAMETER_INSERT_STRING_NAME,U.ofString(nM.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new X("InsertAtGivenPosition").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))]))}}class nS extends eS{static{this.PARAMETER_REGEX_NAME="regex"}static{this.PARAMETER_STRING_NAME="string"}static{this.EVENT_RESULT_NAME="result"}static{this.signature=new X("Matches").setNamespace(m.STRING).setParameters(G.ofEntries(G.entry(...v.ofEntry(nS.PARAMETER_REGEX_NAME,U.ofString(nS.PARAMETER_REGEX_NAME))),G.entry(...v.ofEntry(nS.PARAMETER_STRING_NAME,U.ofString(nS.PARAMETER_STRING_NAME))))).setEvents(G.ofEntries(G.entry(...H.outputEventMapEntry(new Map([[nS.EVENT_RESULT_NAME,U.ofBoolean(nS.EVENT_RESULT_NAME)]])))))}getSignature(){return nS.signature}async internalExecute(e){let t=e.getArguments()?.get(nS.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(nS.PARAMETER_STRING_NAME);return new W([k.outputOf(new Map([[nS.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class nO extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nO.PARAMETER_STRING_NAME,U.ofString(nO.PARAMETER_STRING_NAME))}static{this.PARAMETER_POSTPAD_STRING=new v(nO.PARAMETER_POSTPAD_STRING_NAME,U.ofString(nO.PARAMETER_POSTPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nO.PARAMETER_LENGTH_NAME,U.ofInteger(nO.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nO.EVENT_RESULT_NAME,U.ofString(nO.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new X("PostPad").setNamespace(m.STRING).setParameters(new Map([[nO.PARAMETER_STRING.getParameterName(),nO.PARAMETER_STRING],[nO.PARAMETER_POSTPAD_STRING.getParameterName(),nO.PARAMETER_POSTPAD_STRING],[nO.PARAMETER_LENGTH.getParameterName(),nO.PARAMETER_LENGTH]])).setEvents(new Map([[nO.EVENT_STRING.getName(),nO.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nO.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nO.PARAMETER_POSTPAD_STRING_NAME),n=e.getArguments()?.get(nO.PARAMETER_LENGTH_NAME),s="",a=r.length;for(s+=t;a<=n;)s+=r,a+=r.length;return s.length-t.length<n&&(s+=r.substring(0,n-(s.length-t.length))),new W([k.outputOf(new Map([[nO.EVENT_RESULT_NAME,s.toString()]]))])}}class nd extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_PREPAD_STRING_NAME="prepadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nd.PARAMETER_STRING_NAME,U.ofString(nd.PARAMETER_STRING_NAME))}static{this.PARAMETER_PREPAD_STRING=new v(nd.PARAMETER_PREPAD_STRING_NAME,U.ofString(nd.PARAMETER_PREPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nd.PARAMETER_LENGTH_NAME,U.ofInteger(nd.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nd.EVENT_RESULT_NAME,U.ofString(nd.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("PrePad").setNamespace(m.STRING).setParameters(new Map([[nd.PARAMETER_STRING.getParameterName(),nd.PARAMETER_STRING],[nd.PARAMETER_PREPAD_STRING.getParameterName(),nd.PARAMETER_PREPAD_STRING],[nd.PARAMETER_LENGTH.getParameterName(),nd.PARAMETER_LENGTH]])).setEvents(new Map([[nd.EVENT_STRING.getName(),nd.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nd.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nd.PARAMETER_PREPAD_STRING_NAME),n=e.getArguments()?.get(nd.PARAMETER_LENGTH_NAME),s="",a=r.length;for(;a<=n;)s+=r,a+=r.length;return s.length<n&&(s+=r.substring(0,n-s.length)),s+=t,new W([k.outputOf(new Map([[nd.EVENT_RESULT_NAME,s]]))])}}class nw extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_BOOLEAN_NAME="boolean"}static{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"}static{this.PARAMETER_OTHER_STRING_NAME="otherString"}static{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"}static{this.PARAMETER_INTEGER_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nw.PARAMETER_STRING_NAME,U.ofString(nw.PARAMETER_STRING_NAME))}static{this.PARAMETER_OTHER_STRING=new v(nw.PARAMETER_OTHER_STRING_NAME,U.ofString(nw.PARAMETER_OTHER_STRING_NAME))}static{this.PARAMETER_FIRST_OFFSET=new v(nw.PARAMETER_FIRST_OFFSET_NAME,U.ofInteger(nw.PARAMETER_FIRST_OFFSET_NAME))}static{this.PARAMETER_SECOND_OFFSET=new v(nw.PARAMETER_SECOND_OFFSET_NAME,U.ofInteger(nw.PARAMETER_SECOND_OFFSET_NAME))}static{this.PARAMETER_INTEGER=new v(nw.PARAMETER_INTEGER_NAME,U.ofInteger(nw.PARAMETER_INTEGER_NAME))}static{this.PARAMETER_BOOLEAN=new v(nw.PARAMETER_BOOLEAN_NAME,U.ofBoolean(nw.PARAMETER_BOOLEAN_NAME))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,new Map([[nw.EVENT_RESULT_NAME,U.ofBoolean(nw.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("RegionMatches").setNamespace(m.STRING).setParameters(new Map([[nw.PARAMETER_STRING.getParameterName(),nw.PARAMETER_STRING],[nw.PARAMETER_BOOLEAN.getParameterName(),nw.PARAMETER_BOOLEAN],[nw.PARAMETER_FIRST_OFFSET.getParameterName(),nw.PARAMETER_FIRST_OFFSET],[nw.PARAMETER_OTHER_STRING.getParameterName(),nw.PARAMETER_OTHER_STRING],[nw.PARAMETER_SECOND_OFFSET.getParameterName(),nw.PARAMETER_SECOND_OFFSET],[nw.PARAMETER_INTEGER.getParameterName(),nw.PARAMETER_INTEGER]])).setEvents(new Map([[nw.EVENT_BOOLEAN.getName(),nw.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(nw.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nw.PARAMETER_BOOLEAN_NAME),n=e.getArguments()?.get(nw.PARAMETER_FIRST_OFFSET_NAME),s=e?.getArguments()?.get(nw.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(nw.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(nw.PARAMETER_INTEGER_NAME),o=!1;return o=!(n<0)&&!(a<0)&&!(n+i>t.length)&&!(a+i>s.length)&&(r?(t=t.substring(n,n+i).toUpperCase())==s.substring(a,a+i).toUpperCase():(t=t.substring(n,n+i))==s.substring(a,i)),new W([k.outputOf(new Map([[nw.EVENT_RESULT_NAME,o]]))])}}class nI extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"}static{this.PARAMETER_REPLACE_STRING_NAME="replaceString"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nI.PARAMETER_STRING_NAME,U.ofString(nI.PARAMETER_STRING_NAME))}static{this.PARAMETER_AT_START=new v(nI.PARAMETER_AT_START_NAME,U.ofInteger(nI.PARAMETER_AT_START_NAME))}static{this.PARAMETER_AT_LENGTH=new v(nI.PARAMETER_AT_LENGTH_NAME,U.ofInteger(nI.PARAMETER_AT_LENGTH_NAME))}static{this.PARAMETER_REPLACE_STRING=new v(nI.PARAMETER_REPLACE_STRING_NAME,U.ofString(nI.PARAMETER_REPLACE_STRING_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nI.EVENT_RESULT_NAME,U.ofString(nI.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new X("ReplaceAtGivenPosition").setNamespace(m.STRING).setParameters(new Map([[nI.PARAMETER_STRING.getParameterName(),nI.PARAMETER_STRING],[nI.PARAMETER_AT_START.getParameterName(),nI.PARAMETER_AT_START],[nI.PARAMETER_AT_LENGTH.getParameterName(),nI.PARAMETER_AT_LENGTH],[nI.PARAMETER_REPLACE_STRING.getParameterName(),nI.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[nI.EVENT_STRING.getName(),nI.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nI.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nI.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(nI.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(nI.PARAMETER_REPLACE_STRING_NAME),t.length,r<n&&(t.substring(0,r),t.substring(r+n)),new W([k.outputOf(new Map([[nI.EVENT_RESULT_NAME,t]]))])}}class nP extends eS{constructor(){super(),this.VALUE="value",this.SIGNATURE=new X("Reverse").setNamespace(m.STRING).setParameters(new Map([[this.VALUE,new v(this.VALUE,U.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.VALUE,new U().setType(M.of(n.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,n="";for(;r>=0;)n+=t.charAt(r--);return new W([k.outputOf(G.of(this.VALUE,n))])}}class ny extends eS{getSignature(){return new X("Split").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new v(this.PARAMETER_STRING_NAME,U.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new v(this.PARAMETER_SPLIT_STRING_NAME,U.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofArray(this.EVENT_RESULT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new W([k.outputOf(G.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class nx extends eS{getSignature(){return new X("ToString").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new v(this.PARAMETER_INPUT_ANYTYPE_NAME,U.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new W([k.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class nL extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nL.PARAMETER_STRING_NAME,U.ofString(nL.PARAMETER_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nL.PARAMETER_LENGTH_NAME,U.ofInteger(nL.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nL.EVENT_RESULT_NAME,U.ofString(nL.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("TrimTo").setNamespace(m.STRING).setParameters(new Map([[nL.PARAMETER_STRING.getParameterName(),nL.PARAMETER_STRING],[nL.PARAMETER_LENGTH.getParameterName(),nL.PARAMETER_LENGTH]])).setEvents(new Map([[nL.EVENT_STRING.getName(),nL.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nL.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nL.PARAMETER_LENGTH_NAME);return new W([k.outputOf(new Map([[nL.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class nU{static{this.repoMap=G.ofArrayEntries(nf.ofEntryStringAndStringOutput("Trim",e=>e.trim()),nf.ofEntryStringAndStringOutput("TrimStart",e=>e.trimStart()),nf.ofEntryStringAndStringOutput("TrimEnd",e=>e.trimEnd()),nf.ofEntryStringAndIntegerOutput("Length",e=>e.length),nf.ofEntryStringStringAndIntegerOutput("Frequency",(e,t)=>{let r=0,n=e.indexOf(t);for(;-1!=n;)r++,n=e.indexOf(t,n+1);return r}),nf.ofEntryStringAndStringOutput("LowerCase",e=>e.toLocaleLowerCase()),nf.ofEntryStringAndStringOutput("UpperCase",e=>e.toUpperCase()),nf.ofEntryStringAndBooleanOutput("IsBlank",e=>""===e.trim()),nf.ofEntryStringAndBooleanOutput("IsEmpty",e=>""===e),nf.ofEntryStringStringAndBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),nf.ofEntryStringStringAndBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),nf.ofEntryStringStringAndBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),nf.ofEntryStringStringAndBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),nf.ofEntryStringStringAndBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),nf.ofEntryStringStringAndIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),nf.ofEntryStringStringAndIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),nf.ofEntryStringIntegerAndStringOutput("Repeat",(e,t)=>e.repeat(t)),nf.ofEntryStringStringIntegerAndIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),nf.ofEntryStringStringIntegerAndIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),nf.ofEntryStringStringStringAndStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),nf.ofEntryStringStringStringAndStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),nf.ofEntryStringIntegerIntegerAndStringOutput("SubString",(e,t,r)=>e.substring(t,r)),Y(new nN),Y(new n_),Y(new nM),Y(new nO),Y(new nd),Y(new nw),Y(new nI),Y(new nP),Y(new ny),Y(new nx),Y(new nL),Y(new nS))}static{this.filterableNames=Array.from(nU.repoMap.values()).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=m.STRING?Promise.resolve(void 0):Promise.resolve(nU.repoMap.get(t))}async filter(e){return Promise.resolve(nU.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nV extends eS{static{this.PARAMETER_TIMESTAMP_NAME="isoTimeStamp"}static{this.PARAMETER_TIMESTAMP_NAME_ONE="isoTimeStamp1"}static{this.PARAMETER_TIMESTAMP_NAME_TWO="isoTimeStamp2"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_NUMBER_NAME="number"}static{this.PARAMETER_TIMESTAMP=new v(nV.PARAMETER_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_ONE=new v(nV.PARAMETER_TIMESTAMP_NAME_ONE,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_TWO=new v(nV.PARAMETER_TIMESTAMP_NAME_TWO,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_VARIABLE_UNIT=new v(nV.PARAMETER_UNIT_NAME,U.ofRef(m.DATE+".Timeunit")).setVariableArgument(!0)}static{this.PARAMETER_UNIT=new v(nV.PARAMETER_UNIT_NAME,U.ofRef(m.DATE+".Timeunit"))}static{this.PARAMETER_NUMBER=new v(nV.PARAMETER_NUMBER_NAME,U.ofInteger(nV.PARAMETER_NUMBER_NAME))}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_TIMESTAMP_NAME="isoTimeStamp"}static{this.EVENT_INT=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofInteger(nV.EVENT_RESULT_NAME)))}static{this.EVENT_STRING=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofString(nV.EVENT_RESULT_NAME)))}static{this.EVENT_LONG=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofLong(nV.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME)))}static{this.EVENT_TIMESTAMP=new H(H.OUTPUT,G.of(nV.EVENT_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")))}getSignature(){return this.signature}constructor(e,t,...r){if(super(),this.signature=new X(e).setNamespace(m.DATE).setEvents(G.of(t.getName(),t)),!r?.length)return;let n=new Map;r.forEach(e=>n.set(e.getParameterName(),e)),this.signature.setParameters(n)}static ofEntryTimestampAndIntegerOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_INT,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndBooleanOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_BOOLEAN,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndStringOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampIntegerAndTimestampOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),e.getArguments()?.get(nV.PARAMETER_NUMBER_NAME))))])}}(e,nV.EVENT_INT,nV.PARAMETER_TIMESTAMP,nV.PARAMETER_NUMBER)]}static ofEntryTimestampTimestampAndTOutput(e,t,r,...n){return[e,new class extends nV{async internalExecute(e){let t=[];return n?.length&&t.push(...n.map(t=>e.getArguments()?.get(t.getParameterName()))),new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,r(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME_ONE),e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME_TWO),t)))])}}(e,t,nV.PARAMETER_TIMESTAMP_ONE,nV.PARAMETER_TIMESTAMP_TWO,...n)]}}function nb(t){let r=e.fromISO(t,{setZone:!0});if(!r?.isValid)throw Error("Invalid ISO timestamp");return r}class nv extends nV{static{this.PARAMETER_YEARS_NAME="years"}static{this.PARAMETER_MONTHS_NAME="months"}static{this.PARAMETER_DAYS_NAME="days"}static{this.PARAMETER_HOURS_NAME="hours"}static{this.PARAMETER_MINUTES_NAME="minutes"}static{this.PARAMETER_SECONDS_NAME="seconds"}static{this.PARAMETER_MILLISECONDS_NAME="milliseconds"}constructor(e){super(e?"AddTime":"SubtractTime",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,v.of(nv.PARAMETER_YEARS_NAME,U.ofNumber(nv.PARAMETER_YEARS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MONTHS_NAME,U.ofNumber(nv.PARAMETER_MONTHS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_DAYS_NAME,U.ofNumber(nv.PARAMETER_DAYS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_HOURS_NAME,U.ofNumber(nv.PARAMETER_HOURS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MINUTES_NAME,U.ofNumber(nv.PARAMETER_MINUTES_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_SECONDS_NAME,U.ofNumber(nv.PARAMETER_SECONDS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MILLISECONDS_NAME,U.ofNumber(nv.PARAMETER_MILLISECONDS_NAME).setDefaultValue(0))),this.isAdd=e}async internalExecute(e){let t;let r=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),n=e.getArguments()?.get(nv.PARAMETER_YEARS_NAME),s=e.getArguments()?.get(nv.PARAMETER_MONTHS_NAME),a=e.getArguments()?.get(nv.PARAMETER_DAYS_NAME),i=e.getArguments()?.get(nv.PARAMETER_HOURS_NAME),o={years:n,months:s,days:a,hours:i,minutes:e.getArguments()?.get(nv.PARAMETER_MINUTES_NAME),seconds:e.getArguments()?.get(nv.PARAMETER_SECONDS_NAME),milliseconds:e.getArguments()?.get(nv.PARAMETER_MILLISECONDS_NAME)};return t=this.isAdd?r.plus(o):r.minus(o),new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,t.toISO()))])}}class nC extends eS{constructor(e,t){super(),this.paramName=`epoch${t?"Seconds":"Milliseconds"}`,this.isSeconds=t,this.signature=new X(e).setNamespace(m.DATE).setParameters(new Map([[this.paramName,v.of(this.paramName,new U().setName(this.paramName).setType(M.of(n.LONG,n.INTEGER,n.STRING)))]])).setEvents(new Map([[nV.EVENT_TIMESTAMP_NAME,nV.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=parseInt(e.getArguments()?.get(this.paramName)),r=this.isSeconds?1e3*t:t;if(isNaN(r))throw Error(`Please provide a valid value for ${this.paramName}.`);return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,new Date(r).toISOString()))]))}}class nG extends eS{constructor(e,t){super(),this.isSeconds=t,this.signature=new X(e).setNamespace(m.DATE).setParameters(new Map([[nV.PARAMETER_TIMESTAMP_NAME,nV.PARAMETER_TIMESTAMP]])).setEvents(new Map([[nV.EVENT_RESULT_NAME,nV.EVENT_LONG]]))}getSignature(){return this.signature}internalExecute(t){let r=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),n=this.isSeconds?e.fromISO(r).toSeconds():e.fromISO(r).toMillis();return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,n))]))}}class nD extends nV{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("ToDateString",nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP,v.of(nD.PARAMETER_FORMAT_NAME,U.ofString(nD.PARAMETER_FORMAT_NAME)),v.of(nD.PARAMETER_LOCALE_NAME,U.ofString(nD.PARAMETER_LOCALE_NAME).setDefaultValue("")))}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nD.PARAMETER_FORMAT_NAME),n=e.getArguments()?.get(nD.PARAMETER_LOCALE_NAME);return""===n&&(n="system"),new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t.toFormat(r,{locale:n})))])}}class n$ extends nV{static{this.PARAMETER_TIMEZONE_NAME="timezone"}constructor(){super("SetTimeZone",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,v.of(n$.PARAMETER_TIMEZONE_NAME,U.ofString(n$.PARAMETER_TIMEZONE_NAME)))}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(n$.PARAMETER_TIMEZONE_NAME);return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,t.setZone(r).toISO()))])}}class nF extends nV{static{this.PARAMETER_START_TIMESTAMP_NAME="startTimestamp"}static{this.PARAMETER_END_TIMESTAMP_NAME="endTimestamp"}static{this.PARAMETER_CHECK_TIMESTAMP_NAME="checkTimestamp"}constructor(){super("IsBetween",nF.EVENT_BOOLEAN,v.of(nF.PARAMETER_START_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")),v.of(nF.PARAMETER_END_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")),v.of(nF.PARAMETER_CHECK_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")))}async internalExecute(e){let t=e.getArguments()?.get(nF.PARAMETER_START_TIMESTAMP_NAME),r=e.getArguments()?.get(nF.PARAMETER_END_TIMESTAMP_NAME),n=e.getArguments()?.get(nF.PARAMETER_CHECK_TIMESTAMP_NAME),s=nb(t),a=nb(r),i=nb(n);return s>a&&([s,a]=[a,s]),new W([k.outputOf(G.of(nF.EVENT_RESULT_NAME,s<=i&&i<=a))])}}class nB extends eS{constructor(e){super(),this.isLast=e,this.signature=new X(e?"LastOf":"FirstOf").setNamespace(m.DATE).setParameters(new Map([[nV.PARAMETER_TIMESTAMP_NAME,new v(nV.PARAMETER_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")).setVariableArgument(!0)]])).setEvents(new Map([[nV.EVENT_TIMESTAMP_NAME,nV.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME);if(!t?.length)throw Error("No timestamps provided");let r=t.map(e=>nb(e));return r.sort((e,t)=>e.toMillis()-t.toMillis()),Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,r[this.isLast?r.length-1:0].toISO()))]))}}class nY extends nV{static{this.EVENT_TIME_OBJECT_NAME="object"}static{this.EVENT_TIME_ARRAY_NAME="array"}constructor(e){super(e?"TimeAsArray":"TimeAsObject",new H(H.OUTPUT,G.of(e?nY.EVENT_TIME_ARRAY_NAME:nY.EVENT_TIME_OBJECT_NAME,e?U.ofArray(nY.EVENT_TIME_ARRAY_NAME,U.ofInteger("timeParts")):U.ofRef(m.DATE+".TimeObject"))),nV.PARAMETER_TIMESTAMP),this.isArray=e}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)).toObject();return new W([k.outputOf(G.of(this.isArray?nY.EVENT_TIME_ARRAY_NAME:nY.EVENT_TIME_OBJECT_NAME,this.isArray?[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond]:t))])}}class nH extends nV{constructor(e){super(e?"StartOf":"EndOf",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,nV.PARAMETER_UNIT),this.isStart=e}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nV.PARAMETER_UNIT_NAME)?.toLowerCase();r=r.substring(0,r.length-1);let n=this.isStart?t.startOf(r):t.endOf(r);return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,n.toISO({includeOffset:!0})))])}}class nk extends nV{static{this.EVENT_NAMES_NAME="names"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("GetNames",new H(nk.EVENT_NAMES_NAME,G.of(nk.EVENT_NAMES_NAME,U.ofArray(nk.EVENT_NAMES_NAME,U.ofString(nk.EVENT_NAMES_NAME)))),new v(nk.PARAMETER_UNIT_NAME,U.ofString(nk.PARAMETER_UNIT_NAME).setEnums(["TIMEZONES","MONTHS","WEEKDAYS"])),new v(nk.PARAMETER_LOCALE_NAME,U.ofString(nk.PARAMETER_LOCALE_NAME).setDefaultValue("system")))}async internalExecute(e){let t=e.getArguments()?.get(nk.PARAMETER_UNIT_NAME),r=e.getArguments()?.get(nk.PARAMETER_LOCALE_NAME);return new W([k.outputOf(G.of(nk.EVENT_NAMES_NAME,this.getNames(t,r)))])}getNames(t,r){return"TIMEZONES"===t?Intl.supportedValuesOf("timeZone"):"MONTHS"===t?[1,2,3,4,5,6,7,8,9,10,11,12].map(t=>e.now().setLocale(r).set({month:t}).toFormat("MMMM")):"WEEKDAYS"===t?[1,2,3,4,5,6,7].map(t=>e.now().setLocale(r).set({month:7,day:t}).toFormat("EEEE")):[]}}class nj extends eS{static{this.SIGNATURE=new X("IsValidISODate").setNamespace(m.DATE).setParameters(new Map([v.ofEntry(nV.PARAMETER_TIMESTAMP_NAME,U.ofString(nV.PARAMETER_TIMESTAMP_NAME))])).setEvents(new Map([H.outputEventMapEntry(G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME)))]))}internalExecute(t){let r=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),n=e.fromISO(r);return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,n.isValid))]))}getSignature(){return nj.SIGNATURE}}class nW extends nV{static{this.PARAMETER_BASE_NAME="base"}static{this.PARAMETER_BASE=new v(nW.PARAMETER_BASE_NAME,U.ofRef(m.DATE+".Timestamp").setDefaultValue(""))}static{this.PARAMETER_LOCALE_NAME="locale"}static{this.PARAMETER_LOCALE=new v(nW.PARAMETER_LOCALE_NAME,U.ofString(nW.PARAMETER_LOCALE_NAME).setDefaultValue("system"))}static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_FORMAT=new v(nW.PARAMETER_FORMAT_NAME,U.ofString(nW.PARAMETER_FORMAT_NAME).setEnums(["LONG","SHORT","NARROW"]).setDefaultValue("LONG"))}static{this.PARAMETER_ROUND_NAME="round"}static{this.PARAMETER_ROUND=new v(nW.PARAMETER_ROUND_NAME,U.ofBoolean(nW.PARAMETER_ROUND_NAME).setDefaultValue(!0))}constructor(){super("FromNow",nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP,nW.PARAMETER_FORMAT,nW.PARAMETER_BASE,nV.PARAMETER_VARIABLE_UNIT,nW.PARAMETER_ROUND,nW.PARAMETER_LOCALE)}internalExecute(t){let r=t.getArguments()?.get(nW.PARAMETER_BASE_NAME),n=""===r?e.now():e.fromISO(r),s=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),a=e.fromISO(s),i=t.getArguments()?.get(nW.PARAMETER_UNIT_NAME),o=t.getArguments()?.get(nW.PARAMETER_FORMAT_NAME),E=t.getArguments()?.get(nW.PARAMETER_ROUND_NAME),u=t.getArguments()?.get(nW.PARAMETER_LOCALE_NAME),A={base:n,style:o?.toLowerCase(),round:E,locale:u};return i?.length>0&&(A.unit=i.map(e=>e.toLowerCase())),Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,a.toRelative(A)??"Unknown"))]))}}class nX extends nV{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_TIMESTAMP_STRING_NAME="timestampString"}constructor(){super("FromDateString",nV.EVENT_TIMESTAMP,v.of(nX.PARAMETER_TIMESTAMP_STRING_NAME,U.ofString(nX.PARAMETER_TIMESTAMP_STRING_NAME)),v.of(nX.PARAMETER_FORMAT_NAME,U.ofString(nX.PARAMETER_FORMAT_NAME)))}async internalExecute(t){let r=t.getArguments()?.get(nX.PARAMETER_TIMESTAMP_STRING_NAME),n=t.getArguments()?.get(nX.PARAMETER_FORMAT_NAME),s=e.fromFormat(r,n);return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,s.toISO()))])}}class nJ extends nV{constructor(){super("GetCurrentTimestamp",nV.EVENT_TIMESTAMP)}async internalExecute(t){return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,e.now().toISO()))])}}class nq{static{this.repoMap=G.ofArrayEntries(["EpochSecondsToTimestamp",new nC("EpochSecondsToTimestamp",!0)],["EpochMillisecondsToTimestamp",new nC("EpochMillisecondsToTimestamp",!1)],nV.ofEntryTimestampAndIntegerOutput("GetDay",e=>nb(e).day),nV.ofEntryTimestampAndIntegerOutput("GetDayOfWeek",e=>nb(e).weekday),nV.ofEntryTimestampAndIntegerOutput("GetMonth",e=>nb(e).month),nV.ofEntryTimestampAndIntegerOutput("GetYear",e=>nb(e).year),nV.ofEntryTimestampAndIntegerOutput("GetHours",e=>nb(e).hour),nV.ofEntryTimestampAndIntegerOutput("GetMinutes",e=>nb(e).minute),nV.ofEntryTimestampAndIntegerOutput("GetSeconds",e=>nb(e).second),nV.ofEntryTimestampAndIntegerOutput("GetMilliseconds",e=>nb(e).millisecond),nV.ofEntryTimestampAndIntegerOutput("GetDaysInMonth",e=>nb(e).daysInMonth),nV.ofEntryTimestampAndIntegerOutput("GetDaysInYear",e=>nb(e).daysInYear),["TimestampToEpochSeconds",new nG("TimestampToEpochSeconds",!0)],["TimestampToEpochMilliseconds",new nG("TimestampToEpochMilliseconds",!1)],nV.ofEntryTimestampAndStringOutput("GetTimeZoneName",e=>nb(e).zoneName),nV.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetLong",e=>nb(e).offsetNameLong),nV.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetShort",e=>nb(e).offsetNameShort),nV.ofEntryTimestampAndIntegerOutput("GetTimeZoneOffset",e=>nb(e).offset),["ToDateString",new nD],["AddTime",new nv(!0)],["SubtractTime",new nv(!1)],["GetCurrentTimestamp",new nJ],nV.ofEntryTimestampTimestampAndTOutput("Difference",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofRef(`${m.DATE}.Duration`))),(e,t,r)=>{let n;let s=nb(e),a=nb(t);r?.[0]?.length&&(n=r[0]?.filter(e=>!!e).map(e=>e.toLowerCase()));let i=s.diff(a);return n?.length?i.shiftTo(...n).toObject():i.toObject()},nV.PARAMETER_VARIABLE_UNIT),nV.ofEntryTimestampIntegerAndTimestampOutput("SetDay",(e,t)=>nb(e).set({day:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMonth",(e,t)=>nb(e).set({month:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetYear",(e,t)=>nb(e).set({year:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetHours",(e,t)=>nb(e).set({hour:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMinutes",(e,t)=>nb(e).set({minute:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetSeconds",(e,t)=>nb(e).set({second:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMilliseconds",(e,t)=>nb(e).set({millisecond:t}).toISO()),["SetTimeZone",new n$],nV.ofEntryTimestampTimestampAndTOutput("IsBefore",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)<nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsAfter",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)>nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSame",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)===nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSameOrBefore",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)<=nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSameOrAfter",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)>=nb(t)),nV.ofEntryTimestampAndBooleanOutput("IsInLeapYear",e=>nb(e).isInLeapYear),nV.ofEntryTimestampAndBooleanOutput("IsInDST",e=>nb(e).isInDST),["IsBetween",new nF],["LastOf",new nB(!0)],["FirstOf",new nB(!1)],["StartOf",new nH(!0)],["EndOf",new nH(!1)],["TimeAsObject",new nY(!1)],["TimeAsArray",new nY(!0)],["GetNames",new nk],["IsValidISODate",new nj],["FromNow",new nW],["FromDateString",new nX])}static{this.filterableNames=Array.from(nq.repoMap.values()).map(e=>e.getSignature().getFullName())}find(e,t){return e!=m.DATE?Promise.resolve(void 0):Promise.resolve(nq.repoMap.get(t))}filter(e){return Promise.resolve(nq.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nK extends eS{static{this.MILLIS="millis"}static{this.SIGNATURE=new X("Wait").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(nK.MILLIS,U.ofNumber(nK.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([H.outputEventMapEntry(new Map)]))}getSignature(){return nK.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(nK.MILLIS);return await new Promise(e=>setTimeout(e,t)),new W([k.outputOf(new Map)])}}t({},"HybridRepository",()=>nz);class nz{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let n=await r.find(e,t);if(n)return n}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}let nQ=new Map([[m.SYSTEM_CTX,new Map([Y(new class extends eS{getSignature(){return tf}async internalExecute(e){let t=e?.getArguments()?.get(th);if(e?.getContext()?.has(t))throw new j(J.format("Context already has an element for '$' ",t));let r=U.from(e?.getArguments()?.get(tp));if(!r)throw new j("Schema is not supplied.");return e.getContext().set(t,new tm(r,h(r.getDefaultValue())?void 0:r.getDefaultValue())),new W([k.outputOf(new Map)])}}),Y(new class extends eS{getSignature(){return tM}async internalExecute(e){let t=e?.getArguments()?.get(tN);if(!e.getContext()?.has(t))throw new j(J.format("Context don't have an element for '$' ",t));return new W([k.outputOf(new Map([t_,e.getContext()?.get(t)?.getElement()]))])}}),Y(new class extends eS{getSignature(){return rw}async internalExecute(e){let t=e?.getArguments()?.get(rO);if(Q.isNullOrBlank(t))throw new j("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(rd),n=new e4(t),s=n.getTokens().peekLast();if(!s.getExpression().startsWith("Context")||s instanceof e4||s instanceof e5&&!s.getElement().toString().startsWith("Context"))throw new ey(J.format("The context path $ is not a valid path in context",t));for(let e of n.getOperations().toArray())if(e!=e7.ARRAY_OPERATOR&&e!=e7.OBJECT_OPERATOR)throw new ey(J.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<n.getTokens().size();r++){let s=n.getTokens().get(r);s instanceof e4&&n.getTokens().set(r,new e5(t,new rS(s).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,n)}modifyContext(e,t,r,n){let s=n.getTokens();s.removeLast();let a=n.getOperations();a.removeLast();let i=e.getContext()?.get(s.removeLast().getExpression());if(h(i))throw new j(J.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new W([k.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=s.removeLast(),A=u instanceof e5?u.getElement():u.getExpression();for(h(o)&&(o=E==e7.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==e7.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=s.removeLast())instanceof e5?u.getElement():u.getExpression();return E==e7.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new W([k.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));let s=e[n];return h(s)&&(s=r==e7.OBJECT_OPERATOR?{}:[],e[n]=s),s}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));let n=e[t];return h(n)&&(n=r==e7.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));e[n]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));e[t]=r}})])],[m.SYSTEM_LOOP,new Map([Y(new class extends eS{getSignature(){return rX}async internalExecute(e){let t=e.getArguments()?.get(rH),r=e.getArguments()?.get("to"),n=e.getArguments()?.get(rk),s=n>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(i)return;if(s&&a>=r||!s&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),k.outputOf(new Map([[rj,a]]));let t=k.of(H.ITERATION,new Map([[rW,a]]));return a+=n,t}})}}),Y(new class extends eS{getSignature(){return rG}async internalExecute(e){let t=e.getArguments()?.get(rb),r=0,n=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(r>=t||n&&e.getExecutionContext()?.get(n))return n&&e.getExecutionContext()?.delete(n),k.outputOf(new Map([[rv,r]]));let s=k.of(H.ITERATION,new Map([[rC,r]]));return++r,s}})}}),Y(new class extends eS{getSignature(){return rV}async internalExecute(e){let t=e.getArguments()?.get(rU);return e.getExecutionContext().set(t,!0),new W([k.outputOf(new Map)])}}),Y(new class extends eS{getSignature(){return rY}async internalExecute(e){let t=e.getArguments()?.get(rD),r=0,n=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(r>=t.length||n&&e.getExecutionContext()?.get(n))return n&&e.getExecutionContext()?.delete(n),k.outputOf(new Map([[rB,r]]));let s=k.of(H.ITERATION,new Map([[rF,r],[r$,t[r]]]));return++r,s}})}})])],[m.SYSTEM,new Map([Y(new rL),Y(new class extends eS{getSignature(){return rx}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),n=r?.get(rP),s=e?.getArguments()?.get(ry).map(t=>{let r=t[rI];if(h(r))throw new j("Expect a value object");let n=r.value;return r.isExpression&&(n=new rS(n).evaluate(e.getValuesMap())),[t.name,n]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(n)||t?.set(n,[]),t?.get(n)?.push(s),new W([k.outputOf(new Map)])}}),Y(new np),Y(new nK),Y(new tR)])]]),nZ=Array.from(nQ.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class n0 extends nz{constructor(){super({find:async(e,t)=>nQ.get(e)?.get(t),filter:async e=>Array.from(nZ).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new nr,new nU,new tg,new nh,new nq)}}t({},"StatementExecution",()=>n2),t({},"StatementMessage",()=>n1);class n1{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class n2{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new n1(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof n2&&e.statement.equals(this.statement)}}t({},"ContextTokenValueExtractor",()=>n5);class n5 extends e6{static{this.PREFIX="Context."}constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.context.get(r)?.getElement())}getPrefix(){return n5.PREFIX}getStore(){return h(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(h(r)||(e[t]=r.getElement()),e),{})}}t({},"OutputMapTokenValueExtractor",()=>n7);class n7 extends e6{static{this.PREFIX="Steps."}constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=1,n=this.output.get(t[r++]);if(!n||r>=t.length)return;let s=n.get(t[r++]);if(!s||r>t.length)return;if(r===t.length)return s;let a=t[r].indexOf("[");if(-1===a){let n=s.get(t[r++]);return this.retrieveElementFrom(e,t,r,n)}let i=t[r].substring(0,a),o=s.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return n7.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}t({},"ArgumentsTokenValueExtractor",()=>n4);class n4 extends e6{static{this.PREFIX="Arguments."}constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.args.get(r))}getPrefix(){return n4.PREFIX}getStore(){return h(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}t({},"GraphVertex",()=>n9),t({},"ExecutionGraph",()=>n6);class n6{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new n9(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new q(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class n9{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new ee(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new ee(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new n6(!0);var r=new q(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}t({},"KIRuntime",()=>st),t({},"JsonExpression",()=>n8);class n8{constructor(e){this.expression=e}getExpression(){return this.expression}}function n3(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}t({},"ParameterReferenceType",()=>o),(c=o||(o={})).VALUE="VALUE",c.EXPRESSION="EXPRESSION",t({},"FunctionExecutionParameters",()=>se);class se{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??n3()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new n5(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new n7(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}t({},"StatementMessageType",()=>E),(R=E||(E={})).ERROR="ERROR",R.WARNING="WARNING",R.MESSAGE="MESSAGE";class st extends eS{static{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'}static{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")}static{this.VERSION=1}static{this.MAX_EXECUTION_ITERATIONS=1e7}constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>st.VERSION)throw new j("Runtime is at a lower version "+st.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new n6;for(let n of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(n,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(E.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new n4(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new j("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new q;r.addAll(e.getVerticesWithNoIncomingEdges());let n=new q;for(;(!r.isEmpty()||!n.isEmpty())&&!t.getEvents()?.has(H.OUTPUT);)if(await this.processBranchQue(t,r,n),await this.processExecutionQue(t,r,n),t.setCount(t.getCount()+1),t.getCount()==st.MAX_EXECUTION_ITERATIONS)throw new j("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(H.OUTPUT)?.getParameters()?.size)throw new j("No events raised")}let s=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>k.of(e[0],t)));return new W(s.length||e.isSubGraph()?s:[k.of(H.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let n=t.pop();await this.allDependenciesResolvedVertex(n,e.getSteps())?await this.executeVertex(n,e,r,t,e.getFunctionRepository()):t.add(n)}}async processBranchQue(e,t,r){if(r.length){let n=r.pop();await this.allDependenciesResolvedTuples(n.getT2(),e.getSteps())?await this.executeBranch(e,t,n):r.add(n)}}async executeBranch(e,t,r){let n,s=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(n=r.getT3().next())&&(e.getSteps()?.has(s.getData().getStatement().getStatementName())||e.getSteps()?.set(s.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(s.getData().getStatement().getStatementName())?.set(n.getName(),this.resolveInternalExpressions(n.getResult(),e)),this.debugMode)){let t=s.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${n.getName()} : `,e.getSteps().get(t.getStatementName()).get(n.getName()))}while(n&&n.getName()!=H.OUTPUT)n?.getName()==H.OUTPUT&&s.getOutVertices().has(H.OUTPUT)&&(s?.getOutVertices()?.get(H.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,n,s){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size&&!(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>new rS(e).evaluate(t.getValuesMap())).every(e=>!h(e)&&!1!==e))return;let o=await s.find(i.getNamespace(),i.getName());if(!o)throw new j(J.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),u=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,u));let A=t.getContext();a=o instanceof st?new se(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==n4.PREFIX&&e.getPrefix()!==n7.PREFIX&&e.getPrefix()!==n5.PREFIX).map(e=>[e.getPrefix(),e]))):new se(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(u).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let T=await o.execute(a),l=T.next();if(!l)throw new j(J.format("Executing $ returned no events",i.getStatementName()));let c=l.getName()==H.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(l.getName(),this.resolveInternalExpressions(l.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${l.getName()} : `,t.getSteps().get(i.getStatementName()).get(l.getName()))),c){let r=e.getOutVertices().get(H.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&n.add(e)})}else{let t=e.getSubGraphOfType(l.getName()),n=this.makeEdges(t).getT1();r.push(new er(t,n,T,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new ee(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(h(e)||"object"!=typeof e)return e;if(e instanceof n8)return new rS(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let n of e)r.push(this.resolveInternalExpression(n,t));return r}if("object"==typeof e){let r={};for(let n of Object.entries(e))r[n[0]]=this.resolveInternalExpression(n[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),n=e.getT2();return!(t.has(r)&&t.get(r)?.has(n))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let n,s=Array.from(t[1]?.values()??[]);if(!s?.length)return new ee(t[0],n);let a=r.get(t[0]);return a?(n=a.isVariableArgument()?s.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!h(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,s[0]),new ee(t[0],n)):new ee(t[0],void 0)}).filter(e=>!h(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==o.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=o.EXPRESSION||Q.isNullOrBlank(t.getExpression())||(r=new rS(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let n=new n2(e),s=await t.find(e.getNamespace(),e.getName());if(!s)return n.addMessage(E.ERROR,J.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(n);let a=new Map(s.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(n);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let s=Array.from(t[1]?.values()??[]);if(!s.length&&!e.isVariableArgument()){await es.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(s.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),s))this.parameterReferenceValidation(n,e,t,r);else if(s.length){let t=s[0];this.parameterReferenceValidation(n,e,t,r)}a.delete(e.getParameterName())}if(!h(n.getStatement().getDependentStatements()))for(let e of Array.from(n.getStatement().getDependentStatements().entries()))e[1]&&n.addDependency(e[0]);if(!h(n.getStatement().getExecuteIftrue()))for(let e of Array.from(n.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(n,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await es.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(n)}async parameterReferenceValidation(e,t,r,s){if(r){if(r.getType()==o.VALUE){if(h(r.getValue())&&!await es.hasDefaultValueOrNullSchemaType(t.getSchema(),s)&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),h(r.getValue()))return;let a=new q;for(a.push(new ee(t.getSchema(),r.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof n8)this.addDependencies(e,t.getT2().getExpression());else{if(h(t.getT1())||h(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(n.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new ee(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new ee(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(n.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===v.EXPRESSION.getName()&&r.getNamespace()===v.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new ee(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==o.EXPRESSION){if(Q.isNullOrBlank(r.getExpression()))h(es.getDefaultValue(t.getSchema(),s))&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(E.ERROR,J.format("Error evaluating $ : $",r.getExpression(),t))}}}else h(await es.getDefaultValue(t.getSchema(),s))&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(st.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],n=new Map;for(let s of Array.from(t))for(let t of Array.from(s.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?s.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new ee(i,E)),n.set(s.getData().getStatement().getStatementName(),J.format("Unable to find the step with name $",i)))}return new ee(r,n)}}t({},"KIRunConstants",()=>sr);class sr{static{this.NAMESPACE="namespace"}static{this.NAME="name"}static{this.ID="id"}constructor(){}}t({},"Position",()=>sn);class sn{static{this.SCHEMA_NAME="Position"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(sn.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["left",U.ofFloat("left")],["top",U.ofFloat("top")]]))}constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new sn(e.left,e.top)}}t({},"FunctionDefinition",()=>su),t({},"Statement",()=>si),t({},"AbstractStatement",()=>ss);class ss{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new sn(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}t({},"ParameterReference",()=>sa);class sa{static{this.SCHEMA_NAME="ParameterReference"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(sa.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["key",U.ofString("key")],["value",U.ofAny("value")],["expression",U.ofString("expression")],["type",U.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",U.ofInteger("order")]]))}constructor(e){e instanceof sa?(this.key=e.key,this.type=e.type,this.value=h(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=n3())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new sa(o.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new sa(o.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new sa(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class si extends ss{static{this.SCHEMA_NAME="Statement"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(si.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["statementName",U.ofString("statementName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["namespace",U.ofString("namespace")],["name",U.ofString("name")],["dependentStatements",U.ofObject("dependentstatement").setAdditionalProperties(new L().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",U.ofObject("executeIftrue").setAdditionalProperties(new L().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new U().setName("parameterMap").setAdditionalProperties(new L().setSchemaValue(U.ofObject("parameterReference").setAdditionalProperties(new L().setSchemaValue(sa.SCHEMA))))],["position",sn.SCHEMA]]))}constructor(e,t,r){if(super(e instanceof si?e:void 0),e instanceof si)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new sa(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof si&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new si(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>sa.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(sn.from(e.position)).setComment(e.comment).setDescription(e.description)}}t({},"StatementGroup",()=>so);class so extends ss{static{this.SCHEMA_NAME="StatementGroup"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(so.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["statementGroupName",U.ofString("statementGroupName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["position",sn.SCHEMA]]))}constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new so(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(sn.from(e.position)).setComment(e.comment).setDescription(e.description)}}let sE=new U().setNamespace(m.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofArray("parameters",v.SCHEMA)],["events",U.ofObject("events").setAdditionalProperties(new L().setSchemaValue(H.SCHEMA))],["steps",U.ofObject("steps").setAdditionalProperties(new L().setSchemaValue(si.SCHEMA))]]));sE.getProperties()?.set("parts",U.ofArray("parts",sE));class su extends X{static{this.SCHEMA=sE}constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new su(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,si.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,so.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>su.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,H.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,v.from(e)]))).setNamespace(e.namespace):new su("unknown")}}t({},"Argument",()=>sA);class sA{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new sA(0,e,t)}}var sT={};r(sT,ro),r(sT,rT),r(sT,rc),r(sT,rg),r(sT,rE);var sl={};r(sl,tI),r(sl,ty),r(sl,tL),r(sl,tV),r(sl,tv),r(sl,tG),r(sl,t$),r(sl,tO),r(sl,tB),r(sl,tH),r(sl,tj),r(sl,tX),r(sl,tq),r(sl,tz),r(sl,tZ),r(sl,t1),r(sl,t5),r(sl,t4),r(sl,t9),r(sl,rt),r(sl,t3),r(sl,rn),r(sl,ra),r(sl,tS);export{B as KIRunSchemaRepository,n0 as KIRunFunctionRepository,ex as PrimitiveUtil,G as MapUtil,D as MapEntry,h as isNullValue,q as LinkedList,e0 as StringBuilder,J as StringFormatter,Q as StringUtil,ee as Tuple2,et as Tuple3,er as Tuple4,eU as ArrayUtil,z as deepEqual,eb as duplicate,n2 as StatementExecution,n1 as StatementMessage,tm as ContextElement,n5 as ContextTokenValueExtractor,n7 as OutputMapTokenValueExtractor,n4 as ArgumentsTokenValueExtractor,n9 as GraphVertex,n6 as ExecutionGraph,st as KIRuntime,E as StatementMessageType,se as FunctionExecutionParameters,e4 as Expression,e6 as TokenValueExtractor,rp as LiteralTokenValueExtractor,e9 as ObjectValueSetterExtractor,rS as ExpressionEvaluator,e7 as Operation,e2 as ExpressionToken,e1 as ExpressionEvaluationException,e5 as ExpressionTokenValue,eS as AbstractFunction,m as Namespaces,n8 as JsonExpression,L as AdditionalType,U as Schema,eu as NumberValidator,eo as BooleanValidator,eE as NullValidator,ei as ArrayValidator,ea as AnyOfAllOfOneOfValidator,eT as StringValidator,eA as ObjectValidator,eM as SchemaValidator,en as SchemaValidationException,V as SchemaReferenceException,e_ as TypeValidator,p as ArraySchemaType,_ as SingleType,M as TypeUtil,N as MultipleType,f as Type,n as SchemaType,es as SchemaUtil,a as StringFormat,nz as HybridRepository,sr as KIRunConstants,v as Parameter,W as FunctionOutput,sn as Position,su as FunctionDefinition,o as ParameterReferenceType,k as EventResult,ss as AbstractStatement,si as Statement,so as StatementGroup,X as FunctionSignature,H as Event,s as ParameterType,sA as Argument,sa as ParameterReference,ey as ExecutionException,j as KIRuntimeException,rA as ArithmeticUnaryMinusOperator,rl as ArithmeticUnaryPlusOperator,rR as BitwiseComplementOperator,rm as LogicalNotOperator,ru as UnaryOperator,tP as ArithmeticAdditionOperator,tx as ArithmeticDivisionOperator,tU as ArithmeticIntegerDivisionOperator,tb as ArithmeticModulusOperator,tC as ArithmeticMultiplicationOperator,tD as ArithmeticSubtractionOperator,tF as ArrayOperator,td as BinaryOperator,tY as BitwiseAndOperator,tk as BitwiseLeftShiftOperator,tW as BitwiseOrOperator,tJ as BitwiseRightShiftOperator,tK as BitwiseUnsignedRightShiftOperator,tQ as BitwiseXorOperator,t0 as LogicalAndOperator,t2 as LogicalEqualOperator,t7 as LogicalGreaterThanEqualOperator,t6 as LogicalGreaterThanOperator,t8 as LogicalLessThanEqualOperator,rr as LogicalNotEqualOperator,re as LogicalLessThanOperator,rs as LogicalOrOperator,ri as ObjectOperator,tw as LogicalNullishCoalescingOperator,r_ as ConditionalTernaryOperator};
1
+ import{DateTime as e}from"luxon";function t(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function r(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}t({},"KIRunSchemaRepository",()=>B);var n,s,a,i,o,E,u,A,T,l,c,R,g={};t(g,"AdditionalType",()=>L),t(g,"Schema",()=>U),t({},"Namespaces",()=>m);class m{static{this.SYSTEM="System"}static{this.SYSTEM_CTX="System.Context"}static{this.SYSTEM_LOOP="System.Loop"}static{this.SYSTEM_ARRAY="System.Array"}static{this.SYSTEM_OBJECT="System.Object"}static{this.MATH="System.Math"}static{this.STRING="System.String"}static{this.DATE="System.Date"}constructor(){}}function h(e){return null==e}t({},"ArraySchemaType",()=>p),t({},"isNullValue",()=>h);class p{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new U(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new U(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!h(this.singleSchema)}static of(...e){return 1==e.length?new p().setSingleSchema(e[0]):new p().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new p().setTupleSchema(U.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new p().setSingleSchema(U.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new p().setTupleSchema(U.fromListOfSchemas(e.tupleSchema));let r=U.from(e);if(r)return new p().setSingleSchema(r)}}t({},"SchemaType",()=>n),(u=n||(n={})).INTEGER="Integer",u.LONG="Long",u.FLOAT="Float",u.DOUBLE="Double",u.STRING="String",u.OBJECT="Object",u.ARRAY="Array",u.BOOLEAN="Boolean",u.NULL="Null",t({},"TypeUtil",()=>M),t({},"MultipleType",()=>N),t({},"Type",()=>f);class f{}class N extends f{constructor(e){super(),e instanceof N?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}t({},"SingleType",()=>_);class _ extends f{constructor(e){super(),e instanceof _?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class M{static of(...e){return 1==e.length?new _(e[0]):new N(new Set(e))}static from(e){return"string"==typeof e?new _(n[M.fromJSONType(e)]):Array.isArray(e)?new N(new Set(e.map(M.fromJSONType).map(e=>e).map(e=>n[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}let S="additionalProperty",O="additionalItems",d="enums",w="items",P="System.Schema",I="required",y="version",x="namespace";class L{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new U(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(h(e))return;let t=new L;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=U.from(e.schemaValue):t.schemaValue=U.from(e)}return t}}class U{static{this.NULL=new U().setNamespace(m.SYSTEM).setName("Null").setType(M.of(n.NULL)).setConstant(void 0)}static{this.TYPE_SCHEMA=new U().setType(M.of(n.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName("Schema").setType(M.of(n.OBJECT)).setProperties(new Map([[x,U.of(x,n.STRING).setDefaultValue("_")],["name",U.ofString("name")],[y,U.of(y,n.INTEGER).setDefaultValue(1)],["ref",U.ofString("ref")],["type",new U().setAnyOf([U.TYPE_SCHEMA,U.ofArray("type",U.TYPE_SCHEMA)])],["anyOf",U.ofArray("anyOf",U.ofRef(P))],["allOf",U.ofArray("allOf",U.ofRef(P))],["oneOf",U.ofArray("oneOf",U.ofRef(P))],["not",U.ofRef(P)],["title",U.ofString("title")],["description",U.ofString("description")],["id",U.ofString("id")],["examples",U.ofAny("examples")],["defaultValue",U.ofAny("defaultValue")],["comment",U.ofString("comment")],[d,U.ofArray(d,U.ofString(d))],["constant",U.ofAny("constant")],["pattern",U.ofString("pattern")],["format",U.of("format",n.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",U.ofInteger("minLength")],["maxLength",U.ofInteger("maxLength")],["multipleOf",U.ofLong("multipleOf")],["minimum",U.ofNumber("minimum")],["maximum",U.ofNumber("maximum")],["exclusiveMinimum",U.ofNumber("exclusiveMinimum")],["exclusiveMaximum",U.ofNumber("exclusiveMaximum")],["properties",U.of("properties",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(P)))],["additionalProperties",new U().setName(S).setNamespace(m.SYSTEM).setAnyOf([U.ofBoolean(S),U.ofObject(S).setRef(P)]).setDefaultValue(!0)],[I,U.ofArray(I,U.ofString(I)).setDefaultValue([])],["propertyNames",U.ofRef(P)],["minProperties",U.ofInteger("minProperties")],["maxProperties",U.ofInteger("maxProperties")],["patternProperties",U.of("patternProperties",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(P)))],[w,new U().setName(w).setAnyOf([U.ofRef(P).setName("item"),U.ofArray("tuple",U.ofRef(P))])],["contains",U.ofRef(P)],["minContains",U.ofInteger("minContains")],["maxContains",U.ofInteger("maxContains")],["minItems",U.ofInteger("minItems")],["maxItems",U.ofInteger("maxItems")],["uniqueItems",U.ofBoolean("uniqueItems")],["additionalItems",new U().setName(O).setNamespace(m.SYSTEM).setAnyOf([U.ofBoolean(O),U.ofObject(O).setRef(P)])],["$defs",U.of("$defs",n.OBJECT).setAdditionalProperties(new L().setSchemaValue(U.ofRef(P)))],["permission",U.ofString("permission")]])).setRequired([])}static ofString(e){return new U().setType(M.of(n.STRING)).setName(e)}static ofInteger(e){return new U().setType(M.of(n.INTEGER)).setName(e)}static ofFloat(e){return new U().setType(M.of(n.FLOAT)).setName(e)}static ofLong(e){return new U().setType(M.of(n.LONG)).setName(e)}static ofDouble(e){return new U().setType(M.of(n.DOUBLE)).setName(e)}static ofAny(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE,n.STRING,n.BOOLEAN,n.ARRAY,n.NULL,n.OBJECT)).setName(e)}static ofAnyNotNull(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE,n.STRING,n.BOOLEAN,n.ARRAY,n.OBJECT)).setName(e)}static ofNumber(e){return new U().setType(M.of(n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)).setName(e)}static ofBoolean(e){return new U().setType(M.of(n.BOOLEAN)).setName(e)}static of(e,...t){return new U().setType(M.of(...t)).setName(e)}static ofObject(e){return new U().setType(M.of(n.OBJECT)).setName(e)}static ofRef(e){return new U().setRef(e)}static ofArray(e,...t){return new U().setType(M.of(n.ARRAY)).setName(e).setItems(p.of(...t))}static fromListOfSchemas(e){if(h(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=U.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(h(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let n=U.from(r);n&&t.set(e,n)}),t}static from(e,t=!1){if(h(e))return;let r=new U;return r.namespace=e.namespace??"_",r.name=e.name,r.version=e.version??1,r.ref=e.ref,t?r.type=new _(n.STRING):r.type=M.from(e.type),r.anyOf=U.fromListOfSchemas(e.anyOf),r.allOf=U.fromListOfSchemas(e.allOf),r.oneOf=U.fromListOfSchemas(e.oneOf),r.not=U.from(e.not),r.description=e.description,r.examples=e.examples?[...e.examples]:void 0,r.defaultValue=e.defaultValue,r.comment=e.comment,r.enums=e.enums?[...e.enums]:void 0,r.constant=e.constant,r.pattern=e.pattern,r.format=e.format,r.minLength=e.minLength,r.maxLength=e.maxLength,r.multipleOf=e.multipleOf,r.minimum=e.minimum,r.maximum=e.maximum,r.exclusiveMinimum=e.exclusiveMinimum,r.exclusiveMaximum=e.exclusiveMaximum,r.properties=U.fromMapOfSchemas(e.properties),r.additionalProperties=L.from(e.additionalProperties),r.required=e.required,r.propertyNames=U.from(e.propertyNames,!0),r.minProperties=e.minProperties,r.maxProperties=e.maxProperties,r.patternProperties=U.fromMapOfSchemas(e.patternProperties),r.items=p.from(e.items),r.additionalItems=L.from(e.additionalItems),r.contains=U.from(e.contains),r.minContains=e.minContains,r.maxContains=e.maxContains,r.minItems=e.minItems,r.maxItems=e.maxItems,r.uniqueItems=e.uniqueItems,r.$defs=U.fromMapOfSchemas(e.$defs),r.permission=e.permission,r}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,h(e.type)||(this.type=e.type instanceof _?new _(e.type):new N(e.type)),this.anyOf=e.anyOf?.map(e=>new U(e)),this.allOf=e.allOf?.map(e=>new U(e)),this.oneOf=e.oneOf?.map(e=>new U(e)),this.not=this.not?new U(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new L(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new U(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.items=e.items?new p(e.items):void 0,this.contains=e.contains?new U(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new L(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new U(e[1])])):void 0,this.permission=e.permission}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new _(n.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}t({},"Parameter",()=>v),t({},"SchemaReferenceException",()=>V);class V extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}t({},"ParameterType",()=>s),(A=s||(s={})).CONSTANT="CONSTANT",A.EXPRESSION="EXPRESSION";let b="value";class v{static{this.SCHEMA_NAME="Parameter"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(v.SCHEMA_NAME).setProperties(new Map([["schema",U.SCHEMA],["parameterName",U.ofString("parameterName")],["variableArgument",U.of("variableArgument",n.BOOLEAN).setDefaultValue(!1)],["type",U.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))}static{this.EXPRESSION=new U().setNamespace(m.SYSTEM).setName("ParameterExpression").setType(M.of(n.OBJECT)).setProperties(new Map([["isExpression",U.ofBoolean("isExpression").setDefaultValue(!0)],[b,U.ofAny(b)]]))}constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof v)this.schema=new U(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=s.EXPRESSION){return[e,new v(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new v(e,t).setType(n).setVariableArgument(r)}static from(e){let t=U.from(e.schema);if(!t)throw new V("","Parameter requires Schema");return new v(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}var C={};t(C,"MapUtil",()=>G),t(C,"MapEntry",()=>D);class G{static of(e,t,r,n,s,a,i,o,E,u,A,T,l,c,R,g,m,p,f,N){let _=new Map;return h(e)||h(t)||_.set(e,t),h(r)||h(n)||_.set(r,n),h(s)||h(a)||_.set(s,a),h(i)||h(o)||_.set(i,o),h(E)||h(u)||_.set(E,u),h(A)||h(T)||_.set(A,T),h(l)||h(c)||_.set(l,c),h(R)||h(g)||_.set(R,g),h(m)||h(p)||_.set(m,p),h(f)||h(N)||_.set(f,N),_}static ofArrayEntries(...e){let t=new Map;for(let[r,n]of e)t.set(r,n);return t}static entry(e,t){return new D(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class D{constructor(e,t){this.k=e,this.v=t}}let $=new Map([["any",U.ofAny("any").setNamespace(m.SYSTEM)],["boolean",U.ofBoolean("boolean").setNamespace(m.SYSTEM)],["double",U.ofDouble("double").setNamespace(m.SYSTEM)],["float",U.ofFloat("float").setNamespace(m.SYSTEM)],["integer",U.ofInteger("integer").setNamespace(m.SYSTEM)],["long",U.ofLong("long").setNamespace(m.SYSTEM)],["number",U.ofNumber("number").setNamespace(m.SYSTEM)],["string",U.ofString("string").setNamespace(m.SYSTEM)],["Timestamp",U.ofString("Timestamp").setNamespace(m.DATE)],["Timeunit",U.ofString("Timeunit").setNamespace(m.DATE).setEnums(["YEARS","QUARTERS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","MILLISECONDS"])],["Duration",U.ofObject("Duration").setNamespace(m.DATE).setProperties(G.ofArrayEntries(["years",U.ofNumber("years")],["quarters",U.ofNumber("quarters")],["months",U.ofNumber("months")],["weeks",U.ofNumber("weeks")],["days",U.ofNumber("days")],["hours",U.ofNumber("hours")],["minutes",U.ofNumber("minutes")],["seconds",U.ofNumber("seconds")],["milliseconds",U.ofNumber("milliseconds")])).setAdditionalItems(L.from(!1))],["TimeObject",U.ofObject("TimeObject").setNamespace(m.DATE).setProperties(G.ofArrayEntries(["year",U.ofNumber("year")],["month",U.ofNumber("month")],["day",U.ofNumber("day")],["hour",U.ofNumber("hour")],["minute",U.ofNumber("minute")],["second",U.ofNumber("second")],["millisecond",U.ofNumber("millisecond")])).setAdditionalItems(L.from(!1))],[v.EXPRESSION.getName(),v.EXPRESSION],[U.NULL.getName(),U.NULL],[U.SCHEMA.getName(),U.SCHEMA]]),F=Array.from($.values()).map(e=>e.getFullName());class B{async find(e,t){return m.SYSTEM!=e&&m.DATE!=e?Promise.resolve(void 0):Promise.resolve($.get(t))}async filter(e){return Promise.resolve(F.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function Y(e){return[e.getSignature().getName(),e]}t({},"KIRunFunctionRepository",()=>n0),t({},"EventResult",()=>k),t({},"Event",()=>H);class H{static{this.OUTPUT="output"}static{this.ERROR="error"}static{this.ITERATION="iteration"}static{this.TRUE="true"}static{this.FALSE="false"}static{this.SCHEMA_NAME="Event"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(H.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["name",U.ofString("name")],["parameters",U.ofObject("parameter").setAdditionalProperties(new L().setSchemaValue(U.SCHEMA))]]))}constructor(e,t){if(e instanceof H)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new U(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return H.eventMapEntry(H.OUTPUT,e)}static eventMapEntry(e,t){return[e,new H(e,t)]}static from(e){return new H(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=U.from(e[1]);if(!t)throw new V("","Event expects a schema");return[e[0],t]})))}}class k{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return k.of(H.OUTPUT,e)}static of(e,t){return new k(e,t)}}t({},"FunctionOutput",()=>W),t({},"KIRuntimeException",()=>j);class j extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class W{constructor(e){if(this.index=0,h(e))throw new j("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof k?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}t({},"FunctionSignature",()=>X);class X{static{this.SCHEMA_NAME="FunctionSignature"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(X.SCHEMA_NAME).setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofObject("parameters").setAdditionalProperties(new L().setSchemaValue(v.SCHEMA))],["events",U.ofObject("events").setAdditionalProperties(new L().setSchemaValue(H.SCHEMA))]]))}constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof X?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new v(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new H(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}t({},"AbstractFunction",()=>eS),t({},"SchemaValidator",()=>eM),t({},"deepEqual",()=>z),t({},"LinkedList",()=>q),t({},"StringFormatter",()=>J);class J{static format(e,...t){if(!t||0==t.length)return e;let r="",n=0,s="",a=s,i=e.length;for(let o=0;o<i;o++)"$"==(s=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+s:"$"==s&&n<t.length?r+=t[n++]:r+=s,a=s;return r.toString()}constructor(){}}class q{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new K(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new K(t);this.length=e.length}}push(e){let t=new K(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new j(J.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new K(e,this.head),this.head.next=this.tail):(this.tail=new K(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new K(e),this}map(e,t){let r=new q,n=this.head,s=0;for(;n;)r.add(e(n.value,s)),n=n.next,++s;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(z(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,n=0;for(;r;)e(r.value,n),r=r.next,++n}}class K{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function z(e,t){let r=new q;r.push(e);let n=new q;for(n.push(t);!r.isEmpty()&&!n.isEmpty();){let e=r.pop(),t=n.pop();if(e===t)continue;let s=typeof e,a=typeof t;if("undefined"===s||"undefined"===a){if(!e&&!t)continue;return!1}if(s!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let s=0;s<e.length;s++)r.push(e[s]),n.push(t[s]);continue}if("object"===s){if("object"!==a||null===e||null===t)return!1;let s=Object.entries(e),i=Object.entries(t);if(s.length!==i.length)return!1;for(let[e,a]of s)r.push(a),n.push(t[e]);continue}return!1}return!0}t({},"StringUtil",()=>Q);class Q{constructor(){}static nthIndex(e,t,r=0,n){if(!e)throw new j("String cannot be null");if(r<0||r>=e.length)throw new j(J.format("Cannot search from index : $",r));if(n<=0||n>e.length)throw new j(J.format("Cannot search for occurance : $",n));for(;r<e.length;){if(e.charAt(r)==t&&0==--n)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static splitAtLastOccurance(e,t){if(!e)return[void 0,void 0];let r=e.lastIndexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}t({},"SchemaUtil",()=>es);var Z={};t(Z,"Tuple2",()=>ee),t(Z,"Tuple3",()=>et),t(Z,"Tuple4",()=>er);class ee{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class et extends ee{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class er extends et{constructor(e,t,r,n){super(e,t,r),this.fr=n}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}t({},"SchemaValidationException",()=>en);class en extends Error{constructor(e,t,r=[],n){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=n}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class es{static{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"}static{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20}static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():h(e.getDefaultValue())?es.getDefaultValue(await es.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!h(e.getDefaultValue())?Promise.resolve(!0):h(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(n.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await es.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,n=0){if(++n==es.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new en(r??"","Schema has a cyclic reference");if(!e||!r||Q.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var s=await es.resolveExternalSchema(e,t,r);s&&(e=s.getT1(),r=s.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(es.resolveInternalSchema(e,t,r,n,a,1))}static async resolveInternalSchema(e,t,r,s,a,i){let o=e;if(i!==a.length){for(;i<a.length;){if("$defs"===a[i]){if(++i>=a.length||!o.get$defs())throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(n.OBJECT)||!o.getProperties()))throw new V(r,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!Q.isNullOrBlank(o.getRef())&&!(o=await es.getSchemaFromRef(o,t,o.getRef(),s)))throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(o)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let n=Q.splitAtFirstOccurance(r??"","/");if(!n[0])return Promise.resolve(void 0);let s=Q.splitAtLastOccurance(n[0],".");if(!s[0]||!s[1])return Promise.resolve(void 0);let a=await t.find(s[0],s[1]);if(!a)return Promise.resolve(void 0);if(!n[1]||""===n[1])return Promise.resolve(new ee(a,r));if(r="#/"+n[1],!a)throw new V(r,es.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new ee(a,r))}constructor(){}}t({},"AnyOfAllOfOneOfValidator",()=>ea);class ea{static async validate(e,t,r,n,s,a){let i=[];return t.getOneOf()&&!t.getOneOf()?await ea.oneOf(e,t,r,n,i,s,a):t.getAllOf()&&!t.getAllOf()?await ea.allOf(e,t,r,n,i,s,a):t.getAnyOf()&&!t.getAnyOf()?await ea.anyOf(e,t,r,n,i,s,a):n}static async anyOf(e,t,r,n,s,a,i){let o=!1;for(let E of t.getAnyOf()??[])try{await ea.validate(e,E,r,n,a,i),o=!0;break}catch(e){o=!1,s.push(e)}if(o)return n;throw new en(eM.path(e),"The value don't satisfy any of the schemas.",s)}static async allOf(e,t,r,n,s,a,i){let o=0;for(let E of t.getAllOf()??[])try{await ea.validate(e,E,r,n,a,i),o++}catch(e){s.push(e)}if(o===t.getAllOf()?.length)return n;throw new en(eM.path(e),"The value doesn't satisfy some of the schemas.",s)}static async oneOf(e,t,r,n,s,a,i){let o=0;for(let E of t.getOneOf()??[])try{await ea.validate(e,E,r,n,a,i),o++}catch(e){s.push(e)}if(1===o)return n;throw new en(eM.path(e),0==o?"The value does not satisfy any schema":"The value satisfy more than one schema",s)}constructor(){}}t({},"TypeValidator",()=>e_),t({},"ArrayValidator",()=>ei);class ei{static async validate(e,t,r,n,s,a){if(h(n))throw new en(eM.path(e),"Expected an array but found null");if(!Array.isArray(n))throw new en(eM.path(e),n.toString()+" is not an Array");return ei.checkMinMaxItems(e,t,n),await ei.checkItems(e,t,r,n,s,a),ei.checkUniqueItems(e,t,n),await ei.checkContains(t,e,r,n),n}static async checkContains(e,t,r,n){if(h(e.getContains()))return;let s=await ei.countContains(t,e,r,n,h(e.getMinContains())&&h(e.getMaxContains()));if(0===s)throw new en(eM.path(t),"None of the items are of type contains schema");if(!h(e.getMinContains())&&e.getMinContains()>s)throw new en(eM.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+s);if(!h(e.getMaxContains())&&e.getMaxContains()<s)throw new en(eM.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+s)}static async countContains(e,t,r,n,s){let a=0;for(let i=0;i<n.length;i++){let o=e?[...e]:[];try{if(await eM.validate(o,t.getContains(),r,n[i]),a++,s)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new en(eM.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new en(eM.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new en(eM.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,n,s,a){if(!t.getItems())return;let i=t.getItems();if(i.getSingleSchema())for(let t=0;t<n.length;t++){let o=e?[...e]:[];n[t]=await eM.validate(o,i.getSingleSchema(),r,n[t],s,a)}if(i.getTupleSchema()){if(i.getTupleSchema().length!==n.length&&h(t?.getAdditionalItems()))throw new en(eM.path(e),"Expected an array with only "+i.getTupleSchema().length+" but found "+n.length);await this.checkItemsInTupleSchema(e,r,n,i),await this.checkAdditionalItems(e,t,r,n,i)}}static async checkItemsInTupleSchema(e,t,r,n,s,a){for(let i=0;i<n.getTupleSchema()?.length;i++){let o=e?[...e]:[];r[i]=await eM.validate(o,n.getTupleSchema()[i],t,r[i],s,a)}}static async checkAdditionalItems(e,t,r,n,s){if(!h(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=U.ofAny("item");if(a?.getBooleanValue()===!1&&n.length>s.getTupleSchema()?.length)throw new en(eM.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,n,s,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,n,s,i)}}}static async checkEachItemInAdditionalItems(e,t,r,n,s,a){for(let t=s.getTupleSchema()?.length;t<n.length;t++){let s=e?[...e]:[];n[t]=await eM.validate(s,a,r,n[t])}}constructor(){}}t({},"BooleanValidator",()=>eo);class eo{static validate(e,t,r){if(h(r))throw new en(eM.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new en(eM.path(e),r.toString()+" is not a boolean");return r}constructor(){}}t({},"NullValidator",()=>eE);class eE{static validate(e,t,r){if(h(r))return r;throw new en(eM.path(e),"Expected a null but found "+r)}constructor(){}}t({},"NumberValidator",()=>eu);class eu{static validate(e,t,r,n){if(h(n))throw new en(eM.path(t),"Expected a number but found null");if("number"!=typeof n)throw new en(eM.path(t),n.toString()+" is not a "+e);let s=eu.extractNumber(e,t,r,n);return eu.checkRange(t,r,n,s),eu.checkMultipleOf(t,r,n,s),n}static extractNumber(e,t,r,s){let a=s;try{(e==n.LONG||e==n.INTEGER)&&(a=Math.round(a))}catch(r){throw new en(eM.path(t),s+" is not a number of type "+e,r)}if(h(a)||(e==n.LONG||e==n.INTEGER)&&a!=s)throw new en(eM.path(t),s.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,n){if(t.getMultipleOf()&&n%t.getMultipleOf()!=0)throw new en(eM.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,n){if(!h(t.getMinimum())&&0>eu.numberCompare(n,t.getMinimum()))throw new en(eM.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!h(t.getMaximum())&&eu.numberCompare(n,t.getMaximum())>0)throw new en(eM.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!h(t.getExclusiveMinimum())&&0>=eu.numberCompare(n,t.getExclusiveMinimum()))throw new en(eM.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!h(t.getExclusiveMaximum())&&eu.numberCompare(n,t.getExclusiveMaximum())>0)throw new en(eM.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}t({},"ObjectValidator",()=>eA);class eA{static async validate(e,t,r,n,s,a){if(h(n))throw new en(eM.path(e),"Expected an object but found null");if("object"!=typeof n||Array.isArray(n))throw new en(eM.path(e),n.toString()+" is not an Object");let i=new Set(Object.keys(n));return eA.checkMinMaxProperties(e,t,i),t.getPropertyNames()&&await eA.checkPropertyNameSchema(e,t,r,i),t.getRequired()&&eA.checkRequired(e,t,n),t.getProperties()&&await eA.checkProperties(e,t,r,n,i,s,a),t.getPatternProperties()&&await eA.checkPatternProperties(e,t,r,n,i),t.getAdditionalProperties()&&await eA.checkAdditionalProperties(e,t,r,n,i),n}static async checkPropertyNameSchema(e,t,r,n){for(let s of Array.from(n.values()))try{await eM.validate(e,t.getPropertyNames(),r,s)}catch(t){throw new en(eM.path(e),"Property name '"+s+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let n of t.getRequired()??[])if(h(r[n]))throw new en(eM.path(e),n+" is mandatory")}static async checkAdditionalProperties(e,t,r,n,s){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(s.values())){let s=e?[...e]:[];n[t]=await eM.validate(s,a.getSchemaValue(),r,n[t])}else if(!1===a.getBooleanValue()&&s.size)throw new en(eM.path(e),Array.from(s)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,n,s){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(s.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){n[i]=await eM.validate(o,t.getPatternProperties().get(e[0]),r,n[i]),s.delete(i);break}}}static async checkProperties(e,t,r,n,s,a,i){for(let o of Array.from(t.getProperties())){let t=n[o[0]];if(!n.hasOwnProperty(o[0])&&h(t)&&h(await es.getDefaultValue(o[1],r)))continue;let E=e?[...e]:[];n[o[0]]=await eM.validate(E,o[1],r,t,a,i),s.delete(o[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new en(eM.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new en(eM.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}t({},"StringValidator",()=>eT),t({},"StringFormat",()=>a),(T=a||(a={})).DATETIME="DATETIME",T.TIME="TIME",T.DATE="DATE",T.EMAIL="EMAIL",T.REGEX="REGEX";class eT{static{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/}static{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/}static{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/}static validate(e,t,r){if(h(r))throw new en(eM.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new en(eM.path(e),r.toString()+" is not String");t.getFormat()==a.TIME?eT.patternMatcher(e,t,r,eT.TIME,"time pattern"):t.getFormat()==a.DATE?eT.patternMatcher(e,t,r,eT.DATE,"date pattern"):t.getFormat()==a.DATETIME?eT.patternMatcher(e,t,r,eT.DATETIME,"date time pattern"):t.getFormat()==a.EMAIL?eT.patternMatcher(e,t,r,eT.EMAIL,"email pattern"):t.getPattern()&&eT.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let n=r.length;if(t.getMinLength()&&n<t.getMinLength())throw new en(eM.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&n>t.getMaxLength())throw new en(eM.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,n,s){if(!n.test(r))throw new en(eM.path(e),r.toString()+" is not matched with the "+s)}constructor(){}}(l=i||(i={})).STRICT="STRICT",l.LENIENT="LENIENT",l.USE_DEFAULT="USE_DEFAULT",l.SKIP="SKIP";let el=e=>i[e.toUpperCase()],ec=()=>Object.values(i);class eR extends Error{constructor(e,t,r,n,s=[],a){super(r+(s?s.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.source=t??null,this.mode=n??null,this.cause=a}getSchemaPath(){return this.schemaPath}getSource(){return this.source??null}getMode(){return this.mode??null}getCause(){return this.cause}}class eg{static handleUnConvertibleValue(e,t,r,n){return this.handleUnConvertibleValueWithDefault(e,t,r,null,n)}static handleUnConvertibleValueWithDefault(e,t,r,n,s){switch(null===t&&(t=i.STRICT),t){case i.STRICT:throw new eR(eM.path(e),r,s,t);case i.LENIENT:return null;case i.USE_DEFAULT:return n;case i.SKIP:return r;default:throw new eR(eM.path(e),r,"Invalid conversion mode")}}constructor(){}}class em{static convert(e,t,r,n){if(h(n))return eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Expected a string but found null");let s=n??("object"==typeof n?JSON.stringify(n):String(n));return this.getConvertedString(s,r)}static getConvertedString(e,t){return t===i.STRICT?e.toString():e.trim()}static getDefault(e){return e.getDefaultValue()??null}constructor(){}}class eh{static convert(e,t,r,n,s){if(h(s))return eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),"Expected a number but found null");if("object"==typeof s||"boolean"==typeof s||Array.isArray(s)||"string"==typeof s&&isNaN(s=Number(s)))return eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),s+" is not a "+t);let a=this.extractNumber(t,s,n);return null===a?eg.handleUnConvertibleValueWithDefault(e,n,s,this.getDefault(r),s+" is not a "+t):a}static extractNumber(e,t,r){if("number"!=typeof t)return null;switch(e){case n.INTEGER:return this.isInteger(t,r)?Math.floor(t):null;case n.LONG:return this.isLong(t,r)?Math.floor(t):null;case n.DOUBLE:return t;case n.FLOAT:return this.isFloat(t,r)?t:null;default:return null}}static isInteger(e,t){return t!==i.STRICT?"number"==typeof e:Number.isInteger(e)}static isLong(e,t){return t!==i.STRICT?"number"==typeof e:Number.isInteger(e)&&e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER}static isFloat(e,t){return t!==i.STRICT?"number"==typeof e:e>=-Number.MAX_VALUE&&e<=Number.MAX_VALUE}static getDefault(e){return"number"==typeof e.getDefaultValue()?Number(e.getDefaultValue):null}}class ep{static{this.BOOLEAN_MAP={true:!0,t:!0,yes:!0,y:!0,1:!0,false:!1,f:!1,no:!1,n:!1,0:!1}}static convert(e,t,r,n){return null==n?eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Expected a boolean but found null"):this.getBooleanPrimitive(n)??eg.handleUnConvertibleValueWithDefault(e,r,n,this.getDefault(t),"Unable to convert to boolean")}static getBooleanPrimitive(e){return"boolean"==typeof e?e:"string"==typeof e?this.handleStringValue(e):"number"==typeof e?this.handleNumberValue(e):null}static handleStringValue(e){let t=e.toLowerCase().trim();return ep.BOOLEAN_MAP[t]??null}static handleNumberValue(e){return 0===e||1===e?1===e:null}static getDefault(e){return e.getDefaultValue()??!1}constructor(){}}class ef{static convert(e,t,r,n){return h(n)?n:"string"==typeof n&&"null"===n.toLowerCase()?null:eg.handleUnConvertibleValueWithDefault(e,r,n,null,"Unable to convert to null")}constructor(){}}class eN{static handleValidationError(e,t,r,n,s){switch(t=t??i.STRICT){case i.STRICT:throw new en(eM.path(e),s);case i.LENIENT:return null;case i.USE_DEFAULT:return n;case i.SKIP:return r}}constructor(){}}class e_{static async validate(e,t,r,s,a,i,o){return t==n.OBJECT?await eA.validate(e,r,s,a,i,o):t==n.ARRAY?await ei.validate(e,r,s,a,i,o):this.handleTypeValidationAndConversion(e,t,r,a,i,o)}static async handleTypeValidationAndConversion(e,t,r,n,s,a){let o=s?this.convertElement(e,t,r,n,a??i.STRICT):n;return await this.validateElement(e,t,r,o,a??i.STRICT)}static convertElement(e,t,r,s,a){if(h(t))return eg.handleUnConvertibleValueWithDefault(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type for conversion.",t));switch(t){case n.STRING:return em.convert(e,r,a,s);case n.INTEGER:case n.LONG:case n.DOUBLE:case n.FLOAT:return eh.convert(e,t,r,a,s);case n.BOOLEAN:return ep.convert(e,r,a,s);case n.NULL:return ef.convert(e,r,a,s);default:return eg.handleUnConvertibleValueWithDefault(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type for conversion.",t))}}static validateElement(e,t,r,s,a){if(h(t))return eN.handleValidationError(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type.",t));switch(t){case n.STRING:return eT.validate(e,r,s);case n.INTEGER:case n.LONG:case n.DOUBLE:case n.FLOAT:return eu.validate(t,e,r,s);case n.BOOLEAN:return eo.validate(e,r,s);case n.NULL:return eE.validate(e,r,s);default:return eN.handleValidationError(e,a,s,r.getDefaultValue()??null,J.format("$ is not a valid type.",t))}}constructor(){}}class eM{static{this.ORDER={[n.OBJECT]:0,[n.ARRAY]:1,[n.DOUBLE]:2,[n.FLOAT]:3,[n.LONG]:4,[n.INTEGER]:5,[n.STRING]:6,[n.BOOLEAN]:7,[n.NULL]:8}}static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,n,s,a){if(!t)throw new en(eM.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),h(n)&&!h(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!h(t.getConstant()))return eM.constantValidation(e,t,n);if(t.getEnums()?.length)return eM.enumCheck(e,t,n);if(t.getFormat()&&h(t.getType()))throw new en(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(!0===s&&h(t.getType()))throw new en(this.path(e),"Type is missing in schema for declared "+a);if(t.getType()&&(n=await eM.typeValidation(e,t,r,n,s,a)),!Q.isNullOrBlank(t.getRef()))return await eM.validate(e,await es.getSchemaFromRef(e[0],r,t.getRef()),r,n,s,a);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&(n=await ea.validate(e,t,r,n,s,a)),t.getNot()){let i;try{await eM.validate(e,t.getNot(),r,n,s,a),i=!0}catch(e){i=!1}if(i)throw new en(eM.path(e),"Schema validated value in not condition.")}return n}static constantValidation(e,t,r){if(!z(t.getConstant(),r))throw new en(eM.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let n=!1;for(let e of t.getEnums()??[])if(e===r){n=!0;break}if(n)return r;throw new en(eM.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,n,s,a){let i=Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]).sort((e,t)=>(this.ORDER[e]??1/0)-(this.ORDER[t]??1/0)),o=[];for(let E of i)try{return await e_.validate(e,E,t,r,n,s,a)}catch(e){o.push(e)}throw new en(eM.path(e),"Value "+JSON.stringify(n)+" is not of valid type(s)",o)}constructor(){}}class eS{async validateArguments(e,t,r){let n=new Map;for(let s of Array.from(this.getSignature().getParameters().entries())){let a=s[1];try{let r=await this.validateArgument(e,t,s,a);n.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new j(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return n}async validateArgument(e,t,r,n){let s,a=r[0],i=e.get(r[0]);if(h(i)&&!n.isVariableArgument())return new ee(a,await eM.validate(void 0,n.getSchema(),t,void 0));if(!n?.isVariableArgument())return new ee(a,await eM.validate(void 0,n.getSchema(),t,i));Array.isArray(i)?s=i:(s=[],h(i)?h(n.getSchema().getDefaultValue())||s.push(n.getSchema().getDefaultValue()):s.push(i));for(let e=0;e<s.length;e++)s[e]=await eM.validate(void 0,n.getSchema(),t,s[e]);return new ee(a,s)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return await this.internalExecute(e)}catch(r){let t=this.getSignature();throw new j(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class eO extends eS{static{this.EVENT_INDEX_NAME="index"}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_INDEX=new H(H.OUTPUT,G.of(eO.EVENT_INDEX_NAME,U.ofInteger(eO.EVENT_INDEX_NAME)))}static{this.EVENT_RESULT_INTEGER=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofInteger(eO.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_BOOLEAN=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofBoolean(eO.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_ARRAY=new H(H.OUTPUT,G.of(eO.EVENT_RESULT_NAME,U.ofArray(eO.EVENT_RESULT_NAME,U.ofAny(eO.EVENT_RESULT_NAME))))}static{this.EVENT_RESULT_EMPTY=new H(H.OUTPUT,G.of())}static{this.EVENT_RESULT_ANY=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofAny(this.EVENT_RESULT_NAME)))}static{this.EVENT_RESULT_OBJECT=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofObject(this.EVENT_RESULT_NAME)))}static{this.PARAMETER_INT_LENGTH=v.of("length",U.ofInteger("length").setDefaultValue(-1))}static{this.PARAMETER_ARRAY_FIND=v.of("find",U.ofArray("eachFind",U.ofAny("eachFind")))}static{this.PARAMETER_INT_SOURCE_FROM=v.of("srcFrom",U.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))}static{this.PARAMETER_INT_SECOND_SOURCE_FROM=v.of("secondSrcFrom",U.ofInteger("secondSrcFrom").setDefaultValue(0))}static{this.PARAMETER_INT_FIND_FROM=v.of("findFrom",U.ofInteger("findFrom").setDefaultValue(0))}static{this.PARAMETER_INT_OFFSET=v.of("offset",U.ofInteger("offset").setDefaultValue(0))}static{this.PARAMETER_ROTATE_LENGTH=v.of("rotateLength",U.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))}static{this.PARAMETER_BOOLEAN_ASCENDING=v.of("ascending",U.ofBoolean("ascending").setDefaultValue(!0))}static{this.PARAMETER_KEY_PATH=v.of("keyPath",U.ofString("keyPath").setDefaultValue(""))}static{this.PARAMETER_FIND_PRIMITIVE=v.of("findPrimitive",U.of("findPrimitive",n.STRING,n.DOUBLE,n.FLOAT,n.INTEGER,n.LONG))}static{this.PARAMETER_ARRAY_SOURCE=v.of("source",U.ofArray("eachSource",U.ofAny("eachSource")))}static{this.PARAMETER_ARRAY_SECOND_SOURCE=v.of("secondSource",U.ofArray("eachSecondSource",U.ofAny("eachSecondSource")))}static{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=v.of("source",U.ofArray("eachSource",new U().setName("eachSource").setType(M.of(n.STRING,n.NULL,n.INTEGER,n.FLOAT,n.DOUBLE,n.LONG))))}static{this.PARAMETER_BOOLEAN_DEEP_COPY=v.of("deepCopy",U.ofBoolean("deepCopy").setDefaultValue(!0))}static{this.PARAMETER_ANY=v.of("element",U.ofAny("element"))}static{this.PARAMETER_ANY_ELEMENT_OBJECT=v.of("elementObject",U.ofAny("elementObject"))}static{this.PARAMETER_ANY_VAR_ARGS=v.of("element",U.ofAny("element")).setVariableArgument(!0)}static{this.PARAMETER_ARRAY_RESULT=v.of(eO.EVENT_RESULT_NAME,U.ofArray("eachResult",U.ofAny("eachResult")))}constructor(e,t,r){super();let n=new Map;for(let e of t)n.set(e.getParameterName(),e);this.signature=new X(e).setNamespace(m.SYSTEM_ARRAY).setParameters(n).setEvents(G.of(r.getName(),r))}getSignature(){return this.signature}}class ed extends eO{constructor(){super("Concatenate",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ARRAY_SECOND_SOURCE],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,[...t,...r]]]))])}}class ew extends eO{constructor(){super("AddFirst",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ANY],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eO.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new W([k.outputOf(new Map([]))]);t.push(r);let n=t.length-1;for(;n>0;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}let eP="keyName";class eI extends eO{constructor(){super("ArrayToArrayOfObjects",[eO.PARAMETER_ARRAY_SOURCE,v.of(eP,U.ofString(eP),!0)],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eI.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eP);if(!t?.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,[]]]))]);let n=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,n)=>{t[r]=e[n]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,n]]))])}}t({},"PrimitiveUtil",()=>ex),t({},"ExecutionException",()=>ey);class ey extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class ex{static findPrimitiveNullAsBoolean(e){if(h(e))return new ee(n.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new ey(J.format("$ is not a primitive type",e));return"boolean"===t?new ee(n.BOOLEAN,e):"string"===t?new ee(n.STRING,e):ex.findPrimitiveNumberType(e)}static findPrimitive(e){if(h(e))return new ee(n.NULL,void 0);let t=typeof e;if("object"===t)throw new ey(J.format("$ is not a primitive type",e));return"boolean"===t?new ee(n.BOOLEAN,e):"string"===t?new ee(n.STRING,e):ex.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(h(e)||Array.isArray(e)||"object"==typeof e)throw new ey(J.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new ee(n.LONG,e);return new ee(n.DOUBLE,e)}catch(t){throw new ey(J.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(h(e)||h(t))return h(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let n=this.compare(e[r],t[r]);if(0!=n)return n}return 0}return Array.isArray(e)?-1:1}let r=typeof e,n=typeof t;return"object"===r||"object"===n?("object"===r&&"object"===n&&Object.keys(e).forEach(r=>{let n=this.compare(e[r],t[r]);if(0!=n)return n}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return h(e)||h(t)?h(e)&&h(t)?0:h(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?n.LONG:n.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eL extends eO{constructor(){super("BinarySearch",[eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eL.PARAMETER_INT_SOURCE_FROM,eL.PARAMETER_FIND_PRIMITIVE,eL.PARAMETER_INT_LENGTH],eL.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eL.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eL.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eL.PARAMETER_FIND_PRIMITIVE.getParameterName()),s=e?.getArguments()?.get(eL.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new j("Search source array cannot be empty");if(-1==s&&(s=t.length-r),(s=r+s)>t.length)throw new j("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=s;){let e=Math.floor((r+s)/2);if(0==ex.compare(t[e],n)){a=e;break}ex.compare(t[e],n)>0?s=e-1:r=e+1}return new W([k.outputOf(new Map([[eL.EVENT_INDEX_NAME,a]]))])}}t({},"ArrayUtil",()=>eU);class eU{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class eV extends eO{constructor(){super("Compare",eU.of(eV.PARAMETER_ARRAY_SOURCE,eV.PARAMETER_INT_SOURCE_FROM,eV.PARAMETER_ARRAY_FIND,eV.PARAMETER_INT_FIND_FROM,eV.PARAMETER_INT_LENGTH),eV.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(eV.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eV.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eV.PARAMETER_ARRAY_FIND.getParameterName()),s=e?.getArguments()?.get(eV.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(eV.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new j("Compare source array cannot be empty");if(0==n.length)throw new j("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new j(J.format("Source array size $ is less than comparing size $",t.length,r+a));if(s+a>n.length)throw new j(J.format("Find array size $ is less than comparing size $",n.length,s+a));return new W(eU.of(k.outputOf(G.of(eV.EVENT_RESULT_NAME,this.compare(t,r,r+a,n,s,s+a)))))}compare(e,t,r,n,s,a){if(r<t){let e=t;t=r,r=e}if(a<s){let e=s;s=a,a=e}if(r-t!=a-s)throw new j(J.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,s));for(let a=t,i=s;a<r;a++,i++){let t=1;if(h(e[a])||h(n[i])){let r=h(e[a]);r==h(n[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],s=typeof n[i];if("object"===r||"object"===s)t=1;else if("string"===r||"string"===s){let r=""+e[a],s=""+n[i];r===s?t=0:r<s&&(t=-1)}else"boolean"===r||"boolean"===s?t=r==s?0:1:"number"===r&&"number"===s&&(t=e[a]-n[i])}if(0!=t)return t}return 0}}function eb(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}t({},"duplicate",()=>eb);class ev extends eO{constructor(){super("Copy",[ev.PARAMETER_ARRAY_SOURCE,ev.PARAMETER_INT_SOURCE_FROM,ev.PARAMETER_INT_LENGTH,ev.PARAMETER_BOOLEAN_DEEP_COPY],ev.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ev.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ev.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new j(J.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));var s=e?.getArguments()?.get(ev.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(n);for(let e=r;e<r+n;e++)h(t[e])||(a[e-r]=s?eb(t[e]):t[e]);return new W([k.outputOf(G.of(ev.EVENT_RESULT_NAME,a))])}}class eC extends eO{constructor(){super("Delete",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_ANY_VAR_ARGS],eO.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eC.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eC.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new j("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new j("Expected a source or deletable for an array but not found any");let n=new Set;for(let e=t.length-1;e>=0;e--)for(let s=0;s<r.length;s++)n.has(e)||0!=ex.compare(t[e],r[s])||n.add(t[e]);return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t.filter(e=>!n.has(e))]]))])}}class eG extends eO{constructor(){super("DeleteFirst",[eG.PARAMETER_ARRAY_SOURCE],eG.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eG.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new j("Given source array is empty");return(t=[...t]).shift(),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class eD extends eO{constructor(){super("DeleteFrom",[eD.PARAMETER_ARRAY_SOURCE,eD.PARAMETER_INT_SOURCE_FROM,eD.PARAMETER_INT_LENGTH],eD.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eD.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eD.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eD.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new j("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new j("The int source for the array should be in between 0 and length of the array ");if(-1==n&&(n=t.length-r),r+n>t.length)throw new j("Requested length to be deleted is more than the size of array ");return t.splice(r,n),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class e$ extends eO{constructor(){super("DeleteLast",[e$.PARAMETER_ARRAY_SOURCE],e$.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e$.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new j("Given source array is empty");return(t=[...t]).pop(),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class eF extends eO{constructor(){super("Disjoint",[eF.PARAMETER_ARRAY_SOURCE,eF.PARAMETER_INT_SOURCE_FROM,eF.PARAMETER_ARRAY_SECOND_SOURCE,eF.PARAMETER_INT_SECOND_SOURCE_FROM,eF.PARAMETER_INT_LENGTH],eF.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eF.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eF.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eF.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eF.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eF.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=n.length?t.length-r:n.length-s),a>t.length||a>n.length||r+a>t.length||s+a>n.length)throw new j("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(n[e+s]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new W([k.outputOf(new Map([[eF.EVENT_RESULT_NAME,[...E]]]))])}}class eB extends eO{constructor(){super("Equals",[eB.PARAMETER_ARRAY_SOURCE,eB.PARAMETER_INT_SOURCE_FROM,eB.PARAMETER_ARRAY_FIND,eB.PARAMETER_INT_FIND_FROM,eB.PARAMETER_INT_LENGTH],eB.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new eV,r=(await t.execute(e)).allResults()[0].getResult().get(eB.EVENT_RESULT_NAME);return new W([k.outputOf(G.of(eB.EVENT_RESULT_NAME,0==r))])}}class eY extends eO{constructor(){super("Fill",[eY.PARAMETER_ARRAY_SOURCE,eY.PARAMETER_INT_SOURCE_FROM,eY.PARAMETER_INT_LENGTH,eY.PARAMETER_ANY],eY.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(eY.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eY.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(eY.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(eY.PARAMETER_ANY.getParameterName());if(r<0)throw new j(J.format("Arrays out of bound trying to access $ index",r));-1==n&&(n=t.length-r);let a=r+n-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+n;e++)t[e]=h(s)?s:eb(s);return new W([k.outputOf(G.of(eO.EVENT_RESULT_NAME,t))])}}class eH extends eO{constructor(){super("Frequency",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY,eH.PARAMETER_INT_SOURCE_FROM,eH.PARAMETER_INT_LENGTH],eH.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ANY.getParameterName()),n=e?.getArguments()?.get(eH.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eH.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eH.EVENT_RESULT_NAME,0]]))]);if(n>t.length)throw new j("Given start point is more than the size of source");let a=n+s;if(-1==s&&(a=t.length-n),a>t.length)throw new j("Given length is more than the size of source");let i=0;for(let e=n;e<a&&e<t.length;e++)0==ex.compare(t[e],r)&&i++;return new W([k.outputOf(new Map([[eH.EVENT_RESULT_NAME,i]]))])}}class ek extends eO{constructor(){super("IndexOf",[ek.PARAMETER_ARRAY_SOURCE,ek.PARAMETER_ANY_ELEMENT_OBJECT,ek.PARAMETER_INT_FIND_FROM],ek.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ek.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ek.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),n=e?.getArguments()?.get(ek.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[ek.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length)throw new j("The size of the search index of the array is greater than the size of the array");let s=-1;for(let e=n;e<t.length;e++)if(0==ex.compare(t[e],r)){s=e;break}return new W([k.outputOf(new Map([[ek.EVENT_RESULT_NAME,s]]))])}}class ej extends eO{constructor(){super("IndexOfArray",[ej.PARAMETER_ARRAY_SOURCE,ej.PARAMETER_ARRAY_SECOND_SOURCE,ej.PARAMETER_INT_FIND_FROM],ej.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(ej.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new W([k.outputOf(new Map([[ej.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length||t.length<r.length)throw new j("Given from second source is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==ex.compare(t[e],r[n])){for(;n<s&&0==ex.compare(t[e+n],r[n]);)n++;if(n==s){a=e;break}}}return new W([k.outputOf(new Map([[ej.EVENT_RESULT_NAME,a]]))])}}class eW extends eO{constructor(){super("LastIndexOf",[eW.PARAMETER_ARRAY_SOURCE,eW.PARAMETER_ANY_ELEMENT_OBJECT,eW.PARAMETER_INT_FIND_FROM],eW.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eW.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eW.PARAMETER_ANY_ELEMENT_OBJECT.getParameterName()),n=e?.getArguments()?.get(eW.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eW.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length)throw new j("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let s=-1;for(let e=t.length-1;e>=n;e--)if(0==ex.compare(t[e],r)){s=e;break}return new W([k.outputOf(new Map([[eW.EVENT_RESULT_NAME,s]]))])}}class eX extends eO{constructor(){super("LastIndexOfArray",[eX.PARAMETER_ARRAY_SOURCE,eX.PARAMETER_ARRAY_SECOND_SOURCE,eX.PARAMETER_INT_FIND_FROM],eX.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(eX.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eX.EVENT_RESULT_NAME,-1]]))]);if(n<0||n>t.length||r.length>t.length)throw new j("Given from index is more than the size of the source array");let s=r.length,a=-1;for(let e=n;e<t.length;e++){let n=0;if(0==ex.compare(t[e],r[n])){for(;n<s&&0==ex.compare(t[e+n],r[n]);)n++;n==s&&(a=e)}}return new W([k.outputOf(new Map([[eX.EVENT_RESULT_NAME,a]]))])}}class eJ extends eO{constructor(){super("Max",[eJ.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eJ.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eJ.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new j("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let n=t[e];ex.comparePrimitive(r,n)>=0||(r=n)}return new W([k.outputOf(new Map([[eJ.EVENT_RESULT_NAME,r]]))])}}class eq extends eO{constructor(){super("Min",[eq.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eq.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(eq.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new j("Search source array cannot be empty");for(let e=0;e<r.length;e++)!h(r[e])&&(void 0===t||0>ex.comparePrimitive(r[e],t))&&(t=r[e]);return new W([k.outputOf(new Map([[eq.EVENT_RESULT_NAME,t]]))])}}class eK extends eO{constructor(){super("MisMatch",[eK.PARAMETER_ARRAY_SOURCE,eK.PARAMETER_INT_FIND_FROM,eK.PARAMETER_ARRAY_SECOND_SOURCE,eK.PARAMETER_INT_SECOND_SOURCE_FROM,eK.PARAMETER_INT_LENGTH],eK.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eK.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eK.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=s<n.length&&s>0?s:0;if(i+a>=t.length||o+a>n.length)throw new j("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=n[o+e]){E=e;break}return new W([k.outputOf(new Map([[eK.EVENT_RESULT_NAME,E]]))])}}class ez extends eO{constructor(){super("Reverse",[ez.PARAMETER_ARRAY_SOURCE,ez.PARAMETER_INT_SOURCE_FROM,ez.PARAMETER_INT_LENGTH],ez.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ez.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ez.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ez.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n>=t.length||n<0||r<0)throw new j("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let s=r+n-1;for(;r<=s;){let e=t[r],n=t[s];t[r++]=n,t[s--]=e}return new W([k.outputOf(new Map([[ez.EVENT_RESULT_NAME,t]]))])}}class eQ extends eO{constructor(){super("Rotate",[eQ.PARAMETER_ARRAY_SOURCE,eQ.PARAMETER_ROTATE_LENGTH],eQ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eQ.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eQ.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);let n=(t=[...t]).length;return r%=n,this.rotate(t,0,r-1),this.rotate(t,r,n-1),this.rotate(t,0,n-1),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let n=e[t];e[t++]=e[r],e[r--]=n}}}class eZ extends eO{constructor(){super("Shuffle",[eZ.PARAMETER_ARRAY_SOURCE],eZ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eZ.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);let r=0,n=(t=[...t]).length;for(let e=0;e<n;e++){let e=Math.floor(Math.random()*n)%n,s=t[r];t[r]=t[e],t[e]=s,r=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}t({},"ObjectValueSetterExtractor",()=>e9),t({},"Expression",()=>e4),t({},"StringBuilder",()=>e0);class e0{constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new j(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}t({},"ExpressionEvaluationException",()=>e1);class e1 extends Error{constructor(e,t,r){super(J.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}t({},"ExpressionToken",()=>e2);class e2{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}t({},"ExpressionTokenValue",()=>e5);class e5 extends e2{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return J.format("$: $",this.expression,this.element)}}t({},"Operation",()=>e7);class e7{static{this.MULTIPLICATION=new e7("*")}static{this.DIVISION=new e7("/")}static{this.INTEGER_DIVISION=new e7("//")}static{this.MOD=new e7("%")}static{this.ADDITION=new e7("+")}static{this.SUBTRACTION=new e7("-")}static{this.NOT=new e7("not",void 0,!0)}static{this.AND=new e7("and",void 0,!0)}static{this.OR=new e7("or",void 0,!0)}static{this.LESS_THAN=new e7("<")}static{this.LESS_THAN_EQUAL=new e7("<=")}static{this.GREATER_THAN=new e7(">")}static{this.GREATER_THAN_EQUAL=new e7(">=")}static{this.EQUAL=new e7("=")}static{this.NOT_EQUAL=new e7("!=")}static{this.BITWISE_AND=new e7("&")}static{this.BITWISE_OR=new e7("|")}static{this.BITWISE_XOR=new e7("^")}static{this.BITWISE_COMPLEMENT=new e7("~")}static{this.BITWISE_LEFT_SHIFT=new e7("<<")}static{this.BITWISE_RIGHT_SHIFT=new e7(">>")}static{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new e7(">>>")}static{this.UNARY_PLUS=new e7("UN: +","+")}static{this.UNARY_MINUS=new e7("UN: -","-")}static{this.UNARY_LOGICAL_NOT=new e7("UN: not","not")}static{this.UNARY_BITWISE_COMPLEMENT=new e7("UN: ~","~")}static{this.ARRAY_OPERATOR=new e7("[")}static{this.OBJECT_OPERATOR=new e7(".")}static{this.NULLISH_COALESCING_OPERATOR=new e7("??")}static{this.CONDITIONAL_TERNARY_OPERATOR=new e7("?")}static{this.VALUE_OF=new Map([["MULTIPLICATION",e7.MULTIPLICATION],["DIVISION",e7.DIVISION],["INTEGER_DIVISON",e7.INTEGER_DIVISION],["MOD",e7.MOD],["ADDITION",e7.ADDITION],["SUBTRACTION",e7.SUBTRACTION],["NOT",e7.NOT],["AND",e7.AND],["OR",e7.OR],["LESS_THAN",e7.LESS_THAN],["LESS_THAN_EQUAL",e7.LESS_THAN_EQUAL],["GREATER_THAN",e7.GREATER_THAN],["GREATER_THAN_EQUAL",e7.GREATER_THAN_EQUAL],["EQUAL",e7.EQUAL],["NOT_EQUAL",e7.NOT_EQUAL],["BITWISE_AND",e7.BITWISE_AND],["BITWISE_OR",e7.BITWISE_OR],["BITWISE_XOR",e7.BITWISE_XOR],["BITWISE_COMPLEMENT",e7.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",e7.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",e7.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",e7.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",e7.UNARY_PLUS],["UNARY_MINUS",e7.UNARY_MINUS],["UNARY_LOGICAL_NOT",e7.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",e7.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",e7.ARRAY_OPERATOR],["OBJECT_OPERATOR",e7.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",e7.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",e7.CONDITIONAL_TERNARY_OPERATOR]])}static{this.UNARY_OPERATORS=new Set([e7.ADDITION,e7.SUBTRACTION,e7.NOT,e7.BITWISE_COMPLEMENT,e7.UNARY_PLUS,e7.UNARY_MINUS,e7.UNARY_LOGICAL_NOT,e7.UNARY_BITWISE_COMPLEMENT])}static{this.ARITHMETIC_OPERATORS=new Set([e7.MULTIPLICATION,e7.DIVISION,e7.INTEGER_DIVISION,e7.MOD,e7.ADDITION,e7.SUBTRACTION])}static{this.LOGICAL_OPERATORS=new Set([e7.NOT,e7.AND,e7.OR,e7.LESS_THAN,e7.LESS_THAN_EQUAL,e7.GREATER_THAN,e7.GREATER_THAN_EQUAL,e7.EQUAL,e7.NOT_EQUAL,e7.NULLISH_COALESCING_OPERATOR])}static{this.BITWISE_OPERATORS=new Set([e7.BITWISE_AND,e7.BITWISE_COMPLEMENT,e7.BITWISE_LEFT_SHIFT,e7.BITWISE_OR,e7.BITWISE_RIGHT_SHIFT,e7.BITWISE_UNSIGNED_RIGHT_SHIFT,e7.BITWISE_XOR])}static{this.CONDITIONAL_OPERATORS=new Set([e7.CONDITIONAL_TERNARY_OPERATOR])}static{this.OPERATOR_PRIORITY=new Map([[e7.UNARY_PLUS,1],[e7.UNARY_MINUS,1],[e7.UNARY_LOGICAL_NOT,1],[e7.UNARY_BITWISE_COMPLEMENT,1],[e7.ARRAY_OPERATOR,1],[e7.OBJECT_OPERATOR,1],[e7.MULTIPLICATION,2],[e7.DIVISION,2],[e7.INTEGER_DIVISION,2],[e7.MOD,2],[e7.ADDITION,3],[e7.SUBTRACTION,3],[e7.BITWISE_LEFT_SHIFT,4],[e7.BITWISE_RIGHT_SHIFT,4],[e7.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[e7.LESS_THAN,5],[e7.LESS_THAN_EQUAL,5],[e7.GREATER_THAN,5],[e7.GREATER_THAN_EQUAL,5],[e7.EQUAL,6],[e7.NOT_EQUAL,6],[e7.BITWISE_AND,7],[e7.BITWISE_XOR,8],[e7.BITWISE_OR,9],[e7.AND,10],[e7.OR,11],[e7.NULLISH_COALESCING_OPERATOR,11],[e7.CONDITIONAL_TERNARY_OPERATOR,12]])}static{this.OPERATORS=new Set([...Array.from(e7.ARITHMETIC_OPERATORS),...Array.from(e7.LOGICAL_OPERATORS),...Array.from(e7.BITWISE_OPERATORS),e7.ARRAY_OPERATOR,e7.OBJECT_OPERATOR,...Array.from(e7.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))}static{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(e7.ARITHMETIC_OPERATORS),...Array.from(e7.LOGICAL_OPERATORS),...Array.from(e7.BITWISE_OPERATORS),e7.ARRAY_OPERATOR,e7.OBJECT_OPERATOR,...Array.from(e7.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))}static{this.OPERATION_VALUE_OF=new Map(Array.from(e7.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))}static{this.UNARY_MAP=new Map([[e7.ADDITION,e7.UNARY_PLUS],[e7.SUBTRACTION,e7.UNARY_MINUS],[e7.NOT,e7.UNARY_LOGICAL_NOT],[e7.BITWISE_COMPLEMENT,e7.UNARY_BITWISE_COMPLEMENT],[e7.UNARY_PLUS,e7.UNARY_PLUS],[e7.UNARY_MINUS,e7.UNARY_MINUS],[e7.UNARY_LOGICAL_NOT,e7.UNARY_LOGICAL_NOT],[e7.UNARY_BITWISE_COMPLEMENT,e7.UNARY_BITWISE_COMPLEMENT]])}static{this.BIGGEST_OPERATOR_SIZE=Array.from(e7.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)}constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return e7.VALUE_OF.get(e)}toString(){return this.operator}}class e4 extends e2{constructor(e,t,r,n){super(e||""),this.tokens=new q,this.ops=new q,t&&this.tokens.push(t),r&&this.tokens.push(r),n&&this.ops.push(n),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",n=new e0(""),s=0,a=!1;for(;s<t;){switch(r=this.expression[s],e=n.toString(),r){case" ":a=this.processTokenSepearator(n,e,a);break;case"(":s=this.processSubExpression(t,n,e,s,a),a=!1;break;case")":throw new e1(this.expression,"Extra closing parenthesis found");case"]":throw new e1(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,s);s=e.getT1(),a=e.getT2();break}case"?":if(s+1<t&&"?"!=this.expression.charAt(s+1)&&0!=s&&"?"!=this.expression.charAt(s-1))s=this.processTernaryOperator(t,n,e,s,a);else{let i=this.processOthers(r,t,n,e,s,a);s=i.getT1(),(a=i.getT2())&&this.ops.peek()==e7.ARRAY_OPERATOR&&(s=(i=this.process(t,n,s)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,n,e,s,a);s=i.getT1(),(a=i.getT2())&&this.ops.peek()==e7.ARRAY_OPERATOR&&(s=(i=this.process(t,n,s)).getT1(),a=i.getT2())}++s}if(e=n.toString(),!Q.isNullOrBlank(e)){if(e7.OPERATORS.has(e))throw new e1(this.expression,"Expression is ending with an operator");this.tokens.push(new e2(e))}}processStringLiteral(e,t,r){let n="",s=r+1;for(;s<e;s++){let e=this.expression.charAt(s);if(e==t&&"\\"!=this.expression.charAt(s-1))break;n+=e}if(s==e&&this.expression.charAt(s-1)!=t)throw new e1(this.expression,"Missing string ending marker "+t);let a=new ee(s,!1);return this.tokens.push(new e5(n,n)),a}process(e,t,r){let n=1;for(++r;r<e&&0!=n;){let e=this.expression.charAt(r);"]"==e?--n:"["==e&&++n,0!=n&&(t.append(e),r++)}return this.tokens.push(new e4(t.toString())),t.setLength(0),new ee(r,!1)}processOthers(e,t,r,n,s,a){let i=t-s;i=i<e7.BIGGEST_OPERATOR_SIZE?i:e7.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(s,s+e);if(e7.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return Q.isNullOrBlank(n)||(this.tokens.push(new e2(n)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new ee(s+e-1,a)}return r.append(e),new ee(s,!1)}processTernaryOperator(e,t,r,n,s){if(s)throw new e1(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new e4(r)),t.setLength(0));let a=1,i="",o=++n;for(;n<e&&a>0;)"?"==(i=this.expression.charAt(n))?++a:":"==i&&--a,++n;if(":"!=i)throw new e1(this.expression,"':' operater is missing");if(n>=e)throw new e1(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(e7.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(e7.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new e4("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new e4("",r,t,e))}}this.ops.push(e7.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new e4(this.expression.substring(o,n-1)));let E=this.expression.substring(n);if(""===E.trim())throw new e1(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new e4(E)),e-1}processSubExpression(e,t,r,n,s){if(e7.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(r),s),t.setLength(0);else if(!Q.isNullOrBlank(r))throw new e1(this.expression,J.format("Unkown token : $ found.",r));let a=1,i=new e0,o=this.expression.charAt(n);for(n++;n<e&&a>0;)"("==(o=this.expression.charAt(n))?a++:")"==o&&a--,0!=a&&(i.append(o),n++);if(")"!=o)throw new e1(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new e4(i.toString().trim())),n}processTokenSepearator(e,t,r){return Q.isNullOrBlank(t)||(e7.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,e7.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new e2(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,n){if(r){if(n||e.isEmpty()){if(e7.UNARY_OPERATORS.has(r)){let e=e7.UNARY_MAP.get(r);e&&t.push(e)}else throw new e1(this.expression,J.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(e7.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new e4("",t,void 0,r))}else{let t=e.pop(),n=e.pop();e.push(new e4("",n,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=e7.OPERATOR_PRIORITY.get(e),n=e7.OPERATOR_PRIORITY.get(t);if(!r||!n)throw Error("Unknown operators provided");return n<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new e0,t=0,r=this.ops.toArray(),n=this.tokens.toArray();for(let s=0;s<r.length;s++)if(r[s].getOperator().startsWith("UN: "))e.append("(").append(r[s].getOperator().substring(4)).append(n[t]instanceof e4?n[t].toString():n[t]).append(")"),t++;else if(r[s]==e7.CONDITIONAL_TERNARY_OPERATOR){let r=n[t++];e.insert(0,r.toString()),e.insert(0,":"),r=n[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=n[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=n[t++];e.insert(0,r.toString())}let a=n[t++];e.insert(0,r[s].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}t({},"TokenValueExtractor",()=>e6);class e6{static{this.REGEX_SQUARE_BRACKETS=/[\[\]]/}static{this.REGEX_DOT=/\./}getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new j(J.format("Token $ doesn't start with $",e,t));if(e.endsWith(".__index")){let t=e.substring(0,e.length-8),r=this.getValueInternal(t);if(!h(r?.__index))return r.__index;if(!t.endsWith("]"))return t.substring(t.lastIndexOf(".")+1);{let e=t.substring(t.lastIndexOf("[")+1,t.length-1),r=parseInt(e);return isNaN(r)?e:r}}return this.getValueInternal(e)}retrieveElementFrom(e,t,r,n){if(h(n))return;if(t.length==r)return n;let s=t[r].split(e6.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!Q.isNullOrBlank(e)).reduce((n,s)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,s,n),n);return this.retrieveElementFrom(e,t,r+1,s)}resolveForEachPartOfTokenWithBrackets(e,t,r,n,s){if(!h(s))return"length"===n?this.getLength(e,s):Array.isArray(s)?this.handleArrayAccess(e,n,s):this.handleObjectAccess(e,t,r,n,s)}getLength(e,t){let r=typeof t;if("string"===r||Array.isArray(t))return t.length;if("object"===r)return"length"in t?t.length:Object.keys(t).length;throw new e1(e,J.format("Length can't be found in token $",e))}handleArrayAccess(e,t,r){let n=parseInt(t);if(isNaN(n))throw new e1(e,J.format("$ is not a number",t));if(!(n<0)&&!(n>=r.length))return r[n]}handleObjectAccess(e,t,r,n,s){if(n.startsWith('"')){if(!n.endsWith('"')||1==n.length||2==n.length)throw new e1(e,J.format("$ is missing a double quote or empty key found",e));n=n.substring(1,t.length-2)}return this.checkIfObject(e,t,r,s),s[n]}checkIfObject(e,t,r,n){if("object"!=typeof n||Array.isArray(n))throw new e1(e,J.format("Unable to retrieve $ from $ in the path $",t[r],n.toString(),e))}}class e9 extends e6{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(e6.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,n=!1){this.store=eb(this.store),this.modifyStore(e,t,r,n)}modifyStore(e,t,r,n){let s=new e4(e),a=s.getTokens();a.removeLast();let i=s.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof e5?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==e7.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof e5?E.getElement():E.getExpression();o==e7.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,n):this.putDataInArray(A,u,t,r,n)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));let s=e[n];return h(s)&&(s=r==e7.OBJECT_OPERATOR?{}:[],e[n]=s),s}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));let n=e[t];return h(n)&&(n=r==e7.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r,n,s){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new j(J.format("Expected an array index but found $",t));if(a<0)throw new j(J.format("Array index is out of bound - $",t));(n||h(e[a]))&&(s&&h(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,n,s){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));(n||h(e[t]))&&(s&&h(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class e8 extends eO{constructor(){super("Sort",[e8.PARAMETER_ARRAY_SOURCE,e8.PARAMETER_INT_FIND_FROM,e8.PARAMETER_INT_LENGTH,e8.PARAMETER_BOOLEAN_ASCENDING,e8.PARAMETER_KEY_PATH],e8.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e8.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e8.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(e8.PARAMETER_INT_LENGTH.getParameterName()),s=e?.getArguments()?.get(e8.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(e8.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==n&&(n=t.length-r),r<0||r>=t.length||r+n>t.length)throw new j("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+n+1),o=new e9({},"Data.");return i.sort((e,t)=>"object"==typeof e&&"object"==typeof t&&a.length?(o.setStore({a:e,b:t}),e3(o.getValue("Data.a."+a),o.getValue("Data.b."+a),s)):e3(e,t,s)),t.splice(r,n,...i),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}function e3(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class te extends eO{constructor(){super("SubArray",[te.PARAMETER_ARRAY_SOURCE,te.PARAMETER_INT_FIND_FROM,te.PARAMETER_INT_LENGTH],te.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(te.PARAMETER_INT_FIND_FROM.getParameterName()),n=e?.getArguments()?.get(te.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),n<=0)return new W([k.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+n>t.length)throw new j("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let s=t.slice(r,r+n);return new W([k.outputOf(new Map([[te.EVENT_RESULT_NAME,s]]))])}}class tt extends eO{constructor(){super("Insert",[tt.PARAMETER_ARRAY_SOURCE,tt.PARAMETER_INT_OFFSET,tt.PARAMETER_ANY],tt.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tt.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tt.PARAMETER_INT_OFFSET.getParameterName());var n=e?.getArguments()?.get(tt.PARAMETER_ANY.getParameterName());if(h(n)||h(r)||r>t.length)throw new j("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(n),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))]);t.push(n);let s=t.length-1;for(r++;s>=r;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class tr extends eO{constructor(){super("InsertLast",[tr.PARAMETER_ARRAY_SOURCE,tr.PARAMETER_ANY],tr.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tr.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tr.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,t]]))])}}class tn extends eO{constructor(){super("RemoveDuplicates",[tn.PARAMETER_ARRAY_SOURCE,tn.PARAMETER_INT_SOURCE_FROM,tn.PARAMETER_INT_LENGTH],tn.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tn.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tn.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(tn.PARAMETER_INT_LENGTH.getParameterName());if(-1==n&&(n=t.length-r),r+n>t.length)throw new j(J.format("Array has no elements from $ to $ as the array size is $",r,r+n,t.length));let s=[...t],a=r+n;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(z(s[e],s[t])){s.splice(e,1);break}return new W([k.outputOf(G.of(tn.EVENT_RESULT_NAME,s))])}}let ts="keyPath",ta="valuePath",ti="ignoreNullValues",to="ignoreNullKeys",tE="ignoreDuplicateKeys";class tu extends eO{constructor(){super("ArrayToObjects",[eO.PARAMETER_ARRAY_SOURCE,v.of(ts,U.ofString(ts)),v.of(ta,U.of(ta,n.STRING,n.NULL)),v.of(ti,U.ofBoolean(ti).setDefaultValue(!1)),v.of(to,U.ofBoolean(to).setDefaultValue(!0)),v.of(tE,U.ofBoolean(tE).setDefaultValue(!1))],eO.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eO.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ts),n=e?.getArguments()?.get(ta)??"",s=e?.getArguments()?.get(ti),a=e?.getArguments()?.get(to),i=e?.getArguments()?.get(tE),o=new e9({},"Data."),E=t.filter(e=>!h(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&h(E))return e;let u=n?o.getValue("Data."+n):t;return s&&h(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new W([k.outputOf(new Map([[eO.EVENT_RESULT_NAME,E]]))])}}let tA="source",tT="delimiter",tl="result",tc=new X("Join").setNamespace(m.SYSTEM_ARRAY).setParameters(new Map([[tA,new v(tA,U.ofArray(tA,U.of("each",n.STRING,n.INTEGER,n.LONG,n.DOUBLE,n.FLOAT,n.NULL)))],[tT,new v(tT,U.ofString(tT).setDefaultValue(""))]])).setEvents(new Map([H.outputEventMapEntry(new Map([[tl,U.ofString(tl)]]))]));class tR extends eS{getSignature(){return tc}async internalExecute(e){let t=e?.getArguments()?.get(tA),r=e?.getArguments()?.get(tT);return new W([k.outputOf(new Map([[tl,t.join(r)]]))])}}class tg{static{this.repoMap=G.ofArrayEntries(Y(new ed),Y(new ew),Y(new eL),Y(new eV),Y(new ev),Y(new eC),Y(new eG),Y(new eD),Y(new e$),Y(new eF),Y(new eB),Y(new eY),Y(new eH),Y(new ek),Y(new ej),Y(new eW),Y(new eX),Y(new eJ),Y(new eq),Y(new eK),Y(new ez),Y(new eQ),Y(new eZ),Y(new e8),Y(new te),Y(new eI),Y(new tt),Y(new tr),Y(new tn),Y(new tu),Y(new tR))}static{this.filterableNames=Array.from(tg.repoMap.values()).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=m.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(tg.repoMap.get(t))}async filter(e){return Promise.resolve(tg.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}t({},"ContextElement",()=>tm);class tm{static{this.NULL=new tm(U.NULL,void 0)}constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}let th="name",tp="schema",tf=new X("Create").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(th,new U().setName(th).setType(M.of(n.STRING)).setMinLength(1).setFormat(a.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),v.ofEntry(tp,U.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([H.outputEventMapEntry(new Map)])),tN="name",t_="value",tM=new X("Get").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(tN,new U().setName(tN).setType(M.of(n.STRING)).setMinLength(1).setFormat(a.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([H.outputEventMapEntry(new Map([[t_,U.ofAny(t_)]]))]));t({},"ExpressionEvaluator",()=>rS);var tS={};t(tS,"LogicalNullishCoalescingOperator",()=>tw);var tO={};t(tO,"BinaryOperator",()=>td);class td{nullCheck(e,t,r){if(h(e)||h(t))throw new ey(J.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tw extends td{apply(e,t){return h(e)?t:e}}var tP={};t(tP,"ArithmeticAdditionOperator",()=>tI);class tI extends td{apply(e,t){return h(e)?t:h(t)?e:e+t}}var ty={};t(ty,"ArithmeticDivisionOperator",()=>tx);class tx extends td{apply(e,t){return this.nullCheck(e,t,e7.DIVISION),e/t}}var tL={};t(tL,"ArithmeticIntegerDivisionOperator",()=>tU);class tU extends td{apply(e,t){return this.nullCheck(e,t,e7.DIVISION),Math.floor(e/t)}}var tV={};t(tV,"ArithmeticModulusOperator",()=>tb);class tb extends td{apply(e,t){return this.nullCheck(e,t,e7.MOD),e%t}}var tv={};t(tv,"ArithmeticMultiplicationOperator",()=>tC);class tC extends td{apply(e,t){this.nullCheck(e,t,e7.MULTIPLICATION);let r="string"==typeof e,n=typeof t;if(r||"string"===n){let n=r?e:t,s=r?t:e,a="",i=s<0,o=Math.floor(s=Math.abs(s));for(;o-- >0;)a+=n;let E=Math.floor(n.length*(s-Math.floor(s)));if(E<0&&(E=-E),0!=E&&(a+=n.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var tG={};t(tG,"ArithmeticSubtractionOperator",()=>tD);class tD extends td{apply(e,t){return this.nullCheck(e,t,e7.SUBTRACTION),e-t}}var t$={};t(t$,"ArrayOperator",()=>tF);class tF extends td{apply(e,t){if(!e)throw new ey("Cannot apply array operator on a null value");if(!t)throw new ey("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new ey(J.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new ey(J.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var tB={};t(tB,"BitwiseAndOperator",()=>tY);class tY extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_AND),e&t}}var tH={};t(tH,"BitwiseLeftShiftOperator",()=>tk);class tk extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_LEFT_SHIFT),e<<t}}var tj={};t(tj,"BitwiseOrOperator",()=>tW);class tW extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_OR),e|t}}var tX={};t(tX,"BitwiseRightShiftOperator",()=>tJ);class tJ extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_RIGHT_SHIFT),e>>t}}var tq={};t(tq,"BitwiseUnsignedRightShiftOperator",()=>tK);class tK extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var tz={};t(tz,"BitwiseXorOperator",()=>tQ);class tQ extends td{apply(e,t){return this.nullCheck(e,t,e7.BITWISE_XOR),e^t}}var tZ={};t(tZ,"LogicalAndOperator",()=>t0);class t0 extends td{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var t1={};t(t1,"LogicalEqualOperator",()=>t2);class t2 extends td{apply(e,t){return z(e,t)}}var t5={};t(t5,"LogicalGreaterThanEqualOperator",()=>t7);class t7 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare >= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>=s.getT2()}}var t4={};t(t4,"LogicalGreaterThanOperator",()=>t6);class t6 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare > with the values $ and $",r.getT2(),s.getT2()));return r.getT2()>s.getT2()}}var t9={};t(t9,"LogicalLessThanEqualOperator",()=>t8);class t8 extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare <= with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<=s.getT2()}}var t3={};t(t3,"LogicalLessThanOperator",()=>re);class re extends td{apply(e,t){let r=ex.findPrimitiveNullAsBoolean(e),s=ex.findPrimitiveNullAsBoolean(t);if(r.getT1()==n.BOOLEAN||s.getT1()==n.BOOLEAN)throw new ey(J.format("Cannot compare < with the values $ and $",r.getT2(),s.getT2()));return r.getT2()<s.getT2()}}var rt={};t(rt,"LogicalNotEqualOperator",()=>rr);class rr extends td{apply(e,t){return!z(e,t)}}var rn={};t(rn,"LogicalOrOperator",()=>rs);class rs extends td{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var ra={};t(ra,"ObjectOperator",()=>ri);class ri extends td{apply(e,t){if(!e)throw new ey("Cannot apply array operator on a null value");if(!t)throw new ey("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new ey(J.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var ro={};t(ro,"ArithmeticUnaryMinusOperator",()=>rA);var rE={};t(rE,"UnaryOperator",()=>ru);class ru{nullCheck(e,t){if(h(e))throw new ey(J.format("$ cannot be applied to a null value",t.getOperatorName()))}}class rA extends ru{apply(e){return this.nullCheck(e,e7.UNARY_MINUS),ex.findPrimitiveNumberType(e),-e}}var rT={};t(rT,"ArithmeticUnaryPlusOperator",()=>rl);class rl extends ru{apply(e){return this.nullCheck(e,e7.UNARY_PLUS),ex.findPrimitiveNumberType(e),e}}var rc={};t(rc,"BitwiseComplementOperator",()=>rR);class rR extends ru{apply(e){this.nullCheck(e,e7.UNARY_BITWISE_COMPLEMENT);let t=ex.findPrimitiveNumberType(e);if(t.getT1()!=n.INTEGER&&t.getT1()!=n.LONG)throw new ey(J.format("Unable to apply bitwise operator on $",e));return~e}}var rg={};t(rg,"LogicalNotOperator",()=>rm);class rm extends ru{apply(e){return!e&&""!==e}}t({},"LiteralTokenValueExtractor",()=>rp);let rh=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class rp extends e6{static{this.INSTANCE=new rp}getValueInternal(e){if(!Q.isNullOrBlank(e))return(e=e.trim(),rh.has(e))?rh.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new e1(e,J.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new e1(e,J.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.has(e+".")?t.get(e+".")?.getStore():this.getValue(e)}}var rf={};t(rf,"ConditionalTernaryOperator",()=>r_);class rN{nullCheck(e,t,r,n){if(h(e)||h(t)||h(r))throw new ey(J.format("$ cannot be applied to a null value",n.getOperatorName()))}}class r_ extends rN{apply(e,t,r){return e?t:r}}r({},rf);class rM extends e6{static{this.PREFIX="_internal."}addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.values.get(r))}getPrefix(){return rM.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rS{static{this.UNARY_OPERATORS_MAP=new Map([[e7.UNARY_BITWISE_COMPLEMENT,new rR],[e7.UNARY_LOGICAL_NOT,new rm],[e7.UNARY_MINUS,new rA],[e7.UNARY_PLUS,new rl]])}static{this.TERNARY_OPERATORS_MAP=new Map([[e7.CONDITIONAL_TERNARY_OPERATOR,new r_]])}static{this.BINARY_OPERATORS_MAP=new Map([[e7.ADDITION,new tI],[e7.DIVISION,new tx],[e7.INTEGER_DIVISION,new tU],[e7.MOD,new tb],[e7.MULTIPLICATION,new tC],[e7.SUBTRACTION,new tD],[e7.BITWISE_AND,new tY],[e7.BITWISE_LEFT_SHIFT,new tk],[e7.BITWISE_OR,new tW],[e7.BITWISE_RIGHT_SHIFT,new tJ],[e7.BITWISE_UNSIGNED_RIGHT_SHIFT,new tK],[e7.BITWISE_XOR,new tQ],[e7.AND,new t0],[e7.EQUAL,new t2],[e7.GREATER_THAN,new t6],[e7.GREATER_THAN_EQUAL,new t7],[e7.LESS_THAN,new re],[e7.LESS_THAN_EQUAL,new t8],[e7.OR,new rs],[e7.NOT_EQUAL,new rr],[e7.NULLISH_COALESCING_OPERATOR,new tw],[e7.ARRAY_OPERATOR,new tF],[e7.OBJECT_OPERATOR,new ri]])}static{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rS.UNARY_OPERATORS_MAP.keys())}constructor(e){this.internalTokenValueExtractor=new rM,e instanceof e4?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,n=0,s=new q;for(;n<e.length-1;){if("{"==e.charAt(n)&&"{"==e.charAt(n+1))0==r&&s.push(new ee(n+2,-1)),r++,n++;else if("}"==e.charAt(n)&&"}"==e.charAt(n+1)){if(--r<0)throw new e1(e,"Expecting {{ nesting path operator to be started before closing");0==r&&s.push(s.pop().setT2(n)),n++}n++}let a=this.replaceNestingExpression(e,t,s);return new ee(a,new e4(a))}replaceNestingExpression(e,t,r){let n=e;for(let s of r.toArray()){if(-1==s.getT2())throw new e1(e,"Expecting }} nesting path operator to be closed");let r=new rS(n.substring(s.getT1(),s.getT2())).evaluate(t);n=n.substring(0,s.getT1()-2)+r+n.substring(s.getT2()+2)}return n}getExpression(){return this.exp||(this.exp=new e4(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),n=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),s=n.pop();if(rS.UNARY_OPERATORS_MAP_KEY_SET.has(e))n.push(this.applyUnaryOperation(e,this.getValueFromToken(t,s)));else if(e==e7.OBJECT_OPERATOR||e==e7.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,n,e,s);else if(e==e7.CONDITIONAL_TERNARY_OPERATOR){let r=n.pop(),a=n.pop(),i=this.getValueFromToken(t,a),o=this.getValueFromToken(t,r),E=this.getValueFromToken(t,s);n.push(this.applyTernaryOperation(e,i,o,E))}else{let r=n.pop(),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,s);n.push(this.applyBinaryOperation(e,a,i))}}if(n.isEmpty())throw new ey(J.format("Expression : $ evaluated to null",e));if(1!=n.size())throw new ey(J.format("Expression : $ evaluated multiple values $",e,n));let s=n.get(0);if(s instanceof e5)return s.getElement();if(!(s instanceof e4))return this.getValueFromToken(t,s);throw new ey(J.format("Expression : $ evaluated to $",e,n.get(0)))}processObjectOrArrayOperator(e,t,r,n,s){let a=new q,i=new q;if(!n||!s)return;do i.push(n),s instanceof e4?a.push(new e5(s.toString(),this.evaluateExpression(s,e))):s&&a.push(s),s=r.isEmpty()?void 0:r.pop(),n=t.isEmpty()?void 0:t.pop();while(n==e7.OBJECT_OPERATOR||n==e7.ARRAY_OPERATOR)s&&(s instanceof e4?a.push(new e5(s.toString(),this.evaluateExpression(s,e))):a.push(s)),n&&t.push(n);let o=a.pop();if(o instanceof e5&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new e2(rM.PREFIX+e)}let E=new e0(o instanceof e5?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),n=i.pop(),E.append(n.getOperator()).append(o instanceof e5?o.getTokenValue():o.toString()),n==e7.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new e5(u,this.getValue(u,e)));else{let e;try{e=rp.INSTANCE.getValue(u)}catch(t){e=u}r.push(new e5(u,e))}}applyTernaryOperation(e,t,r,n){let s=rS.TERNARY_OPERATORS_MAP.get(e);if(!s)throw new e1(this.expression,J.format("No operator found to evaluate $",this.getExpression()));return new e5(e.toString(),s.apply(t,r,n))}applyBinaryOperation(e,t,r){let n=typeof t,s=typeof r,a=rS.BINARY_OPERATORS_MAP.get(e);if(("object"===n||"object"===s)&&e!==e7.EQUAL&&e!==e7.NOT_EQUAL&&e!==e7.NULLISH_COALESCING_OPERATOR&&e!==e7.AND&&e!==e7.OR)throw new e1(this.expression,J.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new e1(this.expression,J.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new e5(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=e7.NOT.getOperator()&&e.getOperator()!=e7.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new e1(this.expression,J.format("The operator $ cannot be applied to $",e.getOperator(),t));let n=rS.UNARY_OPERATORS_MAP.get(e);if(!n)throw new e1(this.expression,J.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new e5(e.toString(),n.apply(t))}getValueFromToken(e,t){return t instanceof e4?this.evaluateExpression(t,e):t instanceof e5?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):rp.INSTANCE.getValueFromExtractors(e,t)}}let rO="name",rd="value",rw=new X("Set").setNamespace(m.SYSTEM_CTX).setParameters(new Map([v.ofEntry(rO,new U().setName(rO).setType(M.of(n.STRING)).setMinLength(1),!1),v.ofEntry(rd,U.ofAny(rd))])).setEvents(new Map([H.outputEventMapEntry(new Map)])),rP="value",rI="eventName",ry="results",rx=new X("GenerateEvent").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(rI,U.ofString(rI).setDefaultValue("output")),v.ofEntry(ry,U.ofObject(ry).setProperties(new Map([["name",U.ofString("name")],[rP,v.EXPRESSION]])),!0)])).setEvents(new Map([H.outputEventMapEntry(new Map)]));class rL extends eS{static{this.CONDITION="condition"}static{this.SIGNATURE=new X("If").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(rL.CONDITION,U.ofAny(rL.CONDITION))])).setEvents(new Map([H.eventMapEntry(H.TRUE,new Map),H.eventMapEntry(H.FALSE,new Map),H.outputEventMapEntry(new Map)]))}getSignature(){return rL.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rL.CONDITION);return new W([k.of(t||""===t?H.TRUE:H.FALSE,new Map),k.outputOf(new Map)])}}let rU="stepName",rV=new X("Break").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rU,U.of(rU,n.STRING))])).setEvents(new Map([H.outputEventMapEntry(new Map([]))])),rb="count",rv="value",rC="index",rG=new X("CountLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rb,U.of(rb,n.INTEGER))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rC,U.of(rC,n.INTEGER)]])),H.outputEventMapEntry(new Map([[rv,U.of(rv,n.INTEGER)]]))])),rD="source",r$="each",rF="index",rB="value",rY=new X("ForEachLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rD,U.ofArray(rD,U.ofAny(rD)))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rF,U.of(rF,n.INTEGER)],[r$,U.ofAny(r$)]])),H.outputEventMapEntry(new Map([[rB,U.of(rB,n.INTEGER)]]))])),rH="from",rk="step",rj="value",rW="index",rX=new X("RangeLoop").setNamespace(m.SYSTEM_LOOP).setParameters(new Map([v.ofEntry(rH,U.of(rH,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(0)),v.ofEntry("to",U.of("to",n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(1)),v.ofEntry(rk,U.of(rk,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE).setDefaultValue(1).setNot(new U().setConstant(0)))])).setEvents(new Map([H.eventMapEntry(H.ITERATION,new Map([[rW,U.of(rW,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)]])),H.outputEventMapEntry(new Map([[rj,U.of(rj,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE)]]))])),rJ="value",rq=new X("Add").setNamespace(m.MATH).setParameters(new Map([[rJ,new v(rJ,U.ofNumber(rJ)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[rJ,U.ofNumber(rJ)]]))])),rK="value",rz="value1",rQ="value2",rZ=[()=>new Map([[rK,new v(rK,U.ofNumber(rK))]]),()=>new Map([[rz,new v(rz,U.ofNumber(rz))],[rQ,new v(rQ,U.ofNumber(rQ))]])];class r0 extends eS{constructor(e,t,r=1,...s){super(),s&&s.length||(s=[n.DOUBLE]),this.parametersNumber=r,this.mathFunction=t,this.signature=new X(e).setNamespace(m.MATH).setParameters(rZ[r-1]()).setEvents(new Map([H.outputEventMapEntry(new Map([[rK,new U().setType(M.of(...s)).setName(rK)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=ex.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?rK:rz)).getT2();return 2==this.parametersNumber&&(t=ex.findPrimitiveNumberType(e.getArguments()?.get(rQ)).getT2()),new W([k.outputOf(new Map([[rK,this.mathFunction.call(this,r,t)]]))])}}let r1="value";class r2 extends eS{static{this.SIGNATURE=new X("Hypotenuse").setNamespace(m.MATH).setParameters(new Map([[r1,new v(r1,U.ofNumber(r1)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r1,new U().setType(M.of(n.DOUBLE)).setName(r1)]]))]))}constructor(){super()}getSignature(){return r2.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r1);return new W([k.outputOf(new Map([[r1,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}let r5="value",r7=new X("Maximum").setNamespace(m.MATH).setParameters(new Map([[r5,new v(r5,U.ofNumber(r5)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r5,U.ofNumber(r5)]]))])),r4="value",r6=new X("Minimum").setNamespace(m.MATH).setParameters(new Map([[r4,new v(r4,U.ofNumber(r4)).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[r4,U.ofNumber(r4)]]))])),r9="value";class r8 extends eS{static{this.SIGNATURE=new X("Random").setNamespace(m.MATH).setEvents(new Map([H.outputEventMapEntry(G.of(r9,U.ofDouble(r9)))]))}getSignature(){return r8.SIGNATURE}async internalExecute(e){return new W([k.outputOf(new Map([[r9,Math.random()]]))])}}class r3 extends eS{static{this.MIN_VALUE="minValue"}static{this.MAX_VALUE="maxValue"}static{this.VALUE="value"}constructor(e,t,r,n,s){super(),this.signature=new X(e).setParameters(G.of(r3.MIN_VALUE,t,r3.MAX_VALUE,r)).setNamespace(m.MATH).setEvents(new Map([H.outputEventMapEntry(G.of(r3.VALUE,n))])),this.randomFunction=s}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(r3.MIN_VALUE),r=e.getArguments()?.get(r3.MAX_VALUE),n=this.randomFunction(t,r);return new W([k.outputOf(new Map([[r3.VALUE,n]]))])}}let ne={Absolute:new r0("Absolute",e=>Math.abs(e),1,n.INTEGER,n.LONG,n.FLOAT,n.DOUBLE),ArcCosine:new r0("ArcCosine",e=>Math.acos(e)),ArcSine:new r0("ArcSine",e=>Math.asin(e)),ArcTangent:new r0("ArcTangent",e=>Math.atan(e)),Ceiling:new r0("Ceiling",e=>Math.ceil(e)),Cosine:new r0("Cosine",e=>Math.cos(e)),HyperbolicCosine:new r0("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new r0("CubeRoot",e=>Math.cbrt(e)),Exponential:new r0("Exponential",e=>Math.exp(e)),ExponentialMinus1:new r0("ExponentialMinus1",e=>Math.expm1(e)),Floor:new r0("Floor",e=>Math.floor(e)),LogNatural:new r0("LogNatural",e=>Math.log(e)),Log10:new r0("Log10",e=>Math.log10(e)),Round:new r0("Round",e=>Math.round(e),1,n.INTEGER,n.LONG),Sine:new r0("Sine",e=>Math.sin(e)),HyperbolicSine:new r0("HyperbolicSine",e=>Math.sinh(e)),Tangent:new r0("Tangent",e=>Math.tan(e)),HyperbolicTangent:new r0("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new r0("ToDegrees",e=>Math.PI/180*e),ToRadians:new r0("ToRadians",e=>180/Math.PI*e),SquareRoot:new r0("SquareRoot",e=>Math.sqrt(e)),ArcTangent2:new r0("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new r0("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends eS{getSignature(){return rq}async internalExecute(e){let t=e.getArguments()?.get(rJ);return new W([k.outputOf(new Map([[rJ,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new r2,Maximum:new class extends eS{getSignature(){return r7}async internalExecute(e){let t=e.getArguments()?.get(r5);return new W([k.outputOf(new Map([[r5,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends eS{getSignature(){return r6}async internalExecute(e){let t=e.getArguments()?.get(r4);return new W([k.outputOf(new Map([[r4,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new r8,RandomFloat:new r3("RandomFloat",v.of(r3.MIN_VALUE,U.ofFloat(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofFloat(r3.MAX_VALUE).setDefaultValue(0x7fffffff)),U.ofFloat(r3.VALUE),(e,t)=>Math.random()*(t-e)+e),RandomInt:new r3("RandomInt",v.of(r3.MIN_VALUE,U.ofInteger(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofInteger(r3.MAX_VALUE).setDefaultValue(0x7fffffff)),U.ofInteger(r3.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomLong:new r3("RandomLong",v.of(r3.MIN_VALUE,U.ofLong(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofLong(r3.MAX_VALUE).setDefaultValue(Number.MAX_SAFE_INTEGER)),U.ofLong(r3.VALUE),(e,t)=>Math.round(Math.random()*(t-e)+e)),RandomDouble:new r3("RandomDouble",v.of(r3.MIN_VALUE,U.ofDouble(r3.MIN_VALUE).setDefaultValue(0)),v.of(r3.MAX_VALUE,U.ofDouble(r3.MAX_VALUE).setDefaultValue(Number.MAX_VALUE)),U.ofDouble(r3.VALUE),(e,t)=>Math.random()*(t-e)+e)},nt=Object.values(ne).map(e=>e.getSignature().getFullName());class nr{async find(e,t){return e!=m.MATH?Promise.resolve(void 0):Promise.resolve(ne[t])}async filter(e){return Promise.resolve(nt.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nn extends eS{static{this.SOURCE="source"}static{this.SCHEMA="schema"}static{this.VALUE="value"}static{this.CONVERSION_MODE="conversionMode"}getSignature(){return new X("ObjectConvert").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(nn.SOURCE,U.ofAny(nn.SCHEMA)),v.ofEntry(nn.SCHEMA,U.SCHEMA,!1,s.CONSTANT),v.ofEntry(nn.CONVERSION_MODE,U.ofString(nn.CONVERSION_MODE).setEnums(ec()))])).setEvents(new Map([H.outputEventMapEntry(G.of(nn.VALUE,U.ofAny(nn.VALUE)))]))}internalExecute(e){let t=e.getArguments()?.get(nn.SOURCE),r=U.from(e?.getArguments()?.get(nn.SCHEMA));if(!r)throw new j("Schema is not supplied.");let n=el(e.getArguments()?.get(nn.CONVERSION_MODE))||i.STRICT;return this.convertToSchema(r,e.getSchemaRepository(),t,n)}async convertToSchema(e,t,r,n){try{return new W([k.outputOf(G.of(nn.VALUE,eM.validate([],e,t,r,!0,n)))])}catch(e){throw new j(e?.message)}}}let ns="value",na="source",ni="source";class no extends eS{constructor(e,t){super(),this.signature=new X(e).setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(ni,U.ofAny(ni))])).setEvents(new Map([H.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}let nE="value",nu="value",nA="value",nT="source",nl="overwrite",nc="deleteKeyOnNull",nR="value",ng={ObjectValues:new class extends no{constructor(){super("ObjectValues",U.ofArray(nR,U.ofAny(nR)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nR,[]]]))]);let r=Object.entries(eb(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new W([k.outputOf(new Map([[nR,r]]))])}},ObjectKeys:new class extends no{constructor(){super("ObjectKeys",U.ofArray(nu,U.ofString(nu)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nu,[]]]))]);let r=Object.keys(eb(t)).sort((e,t)=>e.localeCompare(t));return new W([k.outputOf(new Map([[nu,r]]))])}},ObjectEntries:new class extends no{constructor(){super("ObjectEntries",U.ofArray(nE,U.ofArray("tuple",U.ofString("key"),U.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(h(t))return new W([k.outputOf(new Map([[nE,[]]]))]);let r=Object.entries(eb(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new W([k.outputOf(new Map([[nE,r]]))])}},ObjectDeleteKey:new class extends eS{constructor(){super(),this.signature=new X("ObjectDeleteKey").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(na,U.ofAny(na)),v.ofEntry("key",U.ofString("key"))])).setEvents(new Map([H.outputEventMapEntry(new Map([[ns,U.ofAny(ns)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(na),r=e.getArguments()?.get("key");return h(t)?new W([k.outputOf(new Map([[ns,void 0]]))]):(t=eb(t),delete t[r],new W([k.outputOf(new Map([[ns,t]]))]))}},ObjectPutValue:new class extends eS{constructor(){super(),this.signature=new X("ObjectPutValue").setNamespace(m.SYSTEM_OBJECT).setParameters(new Map([v.ofEntry(nT,U.ofObject(nT)),v.ofEntry("key",U.ofString("key")),v.ofEntry(nA,U.ofAny(nA)),v.ofEntry(nl,U.ofBoolean(nl).setDefaultValue(!0)),v.ofEntry(nc,U.ofBoolean(nc).setDefaultValue(!1))])).setEvents(new Map([H.outputEventMapEntry(new Map([[nA,U.ofObject(nA)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nT),r=e.getArguments()?.get("key"),n=e.getArguments()?.get(nA),s=e.getArguments()?.get(nl),a=e.getArguments()?.get(nc),i=new e9(t,"Data.");return i.setValue(r,n,s,a),new W([k.outputOf(new Map([[nA,i.getStore()]]))])}},ObjectConvert:new nn},nm=Object.values(ng).map(e=>e.getSignature().getFullName());class nh{async find(e,t){return e!=m.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(ng[t])}async filter(e){return Promise.resolve(nm.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class np extends eS{static{this.VALUES="values"}static{this.STREAM="stream"}static{this.LOG="LOG"}static{this.ERROR="ERROR"}static{this.SIGNATURE=new X("Print").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(np.VALUES,U.ofAny(np.VALUES),!0),v.ofEntry(np.STREAM,U.ofString(np.STREAM).setEnums([np.LOG,np.ERROR]).setDefaultValue(np.LOG))])).setEvents(new Map([H.outputEventMapEntry(new Map)]))}getSignature(){return np.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(np.VALUES),r=e.getArguments()?.get(np.STREAM);return(r===np.LOG?console?.log:console?.error)?.(...t),new W([k.outputOf(new Map)])}}class nf extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_SEARCH_STRING_NAME="searchString"}static{this.PARAMETER_SECOND_STRING_NAME="secondString"}static{this.PARAMETER_THIRD_STRING_NAME="thirdString"}static{this.PARAMETER_INDEX_NAME="index"}static{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nf.PARAMETER_STRING_NAME,U.ofString(nf.PARAMETER_STRING_NAME))}static{this.PARAMETER_SECOND_STRING=new v(nf.PARAMETER_SECOND_STRING_NAME,U.ofString(nf.PARAMETER_SECOND_STRING_NAME))}static{this.PARAMETER_THIRD_STRING=new v(nf.PARAMETER_THIRD_STRING_NAME,U.ofString(nf.PARAMETER_THIRD_STRING_NAME))}static{this.PARAMETER_INDEX=new v(nf.PARAMETER_INDEX_NAME,U.ofInteger(nf.PARAMETER_INDEX_NAME))}static{this.PARAMETER_SECOND_INDEX=new v(nf.PARAMETER_SECOND_INDEX_NAME,U.ofInteger(nf.PARAMETER_SECOND_INDEX_NAME))}static{this.PARAMETER_SEARCH_STRING=new v(nf.PARAMETER_SEARCH_STRING_NAME,U.ofString(nf.PARAMETER_STRING_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofString(nf.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofBoolean(nf.EVENT_RESULT_NAME)))}static{this.EVENT_INT=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofInteger(nf.EVENT_RESULT_NAME)))}static{this.EVENT_ARRAY=new H(H.OUTPUT,G.of(nf.EVENT_RESULT_NAME,U.ofArray(nf.EVENT_RESULT_NAME)))}constructor(e,t,r,...n){super();let s=new Map;n.forEach(e=>s.set(e.getParameterName(),e)),this.signature=new X(t).setNamespace(e).setParameters(s).setEvents(G.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryStringStringAndBooleanOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_BOOLEAN,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING)]}static ofEntryStringIntegerAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_INDEX)]}static ofEntryStringStringAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING)]}static ofEntryStringAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING)]}static ofEntryStringAndBooleanOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_BOOLEAN,nf.PARAMETER_STRING)]}static ofEntryStringStringIntegerAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SEARCH_STRING_NAME),s=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING,nf.PARAMETER_SEARCH_STRING,nf.PARAMETER_INDEX)]}static ofEntryStringIntegerIntegerAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_INDEX_NAME),s=e?.getArguments()?.get(nf.PARAMETER_SECOND_INDEX_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_INDEX,nf.PARAMETER_SECOND_INDEX)]}static ofEntryStringStringStringAndStringOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME),n=e?.getArguments()?.get(nf.PARAMETER_SECOND_STRING_NAME),s=e?.getArguments()?.get(nf.PARAMETER_THIRD_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r,n,s)))])}}(m.STRING,e,nf.EVENT_STRING,nf.PARAMETER_STRING,nf.PARAMETER_SECOND_STRING,nf.PARAMETER_THIRD_STRING)]}static ofEntryStringAndIntegerOutput(e,t){return[e,new class extends nf{async internalExecute(e){let r=e?.getArguments()?.get(nf.PARAMETER_STRING_NAME);return new W([k.outputOf(G.of(nf.EVENT_RESULT_NAME,t(r)))])}}(m.STRING,e,nf.EVENT_INT,nf.PARAMETER_STRING)]}}class nN extends eS{static{this.VALUE="value"}static{this.SCHEMA=new U().setName(nN.VALUE).setType(new _(n.STRING))}static{this.SIGNATURE=new X("Concatenate").setNamespace(m.STRING).setParameters(new Map([[nN.VALUE,new v(nN.VALUE,nN.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[nN.VALUE,U.ofString(nN.VALUE)]]))]))}constructor(){super()}getSignature(){return nN.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(nN.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new W([k.outputOf(new Map([[nN.VALUE,r]]))])}}class n_ extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_END_NAME="endPosition"}static{this.EVENT_RESULT_NAME="result"}constructor(){super(),this.PARAMETER_STRING=new v(n_.PARAMETER_STRING_NAME,U.ofString(n_.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new v(n_.PARAMETER_AT_START_NAME,U.ofInteger(n_.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new v(n_.PARAMETER_AT_END_NAME,U.ofInteger(n_.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[n_.EVENT_RESULT_NAME,U.ofString(n_.EVENT_RESULT_NAME)]])),this.signature=new X("DeleteForGivenLength").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(n_.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(n_.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(n_.PARAMETER_AT_END_NAME);if(n>=r){let e="";return e+=t.substring(0,r)+t.substring(n),new W([k.outputOf(new Map([[n_.EVENT_RESULT_NAME,e.toString()]]))])}return new W([k.outputOf(new Map([[n_.EVENT_RESULT_NAME,t]]))])}}class nM extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_POSITION_NAME="position"}static{this.PARAMETER_INSERT_STRING_NAME="insertString"}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nM.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nM.PARAMETER_AT_POSITION_NAME),n=e?.getArguments()?.get(nM.PARAMETER_INSERT_STRING_NAME),s="";return s+=t.substring(0,r)+n+t.substring(r),new W([k.outputOf(new Map([[this.EVENT_RESULT_NAME,s]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new v(nM.PARAMETER_STRING_NAME,U.ofString(nM.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new v(nM.PARAMETER_AT_POSITION_NAME,U.ofInteger(nM.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new v(nM.PARAMETER_INSERT_STRING_NAME,U.ofString(nM.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new X("InsertAtGivenPosition").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))]))}}class nS extends eS{static{this.PARAMETER_REGEX_NAME="regex"}static{this.PARAMETER_STRING_NAME="string"}static{this.EVENT_RESULT_NAME="result"}static{this.signature=new X("Matches").setNamespace(m.STRING).setParameters(G.ofEntries(G.entry(...v.ofEntry(nS.PARAMETER_REGEX_NAME,U.ofString(nS.PARAMETER_REGEX_NAME))),G.entry(...v.ofEntry(nS.PARAMETER_STRING_NAME,U.ofString(nS.PARAMETER_STRING_NAME))))).setEvents(G.ofEntries(G.entry(...H.outputEventMapEntry(new Map([[nS.EVENT_RESULT_NAME,U.ofBoolean(nS.EVENT_RESULT_NAME)]])))))}getSignature(){return nS.signature}async internalExecute(e){let t=e.getArguments()?.get(nS.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(nS.PARAMETER_STRING_NAME);return new W([k.outputOf(new Map([[nS.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class nO extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nO.PARAMETER_STRING_NAME,U.ofString(nO.PARAMETER_STRING_NAME))}static{this.PARAMETER_POSTPAD_STRING=new v(nO.PARAMETER_POSTPAD_STRING_NAME,U.ofString(nO.PARAMETER_POSTPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nO.PARAMETER_LENGTH_NAME,U.ofInteger(nO.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nO.EVENT_RESULT_NAME,U.ofString(nO.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new X("PostPad").setNamespace(m.STRING).setParameters(new Map([[nO.PARAMETER_STRING.getParameterName(),nO.PARAMETER_STRING],[nO.PARAMETER_POSTPAD_STRING.getParameterName(),nO.PARAMETER_POSTPAD_STRING],[nO.PARAMETER_LENGTH.getParameterName(),nO.PARAMETER_LENGTH]])).setEvents(new Map([[nO.EVENT_STRING.getName(),nO.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(nO.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nO.PARAMETER_POSTPAD_STRING_NAME),n=e.getArguments()?.get(nO.PARAMETER_LENGTH_NAME),s="",a=r.length;for(s+=t;a<=n;)s+=r,a+=r.length;return s.length-t.length<n&&(s+=r.substring(0,n-(s.length-t.length))),new W([k.outputOf(new Map([[nO.EVENT_RESULT_NAME,s.toString()]]))])}}class nd extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_PREPAD_STRING_NAME="prepadString"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nd.PARAMETER_STRING_NAME,U.ofString(nd.PARAMETER_STRING_NAME))}static{this.PARAMETER_PREPAD_STRING=new v(nd.PARAMETER_PREPAD_STRING_NAME,U.ofString(nd.PARAMETER_PREPAD_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nd.PARAMETER_LENGTH_NAME,U.ofInteger(nd.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nd.EVENT_RESULT_NAME,U.ofString(nd.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("PrePad").setNamespace(m.STRING).setParameters(new Map([[nd.PARAMETER_STRING.getParameterName(),nd.PARAMETER_STRING],[nd.PARAMETER_PREPAD_STRING.getParameterName(),nd.PARAMETER_PREPAD_STRING],[nd.PARAMETER_LENGTH.getParameterName(),nd.PARAMETER_LENGTH]])).setEvents(new Map([[nd.EVENT_STRING.getName(),nd.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nd.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nd.PARAMETER_PREPAD_STRING_NAME),n=e.getArguments()?.get(nd.PARAMETER_LENGTH_NAME),s="",a=r.length;for(;a<=n;)s+=r,a+=r.length;return s.length<n&&(s+=r.substring(0,n-s.length)),s+=t,new W([k.outputOf(new Map([[nd.EVENT_RESULT_NAME,s]]))])}}class nw extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_BOOLEAN_NAME="boolean"}static{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"}static{this.PARAMETER_OTHER_STRING_NAME="otherString"}static{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"}static{this.PARAMETER_INTEGER_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nw.PARAMETER_STRING_NAME,U.ofString(nw.PARAMETER_STRING_NAME))}static{this.PARAMETER_OTHER_STRING=new v(nw.PARAMETER_OTHER_STRING_NAME,U.ofString(nw.PARAMETER_OTHER_STRING_NAME))}static{this.PARAMETER_FIRST_OFFSET=new v(nw.PARAMETER_FIRST_OFFSET_NAME,U.ofInteger(nw.PARAMETER_FIRST_OFFSET_NAME))}static{this.PARAMETER_SECOND_OFFSET=new v(nw.PARAMETER_SECOND_OFFSET_NAME,U.ofInteger(nw.PARAMETER_SECOND_OFFSET_NAME))}static{this.PARAMETER_INTEGER=new v(nw.PARAMETER_INTEGER_NAME,U.ofInteger(nw.PARAMETER_INTEGER_NAME))}static{this.PARAMETER_BOOLEAN=new v(nw.PARAMETER_BOOLEAN_NAME,U.ofBoolean(nw.PARAMETER_BOOLEAN_NAME))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,new Map([[nw.EVENT_RESULT_NAME,U.ofBoolean(nw.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("RegionMatches").setNamespace(m.STRING).setParameters(new Map([[nw.PARAMETER_STRING.getParameterName(),nw.PARAMETER_STRING],[nw.PARAMETER_BOOLEAN.getParameterName(),nw.PARAMETER_BOOLEAN],[nw.PARAMETER_FIRST_OFFSET.getParameterName(),nw.PARAMETER_FIRST_OFFSET],[nw.PARAMETER_OTHER_STRING.getParameterName(),nw.PARAMETER_OTHER_STRING],[nw.PARAMETER_SECOND_OFFSET.getParameterName(),nw.PARAMETER_SECOND_OFFSET],[nw.PARAMETER_INTEGER.getParameterName(),nw.PARAMETER_INTEGER]])).setEvents(new Map([[nw.EVENT_BOOLEAN.getName(),nw.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(nw.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nw.PARAMETER_BOOLEAN_NAME),n=e.getArguments()?.get(nw.PARAMETER_FIRST_OFFSET_NAME),s=e?.getArguments()?.get(nw.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(nw.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(nw.PARAMETER_INTEGER_NAME),o=!1;return o=!(n<0)&&!(a<0)&&!(n+i>t.length)&&!(a+i>s.length)&&(r?(t=t.substring(n,n+i).toUpperCase())==s.substring(a,a+i).toUpperCase():(t=t.substring(n,n+i))==s.substring(a,i)),new W([k.outputOf(new Map([[nw.EVENT_RESULT_NAME,o]]))])}}class nP extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_AT_START_NAME="startPosition"}static{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"}static{this.PARAMETER_REPLACE_STRING_NAME="replaceString"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nP.PARAMETER_STRING_NAME,U.ofString(nP.PARAMETER_STRING_NAME))}static{this.PARAMETER_AT_START=new v(nP.PARAMETER_AT_START_NAME,U.ofInteger(nP.PARAMETER_AT_START_NAME))}static{this.PARAMETER_AT_LENGTH=new v(nP.PARAMETER_AT_LENGTH_NAME,U.ofInteger(nP.PARAMETER_AT_LENGTH_NAME))}static{this.PARAMETER_REPLACE_STRING=new v(nP.PARAMETER_REPLACE_STRING_NAME,U.ofString(nP.PARAMETER_REPLACE_STRING_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nP.EVENT_RESULT_NAME,U.ofString(nP.EVENT_RESULT_NAME)]]))}constructor(){super(),this.signature=new X("ReplaceAtGivenPosition").setNamespace(m.STRING).setParameters(new Map([[nP.PARAMETER_STRING.getParameterName(),nP.PARAMETER_STRING],[nP.PARAMETER_AT_START.getParameterName(),nP.PARAMETER_AT_START],[nP.PARAMETER_AT_LENGTH.getParameterName(),nP.PARAMETER_AT_LENGTH],[nP.PARAMETER_REPLACE_STRING.getParameterName(),nP.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[nP.EVENT_STRING.getName(),nP.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(nP.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(nP.PARAMETER_AT_START_NAME),n=e?.getArguments()?.get(nP.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(nP.PARAMETER_REPLACE_STRING_NAME),t.length,r<n&&(t.substring(0,r),t.substring(r+n)),new W([k.outputOf(new Map([[nP.EVENT_RESULT_NAME,t]]))])}}class nI extends eS{constructor(){super(),this.VALUE="value",this.SIGNATURE=new X("Reverse").setNamespace(m.STRING).setParameters(new Map([[this.VALUE,new v(this.VALUE,U.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.VALUE,new U().setType(M.of(n.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,n="";for(;r>=0;)n+=t.charAt(r--);return new W([k.outputOf(G.of(this.VALUE,n))])}}class ny extends eS{getSignature(){return new X("Split").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([H.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new v(this.PARAMETER_STRING_NAME,U.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new v(this.PARAMETER_SPLIT_STRING_NAME,U.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new H(H.OUTPUT,G.of(this.EVENT_RESULT_NAME,U.ofArray(this.EVENT_RESULT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new W([k.outputOf(G.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class nx extends eS{getSignature(){return new X("ToString").setNamespace(m.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new v(this.PARAMETER_INPUT_ANYTYPE_NAME,U.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new H(H.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new W([k.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class nL extends eS{static{this.PARAMETER_STRING_NAME="string"}static{this.PARAMETER_LENGTH_NAME="length"}static{this.EVENT_RESULT_NAME="result"}static{this.PARAMETER_STRING=new v(nL.PARAMETER_STRING_NAME,U.ofString(nL.PARAMETER_STRING_NAME))}static{this.PARAMETER_LENGTH=new v(nL.PARAMETER_LENGTH_NAME,U.ofInteger(nL.PARAMETER_LENGTH_NAME))}static{this.EVENT_STRING=new H(H.OUTPUT,new Map([[nL.EVENT_RESULT_NAME,U.ofString(nL.EVENT_RESULT_NAME)]]))}getSignature(){return this.signature}constructor(){super(),this.signature=new X("TrimTo").setNamespace(m.STRING).setParameters(new Map([[nL.PARAMETER_STRING.getParameterName(),nL.PARAMETER_STRING],[nL.PARAMETER_LENGTH.getParameterName(),nL.PARAMETER_LENGTH]])).setEvents(new Map([[nL.EVENT_STRING.getName(),nL.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(nL.PARAMETER_STRING_NAME),r=e.getArguments()?.get(nL.PARAMETER_LENGTH_NAME);return new W([k.outputOf(new Map([[nL.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class nU{static{this.repoMap=G.ofArrayEntries(nf.ofEntryStringAndStringOutput("Trim",e=>e.trim()),nf.ofEntryStringAndStringOutput("TrimStart",e=>e.trimStart()),nf.ofEntryStringAndStringOutput("TrimEnd",e=>e.trimEnd()),nf.ofEntryStringAndIntegerOutput("Length",e=>e.length),nf.ofEntryStringStringAndIntegerOutput("Frequency",(e,t)=>{let r=0,n=e.indexOf(t);for(;-1!=n;)r++,n=e.indexOf(t,n+1);return r}),nf.ofEntryStringAndStringOutput("LowerCase",e=>e.toLocaleLowerCase()),nf.ofEntryStringAndStringOutput("UpperCase",e=>e.toUpperCase()),nf.ofEntryStringAndBooleanOutput("IsBlank",e=>""===e.trim()),nf.ofEntryStringAndBooleanOutput("IsEmpty",e=>""===e),nf.ofEntryStringStringAndBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),nf.ofEntryStringStringAndBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),nf.ofEntryStringStringAndBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),nf.ofEntryStringStringAndBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),nf.ofEntryStringStringAndBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),nf.ofEntryStringStringAndIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),nf.ofEntryStringStringAndIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),nf.ofEntryStringIntegerAndStringOutput("Repeat",(e,t)=>e.repeat(t)),nf.ofEntryStringStringIntegerAndIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),nf.ofEntryStringStringIntegerAndIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),nf.ofEntryStringStringStringAndStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),nf.ofEntryStringStringStringAndStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),nf.ofEntryStringIntegerIntegerAndStringOutput("SubString",(e,t,r)=>e.substring(t,r)),Y(new nN),Y(new n_),Y(new nM),Y(new nO),Y(new nd),Y(new nw),Y(new nP),Y(new nI),Y(new ny),Y(new nx),Y(new nL),Y(new nS))}static{this.filterableNames=Array.from(nU.repoMap.values()).map(e=>e.getSignature().getFullName())}async find(e,t){return e!=m.STRING?Promise.resolve(void 0):Promise.resolve(nU.repoMap.get(t))}async filter(e){return Promise.resolve(nU.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nV extends eS{static{this.PARAMETER_TIMESTAMP_NAME="isoTimeStamp"}static{this.PARAMETER_TIMESTAMP_NAME_ONE="isoTimeStamp1"}static{this.PARAMETER_TIMESTAMP_NAME_TWO="isoTimeStamp2"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_NUMBER_NAME="number"}static{this.PARAMETER_TIMESTAMP=new v(nV.PARAMETER_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_ONE=new v(nV.PARAMETER_TIMESTAMP_NAME_ONE,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_TIMESTAMP_TWO=new v(nV.PARAMETER_TIMESTAMP_NAME_TWO,U.ofRef(m.DATE+".Timestamp"))}static{this.PARAMETER_VARIABLE_UNIT=new v(nV.PARAMETER_UNIT_NAME,U.ofRef(m.DATE+".Timeunit")).setVariableArgument(!0)}static{this.PARAMETER_UNIT=new v(nV.PARAMETER_UNIT_NAME,U.ofRef(m.DATE+".Timeunit"))}static{this.PARAMETER_NUMBER=new v(nV.PARAMETER_NUMBER_NAME,U.ofInteger(nV.PARAMETER_NUMBER_NAME))}static{this.EVENT_RESULT_NAME="result"}static{this.EVENT_TIMESTAMP_NAME="isoTimeStamp"}static{this.EVENT_INT=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofInteger(nV.EVENT_RESULT_NAME)))}static{this.EVENT_STRING=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofString(nV.EVENT_RESULT_NAME)))}static{this.EVENT_LONG=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofLong(nV.EVENT_RESULT_NAME)))}static{this.EVENT_BOOLEAN=new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME)))}static{this.EVENT_TIMESTAMP=new H(H.OUTPUT,G.of(nV.EVENT_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")))}getSignature(){return this.signature}constructor(e,t,...r){if(super(),this.signature=new X(e).setNamespace(m.DATE).setEvents(G.of(t.getName(),t)),!r?.length)return;let n=new Map;r.forEach(e=>n.set(e.getParameterName(),e)),this.signature.setParameters(n)}static ofEntryTimestampAndIntegerOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_INT,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndBooleanOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_BOOLEAN,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampAndStringOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME))))])}}(e,nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP)]}static ofEntryTimestampIntegerAndTimestampOutput(e,t){return[e,new class extends nV{async internalExecute(e){return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),e.getArguments()?.get(nV.PARAMETER_NUMBER_NAME))))])}}(e,nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,nV.PARAMETER_NUMBER)]}static ofEntryTimestampTimestampAndTOutput(e,t,r,...n){return[e,new class extends nV{async internalExecute(e){let t=[];return n?.length&&t.push(...n.map(t=>e.getArguments()?.get(t.getParameterName()))),new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,r(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME_ONE),e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME_TWO),t)))])}}(e,t,nV.PARAMETER_TIMESTAMP_ONE,nV.PARAMETER_TIMESTAMP_TWO,...n)]}}function nb(t){let r=e.fromISO(t,{setZone:!0});if(!r?.isValid)throw Error("Invalid ISO timestamp");return r}class nv extends nV{static{this.PARAMETER_YEARS_NAME="years"}static{this.PARAMETER_MONTHS_NAME="months"}static{this.PARAMETER_DAYS_NAME="days"}static{this.PARAMETER_HOURS_NAME="hours"}static{this.PARAMETER_MINUTES_NAME="minutes"}static{this.PARAMETER_SECONDS_NAME="seconds"}static{this.PARAMETER_MILLISECONDS_NAME="milliseconds"}constructor(e){super(e?"AddTime":"SubtractTime",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,v.of(nv.PARAMETER_YEARS_NAME,U.ofNumber(nv.PARAMETER_YEARS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MONTHS_NAME,U.ofNumber(nv.PARAMETER_MONTHS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_DAYS_NAME,U.ofNumber(nv.PARAMETER_DAYS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_HOURS_NAME,U.ofNumber(nv.PARAMETER_HOURS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MINUTES_NAME,U.ofNumber(nv.PARAMETER_MINUTES_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_SECONDS_NAME,U.ofNumber(nv.PARAMETER_SECONDS_NAME).setDefaultValue(0)),v.of(nv.PARAMETER_MILLISECONDS_NAME,U.ofNumber(nv.PARAMETER_MILLISECONDS_NAME).setDefaultValue(0))),this.isAdd=e}async internalExecute(e){let t;let r=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),n=e.getArguments()?.get(nv.PARAMETER_YEARS_NAME),s=e.getArguments()?.get(nv.PARAMETER_MONTHS_NAME),a=e.getArguments()?.get(nv.PARAMETER_DAYS_NAME),i=e.getArguments()?.get(nv.PARAMETER_HOURS_NAME),o={years:n,months:s,days:a,hours:i,minutes:e.getArguments()?.get(nv.PARAMETER_MINUTES_NAME),seconds:e.getArguments()?.get(nv.PARAMETER_SECONDS_NAME),milliseconds:e.getArguments()?.get(nv.PARAMETER_MILLISECONDS_NAME)};return t=this.isAdd?r.plus(o):r.minus(o),new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,t.toISO()))])}}class nC extends eS{constructor(e,t){super(),this.paramName=`epoch${t?"Seconds":"Milliseconds"}`,this.isSeconds=t,this.signature=new X(e).setNamespace(m.DATE).setParameters(new Map([[this.paramName,v.of(this.paramName,new U().setName(this.paramName).setType(M.of(n.LONG,n.INTEGER,n.STRING)))]])).setEvents(new Map([[nV.EVENT_TIMESTAMP.getName(),nV.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=parseInt(e.getArguments()?.get(this.paramName)),r=this.isSeconds?1e3*t:t;if(isNaN(r))throw Error(`Please provide a valid value for ${this.paramName}.`);return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,new Date(r).toISOString()))]))}}class nG extends eS{constructor(e,t){super(),this.isSeconds=t,this.signature=new X(e).setNamespace(m.DATE).setParameters(new Map([[nV.PARAMETER_TIMESTAMP_NAME,nV.PARAMETER_TIMESTAMP]])).setEvents(new Map([[nV.EVENT_TIMESTAMP.getName(),nV.EVENT_LONG]]))}getSignature(){return this.signature}internalExecute(t){let r=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),n=this.isSeconds?e.fromISO(r).toSeconds():e.fromISO(r).toMillis();return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,n))]))}}class nD extends nV{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("ToDateString",nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP,v.of(nD.PARAMETER_FORMAT_NAME,U.ofString(nD.PARAMETER_FORMAT_NAME)),v.of(nD.PARAMETER_LOCALE_NAME,U.ofString(nD.PARAMETER_LOCALE_NAME).setDefaultValue("")))}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nD.PARAMETER_FORMAT_NAME),n=e.getArguments()?.get(nD.PARAMETER_LOCALE_NAME);return""===n&&(n="system"),new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,t.toFormat(r,{locale:n})))])}}class n$ extends nV{static{this.PARAMETER_TIMEZONE_NAME="timezone"}constructor(){super("SetTimeZone",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,v.of(n$.PARAMETER_TIMEZONE_NAME,U.ofString(n$.PARAMETER_TIMEZONE_NAME)))}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(n$.PARAMETER_TIMEZONE_NAME);return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,t.setZone(r).toISO()))])}}class nF extends nV{static{this.PARAMETER_START_TIMESTAMP_NAME="startTimestamp"}static{this.PARAMETER_END_TIMESTAMP_NAME="endTimestamp"}static{this.PARAMETER_CHECK_TIMESTAMP_NAME="checkTimestamp"}constructor(){super("IsBetween",nF.EVENT_BOOLEAN,v.of(nF.PARAMETER_START_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")),v.of(nF.PARAMETER_END_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")),v.of(nF.PARAMETER_CHECK_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")))}async internalExecute(e){let t=e.getArguments()?.get(nF.PARAMETER_START_TIMESTAMP_NAME),r=e.getArguments()?.get(nF.PARAMETER_END_TIMESTAMP_NAME),n=e.getArguments()?.get(nF.PARAMETER_CHECK_TIMESTAMP_NAME),s=nb(t),a=nb(r),i=nb(n);return s>a&&([s,a]=[a,s]),new W([k.outputOf(G.of(nF.EVENT_RESULT_NAME,s<=i&&i<=a))])}}class nB extends eS{constructor(e){super(),this.isLast=e,this.signature=new X(e?"LastOf":"FirstOf").setNamespace(m.DATE).setParameters(new Map([[nV.PARAMETER_TIMESTAMP_NAME,new v(nV.PARAMETER_TIMESTAMP_NAME,U.ofRef(m.DATE+".Timestamp")).setVariableArgument(!0)]])).setEvents(new Map([[nV.EVENT_TIMESTAMP.getName(),nV.EVENT_TIMESTAMP]]))}getSignature(){return this.signature}internalExecute(e){let t=e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME);if(!t?.length)throw Error("No timestamps provided");let r=t.map(e=>nb(e));return r.sort((e,t)=>e.toMillis()-t.toMillis()),Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,r[this.isLast?r.length-1:0].toISO()))]))}}class nY extends nV{static{this.EVENT_TIME_OBJECT_NAME="object"}static{this.EVENT_TIME_ARRAY_NAME="array"}constructor(e){super(e?"TimeAsArray":"TimeAsObject",new H(H.OUTPUT,G.of(e?nY.EVENT_TIME_ARRAY_NAME:nY.EVENT_TIME_OBJECT_NAME,e?U.ofArray(nY.EVENT_TIME_ARRAY_NAME,U.ofInteger("timeParts")):U.ofRef(m.DATE+".TimeObject"))),nV.PARAMETER_TIMESTAMP),this.isArray=e}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)).toObject();return new W([k.outputOf(G.of(this.isArray?nY.EVENT_TIME_ARRAY_NAME:nY.EVENT_TIME_OBJECT_NAME,this.isArray?[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond]:t))])}}class nH extends nV{constructor(e){super(e?"StartOf":"EndOf",nV.EVENT_TIMESTAMP,nV.PARAMETER_TIMESTAMP,nV.PARAMETER_UNIT),this.isStart=e}async internalExecute(e){let t=nb(e.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME)),r=e.getArguments()?.get(nV.PARAMETER_UNIT_NAME)?.toLowerCase();r=r.substring(0,r.length-1);let n=this.isStart?t.startOf(r):t.endOf(r);return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,n.toISO({includeOffset:!0})))])}}class nk extends nV{static{this.EVENT_NAMES_NAME="names"}static{this.PARAMETER_UNIT_NAME="unit"}static{this.PARAMETER_LOCALE_NAME="locale"}constructor(){super("GetNames",new H(nk.EVENT_NAMES_NAME,G.of(nk.EVENT_NAMES_NAME,U.ofArray(nk.EVENT_NAMES_NAME,U.ofString(nk.EVENT_NAMES_NAME)))),new v(nk.PARAMETER_UNIT_NAME,U.ofString(nk.PARAMETER_UNIT_NAME).setEnums(["TIMEZONES","MONTHS","WEEKDAYS"])),new v(nk.PARAMETER_LOCALE_NAME,U.ofString(nk.PARAMETER_LOCALE_NAME).setDefaultValue("system")))}async internalExecute(e){let t=e.getArguments()?.get(nk.PARAMETER_UNIT_NAME),r=e.getArguments()?.get(nk.PARAMETER_LOCALE_NAME);return new W([k.outputOf(G.of(nk.EVENT_NAMES_NAME,this.getNames(t,r)))])}getNames(t,r){return"TIMEZONES"===t?Intl.supportedValuesOf("timeZone"):"MONTHS"===t?[1,2,3,4,5,6,7,8,9,10,11,12].map(t=>e.now().setLocale(r).set({month:t}).toFormat("MMMM")):"WEEKDAYS"===t?[1,2,3,4,5,6,7].map(t=>e.now().setLocale(r).set({month:7,day:t}).toFormat("EEEE")):[]}}class nj extends eS{static{this.SIGNATURE=new X("IsValidISODate").setNamespace(m.DATE).setParameters(new Map([v.ofEntry(nV.PARAMETER_TIMESTAMP_NAME,U.ofString(nV.PARAMETER_TIMESTAMP_NAME))])).setEvents(new Map([H.outputEventMapEntry(G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME)))]))}internalExecute(t){let r=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),n=e.fromISO(r);return Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,n.isValid))]))}getSignature(){return nj.SIGNATURE}}class nW extends nV{static{this.PARAMETER_BASE_NAME="base"}static{this.PARAMETER_BASE=new v(nW.PARAMETER_BASE_NAME,U.ofRef(m.DATE+".Timestamp").setDefaultValue(""))}static{this.PARAMETER_LOCALE_NAME="locale"}static{this.PARAMETER_LOCALE=new v(nW.PARAMETER_LOCALE_NAME,U.ofString(nW.PARAMETER_LOCALE_NAME).setDefaultValue("system"))}static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_FORMAT=new v(nW.PARAMETER_FORMAT_NAME,U.ofString(nW.PARAMETER_FORMAT_NAME).setEnums(["LONG","SHORT","NARROW"]).setDefaultValue("LONG"))}static{this.PARAMETER_ROUND_NAME="round"}static{this.PARAMETER_ROUND=new v(nW.PARAMETER_ROUND_NAME,U.ofBoolean(nW.PARAMETER_ROUND_NAME).setDefaultValue(!0))}constructor(){super("FromNow",nV.EVENT_STRING,nV.PARAMETER_TIMESTAMP,nW.PARAMETER_FORMAT,nW.PARAMETER_BASE,nV.PARAMETER_VARIABLE_UNIT,nW.PARAMETER_ROUND,nW.PARAMETER_LOCALE)}internalExecute(t){let r=t.getArguments()?.get(nW.PARAMETER_BASE_NAME),n=""===r?e.now():e.fromISO(r),s=t.getArguments()?.get(nV.PARAMETER_TIMESTAMP_NAME),a=e.fromISO(s),i=t.getArguments()?.get(nW.PARAMETER_UNIT_NAME),o=t.getArguments()?.get(nW.PARAMETER_FORMAT_NAME),E=t.getArguments()?.get(nW.PARAMETER_ROUND_NAME),u=t.getArguments()?.get(nW.PARAMETER_LOCALE_NAME),A={base:n,style:o?.toLowerCase(),round:E,locale:u};return i?.length>0&&(A.unit=i.map(e=>e.toLowerCase())),Promise.resolve(new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,a.toRelative(A)??"Unknown"))]))}}class nX extends nV{static{this.PARAMETER_FORMAT_NAME="format"}static{this.PARAMETER_TIMESTAMP_STRING_NAME="timestampString"}constructor(){super("FromDateString",nV.EVENT_TIMESTAMP,v.of(nX.PARAMETER_TIMESTAMP_STRING_NAME,U.ofString(nX.PARAMETER_TIMESTAMP_STRING_NAME)),v.of(nX.PARAMETER_FORMAT_NAME,U.ofString(nX.PARAMETER_FORMAT_NAME)))}async internalExecute(t){let r=t.getArguments()?.get(nX.PARAMETER_TIMESTAMP_STRING_NAME),n=t.getArguments()?.get(nX.PARAMETER_FORMAT_NAME),s=e.fromFormat(r,n);return new W([k.outputOf(G.of(nV.EVENT_RESULT_NAME,s.toISO()))])}}class nJ extends nV{constructor(){super("GetCurrentTimestamp",nV.EVENT_TIMESTAMP)}async internalExecute(t){return new W([k.outputOf(G.of(nV.EVENT_TIMESTAMP_NAME,e.now().toISO()))])}}class nq{static{this.repoMap=G.ofArrayEntries(["EpochSecondsToTimestamp",new nC("EpochSecondsToTimestamp",!0)],["EpochMillisecondsToTimestamp",new nC("EpochMillisecondsToTimestamp",!1)],nV.ofEntryTimestampAndIntegerOutput("GetDay",e=>nb(e).day),nV.ofEntryTimestampAndIntegerOutput("GetDayOfWeek",e=>nb(e).weekday),nV.ofEntryTimestampAndIntegerOutput("GetMonth",e=>nb(e).month),nV.ofEntryTimestampAndIntegerOutput("GetYear",e=>nb(e).year),nV.ofEntryTimestampAndIntegerOutput("GetHours",e=>nb(e).hour),nV.ofEntryTimestampAndIntegerOutput("GetMinutes",e=>nb(e).minute),nV.ofEntryTimestampAndIntegerOutput("GetSeconds",e=>nb(e).second),nV.ofEntryTimestampAndIntegerOutput("GetMilliseconds",e=>nb(e).millisecond),nV.ofEntryTimestampAndIntegerOutput("GetDaysInMonth",e=>nb(e).daysInMonth),nV.ofEntryTimestampAndIntegerOutput("GetDaysInYear",e=>nb(e).daysInYear),["TimestampToEpochSeconds",new nG("TimestampToEpochSeconds",!0)],["TimestampToEpochMilliseconds",new nG("TimestampToEpochMilliseconds",!1)],nV.ofEntryTimestampAndStringOutput("GetTimeZoneName",e=>nb(e).zoneName),nV.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetLong",e=>nb(e).offsetNameLong),nV.ofEntryTimestampAndStringOutput("GetTimeZoneOffsetShort",e=>nb(e).offsetNameShort),nV.ofEntryTimestampAndIntegerOutput("GetTimeZoneOffset",e=>nb(e).offset),["ToDateString",new nD],["AddTime",new nv(!0)],["SubtractTime",new nv(!1)],["GetCurrentTimestamp",new nJ],nV.ofEntryTimestampTimestampAndTOutput("Difference",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofRef(`${m.DATE}.Duration`))),(e,t,r)=>{let n;let s=nb(e),a=nb(t);r?.[0]?.length&&(n=r[0]?.filter(e=>!!e).map(e=>e.toLowerCase()));let i=s.diff(a);return n?.length?i.shiftTo(...n).toObject():i.toObject()},nV.PARAMETER_VARIABLE_UNIT),nV.ofEntryTimestampIntegerAndTimestampOutput("SetDay",(e,t)=>nb(e).set({day:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMonth",(e,t)=>nb(e).set({month:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetYear",(e,t)=>nb(e).set({year:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetHours",(e,t)=>nb(e).set({hour:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMinutes",(e,t)=>nb(e).set({minute:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetSeconds",(e,t)=>nb(e).set({second:t}).toISO()),nV.ofEntryTimestampIntegerAndTimestampOutput("SetMilliseconds",(e,t)=>nb(e).set({millisecond:t}).toISO()),["SetTimeZone",new n$],nV.ofEntryTimestampTimestampAndTOutput("IsBefore",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)<nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsAfter",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)>nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSame",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)===nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSameOrBefore",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)<=nb(t)),nV.ofEntryTimestampTimestampAndTOutput("IsSameOrAfter",new H(H.OUTPUT,G.of(nV.EVENT_RESULT_NAME,U.ofBoolean(nV.EVENT_RESULT_NAME))),(e,t)=>nb(e)>=nb(t)),nV.ofEntryTimestampAndBooleanOutput("IsInLeapYear",e=>nb(e).isInLeapYear),nV.ofEntryTimestampAndBooleanOutput("IsInDST",e=>nb(e).isInDST),["IsBetween",new nF],["LastOf",new nB(!0)],["FirstOf",new nB(!1)],["StartOf",new nH(!0)],["EndOf",new nH(!1)],["TimeAsObject",new nY(!1)],["TimeAsArray",new nY(!0)],["GetNames",new nk],["IsValidISODate",new nj],["FromNow",new nW],["FromDateString",new nX])}static{this.filterableNames=Array.from(nq.repoMap.values()).map(e=>e.getSignature().getFullName())}find(e,t){return e!=m.DATE?Promise.resolve(void 0):Promise.resolve(nq.repoMap.get(t))}filter(e){return Promise.resolve(nq.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class nK extends eS{static{this.MILLIS="millis"}static{this.SIGNATURE=new X("Wait").setNamespace(m.SYSTEM).setParameters(new Map([v.ofEntry(nK.MILLIS,U.ofNumber(nK.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([H.outputEventMapEntry(new Map)]))}getSignature(){return nK.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(nK.MILLIS);return await new Promise(e=>setTimeout(e,t)),new W([k.outputOf(new Map)])}}t({},"HybridRepository",()=>nz);class nz{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let n=await r.find(e,t);if(n)return n}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}let nQ=new Map([[m.SYSTEM_CTX,new Map([Y(new class extends eS{getSignature(){return tf}async internalExecute(e){let t=e?.getArguments()?.get(th);if(e?.getContext()?.has(t))throw new j(J.format("Context already has an element for '$' ",t));let r=U.from(e?.getArguments()?.get(tp));if(!r)throw new j("Schema is not supplied.");return e.getContext().set(t,new tm(r,h(r.getDefaultValue())?void 0:r.getDefaultValue())),new W([k.outputOf(new Map)])}}),Y(new class extends eS{getSignature(){return tM}async internalExecute(e){let t=e?.getArguments()?.get(tN);if(!e.getContext()?.has(t))throw new j(J.format("Context don't have an element for '$' ",t));return new W([k.outputOf(new Map([t_,e.getContext()?.get(t)?.getElement()]))])}}),Y(new class extends eS{getSignature(){return rw}async internalExecute(e){let t=e?.getArguments()?.get(rO);if(Q.isNullOrBlank(t))throw new j("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(rd),n=new e4(t),s=n.getTokens().peekLast();if(!s.getExpression().startsWith("Context")||s instanceof e4||s instanceof e5&&!s.getElement().toString().startsWith("Context"))throw new ey(J.format("The context path $ is not a valid path in context",t));for(let e of n.getOperations().toArray())if(e!=e7.ARRAY_OPERATOR&&e!=e7.OBJECT_OPERATOR)throw new ey(J.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<n.getTokens().size();r++){let s=n.getTokens().get(r);s instanceof e4&&n.getTokens().set(r,new e5(t,new rS(s).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,n)}modifyContext(e,t,r,n){let s=n.getTokens();s.removeLast();let a=n.getOperations();a.removeLast();let i=e.getContext()?.get(s.removeLast().getExpression());if(h(i))throw new j(J.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new W([k.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=s.removeLast(),A=u instanceof e5?u.getElement():u.getExpression();for(h(o)&&(o=E==e7.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==e7.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=s.removeLast())instanceof e5?u.getElement():u.getExpression();return E==e7.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new W([k.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));let s=e[n];return h(s)&&(s=r==e7.OBJECT_OPERATOR?{}:[],e[n]=s),s}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));let n=e[t];return h(n)&&(n=r==e7.OBJECT_OPERATOR?{}:[],e[t]=n),n}putDataInArray(e,t,r){if(!Array.isArray(e))throw new j(J.format("Expected an array but found $",e));let n=parseInt(t);if(isNaN(n))throw new j(J.format("Expected an array index but found $",t));if(n<0)throw new j(J.format("Array index is out of bound - $",t));e[n]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new j(J.format("Expected an object but found $",e));e[t]=r}})])],[m.SYSTEM_LOOP,new Map([Y(new class extends eS{getSignature(){return rX}async internalExecute(e){let t=e.getArguments()?.get(rH),r=e.getArguments()?.get("to"),n=e.getArguments()?.get(rk),s=n>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(i)return;if(s&&a>=r||!s&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),k.outputOf(new Map([[rj,a]]));let t=k.of(H.ITERATION,new Map([[rW,a]]));return a+=n,t}})}}),Y(new class extends eS{getSignature(){return rG}async internalExecute(e){let t=e.getArguments()?.get(rb),r=0,n=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(r>=t||n&&e.getExecutionContext()?.get(n))return n&&e.getExecutionContext()?.delete(n),k.outputOf(new Map([[rv,r]]));let s=k.of(H.ITERATION,new Map([[rC,r]]));return++r,s}})}}),Y(new class extends eS{getSignature(){return rV}async internalExecute(e){let t=e.getArguments()?.get(rU);return e.getExecutionContext().set(t,!0),new W([k.outputOf(new Map)])}}),Y(new class extends eS{getSignature(){return rY}async internalExecute(e){let t=e.getArguments()?.get(rD),r=0,n=e.getStatementExecution()?.getStatement()?.getStatementName();return new W({next(){if(r>=t.length||n&&e.getExecutionContext()?.get(n))return n&&e.getExecutionContext()?.delete(n),k.outputOf(new Map([[rB,r]]));let s=k.of(H.ITERATION,new Map([[rF,r],[r$,t[r]]]));return++r,s}})}})])],[m.SYSTEM,new Map([Y(new rL),Y(new class extends eS{getSignature(){return rx}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),n=r?.get(rI),s=e?.getArguments()?.get(ry).map(t=>{let r=t[rP];if(h(r))throw new j("Expect a value object");let n=r.value;return r.isExpression&&(n=new rS(n).evaluate(e.getValuesMap())),[t.name,n]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(n)||t?.set(n,[]),t?.get(n)?.push(s),new W([k.outputOf(new Map)])}}),Y(new np),Y(new nK),Y(new tR)])]]),nZ=Array.from(nQ.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class n0 extends nz{constructor(){super({find:async(e,t)=>nQ.get(e)?.get(t),filter:async e=>Array.from(nZ).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new nr,new nU,new tg,new nh,new nq)}}t({},"StatementExecution",()=>n2),t({},"StatementMessage",()=>n1);class n1{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class n2{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new n1(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof n2&&e.statement.equals(this.statement)}}t({},"ContextTokenValueExtractor",()=>n5);class n5 extends e6{static{this.PREFIX="Context."}constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.context.get(r)?.getElement())}getPrefix(){return n5.PREFIX}getStore(){return h(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(h(r)||(e[t]=r.getElement()),e),{})}}t({},"OutputMapTokenValueExtractor",()=>n7);class n7 extends e6{static{this.PREFIX="Steps."}constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=1,n=this.output.get(t[r++]);if(!n||r>=t.length)return;let s=n.get(t[r++]);if(!s||r>t.length)return;if(r===t.length)return s;let a=t[r].indexOf("[");if(-1===a){let n=s.get(t[r++]);return this.retrieveElementFrom(e,t,r,n)}let i=t[r].substring(0,a),o=s.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return n7.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}t({},"ArgumentsTokenValueExtractor",()=>n4);class n4 extends e6{static{this.PREFIX="Arguments."}constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(e6.REGEX_DOT),r=t[1],n=r.indexOf("["),s=2;return -1!=n&&(r=t[1].substring(0,n),t[1]=t[1].substring(n),s=1),this.retrieveElementFrom(e,t,s,this.args.get(r))}getPrefix(){return n4.PREFIX}getStore(){return h(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}t({},"GraphVertex",()=>n9),t({},"ExecutionGraph",()=>n6);class n6{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new n9(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new q(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class n9{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new ee(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new ee(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new n6(!0);var r=new q(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}t({},"KIRuntime",()=>st),t({},"JsonExpression",()=>n8);class n8{constructor(e){this.expression=e}getExpression(){return this.expression}}function n3(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}t({},"ParameterReferenceType",()=>o),(c=o||(o={})).VALUE="VALUE",c.EXPRESSION="EXPRESSION",t({},"FunctionExecutionParameters",()=>se);class se{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??n3()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new n5(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new n7(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}t({},"StatementMessageType",()=>E),(R=E||(E={})).ERROR="ERROR",R.WARNING="WARNING",R.MESSAGE="MESSAGE";class st extends eS{static{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'}static{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")}static{this.VERSION=1}static{this.MAX_EXECUTION_ITERATIONS=1e7}constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>st.VERSION)throw new j("Runtime is at a lower version "+st.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new n6;for(let n of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(n,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(E.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new n4(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new j("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new q;r.addAll(e.getVerticesWithNoIncomingEdges());let n=new q;for(;(!r.isEmpty()||!n.isEmpty())&&!t.getEvents()?.has(H.OUTPUT);)if(await this.processBranchQue(t,r,n),await this.processExecutionQue(t,r,n),t.setCount(t.getCount()+1),t.getCount()==st.MAX_EXECUTION_ITERATIONS)throw new j("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(H.OUTPUT)?.getParameters()?.size)throw new j("No events raised")}let s=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>k.of(e[0],t)));return new W(s.length||e.isSubGraph()?s:[k.of(H.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let n=t.pop();await this.allDependenciesResolvedVertex(n,e.getSteps())?await this.executeVertex(n,e,r,t,e.getFunctionRepository()):t.add(n)}}async processBranchQue(e,t,r){if(r.length){let n=r.pop();await this.allDependenciesResolvedTuples(n.getT2(),e.getSteps())?await this.executeBranch(e,t,n):r.add(n)}}async executeBranch(e,t,r){let n,s=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(n=r.getT3().next())&&(e.getSteps()?.has(s.getData().getStatement().getStatementName())||e.getSteps()?.set(s.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(s.getData().getStatement().getStatementName())?.set(n.getName(),this.resolveInternalExpressions(n.getResult(),e)),this.debugMode)){let t=s.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${n.getName()} : `,e.getSteps().get(t.getStatementName()).get(n.getName()))}while(n&&n.getName()!=H.OUTPUT)n?.getName()==H.OUTPUT&&s.getOutVertices().has(H.OUTPUT)&&(s?.getOutVertices()?.get(H.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,n,s){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size&&!(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>new rS(e).evaluate(t.getValuesMap())).every(e=>!h(e)&&!1!==e))return;let o=await s.find(i.getNamespace(),i.getName());if(!o)throw new j(J.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),u=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,u));let A=t.getContext();a=o instanceof st?new se(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==n4.PREFIX&&e.getPrefix()!==n7.PREFIX&&e.getPrefix()!==n5.PREFIX).map(e=>[e.getPrefix(),e]))):new se(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(A).setArguments(u).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let T=await o.execute(a),l=T.next();if(!l)throw new j(J.format("Executing $ returned no events",i.getStatementName()));let c=l.getName()==H.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(l.getName(),this.resolveInternalExpressions(l.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${l.getName()} : `,t.getSteps().get(i.getStatementName()).get(l.getName()))),c){let r=e.getOutVertices().get(H.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&n.add(e)})}else{let t=e.getSubGraphOfType(l.getName()),n=this.makeEdges(t).getT1();r.push(new er(t,n,T,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new ee(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(h(e)||"object"!=typeof e)return e;if(e instanceof n8)return new rS(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let n of e)r.push(this.resolveInternalExpression(n,t));return r}if("object"==typeof e){let r={};for(let n of Object.entries(e))r[n[0]]=this.resolveInternalExpression(n[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),n=e.getT2();return!(t.has(r)&&t.get(r)?.has(n))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let n,s=Array.from(t[1]?.values()??[]);if(!s?.length)return new ee(t[0],n);let a=r.get(t[0]);return a?(n=a.isVariableArgument()?s.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!h(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,s[0]),new ee(t[0],n)):new ee(t[0],void 0)}).filter(e=>!h(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==o.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=o.EXPRESSION||Q.isNullOrBlank(t.getExpression())||(r=new rS(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let n=new n2(e),s=await t.find(e.getNamespace(),e.getName());if(!s)return n.addMessage(E.ERROR,J.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(n);let a=new Map(s.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(n);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let s=Array.from(t[1]?.values()??[]);if(!s.length&&!e.isVariableArgument()){await es.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(s.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),s))this.parameterReferenceValidation(n,e,t,r);else if(s.length){let t=s[0];this.parameterReferenceValidation(n,e,t,r)}a.delete(e.getParameterName())}if(!h(n.getStatement().getDependentStatements()))for(let e of Array.from(n.getStatement().getDependentStatements().entries()))e[1]&&n.addDependency(e[0]);if(!h(n.getStatement().getExecuteIftrue()))for(let e of Array.from(n.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(n,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await es.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||n.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(n)}async parameterReferenceValidation(e,t,r,s){if(r){if(r.getType()==o.VALUE){if(h(r.getValue())&&!await es.hasDefaultValueOrNullSchemaType(t.getSchema(),s)&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),h(r.getValue()))return;let a=new q;for(a.push(new ee(t.getSchema(),r.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof n8)this.addDependencies(e,t.getT2().getExpression());else{if(h(t.getT1())||h(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(n.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new ee(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new ee(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(n.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===v.EXPRESSION.getName()&&r.getNamespace()===v.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new ee(r.getProperties().get(e[0]),e[1]))}}}}else if(r.getType()==o.EXPRESSION){if(Q.isNullOrBlank(r.getExpression()))h(es.getDefaultValue(t.getSchema(),s))&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,r.getExpression())}catch(t){e.addMessage(E.ERROR,J.format("Error evaluating $ : $",r.getExpression(),t))}}}else h(await es.getDefaultValue(t.getSchema(),s))&&e.addMessage(E.ERROR,J.format(st.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(st.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],n=new Map;for(let s of Array.from(t))for(let t of Array.from(s.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?s.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new ee(i,E)),n.set(s.getData().getStatement().getStatementName(),J.format("Unable to find the step with name $",i)))}return new ee(r,n)}}t({},"KIRunConstants",()=>sr);class sr{static{this.NAMESPACE="namespace"}static{this.NAME="name"}static{this.ID="id"}constructor(){}}t({},"Position",()=>sn);class sn{static{this.SCHEMA_NAME="Position"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(sn.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["left",U.ofFloat("left")],["top",U.ofFloat("top")]]))}constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new sn(e.left,e.top)}}t({},"FunctionDefinition",()=>su),t({},"Statement",()=>si),t({},"AbstractStatement",()=>ss);class ss{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new sn(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}t({},"ParameterReference",()=>sa);class sa{static{this.SCHEMA_NAME="ParameterReference"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(sa.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["key",U.ofString("key")],["value",U.ofAny("value")],["expression",U.ofString("expression")],["type",U.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",U.ofInteger("order")]]))}constructor(e){e instanceof sa?(this.key=e.key,this.type=e.type,this.value=h(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=n3())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new sa(o.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new sa(o.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new sa(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class si extends ss{static{this.SCHEMA_NAME="Statement"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(si.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["statementName",U.ofString("statementName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["namespace",U.ofString("namespace")],["name",U.ofString("name")],["dependentStatements",U.ofObject("dependentstatement").setAdditionalProperties(new L().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",U.ofObject("executeIftrue").setAdditionalProperties(new L().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new U().setName("parameterMap").setAdditionalProperties(new L().setSchemaValue(U.ofObject("parameterReference").setAdditionalProperties(new L().setSchemaValue(sa.SCHEMA))))],["position",sn.SCHEMA]]))}constructor(e,t,r){if(super(e instanceof si?e:void 0),e instanceof si)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new sa(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof si&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new si(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>sa.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(sn.from(e.position)).setComment(e.comment).setDescription(e.description)}}t({},"StatementGroup",()=>so);class so extends ss{static{this.SCHEMA_NAME="StatementGroup"}static{this.SCHEMA=new U().setNamespace(m.SYSTEM).setName(so.SCHEMA_NAME).setType(M.of(n.OBJECT)).setProperties(new Map([["statementGroupName",U.ofString("statementGroupName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["position",sn.SCHEMA]]))}constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new so(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(sn.from(e.position)).setComment(e.comment).setDescription(e.description)}}let sE=new U().setNamespace(m.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofArray("parameters",v.SCHEMA)],["events",U.ofObject("events").setAdditionalProperties(new L().setSchemaValue(H.SCHEMA))],["steps",U.ofObject("steps").setAdditionalProperties(new L().setSchemaValue(si.SCHEMA))]]));sE.getProperties()?.set("parts",U.ofArray("parts",sE));class su extends X{static{this.SCHEMA=sE}constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new su(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,si.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,so.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>su.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,H.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,v.from(e)]))).setNamespace(e.namespace):new su("unknown")}}t({},"Argument",()=>sA);class sA{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new sA(0,e,t)}}var sT={};r(sT,ro),r(sT,rT),r(sT,rc),r(sT,rg),r(sT,rE);var sl={};r(sl,tP),r(sl,ty),r(sl,tL),r(sl,tV),r(sl,tv),r(sl,tG),r(sl,t$),r(sl,tO),r(sl,tB),r(sl,tH),r(sl,tj),r(sl,tX),r(sl,tq),r(sl,tz),r(sl,tZ),r(sl,t1),r(sl,t5),r(sl,t4),r(sl,t9),r(sl,rt),r(sl,t3),r(sl,rn),r(sl,ra),r(sl,tS);export{B as KIRunSchemaRepository,n0 as KIRunFunctionRepository,ex as PrimitiveUtil,G as MapUtil,D as MapEntry,h as isNullValue,q as LinkedList,e0 as StringBuilder,J as StringFormatter,Q as StringUtil,ee as Tuple2,et as Tuple3,er as Tuple4,eU as ArrayUtil,z as deepEqual,eb as duplicate,n2 as StatementExecution,n1 as StatementMessage,tm as ContextElement,n5 as ContextTokenValueExtractor,n7 as OutputMapTokenValueExtractor,n4 as ArgumentsTokenValueExtractor,n9 as GraphVertex,n6 as ExecutionGraph,st as KIRuntime,E as StatementMessageType,se as FunctionExecutionParameters,e4 as Expression,e6 as TokenValueExtractor,rp as LiteralTokenValueExtractor,e9 as ObjectValueSetterExtractor,rS as ExpressionEvaluator,e7 as Operation,e2 as ExpressionToken,e1 as ExpressionEvaluationException,e5 as ExpressionTokenValue,eS as AbstractFunction,m as Namespaces,n8 as JsonExpression,L as AdditionalType,U as Schema,eu as NumberValidator,eo as BooleanValidator,eE as NullValidator,ei as ArrayValidator,ea as AnyOfAllOfOneOfValidator,eT as StringValidator,eA as ObjectValidator,eM as SchemaValidator,en as SchemaValidationException,V as SchemaReferenceException,e_ as TypeValidator,p as ArraySchemaType,_ as SingleType,M as TypeUtil,N as MultipleType,f as Type,n as SchemaType,es as SchemaUtil,a as StringFormat,nz as HybridRepository,sr as KIRunConstants,v as Parameter,W as FunctionOutput,sn as Position,su as FunctionDefinition,o as ParameterReferenceType,k as EventResult,ss as AbstractStatement,si as Statement,so as StatementGroup,X as FunctionSignature,H as Event,s as ParameterType,sA as Argument,sa as ParameterReference,ey as ExecutionException,j as KIRuntimeException,rA as ArithmeticUnaryMinusOperator,rl as ArithmeticUnaryPlusOperator,rR as BitwiseComplementOperator,rm as LogicalNotOperator,ru as UnaryOperator,tI as ArithmeticAdditionOperator,tx as ArithmeticDivisionOperator,tU as ArithmeticIntegerDivisionOperator,tb as ArithmeticModulusOperator,tC as ArithmeticMultiplicationOperator,tD as ArithmeticSubtractionOperator,tF as ArrayOperator,td as BinaryOperator,tY as BitwiseAndOperator,tk as BitwiseLeftShiftOperator,tW as BitwiseOrOperator,tJ as BitwiseRightShiftOperator,tK as BitwiseUnsignedRightShiftOperator,tQ as BitwiseXorOperator,t0 as LogicalAndOperator,t2 as LogicalEqualOperator,t7 as LogicalGreaterThanEqualOperator,t6 as LogicalGreaterThanOperator,t8 as LogicalLessThanEqualOperator,rr as LogicalNotEqualOperator,re as LogicalLessThanOperator,rs as LogicalOrOperator,ri as ObjectOperator,tw as LogicalNullishCoalescingOperator,r_ as ConditionalTernaryOperator};
2
2
  //# sourceMappingURL=module.js.map