@fincity/kirun-js 2.2.2 → 2.3.0
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/__tests__/engine/runtime/expression/ExpressionEvaluationTest.ts +21 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/engine/runtime/expression/tokenextractor/TokenValueExtractor.ts +18 -0
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}function t(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}var r,s,n,a,i,o={};t(o,"KIRunSchemaRepository",()=>H);var E={};t(E,"AdditionalType",()=>v),t(E,"Schema",()=>U);var u={};t(u,"Namespaces",()=>A);class A{static #e=(()=>{this.SYSTEM="System"})();static #t=(()=>{this.SYSTEM_CTX="System.Context"})();static #r=(()=>{this.SYSTEM_LOOP="System.Loop"})();static #s=(()=>{this.SYSTEM_ARRAY="System.Array"})();static #n=(()=>{this.SYSTEM_OBJECT="System.Object"})();static #a=(()=>{this.MATH="System.Math"})();static #i=(()=>{this.STRING="System.String"})();constructor(){}}var l={};t(l,"ArraySchemaType",()=>m);var h={};function g(e){return null==e}t(h,"isNullValue",()=>g);class m{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!g(this.singleSchema)}static of(...e){return 1==e.length?new m().setSingleSchema(e[0]):new m().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new m().setTupleSchema(U.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new m().setSingleSchema(U.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new m().setTupleSchema(U.fromListOfSchemas(e.tupleSchema));let r=U.from(e);if(r)return new m().setSingleSchema(r)}}var R={};t(R,"SchemaType",()=>r),function(e){e.INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null"}(r||(r={}));var p={};t(p,"TypeUtil",()=>M);var T={};t(T,"MultipleType",()=>f);var c={};t(c,"Type",()=>N);class N{}class f extends N{constructor(e){super(),e instanceof f?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)}}var _={};t(_,"SingleType",()=>S);class S extends N{constructor(e){super(),e instanceof S?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 S(e[0]):new f(new Set(e))}static from(e){return"string"==typeof e?new S(r[M.fromJSONType(e)]):Array.isArray(e)?new f(new Set(e.map(M.fromJSONType).map(e=>e).map(e=>r[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}const O="additionalProperty",w="additionalItems",I="enums",d="items",P="System.Schema",y="required",x="version",L="namespace";class v{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(g(e))return;let t=new v;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 #e=(()=>{this.NULL=new U().setNamespace(A.SYSTEM).setName("Null").setType(M.of(r.NULL)).setConstant(void 0)})();static #t=(()=>{this.TYPE_SCHEMA=new U().setType(M.of(r.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])})();static #r=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName("Schema").setType(M.of(r.OBJECT)).setProperties(new Map([[L,U.of(L,r.STRING).setDefaultValue("_")],["name",U.ofString("name")],[x,U.of(x,r.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")],[I,U.ofArray(I,U.ofString(I))],["constant",U.ofAny("constant")],["pattern",U.ofString("pattern")],["format",U.of("format",r.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",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],["additionalProperties",new U().setName(O).setNamespace(A.SYSTEM).setAnyOf([U.ofBoolean(O),U.ofObject(O).setRef(P)]).setDefaultValue(!0)],[y,U.ofArray(y,U.ofString(y)).setDefaultValue([])],["propertyNames",U.ofRef(P)],["minProperties",U.ofInteger("minProperties")],["maxProperties",U.ofInteger("maxProperties")],["patternProperties",U.of("patternProperties",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],[d,new U().setName(d).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(w).setNamespace(A.SYSTEM).setAnyOf([U.ofBoolean(w),U.ofObject(w).setRef(P)])],["$defs",U.of("$defs",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],["permission",U.ofString("permission")]])).setRequired([])})();static ofString(e){return new U().setType(M.of(r.STRING)).setName(e)}static ofInteger(e){return new U().setType(M.of(r.INTEGER)).setName(e)}static ofFloat(e){return new U().setType(M.of(r.FLOAT)).setName(e)}static ofLong(e){return new U().setType(M.of(r.LONG)).setName(e)}static ofDouble(e){return new U().setType(M.of(r.DOUBLE)).setName(e)}static ofAny(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.NULL,r.OBJECT)).setName(e)}static ofAnyNotNull(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.OBJECT)).setName(e)}static ofNumber(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)).setName(e)}static ofBoolean(e){return new U().setType(M.of(r.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(r.OBJECT)).setName(e)}static ofRef(e){return new U().setRef(e)}static ofArray(e,...t){return new U().setType(M.of(r.ARRAY)).setName(e).setItems(m.of(...t))}static fromListOfSchemas(e){if(g(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(g(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=U.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(g(e))return;let s=new U;return s.namespace=e.namespace??"_",s.name=e.name,s.version=e.version??1,s.ref=e.ref,t?s.type=new S(r.STRING):s.type=M.from(e.type),s.anyOf=U.fromListOfSchemas(e.anyOf),s.allOf=U.fromListOfSchemas(e.allOf),s.oneOf=U.fromListOfSchemas(e.oneOf),s.not=U.from(e.not),s.description=e.description,s.examples=e.examples?[...e.examples]:void 0,s.defaultValue=e.defaultValue,s.comment=e.comment,s.enums=e.enums?[...e.enums]:void 0,s.constant=e.constant,s.pattern=e.pattern,s.format=e.format,s.minLength=e.minLength,s.maxLength=e.maxLength,s.multipleOf=e.multipleOf,s.minimum=e.minimum,s.maximum=e.maximum,s.exclusiveMinimum=e.exclusiveMinimum,s.exclusiveMaximum=e.exclusiveMaximum,s.properties=U.fromMapOfSchemas(e.properties),s.additionalProperties=v.from(e.additionalProperties),s.required=e.required,s.propertyNames=U.from(e.propertyNames,!0),s.minProperties=e.minProperties,s.maxProperties=e.maxProperties,s.patternProperties=U.fromMapOfSchemas(e.patternProperties),s.items=m.from(e.items),s.additionalItems=v.from(e.additionalItems),s.contains=U.from(e.contains),s.minContains=e.minContains,s.maxContains=e.maxContains,s.minItems=e.minItems,s.maxItems=e.maxItems,s.uniqueItems=e.uniqueItems,s.$defs=U.fromMapOfSchemas(e.$defs),s.permission=e.permission,s}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,g(e.type)||(this.type=e.type instanceof S?new S(e.type):new f(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 v(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 m(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 v(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 S(r.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}}var V={};t(V,"Parameter",()=>F);var C={};t(C,"SchemaReferenceException",()=>G);class G 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}}var b={};t(b,"ParameterType",()=>s),function(e){e.CONSTANT="CONSTANT",e.EXPRESSION="EXPRESSION"}(s||(s={}));const D="value";class F{static #e=(()=>{this.SCHEMA_NAME="Parameter"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(F.SCHEMA_NAME).setProperties(new Map([["schema",U.SCHEMA],["parameterName",U.ofString("parameterName")],["variableArgument",U.of("variableArgument",r.BOOLEAN).setDefaultValue(!1)],["type",U.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))})();static #r=(()=>{this.EXPRESSION=new U().setNamespace(A.SYSTEM).setName("ParameterExpression").setType(M.of(r.OBJECT)).setProperties(new Map([["isExpression",U.ofBoolean("isExpression").setDefaultValue(!0)],[D,U.ofAny(D)]]))})();constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof F)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 F(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new F(e,t).setType(n).setVariableArgument(r)}static from(e){let t=U.from(e.schema);if(!t)throw new G("","Parameter requires Schema");return new F(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}const Y=new Map([["any",U.ofAny("any").setNamespace(A.SYSTEM)],["boolean",U.ofBoolean("boolean").setNamespace(A.SYSTEM)],["double",U.ofDouble("double").setNamespace(A.SYSTEM)],["float",U.ofFloat("float").setNamespace(A.SYSTEM)],["integer",U.ofInteger("integer").setNamespace(A.SYSTEM)],["long",U.ofLong("long").setNamespace(A.SYSTEM)],["number",U.ofNumber("number").setNamespace(A.SYSTEM)],["string",U.ofString("string").setNamespace(A.SYSTEM)],[F.EXPRESSION.getName(),F.EXPRESSION],[U.NULL.getName(),U.NULL],[U.SCHEMA.getName(),U.SCHEMA]]),B=Array.from(Y.values()).map(e=>e.getFullName());class H{async find(e,t){return A.SYSTEM!=e?Promise.resolve(void 0):Promise.resolve(Y.get(t))}async filter(e){return Promise.resolve(B.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var k={};function $(e){return[e.getSignature().getName(),e]}t(k,"KIRunFunctionRepository",()=>ns);var j={};t(j,"MapUtil",()=>X),t(j,"MapEntry",()=>W);class X{static of(e,t,r,s,n,a,i,o,E,u,A,l,h,m,R,p,T,c,N,f){let _=new Map;return g(e)||g(t)||_.set(e,t),g(r)||g(s)||_.set(r,s),g(n)||g(a)||_.set(n,a),g(i)||g(o)||_.set(i,o),g(E)||g(u)||_.set(E,u),g(A)||g(l)||_.set(A,l),g(h)||g(m)||_.set(h,m),g(R)||g(p)||_.set(R,p),g(T)||g(c)||_.set(T,c),g(N)||g(f)||_.set(N,f),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new W(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 W{constructor(e,t){this.k=e,this.v=t}}var q={};t(q,"EventResult",()=>K);var J={};t(J,"Event",()=>z);class z{static #e=(()=>{this.OUTPUT="output"})();static #t=(()=>{this.ERROR="error"})();static #r=(()=>{this.ITERATION="iteration"})();static #s=(()=>{this.TRUE="true"})();static #n=(()=>{this.FALSE="false"})();static #a=(()=>{this.SCHEMA_NAME="Event"})();static #i=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(z.SCHEMA_NAME).setType(M.of(r.OBJECT)).setProperties(new Map([["name",U.ofString("name")],["parameters",U.ofObject("parameter").setAdditionalProperties(new v().setSchemaValue(U.SCHEMA))]]))})();constructor(e,t){if(e instanceof z)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 z.eventMapEntry(z.OUTPUT,e)}static eventMapEntry(e,t){return[e,new z(e,t)]}static from(e){return new z(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=U.from(e[1]);if(!t)throw new G("","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(z.OUTPUT,e)}static of(e,t){return new K(e,t)}}var Q={};t(Q,"FunctionOutput",()=>et);var Z={};t(Z,"KIRuntimeException",()=>ee);class ee extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class et{constructor(e){if(this.index=0,g(e))throw new ee("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}}var er={};t(er,"FunctionSignature",()=>es);class es{static #e=(()=>{this.SCHEMA_NAME="FunctionSignature"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(es.SCHEMA_NAME).setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofObject("parameters").setAdditionalProperties(new v().setSchemaValue(F.SCHEMA))],["events",U.ofObject("events").setAdditionalProperties(new v().setSchemaValue(z.SCHEMA))]]))})();constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof es?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new F(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new z(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}}var en={};t(en,"AbstractFunction",()=>eB);var ea={};t(ea,"SchemaValidator",()=>eY);var ei={};t(ei,"deepEqual",()=>eh);var eo={};t(eo,"LinkedList",()=>eA);var eE={};t(eE,"StringFormatter",()=>eu);class eu{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class eA{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 el(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new el(t);this.length=e.length}}push(e){let t=new el(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 ee(eu.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 el(e,this.head),this.head.next=this.tail):(this.tail=new el(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new el(e),this}map(e,t){let r=new eA,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(eh(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class el{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function eh(e,t){let r=new eA;r.push(e);let s=new eA;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}var eg={};t(eg,"StringUtil",()=>em);class em{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new ee("String cannot be null");if(r<0||r>=e.length)throw new ee(eu.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new ee(eu.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)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 isNullOrBlank(e){return!e||""==e.trim()}}var eR={};t(eR,"SchemaUtil",()=>eS);var ep={};t(ep,"Tuple2",()=>eT),t(ep,"Tuple3",()=>ec),t(ep,"Tuple4",()=>eN);class eT{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 ec extends eT{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 eN extends ec{constructor(e,t,r,s){super(e,t,r),this.fr=s}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}}var ef={};t(ef,"SchemaValidationException",()=>e_);class e_ extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class eS{static #e=(()=>{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"})();static #t=(()=>{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20})();static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():g(e.getDefaultValue())?eS.getDefaultValue(await eS.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!g(e.getDefaultValue())?Promise.resolve(!0):g(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(r.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,s=0){if(++s==eS.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new e_(r??"","Schema has a cyclic reference");if(!e||!r||em.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await eS.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(eS.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,s,n,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 G(s,eS.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(r.OBJECT)||!o.getProperties()))throw new G(s,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!em.isNullOrBlank(o.getRef())&&!(o=await eS.getSchemaFromRef(o,t,o.getRef(),n)))throw new G(s,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 s=em.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=em.splitAtFirstOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new eT(a,r));if(r="#/"+s[1],!a)throw new G(r,eS.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new eT(a,r))}constructor(){}}var eM={};t(eM,"AnyOfAllOfOneOfValidator",()=>eO);class eO{static validate(e,t,r,s){let n=[];return t.getOneOf()&&!t.getOneOf()?eO.oneOf(e,t,r,s,n):t.getAllOf()&&!t.getAllOf()?eO.allOf(e,t,r,s,n):t.getAnyOf()&&!t.getAnyOf()&&eO.anyOf(e,t,r,s,n),s}static anyOf(e,t,r,s,n){let a=!1;for(let i of t.getAnyOf()??[])try{eO.validate(e,i,r,s),a=!0;break}catch(e){a=!1,n.push(e)}if(!a)throw new e_(eY.path(e),"The value don't satisfy any of the schemas.",n)}static allOf(e,t,r,s,n){let a=0;for(let i of t.getAllOf()??[])try{eO.validate(e,i,r,s),a++}catch(e){n.push(e)}if(a!==t.getAllOf()?.length)throw new e_(eY.path(e),"The value doesn't satisfy some of the schemas.",n)}static oneOf(e,t,r,s,n){let a=0;for(let i of t.getOneOf()??[])try{eO.validate(e,i,r,s),a++}catch(e){n.push(e)}if(1!=a)throw new e_(eY.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}var ew={};t(ew,"TypeValidator",()=>eF);var eI={};t(eI,"ArrayValidator",()=>ed);class ed{static async validate(e,t,r,s){if(g(s))throw new e_(eY.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new e_(eY.path(e),s.toString()+" is not an Array");return ed.checkMinMaxItems(e,t,s),await ed.checkItems(e,t,r,s),ed.checkUniqueItems(e,t,s),await ed.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(g(e.getContains()))return;let n=await ed.countContains(t,e,r,s,g(e.getMinContains())&&g(e.getMaxContains()));if(0===n)throw new e_(eY.path(t),"None of the items are of type contains schema");if(!g(e.getMinContains())&&e.getMinContains()>n)throw new e_(eY.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!g(e.getMaxContains())&&e.getMaxContains()<n)throw new e_(eY.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await eY.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new e_(eY.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new e_(eY.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new e_(eY.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s){if(!t.getItems())return;let n=t.getItems();if(n.getSingleSchema())for(let t=0;t<s.length;t++){let a=e?[...e]:[],i=await eY.validate(a,n.getSingleSchema(),r,s[t]);s[t]=i}if(n.getTupleSchema()){if(n.getTupleSchema().length!==s.length&&g(t?.getAdditionalItems()))throw new e_(eY.path(e),"Expected an array with only "+n.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,n),await this.checkAdditionalItems(e,t,r,s,n)}}static async checkItemsInTupleSchema(e,t,r,s){for(let n=0;n<s.getTupleSchema()?.length;n++){let a=e?[...e]:[],i=await eY.validate(a,s.getTupleSchema()[n],t,r[n]);r[n]=i}}static async checkAdditionalItems(e,t,r,s,n){if(!g(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=U.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new e_(eY.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[],i=await eY.validate(n,a,r,s[t]);s[t]=i}}constructor(){}}var eP={};t(eP,"BooleanValidator",()=>ey);class ey{static validate(e,t,r){if(g(r))throw new e_(eY.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new e_(eY.path(e),r.toString()+" is not a boolean");return r}constructor(){}}var ex={};t(ex,"NullValidator",()=>eL);class eL{static validate(e,t,r){if(g(r))return r;throw new e_(eY.path(e),"Expected a null but found "+r)}constructor(){}}var ev={};t(ev,"NumberValidator",()=>eU);class eU{static validate(e,t,r,s){if(g(s))throw new e_(eY.path(t),"Expected a number but found null");if("number"!=typeof s)throw new e_(eY.path(t),s.toString()+" is not a "+e);let n=eU.extractNumber(e,t,r,s);return eU.checkRange(t,r,s,n),eU.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,s,n){let a=n;try{(e==r.LONG||e==r.INTEGER)&&(a=Math.round(a))}catch(r){throw new e_(eY.path(t),n+" is not a number of type "+e,r)}if(g(a)||(e==r.LONG||e==r.INTEGER)&&a!=n)throw new e_(eY.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new e_(eY.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!g(t.getMinimum())&&0>eU.numberCompare(s,t.getMinimum()))throw new e_(eY.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!g(t.getMaximum())&&eU.numberCompare(s,t.getMaximum())>0)throw new e_(eY.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!g(t.getExclusiveMinimum())&&0>=eU.numberCompare(s,t.getExclusiveMinimum()))throw new e_(eY.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!g(t.getExclusiveMaximum())&&eU.numberCompare(s,t.getExclusiveMaximum())>0)throw new e_(eY.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}var eV={};t(eV,"ObjectValidator",()=>eC);class eC{static async validate(e,t,r,s){if(g(s))throw new e_(eY.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new e_(eY.path(e),s.toString()+" is not an Object");let n=new Set(Object.keys(s));eC.checkMinMaxProperties(e,t,n),t.getPropertyNames()&&await eC.checkPropertyNameSchema(e,t,r,n),t.getRequired()&&eC.checkRequired(e,t,s),t.getProperties()&&await eC.checkProperties(e,t,r,s,n),t.getPatternProperties()&&await eC.checkPatternProperties(e,t,r,s,n),t.getAdditionalProperties()&&await eC.checkAddtionalProperties(e,t,r,s,n)}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await eY.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new e_(eY.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(g(r[s]))throw new e_(eY.path(e),s+" is mandatory")}static async checkAddtionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[],i=await eY.validate(n,a.getSchemaValue(),r,s[t]);s[t]=i}else if(!1===a.getBooleanValue()&&n.size)throw new e_(eY.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){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(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){let a=await eY.validate(o,t.getPatternProperties().get(e[0]),r,s[i]);s[i]=a,n.delete(i);break}}}static async checkProperties(e,t,r,s,n){for(let a of Array.from(t.getProperties())){let t=s[a[0]];if(!s.hasOwnProperty(a[0])&&g(t)){let e=await eS.getDefaultValue(a[1],r);if(g(e))continue}let i=e?[...e]:[],o=await eY.validate(i,a[1],r,t);s[a[0]]=o,n.delete(a[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new e_(eY.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new e_(eY.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}var eG={};t(eG,"StringValidator",()=>eD);var eb={};t(eb,"StringFormat",()=>n),function(e){e.DATETIME="DATETIME",e.TIME="TIME",e.DATE="DATE",e.EMAIL="EMAIL",e.REGEX="REGEX"}(n||(n={}));class eD{static #e=(()=>{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #t=(()=>{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/})();static #r=(()=>{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 #s=(()=>{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/})();static validate(e,t,r){if(g(r))throw new e_(eY.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new e_(eY.path(e),r.toString()+" is not String");t.getFormat()==n.TIME?eD.patternMatcher(e,t,r,eD.TIME,"time pattern"):t.getFormat()==n.DATE?eD.patternMatcher(e,t,r,eD.DATE,"date pattern"):t.getFormat()==n.DATETIME?eD.patternMatcher(e,t,r,eD.DATETIME,"date time pattern"):t.getFormat()==n.EMAIL?eD.patternMatcher(e,t,r,eD.EMAIL,"email pattern"):t.getPattern()&&eD.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new e_(eY.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new e_(eY.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new e_(eY.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}class eF{static async validate(e,t,s,n,a){if(t==r.STRING)eD.validate(e,s,a);else if(t==r.LONG||t==r.INTEGER||t==r.DOUBLE||t==r.FLOAT)eU.validate(t,e,s,a);else if(t==r.BOOLEAN)ey.validate(e,s,a);else if(t==r.OBJECT)await eC.validate(e,s,n,a);else if(t==r.ARRAY)await ed.validate(e,s,n,a);else if(t==r.NULL)eL.validate(e,s,a);else throw new e_(eY.path(e),t+" is not a valid type.");return a}constructor(){}}class eY{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,s){if(!t)throw new e_(eY.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),g(s)&&!g(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!g(t.getConstant()))return eY.constantValidation(e,t,s);if(t.getEnums()&&!t.getEnums()?.length)return eY.enumCheck(e,t,s);if(t.getFormat()&&g(t.getType()))throw new e_(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&await eY.typeValidation(e,t,r,s),!em.isNullOrBlank(t.getRef()))return await eY.validate(e,await eS.getSchemaFromRef(e[0],r,t.getRef()),r,s);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&eO.validate(e,t,r,s),t.getNot()){let n=!1;try{await eY.validate(e,t.getNot(),r,s),n=!0}catch(e){n=!1}if(n)throw new e_(eY.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!eh(t.getConstant(),r))throw new e_(eY.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new e_(eY.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s){let n,a=!1,i=[];for(n of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{await eF.validate(e,n,t,r,s),a=!0;break}catch(e){a=!1,i.push(e)}if(!a)throw new e_(eY.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",i)}constructor(){}}class eB{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new ee(`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 s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(g(i)&&!s.isVariableArgument())return new eT(a,await eY.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new eT(a,await eY.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],g(i)?g(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await eY.validate(void 0,s.getSchema(),t,n[e]);return new eT(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return this.internalExecute(e)}catch(r){let t=this.getSignature();throw new ee(`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 eH extends eB{static #e=(()=>{this.EVENT_INDEX_NAME="index"})();static #t=(()=>{this.EVENT_RESULT_NAME="result"})();static #r=(()=>{this.EVENT_INDEX=new z(z.OUTPUT,X.of(eH.EVENT_INDEX_NAME,U.ofInteger(eH.EVENT_INDEX_NAME)))})();static #s=(()=>{this.EVENT_RESULT_INTEGER=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofInteger(eH.EVENT_RESULT_NAME)))})();static #n=(()=>{this.EVENT_RESULT_BOOLEAN=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofBoolean(eH.EVENT_RESULT_NAME)))})();static #a=(()=>{this.EVENT_RESULT_ARRAY=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofArray(eH.EVENT_RESULT_NAME,U.ofAny(eH.EVENT_RESULT_NAME))))})();static #i=(()=>{this.EVENT_RESULT_EMPTY=new z(z.OUTPUT,X.of())})();static #o=(()=>{this.EVENT_RESULT_ANY=new z(z.OUTPUT,X.of(this.EVENT_RESULT_NAME,U.ofAny(this.EVENT_RESULT_NAME)))})();static #E=(()=>{this.EVENT_RESULT_OBJECT=new z(z.OUTPUT,X.of(this.EVENT_RESULT_NAME,U.ofObject(this.EVENT_RESULT_NAME)))})();static #u=(()=>{this.PARAMETER_INT_LENGTH=F.of("length",U.ofInteger("length").setDefaultValue(-1))})();static #A=(()=>{this.PARAMETER_ARRAY_FIND=F.of("find",U.ofArray("eachFind",U.ofAny("eachFind")))})();static #l=(()=>{this.PARAMETER_INT_SOURCE_FROM=F.of("srcFrom",U.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))})();static #h=(()=>{this.PARAMETER_INT_SECOND_SOURCE_FROM=F.of("secondSrcFrom",U.ofInteger("secondSrcFrom").setDefaultValue(0))})();static #g=(()=>{this.PARAMETER_INT_FIND_FROM=F.of("findFrom",U.ofInteger("findFrom").setDefaultValue(0))})();static #m=(()=>{this.PARAMETER_INT_OFFSET=F.of("offset",U.ofInteger("offset").setDefaultValue(0))})();static #R=(()=>{this.PARAMETER_ROTATE_LENGTH=F.of("rotateLength",U.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))})();static #p=(()=>{this.PARAMETER_BOOLEAN_ASCENDING=F.of("ascending",U.ofBoolean("ascending").setDefaultValue(!0))})();static #T=(()=>{this.PARAMETER_KEY_PATH=F.of("keyPath",U.ofString("keyPath").setDefaultValue(""))})();static #c=(()=>{this.PARAMETER_FIND_PRIMITIVE=F.of("findPrimitive",U.of("findPrimitive",r.STRING,r.DOUBLE,r.FLOAT,r.INTEGER,r.LONG))})();static #N=(()=>{this.PARAMETER_ARRAY_SOURCE=F.of("source",U.ofArray("eachSource",U.ofAny("eachSource")))})();static #f=(()=>{this.PARAMETER_ARRAY_SECOND_SOURCE=F.of("secondSource",U.ofArray("eachSecondSource",U.ofAny("eachSecondSource")))})();static #_=(()=>{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=F.of("source",U.ofArray("eachSource",new U().setName("eachSource").setType(M.of(r.STRING,r.NULL,r.INTEGER,r.FLOAT,r.DOUBLE,r.LONG))))})();static #S=(()=>{this.PARAMETER_BOOLEAN_DEEP_COPY=F.of("deepCopy",U.ofBoolean("deepCopy").setDefaultValue(!0))})();static #M=(()=>{this.PARAMETER_ANY=F.of("element",U.ofAny("element"))})();static #O=(()=>{this.PARAMETER_ANY_NOT_NULL=F.of("elementObject",U.ofAnyNotNull("elementObject"))})();static #w=(()=>{this.PARAMETER_ANY_VAR_ARGS=F.of("element",U.ofAny("element")).setVariableArgument(!0)})();static #I=(()=>{this.PARAMETER_ARRAY_RESULT=F.of(eH.EVENT_RESULT_NAME,U.ofArray("eachResult",U.ofAny("eachResult")))})();constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new es(e).setNamespace(A.SYSTEM_ARRAY).setParameters(s).setEvents(X.of(r.getName(),r))}getSignature(){return this.signature}}class ek extends eH{constructor(){super("Concatenate",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ARRAY_SECOND_SOURCE],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,[...t,...r]]]))])}}class e$ extends eH{constructor(){super("AddFirst",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new et([K.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}const ej="keyName";class eX extends eH{constructor(){super("ArrayToArrayOfObjects",[eH.PARAMETER_ARRAY_SOURCE,F.of(ej,U.ofString(ej),!0)],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej);if(!t?.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});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 et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,s]]))])}}var eW={};t(eW,"PrimitiveUtil",()=>ez);var eq={};t(eq,"ExecutionException",()=>eJ);class eJ extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class ez{static findPrimitiveNullAsBoolean(e){if(g(e))return new eT(r.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new eJ(eu.format("$ is not a primitive type",e));return"boolean"===t?new eT(r.BOOLEAN,e):"string"===t?new eT(r.STRING,e):ez.findPrimitiveNumberType(e)}static findPrimitive(e){if(g(e))return new eT(r.NULL,void 0);let t=typeof e;if("object"===t)throw new eJ(eu.format("$ is not a primitive type",e));return"boolean"===t?new eT(r.BOOLEAN,e):"string"===t?new eT(r.STRING,e):ez.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(g(e)||Array.isArray(e)||"object"==typeof e)throw new eJ(eu.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new eT(r.LONG,e);return new eT(r.DOUBLE,e)}catch(t){throw new eJ(eu.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(g(e)||g(t))return g(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 s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return g(e)||g(t)?g(e)&&g(t)?0:g(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)?r.LONG:r.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eK extends eH{constructor(){super("BinarySearch",[eK.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eK.PARAMETER_INT_SOURCE_FROM,eK.PARAMETER_FIND_PRIMITIVE,eK.PARAMETER_INT_LENGTH],eK.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eK.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(eK.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new ee("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new ee("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==ez.compare(t[e],s)){a=e;break}ez.compare(t[e],s)>0?n=e-1:r=e+1}return new et([K.outputOf(new Map([[eK.EVENT_INDEX_NAME,a]]))])}}var eQ={};t(eQ,"ArrayUtil",()=>eZ);class eZ{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 e0 extends eH{constructor(){super("Compare",eZ.of(e0.PARAMETER_ARRAY_SOURCE,e0.PARAMETER_INT_SOURCE_FROM,e0.PARAMETER_ARRAY_FIND,e0.PARAMETER_INT_FIND_FROM,e0.PARAMETER_INT_LENGTH),e0.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(e0.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e0.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e0.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(e0.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(e0.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new ee("Compare source array cannot be empty");if(0==s.length)throw new ee("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new ee(eu.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new ee(eu.format("Find array size $ is less than comparing size $",s.length,n+a));return new et(eZ.of(K.outputOf(X.of(e0.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new ee(eu.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(g(e[a])||g(s[i])){let r=g(e[a]);r==g(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}var e1={};function e2(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}t(e1,"duplicate",()=>e2);class e9 extends eH{constructor(){super("Copy",[e9.PARAMETER_ARRAY_SOURCE,e9.PARAMETER_INT_SOURCE_FROM,e9.PARAMETER_INT_LENGTH,e9.PARAMETER_BOOLEAN_DEEP_COPY],e9.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(e9.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e9.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e9.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee(eu.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(e9.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)g(t[e])||(a[e-r]=n?e2(t[e]):t[e]);return new et([K.outputOf(X.of(e9.EVENT_RESULT_NAME,a))])}}class e4 extends eH{constructor(){super("Delete",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY_VAR_ARGS],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e4.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e4.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new ee("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new ee("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=ez.compare(t[e],r[n])||s.add(t[e]);return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class e3 extends eH{constructor(){super("DeleteFirst",[e3.PARAMETER_ARRAY_SOURCE],e3.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e3.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new ee("Given source array is empty");return(t=[...t]).shift(),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e5 extends eH{constructor(){super("DeleteFrom",[e5.PARAMETER_ARRAY_SOURCE,e5.PARAMETER_INT_SOURCE_FROM,e5.PARAMETER_INT_LENGTH],e5.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e5.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e5.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e5.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new ee("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new ee("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e6 extends eH{constructor(){super("DeleteLast",[e6.PARAMETER_ARRAY_SOURCE],e6.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e6.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new ee("Given source array is empty");return(t=[...t]).pop(),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e7 extends eH{constructor(){super("Disjoint",[e7.PARAMETER_ARRAY_SOURCE,e7.PARAMETER_INT_SOURCE_FROM,e7.PARAMETER_ARRAY_SECOND_SOURCE,e7.PARAMETER_INT_SECOND_SOURCE_FROM,e7.PARAMETER_INT_LENGTH],e7.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e7.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e7.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e7.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(e7.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(e7.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new ee("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(s[e+n]);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 et([K.outputOf(new Map([[e7.EVENT_RESULT_NAME,[...E]]]))])}}class e8 extends eH{constructor(){super("Equals",[e8.PARAMETER_ARRAY_SOURCE,e8.PARAMETER_INT_SOURCE_FROM,e8.PARAMETER_ARRAY_FIND,e8.PARAMETER_INT_FIND_FROM,e8.PARAMETER_INT_LENGTH],e8.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new e0,r=(await t.execute(e)).allResults()[0].getResult().get(e8.EVENT_RESULT_NAME);return new et([K.outputOf(X.of(e8.EVENT_RESULT_NAME,0==r))])}}class te extends eH{constructor(){super("Fill",[te.PARAMETER_ARRAY_SOURCE,te.PARAMETER_INT_SOURCE_FROM,te.PARAMETER_INT_LENGTH,te.PARAMETER_ANY],te.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(te.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(te.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(te.PARAMETER_ANY.getParameterName());if(r<0)throw new ee(eu.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=g(n)?n:e2(n);return new et([K.outputOf(X.of(eH.EVENT_RESULT_NAME,t))])}}class tt extends eH{constructor(){super("Frequency",[tt.PARAMETER_ARRAY_SOURCE,tt.PARAMETER_ANY,tt.PARAMETER_INT_SOURCE_FROM,tt.PARAMETER_INT_LENGTH],tt.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tt.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tt.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(tt.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(tt.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tt.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new ee("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new ee("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==ez.compare(t[e],r)&&i++;return new et([K.outputOf(new Map([[tt.EVENT_RESULT_NAME,i]]))])}}class tr extends eH{constructor(){super("IndexOf",[tr.PARAMETER_ARRAY_SOURCE,tr.PARAMETER_ANY_NOT_NULL,tr.PARAMETER_INT_FIND_FROM],tr.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tr.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tr.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(tr.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tr.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new ee("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==ez.compare(t[e],r)){n=e;break}return new et([K.outputOf(new Map([[tr.EVENT_RESULT_NAME,n]]))])}}class ts extends eH{constructor(){super("IndexOfArray",[ts.PARAMETER_ARRAY_SOURCE,ts.PARAMETER_ARRAY_SECOND_SOURCE,ts.PARAMETER_INT_FIND_FROM],ts.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ts.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ts.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ts.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new et([K.outputOf(new Map([[ts.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new ee("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==ez.compare(t[e],r[s])){for(;s<n&&0==ez.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new et([K.outputOf(new Map([[ts.EVENT_RESULT_NAME,a]]))])}}class tn extends eH{constructor(){super("LastIndexOf",[tn.PARAMETER_ARRAY_SOURCE,tn.PARAMETER_ANY_NOT_NULL,tn.PARAMETER_INT_FIND_FROM],tn.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tn.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tn.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(tn.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tn.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new ee("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==ez.compare(t[e],r)){n=e;break}return new et([K.outputOf(new Map([[tn.EVENT_RESULT_NAME,n]]))])}}class ta extends eH{constructor(){super("LastIndexOfArray",[ta.PARAMETER_ARRAY_SOURCE,ta.PARAMETER_ARRAY_SECOND_SOURCE,ta.PARAMETER_INT_FIND_FROM],ta.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ta.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ta.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ta.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[ta.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new ee("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==ez.compare(t[e],r[s])){for(;s<n&&0==ez.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new et([K.outputOf(new Map([[ta.EVENT_RESULT_NAME,a]]))])}}class ti extends eH{constructor(){super("Max",[ti.PARAMETER_ARRAY_SOURCE_PRIMITIVE],ti.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(ti.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new ee("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];ez.comparePrimitive(r,s)>=0||(r=s)}return new et([K.outputOf(new Map([[ti.EVENT_RESULT_NAME,r]]))])}}class to extends eH{constructor(){super("Min",[to.PARAMETER_ARRAY_SOURCE_PRIMITIVE],to.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(to.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new ee("Search source array cannot be empty");for(let e=0;e<r.length;e++)!g(r[e])&&(void 0===t||0>ez.comparePrimitive(r[e],t))&&(t=r[e]);return new et([K.outputOf(new Map([[to.EVENT_RESULT_NAME,t]]))])}}class tE extends eH{constructor(){super("MisMatch",[tE.PARAMETER_ARRAY_SOURCE,tE.PARAMETER_INT_FIND_FROM,tE.PARAMETER_ARRAY_SECOND_SOURCE,tE.PARAMETER_INT_SECOND_SOURCE_FROM,tE.PARAMETER_INT_LENGTH],tE.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tE.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(tE.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(tE.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new ee("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]!=s[o+e]){E=e;break}return new et([K.outputOf(new Map([[tE.EVENT_RESULT_NAME,E]]))])}}class tu extends eH{constructor(){super("Reverse",[tu.PARAMETER_ARRAY_SOURCE,tu.PARAMETER_INT_SOURCE_FROM,tu.PARAMETER_INT_LENGTH],tu.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tu.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tu.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tu.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new ee("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new et([K.outputOf(new Map([[tu.EVENT_RESULT_NAME,t]]))])}}class tA extends eH{constructor(){super("Rotate",[tA.PARAMETER_ARRAY_SOURCE,tA.PARAMETER_ROTATE_LENGTH],tA.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tA.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tA.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class tl extends eH{constructor(){super("Shuffle",[tl.PARAMETER_ARRAY_SOURCE],tl.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tl.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}var th={};t(th,"ObjectValueSetterExtractor",()=>td);var tg={};t(tg,"Expression",()=>tO);var tm={};t(tm,"StringBuilder",()=>tR);class tR{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 ee(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}var tp={};t(tp,"ExpressionEvaluationException",()=>tT);class tT extends Error{constructor(e,t,r){super(eu.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}var tc={};t(tc,"ExpressionToken",()=>tN);class tN{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}var tf={};t(tf,"ExpressionTokenValue",()=>t_);class t_ extends tN{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return eu.format("$: $",this.expression,this.element)}}var tS={};t(tS,"Operation",()=>tM);class tM{static #e=(()=>{this.MULTIPLICATION=new tM("*")})();static #t=(()=>{this.DIVISION=new tM("/")})();static #r=(()=>{this.INTEGER_DIVISION=new tM("//")})();static #s=(()=>{this.MOD=new tM("%")})();static #n=(()=>{this.ADDITION=new tM("+")})();static #a=(()=>{this.SUBTRACTION=new tM("-")})();static #i=(()=>{this.NOT=new tM("not",void 0,!0)})();static #o=(()=>{this.AND=new tM("and",void 0,!0)})();static #E=(()=>{this.OR=new tM("or",void 0,!0)})();static #u=(()=>{this.LESS_THAN=new tM("<")})();static #A=(()=>{this.LESS_THAN_EQUAL=new tM("<=")})();static #l=(()=>{this.GREATER_THAN=new tM(">")})();static #h=(()=>{this.GREATER_THAN_EQUAL=new tM(">=")})();static #g=(()=>{this.EQUAL=new tM("=")})();static #m=(()=>{this.NOT_EQUAL=new tM("!=")})();static #R=(()=>{this.BITWISE_AND=new tM("&")})();static #p=(()=>{this.BITWISE_OR=new tM("|")})();static #T=(()=>{this.BITWISE_XOR=new tM("^")})();static #c=(()=>{this.BITWISE_COMPLEMENT=new tM("~")})();static #N=(()=>{this.BITWISE_LEFT_SHIFT=new tM("<<")})();static #f=(()=>{this.BITWISE_RIGHT_SHIFT=new tM(">>")})();static #_=(()=>{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new tM(">>>")})();static #S=(()=>{this.UNARY_PLUS=new tM("UN: +","+")})();static #M=(()=>{this.UNARY_MINUS=new tM("UN: -","-")})();static #O=(()=>{this.UNARY_LOGICAL_NOT=new tM("UN: not","not")})();static #w=(()=>{this.UNARY_BITWISE_COMPLEMENT=new tM("UN: ~","~")})();static #I=(()=>{this.ARRAY_OPERATOR=new tM("[")})();static #d=(()=>{this.OBJECT_OPERATOR=new tM(".")})();static #P=(()=>{this.NULLISH_COALESCING_OPERATOR=new tM("??")})();static #y=(()=>{this.CONDITIONAL_TERNARY_OPERATOR=new tM("?")})();static #x=(()=>{this.VALUE_OF=new Map([["MULTIPLICATION",tM.MULTIPLICATION],["DIVISION",tM.DIVISION],["INTEGER_DIVISON",tM.INTEGER_DIVISION],["MOD",tM.MOD],["ADDITION",tM.ADDITION],["SUBTRACTION",tM.SUBTRACTION],["NOT",tM.NOT],["AND",tM.AND],["OR",tM.OR],["LESS_THAN",tM.LESS_THAN],["LESS_THAN_EQUAL",tM.LESS_THAN_EQUAL],["GREATER_THAN",tM.GREATER_THAN],["GREATER_THAN_EQUAL",tM.GREATER_THAN_EQUAL],["EQUAL",tM.EQUAL],["NOT_EQUAL",tM.NOT_EQUAL],["BITWISE_AND",tM.BITWISE_AND],["BITWISE_OR",tM.BITWISE_OR],["BITWISE_XOR",tM.BITWISE_XOR],["BITWISE_COMPLEMENT",tM.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",tM.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",tM.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",tM.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",tM.UNARY_PLUS],["UNARY_MINUS",tM.UNARY_MINUS],["UNARY_LOGICAL_NOT",tM.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",tM.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",tM.ARRAY_OPERATOR],["OBJECT_OPERATOR",tM.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",tM.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",tM.CONDITIONAL_TERNARY_OPERATOR]])})();static #L=(()=>{this.UNARY_OPERATORS=new Set([tM.ADDITION,tM.SUBTRACTION,tM.NOT,tM.BITWISE_COMPLEMENT,tM.UNARY_PLUS,tM.UNARY_MINUS,tM.UNARY_LOGICAL_NOT,tM.UNARY_BITWISE_COMPLEMENT])})();static #v=(()=>{this.ARITHMETIC_OPERATORS=new Set([tM.MULTIPLICATION,tM.DIVISION,tM.INTEGER_DIVISION,tM.MOD,tM.ADDITION,tM.SUBTRACTION])})();static #U=(()=>{this.LOGICAL_OPERATORS=new Set([tM.NOT,tM.AND,tM.OR,tM.LESS_THAN,tM.LESS_THAN_EQUAL,tM.GREATER_THAN,tM.GREATER_THAN_EQUAL,tM.EQUAL,tM.NOT_EQUAL,tM.NULLISH_COALESCING_OPERATOR])})();static #V=(()=>{this.BITWISE_OPERATORS=new Set([tM.BITWISE_AND,tM.BITWISE_COMPLEMENT,tM.BITWISE_LEFT_SHIFT,tM.BITWISE_OR,tM.BITWISE_RIGHT_SHIFT,tM.BITWISE_UNSIGNED_RIGHT_SHIFT,tM.BITWISE_XOR])})();static #C=(()=>{this.CONDITIONAL_OPERATORS=new Set([tM.CONDITIONAL_TERNARY_OPERATOR])})();static #G=(()=>{this.OPERATOR_PRIORITY=new Map([[tM.UNARY_PLUS,1],[tM.UNARY_MINUS,1],[tM.UNARY_LOGICAL_NOT,1],[tM.UNARY_BITWISE_COMPLEMENT,1],[tM.ARRAY_OPERATOR,1],[tM.OBJECT_OPERATOR,1],[tM.MULTIPLICATION,2],[tM.DIVISION,2],[tM.INTEGER_DIVISION,2],[tM.MOD,2],[tM.ADDITION,3],[tM.SUBTRACTION,3],[tM.BITWISE_LEFT_SHIFT,4],[tM.BITWISE_RIGHT_SHIFT,4],[tM.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[tM.LESS_THAN,5],[tM.LESS_THAN_EQUAL,5],[tM.GREATER_THAN,5],[tM.GREATER_THAN_EQUAL,5],[tM.EQUAL,6],[tM.NOT_EQUAL,6],[tM.BITWISE_AND,7],[tM.BITWISE_XOR,8],[tM.BITWISE_OR,9],[tM.AND,10],[tM.OR,11],[tM.NULLISH_COALESCING_OPERATOR,11],[tM.CONDITIONAL_TERNARY_OPERATOR,12]])})();static #b=(()=>{this.OPERATORS=new Set([...Array.from(tM.ARITHMETIC_OPERATORS),...Array.from(tM.LOGICAL_OPERATORS),...Array.from(tM.BITWISE_OPERATORS),tM.ARRAY_OPERATOR,tM.OBJECT_OPERATOR,...Array.from(tM.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))})();static #D=(()=>{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(tM.ARITHMETIC_OPERATORS),...Array.from(tM.LOGICAL_OPERATORS),...Array.from(tM.BITWISE_OPERATORS),tM.ARRAY_OPERATOR,tM.OBJECT_OPERATOR,...Array.from(tM.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))})();static #F=(()=>{this.OPERATION_VALUE_OF=new Map(Array.from(tM.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))})();static #Y=(()=>{this.UNARY_MAP=new Map([[tM.ADDITION,tM.UNARY_PLUS],[tM.SUBTRACTION,tM.UNARY_MINUS],[tM.NOT,tM.UNARY_LOGICAL_NOT],[tM.BITWISE_COMPLEMENT,tM.UNARY_BITWISE_COMPLEMENT],[tM.UNARY_PLUS,tM.UNARY_PLUS],[tM.UNARY_MINUS,tM.UNARY_MINUS],[tM.UNARY_LOGICAL_NOT,tM.UNARY_LOGICAL_NOT],[tM.UNARY_BITWISE_COMPLEMENT,tM.UNARY_BITWISE_COMPLEMENT]])})();static #B=(()=>{this.BIGGEST_OPERATOR_SIZE=Array.from(tM.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 tM.VALUE_OF.get(e)}toString(){return this.operator}}class tO extends tN{constructor(e,t,r,s){super(e||""),this.tokens=new eA,this.ops=new eA,t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new tR(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new tT(this.expression,"Extra closing parenthesis found");case"]":throw new tT(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tM.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tM.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!em.isNullOrBlank(e)){if(tM.OPERATORS.has(e))throw new tT(this.expression,"Expression is ending with an operator");this.tokens.push(new tN(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new tT(this.expression,"Missing string ending marker "+t);let a=new eT(n,!1);return this.tokens.push(new t_(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new tO(t.toString())),t.setLength(0),new eT(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<tM.BIGGEST_OPERATOR_SIZE?i:tM.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(tM.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return em.isNullOrBlank(s)||(this.tokens.push(new tN(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new eT(n+e-1,a)}return r.append(e),new eT(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new tT(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new tO(r)),t.setLength(0)),++s;let a=1,i="",o=s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new tT(this.expression,"':' operater is missing");if(s>=e)throw new tT(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(tM.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(tM.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new tO("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new tO("",r,t,e))}}this.ops.push(tM.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new tO(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new tT(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new tO(E)),e-1}processSubExpression(e,t,r,s,n){if(tM.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!em.isNullOrBlank(r))throw new tT(this.expression,eu.format("Unkown token : $ found.",r));let a=1,i=new tR,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new tT(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 tO(i.toString().trim())),s}processTokenSepearator(e,t,r){return em.isNullOrBlank(t)||(tM.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new tN(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(tM.UNARY_OPERATORS.has(r)){let e=tM.UNARY_MAP.get(r);e&&t.push(e)}else throw new tT(this.expression,eu.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(tM.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new tO("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new tO("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=tM.OPERATOR_PRIORITY.get(e),s=tM.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new tR,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof tO?s[t].toString():s[t]).append(")"),t++;else if(r[n]==tM.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}var tw={};t(tw,"TokenValueExtractor",()=>tI);class tI{static #e=(()=>{this.REGEX_SQUARE_BRACKETS=/[\[\]]/})();static #t=(()=>{this.REGEX_DOT=/\./})();getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new ee(eu.format("Token $ doesn't start with $",e,t));return this.getValueInternal(e)}retrieveElementFrom(e,t,r,s){if(g(s))return;if(t.length==r)return s;let n=t[r].split(tI.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!em.isNullOrBlank(e)).reduce((s,n,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s,a),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a){if(!g(n)){if(0===a){if("length"===s){let e=typeof n;if("string"===e||Array.isArray(n))return n.length;if("object"===e)return Object.keys(n).length}if(Array.isArray(n))try{let e=parseInt(s);if(isNaN(e))throw Error(eu.format("$ is not a number",e));if(e>=n.length)return;return n[e]}catch(t){throw new tT(e,eu.format("$ couldn't be parsed into integer in $",s,e),t)}return this.checkIfObject(e,t,r,n),n[s]}if(s?.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new tT(e,eu.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,n),n[s.substring(1,s.length-1)]}try{let t=parseInt(s);if(isNaN(t))throw Error(eu.format("$ is not a number",t));if(!Array.isArray(n))throw new tT(e,eu.format("Expecting an array with index $ while processing the expression",t,e));if(t>=n.length)return;return n[t]}catch(t){throw new tT(e,eu.format("$ couldn't be parsed into integer in $",s,e),t)}}}checkIfObject(e,t,r,s){if("object"!=typeof s||Array.isArray(s))throw new tT(e,eu.format("Unable to retrive $ from $ in the path $",t[r],s.toString(),e))}}class td extends tI{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(tI.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,s=!1){this.store=e2(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new tO(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof t_?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==tM.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof t_?E.getElement():E.getExpression();o==tM.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tM.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tM.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new ee(eu.format("Expected an array index but found $",t));if(a<0)throw new ee(eu.format("Array index is out of bound - $",t));(s||g(e[a]))&&(n&&g(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));(s||g(e[t]))&&(n&&g(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class tP extends eH{constructor(){super("Sort",[tP.PARAMETER_ARRAY_SOURCE,tP.PARAMETER_INT_FIND_FROM,tP.PARAMETER_INT_LENGTH,tP.PARAMETER_BOOLEAN_ASCENDING,tP.PARAMETER_KEY_PATH],tP.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tP.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tP.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tP.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tP.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(tP.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new ee("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new td({},"Data.");return i.sort((e,t)=>{if("object"==typeof e&&"object"==typeof t&&a.length){o.setStore({a:e,b:t});let r=o.getValue("Data.a."+a),s=o.getValue("Data.b."+a);return ty(r,s,n)}return ty(e,t,n)}),t.splice(r,s,...i),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}function ty(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class tx extends eH{constructor(){super("SubArray",[tx.PARAMETER_ARRAY_SOURCE,tx.PARAMETER_INT_FIND_FROM,tx.PARAMETER_INT_LENGTH],tx.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tx.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tx.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tx.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new et([K.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new ee("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 n=t.slice(r,r+s);return new et([K.outputOf(new Map([[tx.EVENT_RESULT_NAME,n]]))])}}class tL extends eH{constructor(){super("Insert",[tL.PARAMETER_ARRAY_SOURCE,tL.PARAMETER_INT_OFFSET,tL.PARAMETER_ANY],tL.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tL.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tL.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(tL.PARAMETER_ANY.getParameterName());if(g(s)||g(r)||r>t.length)throw new ee("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class tv extends eH{constructor(){super("InsertLast",[tv.PARAMETER_ARRAY_SOURCE,tv.PARAMETER_ANY],tv.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tv.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tv.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class tU extends eH{constructor(){super("RemoveDuplicates",[tU.PARAMETER_ARRAY_SOURCE,tU.PARAMETER_INT_SOURCE_FROM,tU.PARAMETER_INT_LENGTH],tU.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tU.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tU.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tU.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee(eu.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(eh(n[e],n[t])){n.splice(e,1);break}return new et([K.outputOf(X.of(tU.EVENT_RESULT_NAME,n))])}}const tV="keyPath",tC="valuePath",tG="ignoreNullValues",tb="ignoreNullKeys",tD="ignoreDuplicateKeys";class tF extends eH{constructor(){super("ArrayToObjects",[eH.PARAMETER_ARRAY_SOURCE,F.of(tV,U.ofString(tV)),F.of(tC,U.of(tC,r.STRING,r.NULL)),F.of(tG,U.ofBoolean(tG).setDefaultValue(!1)),F.of(tb,U.ofBoolean(tb).setDefaultValue(!0)),F.of(tD,U.ofBoolean(tD).setDefaultValue(!1))],eH.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tV),s=e?.getArguments()?.get(tC)??"",n=e?.getArguments()?.get(tG),a=e?.getArguments()?.get(tb),i=e?.getArguments()?.get(tD),o=new td({},"Data."),E=t.filter(e=>!g(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&g(E))return e;let u=s?o.getValue("Data."+s):t;return n&&g(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,E]]))])}}class tY{static #e=(()=>{this.repoMap=X.ofArrayEntries($(new ek),$(new e$),$(new eK),$(new e0),$(new e9),$(new e4),$(new e3),$(new e5),$(new e6),$(new e7),$(new e8),$(new te),$(new tt),$(new tr),$(new ts),$(new tn),$(new ta),$(new ti),$(new to),$(new tE),$(new tu),$(new tA),$(new tl),$(new tP),$(new tx),$(new eX),$(new tL),$(new tv),$(new tU),$(new tF))})();static #t=(()=>{this.filterableNames=Array.from(tY.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=A.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(tY.repoMap.get(t))}async filter(e){return Promise.resolve(tY.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var tB={};t(tB,"ContextElement",()=>tH);class tH{static #e=(()=>{this.NULL=new tH(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}}const tk="name",t$="schema",tj=new es("Create").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(tk,new U().setName(tk).setType(M.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),F.ofEntry(t$,U.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([z.outputEventMapEntry(new Map)])),tX="name",tW="value",tq=new es("Get").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(tX,new U().setName(tX).setType(M.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([z.outputEventMapEntry(new Map([[tW,U.ofAny(tW)]]))]));var tJ={};t(tJ,"ExpressionEvaluator",()=>rQ);var tz={};t(tz,"LogicalNullishCoalescingOperator",()=>tZ);var tK={};t(tK,"BinaryOperator",()=>tQ);class tQ{nullCheck(e,t,r){if(g(e)||g(t))throw new eJ(eu.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tZ extends tQ{apply(e,t){return g(e)?t:e}}var t0={};t(t0,"ArithmeticAdditionOperator",()=>t1);class t1 extends tQ{apply(e,t){return g(e)?t:g(t)?e:e+t}}var t2={};t(t2,"ArithmeticDivisionOperator",()=>t9);class t9 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.DIVISION),e/t}}var t4={};t(t4,"ArithmeticIntegerDivisionOperator",()=>t3);class t3 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.DIVISION),Math.floor(e/t)}}var t5={};t(t5,"ArithmeticModulusOperator",()=>t6);class t6 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.MOD),e%t}}var t7={};t(t7,"ArithmeticMultiplicationOperator",()=>t8);class t8 extends tQ{apply(e,t){this.nullCheck(e,t,tM.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.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 re={};t(re,"ArithmeticSubtractionOperator",()=>rt);class rt extends tQ{apply(e,t){return this.nullCheck(e,t,tM.SUBTRACTION),e-t}}var rr={};t(rr,"ArrayOperator",()=>rs);class rs extends tQ{apply(e,t){if(!e)throw new eJ("Cannot apply array operator on a null value");if(!t)throw new eJ("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new eJ(eu.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new eJ(eu.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var rn={};t(rn,"BitwiseAndOperator",()=>ra);class ra extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_AND),e&t}}var ri={};t(ri,"BitwiseLeftShiftOperator",()=>ro);class ro extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_LEFT_SHIFT),e<<t}}var rE={};t(rE,"BitwiseOrOperator",()=>ru);class ru extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_OR),e|t}}var rA={};t(rA,"BitwiseRightShiftOperator",()=>rl);class rl extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_RIGHT_SHIFT),e>>t}}var rh={};t(rh,"BitwiseUnsignedRightShiftOperator",()=>rg);class rg extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var rm={};t(rm,"BitwiseXorOperator",()=>rR);class rR extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_XOR),e^t}}var rp={};t(rp,"LogicalAndOperator",()=>rT);class rT extends tQ{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var rc={};t(rc,"LogicalEqualOperator",()=>rN);class rN extends tQ{apply(e,t){return eh(e,t)}}var rf={};t(rf,"LogicalGreaterThanEqualOperator",()=>r_);class r_ extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare >= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>=n.getT2()}}var rS={};t(rS,"LogicalGreaterThanOperator",()=>rM);class rM extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare > with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>n.getT2()}}var rO={};t(rO,"LogicalLessThanEqualOperator",()=>rw);class rw extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare <= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<=n.getT2()}}var rI={};t(rI,"LogicalLessThanOperator",()=>rd);class rd extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare < with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<n.getT2()}}var rP={};t(rP,"LogicalNotEqualOperator",()=>ry);class ry extends tQ{apply(e,t){return!eh(e,t)}}var rx={};t(rx,"LogicalOrOperator",()=>rL);class rL extends tQ{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var rv={};t(rv,"ObjectOperator",()=>rU);class rU extends tQ{apply(e,t){if(!e)throw new eJ("Cannot apply array operator on a null value");if(!t)throw new eJ("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new eJ(eu.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var rV={};t(rV,"ArithmeticUnaryMinusOperator",()=>rb);var rC={};t(rC,"UnaryOperator",()=>rG);class rG{nullCheck(e,t){if(g(e))throw new eJ(eu.format("$ cannot be applied to a null value",t.getOperatorName()))}}class rb extends rG{apply(e){return this.nullCheck(e,tM.UNARY_MINUS),ez.findPrimitiveNumberType(e),-e}}var rD={};t(rD,"ArithmeticUnaryPlusOperator",()=>rF);class rF extends rG{apply(e){return this.nullCheck(e,tM.UNARY_PLUS),ez.findPrimitiveNumberType(e),e}}var rY={};t(rY,"BitwiseComplementOperator",()=>rB);class rB extends rG{apply(e){this.nullCheck(e,tM.UNARY_BITWISE_COMPLEMENT);let t=ez.findPrimitiveNumberType(e);if(t.getT1()!=r.INTEGER&&t.getT1()!=r.LONG)throw new eJ(eu.format("Unable to apply bitwise operator on $",e));return~e}}var rH={};t(rH,"LogicalNotOperator",()=>rk);class rk extends rG{apply(e){return!e&&""!==e}}var r$={};t(r$,"LiteralTokenValueExtractor",()=>rX);const rj=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class rX extends tI{static #e=(()=>{this.INSTANCE=new rX})();getValueInternal(e){if(!em.isNullOrBlank(e))return(e=e.trim(),rj.has(e))?rj.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 tT(e,eu.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new tT(e,eu.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 rW={},rq={};t(rq,"ConditionalTernaryOperator",()=>rz);class rJ{nullCheck(e,t,r,s){if(g(e)||g(t)||g(r))throw new eJ(eu.format("$ cannot be applied to a null value",s.getOperatorName()))}}class rz extends rJ{apply(e,t,r){return e?t:r}}e(rW,rq);class rK extends tI{static #e=(()=>{this.PREFIX="_internal."})();addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return rK.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rQ{static #e=(()=>{this.UNARY_OPERATORS_MAP=new Map([[tM.UNARY_BITWISE_COMPLEMENT,new rB],[tM.UNARY_LOGICAL_NOT,new rk],[tM.UNARY_MINUS,new rb],[tM.UNARY_PLUS,new rF]])})();static #t=(()=>{this.TERNARY_OPERATORS_MAP=new Map([[tM.CONDITIONAL_TERNARY_OPERATOR,new rz]])})();static #r=(()=>{this.BINARY_OPERATORS_MAP=new Map([[tM.ADDITION,new t1],[tM.DIVISION,new t9],[tM.INTEGER_DIVISION,new t3],[tM.MOD,new t6],[tM.MULTIPLICATION,new t8],[tM.SUBTRACTION,new rt],[tM.BITWISE_AND,new ra],[tM.BITWISE_LEFT_SHIFT,new ro],[tM.BITWISE_OR,new ru],[tM.BITWISE_RIGHT_SHIFT,new rl],[tM.BITWISE_UNSIGNED_RIGHT_SHIFT,new rg],[tM.BITWISE_XOR,new rR],[tM.AND,new rT],[tM.EQUAL,new rN],[tM.GREATER_THAN,new rM],[tM.GREATER_THAN_EQUAL,new r_],[tM.LESS_THAN,new rd],[tM.LESS_THAN_EQUAL,new rw],[tM.OR,new rL],[tM.NOT_EQUAL,new ry],[tM.NULLISH_COALESCING_OPERATOR,new tZ],[tM.ARRAY_OPERATOR,new rs],[tM.OBJECT_OPERATOR,new rU]])})();static #s=(()=>{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rQ.UNARY_OPERATORS_MAP.keys())})();constructor(e){this.internalTokenValueExtractor=new rK,e instanceof tO?(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,s=0,n=new eA;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new eT(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new tT(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new eT(a,new tO(a))}replaceNestingExpression(e,t,r){let s=e;for(var n of r.toArray()){if(-1==n.getT2())throw new tT(e,"Expecting }} nesting path operator to be closed");let r=new rQ(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new tO(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=s.pop();if(rQ.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==tM.OBJECT_OPERATOR||e==tM.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,o);else if(e==tM.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),E=s.pop();var n=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);s.push(this.applyTernaryOperation(e,n,a,i))}else{let r=s.pop();var n=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);s.push(this.applyBinaryOperation(e,n,a))}}if(s.isEmpty())throw new eJ(eu.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new eJ(eu.format("Expression : $ evaluated multiple values $",e,s));let o=s.get(0);if(o instanceof t_)return o.getElement();if(!(o instanceof tO))return this.getValueFromToken(t,o);throw new eJ(eu.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new eA,i=new eA;if(!s||!n)return;do i.push(s),n instanceof tO?a.push(new t_(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==tM.OBJECT_OPERATOR||s==tM.ARRAY_OPERATOR)n&&(n instanceof tO?a.push(new t_(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof t_&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new tN(rK.PREFIX+e)}let E=new tR(o instanceof t_?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof t_?o.getTokenValue():o.toString()),s==tM.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 t_(u,this.getValue(u,e)));else{let e;try{e=rX.INSTANCE.getValue(u)}catch(t){e=u}r.push(new t_(u,e))}}applyTernaryOperation(e,t,r,s){let n=rQ.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new tT(this.expression,eu.format("No operator found to evaluate $",this.getExpression()));return new t_(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=rQ.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==tM.EQUAL&&e!==tM.NOT_EQUAL&&e!==tM.NULLISH_COALESCING_OPERATOR&&e!==tM.AND&&e!==tM.OR)throw new tT(this.expression,eu.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new tT(this.expression,eu.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new t_(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=tM.NOT.getOperator()&&e.getOperator()!=tM.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new tT(this.expression,eu.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=rQ.UNARY_OPERATORS_MAP.get(e);if(!s)throw new tT(this.expression,eu.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new t_(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof tO?this.evaluateExpression(t,e):t instanceof t_?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):rX.INSTANCE.getValueFromExtractors(e,t)}}const rZ="name",r0="value",r1=new es("Set").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(rZ,new U().setName(rZ).setType(M.of(r.STRING)).setMinLength(1),!1),F.ofEntry(r0,U.ofAny(r0))])).setEvents(new Map([z.outputEventMapEntry(new Map)])),r2="value",r9="eventName",r4="results",r3=new es("GenerateEvent").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(r9,U.ofString(r9).setDefaultValue("output")),F.ofEntry(r4,U.ofObject(r4).setProperties(new Map([["name",U.ofString("name")],[r2,F.EXPRESSION]])),!0)])).setEvents(new Map([z.outputEventMapEntry(new Map)]));class r5 extends eB{static #e=(()=>{this.CONDITION="condition"})();static #t=(()=>{this.SIGNATURE=new es("If").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(r5.CONDITION,U.ofAny(r5.CONDITION))])).setEvents(new Map([z.eventMapEntry(z.TRUE,new Map),z.eventMapEntry(z.FALSE,new Map),z.outputEventMapEntry(new Map)]))})();getSignature(){return r5.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r5.CONDITION);return new et([K.of(t||""===t?z.TRUE:z.FALSE,new Map),K.outputOf(new Map)])}}const r6="stepName",r7=new es("Break").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(r6,U.of(r6,r.STRING))])).setEvents(new Map([z.outputEventMapEntry(new Map([]))])),r8="count",se="value",st="index",sr=new es("CountLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(r8,U.of(r8,r.INTEGER))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[st,U.of(st,r.INTEGER)]])),z.outputEventMapEntry(new Map([[se,U.of(se,r.INTEGER)]]))])),ss="source",sn="each",sa="index",si="value",so=new es("ForEachLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(ss,U.ofArray(ss,U.ofAny(ss)))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[sa,U.of(sa,r.INTEGER)],[sn,U.ofAny(sn)]])),z.outputEventMapEntry(new Map([[si,U.of(si,r.INTEGER)]]))])),sE="from",su="step",sA="value",sl="index",sh=new es("RangeLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(sE,U.of(sE,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(0)),F.ofEntry("to",U.of("to",r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1)),F.ofEntry(su,U.of(su,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1).setNot(new U().setConstant(0)))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[sl,U.of(sl,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]])),z.outputEventMapEntry(new Map([[sA,U.of(sA,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]]))])),sg="value",sm=new es("Add").setNamespace(A.MATH).setParameters(new Map([[sg,new F(sg,U.ofNumber(sg)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sg,U.ofNumber(sg)]]))])),sR="value",sp="value1",sT="value2",sc=[()=>new Map([[sR,new F(sR,U.ofNumber(sR))]]),()=>new Map([[sp,new F(sp,U.ofNumber(sp))],[sT,new F(sT,U.ofNumber(sT))]])];class sN extends eB{constructor(e,t,s=1,...n){super(),n&&n.length||(n=[r.DOUBLE]),this.parametersNumber=s,this.mathFunction=t,this.signature=new es(e).setNamespace(A.MATH).setParameters(sc[s-1]()).setEvents(new Map([z.outputEventMapEntry(new Map([[sR,new U().setType(M.of(...n)).setName(sR)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=ez.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?sR:sp)).getT2();return 2==this.parametersNumber&&(t=ez.findPrimitiveNumberType(e.getArguments()?.get(sT)).getT2()),new et([K.outputOf(new Map([[sR,this.mathFunction.call(this,r,t)]]))])}}const sf="value";class s_ extends eB{static #e=(()=>{this.SIGNATURE=new es("Hypotenuse").setNamespace(A.MATH).setParameters(new Map([[sf,new F(sf,U.ofNumber(sf)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sf,new U().setType(M.of(r.DOUBLE)).setName(sf)]]))]))})();constructor(){super()}getSignature(){return s_.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sf);return new et([K.outputOf(new Map([[sf,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}const sS="value",sM=new es("Maximum").setNamespace(A.MATH).setParameters(new Map([[sS,new F(sS,U.ofNumber(sS)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sS,U.ofNumber(sS)]]))])),sO="value",sw=new es("Minimum").setNamespace(A.MATH).setParameters(new Map([[sO,new F(sO,U.ofNumber(sO)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sO,U.ofNumber(sO)]]))])),sI="value";class sd extends eB{static #e=(()=>{this.SIGNATURE=new es("Random").setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sI,U.ofDouble(sI)))]))})();getSignature(){return sd.SIGNATURE}async internalExecute(e){return new et([K.outputOf(new Map([[sI,Math.random()]]))])}}class sP extends eB{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new es("RandomFloat").setParameters(X.of(sP.MIN_VALUE,F.of(sP.MIN_VALUE,U.ofFloat(sP.MIN_VALUE).setDefaultValue(0)),sP.MAX_VALUE,F.of(sP.MAX_VALUE,U.ofFloat(sP.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sP.VALUE,U.ofFloat(sP.VALUE)))]))})();getSignature(){return sP.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sP.MIN_VALUE),r=e.getArguments()?.get(sP.MAX_VALUE);return new et([K.outputOf(new Map([[sP.VALUE,Math.random()*(r-t)+t]]))])}}class sy extends eB{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new es("RandomInt").setParameters(X.of(sy.MIN_VALUE,F.of(sy.MIN_VALUE,U.ofInteger(sy.MIN_VALUE).setDefaultValue(0)),sy.MAX_VALUE,F.of(sy.MAX_VALUE,U.ofInteger(sy.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sy.VALUE,U.ofInteger(sy.VALUE)))]))})();getSignature(){return sy.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sy.MIN_VALUE),r=e.getArguments()?.get(sy.MAX_VALUE);return new et([K.outputOf(new Map([[sy.VALUE,Math.floor(Math.random()*(r-t)+t)]]))])}}const sx={Absolute:new sN("Absolute",e=>Math.abs(e),1,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE),ACosine:new sN("ArcCosine",e=>Math.acos(e)),ASine:new sN("ArcSine",e=>Math.asin(e)),ATangent:new sN("ArcTangent",e=>Math.atan(e)),Ceiling:new sN("Ceiling",e=>Math.ceil(e)),Cosine:new sN("Cosine",e=>Math.cos(e)),CosineH:new sN("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new sN("CubeRoot",e=>Math.cbrt(e)),Exponential:new sN("Exponential",e=>Math.exp(e)),Expm1:new sN("ExponentialMinus1",e=>Math.expm1(e)),Floor:new sN("Floor",e=>Math.floor(e)),Log:new sN("LogNatural",e=>Math.log(e)),Log10:new sN("Log10",e=>Math.log10(e)),Round:new sN("Round",e=>Math.round(e),1,r.INTEGER,r.LONG),Sine:new sN("Sine",e=>Math.sin(e)),SineH:new sN("HyperbolicSine",e=>Math.sinh(e)),Tangent:new sN("Tangent",e=>Math.tan(e)),TangentH:new sN("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new sN("ToDegrees",e=>e*(Math.PI/180)),ToRadians:new sN("ToRadians",e=>e*(180/Math.PI)),SquareRoot:new sN("SquareRoot",e=>Math.sqrt(e)),ArcTangent:new sN("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new sN("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends eB{getSignature(){return sm}async internalExecute(e){let t=e.getArguments()?.get(sg);return new et([K.outputOf(new Map([[sg,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new s_,Maximum:new class extends eB{getSignature(){return sM}async internalExecute(e){let t=e.getArguments()?.get(sS);return new et([K.outputOf(new Map([[sS,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends eB{getSignature(){return sw}async internalExecute(e){let t=e.getArguments()?.get(sO);return new et([K.outputOf(new Map([[sO,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new sd,RandomFloat:new sP,RandomInt:new sy},sL=Object.values(sx).map(e=>e.getSignature().getFullName());class sv{async find(e,t){return e!=A.MATH?Promise.resolve(void 0):Promise.resolve(sx[t])}async filter(e){return Promise.resolve(sL.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}const sU="value",sV="source",sC="source";class sG extends eB{constructor(e,t){super(),this.signature=new es(e).setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sC,U.ofAny(sC))])).setEvents(new Map([z.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const sb="value",sD="value",sF="value",sY="source",sB="overwrite",sH="deleteKeyOnNull",sk="value",s$={ObjectValues:new class extends sG{constructor(){super("ObjectValues",U.ofArray(sk,U.ofAny(sk)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sk,[]]]))]);let r=Object.entries(e2(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new et([K.outputOf(new Map([[sk,r]]))])}},ObjectKeys:new class extends sG{constructor(){super("ObjectKeys",U.ofArray(sD,U.ofString(sD)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sD,[]]]))]);let r=Object.keys(e2(t)).sort((e,t)=>e.localeCompare(t));return new et([K.outputOf(new Map([[sD,r]]))])}},ObjectEntries:new class extends sG{constructor(){super("ObjectEntries",U.ofArray(sb,U.ofArray("tuple",U.ofString("key"),U.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sb,[]]]))]);let r=Object.entries(e2(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new et([K.outputOf(new Map([[sb,r]]))])}},ObjectDeleteKey:new class extends eB{constructor(){super(),this.signature=new es("ObjectDeleteKey").setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sV,U.ofAny(sV)),F.ofEntry("key",U.ofString("key"))])).setEvents(new Map([z.outputEventMapEntry(new Map([[sU,U.ofAny(sU)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sV),r=e.getArguments()?.get("key");return g(t)?new et([K.outputOf(new Map([[sU,void 0]]))]):(t=e2(t),delete t[r],new et([K.outputOf(new Map([[sU,t]]))]))}},ObjectPutValue:new class extends eB{constructor(){super(),this.signature=new es("ObjectPutValue").setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sY,U.ofObject(sY)),F.ofEntry("key",U.ofString("key")),F.ofEntry(sF,U.ofAny(sF)),F.ofEntry(sB,U.ofBoolean(sB).setDefaultValue(!0)),F.ofEntry(sH,U.ofBoolean(sH).setDefaultValue(!1))])).setEvents(new Map([z.outputEventMapEntry(new Map([[sF,U.ofObject(sF)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sY),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(sF),n=e.getArguments()?.get(sB),a=e.getArguments()?.get(sH),i=new td(t,"Data.");return i.setValue(r,s,n,a),new et([K.outputOf(new Map([[sF,i.getStore()]]))])}}},sj=Object.values(s$).map(e=>e.getSignature().getFullName());class sX{async find(e,t){return e!=A.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(s$[t])}async filter(e){return Promise.resolve(sj.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sW extends eB{static #e=(()=>{this.VALUES="values"})();static #t=(()=>{this.SIGNATURE=new es("Print").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(sW.VALUES,U.ofAny(sW.VALUES),!0)]))})();getSignature(){return sW.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(sW.VALUES);return console?.log(...t),new et([K.outputOf(new Map)])}}class sq extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_SEARCH_STRING_NAME="searchString"})();static #r=(()=>{this.PARAMETER_SECOND_STRING_NAME="secondString"})();static #s=(()=>{this.PARAMETER_THIRD_STRING_NAME="thirdString"})();static #n=(()=>{this.PARAMETER_INDEX_NAME="index"})();static #a=(()=>{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new F(sq.PARAMETER_STRING_NAME,U.ofString(sq.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_SECOND_STRING=new F(sq.PARAMETER_SECOND_STRING_NAME,U.ofString(sq.PARAMETER_SECOND_STRING_NAME))})();static #u=(()=>{this.PARAMETER_THIRD_STRING=new F(sq.PARAMETER_THIRD_STRING_NAME,U.ofString(sq.PARAMETER_THIRD_STRING_NAME))})();static #A=(()=>{this.PARAMETER_INDEX=new F(sq.PARAMETER_INDEX_NAME,U.ofInteger(sq.PARAMETER_INDEX_NAME))})();static #l=(()=>{this.PARAMETER_SECOND_INDEX=new F(sq.PARAMETER_SECOND_INDEX_NAME,U.ofInteger(sq.PARAMETER_SECOND_INDEX_NAME))})();static #h=(()=>{this.PARAMETER_SEARCH_STRING=new F(sq.PARAMETER_SEARCH_STRING_NAME,U.ofString(sq.PARAMETER_STRING_NAME))})();static #g=(()=>{this.EVENT_STRING=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofString(sq.EVENT_RESULT_NAME)))})();static #m=(()=>{this.EVENT_BOOLEAN=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofBoolean(sq.EVENT_RESULT_NAME)))})();static #R=(()=>{this.EVENT_INT=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofInteger(sq.EVENT_RESULT_NAME)))})();static #p=(()=>{this.EVENT_ARRAY=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofArray(sq.EVENT_RESULT_NAME)))})();constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new es(t).setNamespace(e).setParameters(n).setEvents(X.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_BOOLEAN,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING,sq.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r)))])}}(A.STRING,e,sq.EVENT_BOOLEAN,sq.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING,sq.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(sq.PARAMETER_SECOND_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_INDEX,sq.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(sq.PARAMETER_THIRD_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING,sq.PARAMETER_SECOND_STRING,sq.PARAMETER_THIRD_STRING)]}}class sJ extends eB{static #e=(()=>{this.VALUE="value"})();static #t=(()=>{this.SCHEMA=new U().setName(sJ.VALUE).setType(new S(r.STRING))})();static #r=(()=>{this.SIGNATURE=new es("Concatenate").setNamespace(A.STRING).setParameters(new Map([[sJ.VALUE,new F(sJ.VALUE,sJ.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sJ.VALUE,U.ofString(sJ.VALUE)]]))]))})();constructor(){super()}getSignature(){return sJ.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sJ.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new et([K.outputOf(new Map([[sJ.VALUE,r]]))])}}class sz extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_END_NAME="endPosition"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();constructor(){super(),this.PARAMETER_STRING=new F(sz.PARAMETER_STRING_NAME,U.ofString(sz.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new F(sz.PARAMETER_AT_START_NAME,U.ofInteger(sz.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new F(sz.PARAMETER_AT_END_NAME,U.ofInteger(sz.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new z(z.OUTPUT,new Map([[sz.EVENT_RESULT_NAME,U.ofString(sz.EVENT_RESULT_NAME)]])),this.signature=new es("DeleteForGivenLength").setNamespace(A.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(sz.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sz.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(sz.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r)+t.substring(s),new et([K.outputOf(new Map([[sz.EVENT_RESULT_NAME,e.toString()]]))])}return new et([K.outputOf(new Map([[sz.EVENT_RESULT_NAME,t]]))])}}class sK extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_POSITION_NAME="position"})();static #r=(()=>{this.PARAMETER_INSERT_STRING_NAME="insertString"})();getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sK.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sK.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(sK.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r)+s+t.substring(r),new et([K.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new F(sK.PARAMETER_STRING_NAME,U.ofString(sK.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new F(sK.PARAMETER_AT_POSITION_NAME,U.ofInteger(sK.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new F(sK.PARAMETER_INSERT_STRING_NAME,U.ofString(sK.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new z(z.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new es("InsertAtGivenPosition").setNamespace(A.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([z.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))]))}}class sQ extends eB{static #e=(()=>{this.PARAMETER_REGEX_NAME="regex"})();static #t=(()=>{this.PARAMETER_STRING_NAME="string"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.signature=new es("Matches").setNamespace(A.STRING).setParameters(X.ofEntries(X.entry(...F.ofEntry(sQ.PARAMETER_REGEX_NAME,U.ofString(sQ.PARAMETER_REGEX_NAME))),X.entry(...F.ofEntry(sQ.PARAMETER_STRING_NAME,U.ofString(sQ.PARAMETER_STRING_NAME))))).setEvents(X.ofEntries(X.entry(...z.outputEventMapEntry(new Map([[sQ.EVENT_RESULT_NAME,U.ofBoolean(sQ.EVENT_RESULT_NAME)]])))))})();getSignature(){return sQ.signature}async internalExecute(e){let t=e.getArguments()?.get(sQ.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(sQ.PARAMETER_STRING_NAME);return new et([K.outputOf(new Map([[sQ.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class sZ extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new F(sZ.PARAMETER_STRING_NAME,U.ofString(sZ.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_POSTPAD_STRING=new F(sZ.PARAMETER_POSTPAD_STRING_NAME,U.ofString(sZ.PARAMETER_POSTPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new F(sZ.PARAMETER_LENGTH_NAME,U.ofInteger(sZ.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[sZ.EVENT_RESULT_NAME,U.ofString(sZ.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new es("PostPad").setNamespace(A.STRING).setParameters(new Map([[sZ.PARAMETER_STRING.getParameterName(),sZ.PARAMETER_STRING],[sZ.PARAMETER_POSTPAD_STRING.getParameterName(),sZ.PARAMETER_POSTPAD_STRING],[sZ.PARAMETER_LENGTH.getParameterName(),sZ.PARAMETER_LENGTH]])).setEvents(new Map([[sZ.EVENT_STRING.getName(),sZ.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sZ.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sZ.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(sZ.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new et([K.outputOf(new Map([[sZ.EVENT_RESULT_NAME,n.toString()]]))])}}class s0 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_PREPAD_STRING_NAME="prepadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new F(s0.PARAMETER_STRING_NAME,U.ofString(s0.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_PREPAD_STRING=new F(s0.PARAMETER_PREPAD_STRING_NAME,U.ofString(s0.PARAMETER_PREPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new F(s0.PARAMETER_LENGTH_NAME,U.ofInteger(s0.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s0.EVENT_RESULT_NAME,U.ofString(s0.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("PrePad").setNamespace(A.STRING).setParameters(new Map([[s0.PARAMETER_STRING.getParameterName(),s0.PARAMETER_STRING],[s0.PARAMETER_PREPAD_STRING.getParameterName(),s0.PARAMETER_PREPAD_STRING],[s0.PARAMETER_LENGTH.getParameterName(),s0.PARAMETER_LENGTH]])).setEvents(new Map([[s0.EVENT_STRING.getName(),s0.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(s0.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s0.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(s0.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new et([K.outputOf(new Map([[s0.EVENT_RESULT_NAME,n]]))])}}class s1 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_BOOLEAN_NAME="boolean"})();static #r=(()=>{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"})();static #s=(()=>{this.PARAMETER_OTHER_STRING_NAME="otherString"})();static #n=(()=>{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"})();static #a=(()=>{this.PARAMETER_INTEGER_NAME="length"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new F(s1.PARAMETER_STRING_NAME,U.ofString(s1.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_OTHER_STRING=new F(s1.PARAMETER_OTHER_STRING_NAME,U.ofString(s1.PARAMETER_OTHER_STRING_NAME))})();static #u=(()=>{this.PARAMETER_FIRST_OFFSET=new F(s1.PARAMETER_FIRST_OFFSET_NAME,U.ofInteger(s1.PARAMETER_FIRST_OFFSET_NAME))})();static #A=(()=>{this.PARAMETER_SECOND_OFFSET=new F(s1.PARAMETER_SECOND_OFFSET_NAME,U.ofInteger(s1.PARAMETER_SECOND_OFFSET_NAME))})();static #l=(()=>{this.PARAMETER_INTEGER=new F(s1.PARAMETER_INTEGER_NAME,U.ofInteger(s1.PARAMETER_INTEGER_NAME))})();static #h=(()=>{this.PARAMETER_BOOLEAN=new F(s1.PARAMETER_BOOLEAN_NAME,U.ofBoolean(s1.PARAMETER_BOOLEAN_NAME))})();static #g=(()=>{this.EVENT_BOOLEAN=new z(z.OUTPUT,new Map([[s1.EVENT_RESULT_NAME,U.ofBoolean(s1.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("RegionMatches").setNamespace(A.STRING).setParameters(new Map([[s1.PARAMETER_STRING.getParameterName(),s1.PARAMETER_STRING],[s1.PARAMETER_BOOLEAN.getParameterName(),s1.PARAMETER_BOOLEAN],[s1.PARAMETER_FIRST_OFFSET.getParameterName(),s1.PARAMETER_FIRST_OFFSET],[s1.PARAMETER_OTHER_STRING.getParameterName(),s1.PARAMETER_OTHER_STRING],[s1.PARAMETER_SECOND_OFFSET.getParameterName(),s1.PARAMETER_SECOND_OFFSET],[s1.PARAMETER_INTEGER.getParameterName(),s1.PARAMETER_INTEGER]])).setEvents(new Map([[s1.EVENT_BOOLEAN.getName(),s1.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(s1.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s1.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(s1.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(s1.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(s1.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(s1.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new et([K.outputOf(new Map([[s1.EVENT_RESULT_NAME,o]]))])}}class s2 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"})();static #s=(()=>{this.PARAMETER_REPLACE_STRING_NAME="replaceString"})();static #n=(()=>{this.EVENT_RESULT_NAME="result"})();static #a=(()=>{this.PARAMETER_STRING=new F(s2.PARAMETER_STRING_NAME,U.ofString(s2.PARAMETER_STRING_NAME))})();static #i=(()=>{this.PARAMETER_AT_START=new F(s2.PARAMETER_AT_START_NAME,U.ofInteger(s2.PARAMETER_AT_START_NAME))})();static #o=(()=>{this.PARAMETER_AT_LENGTH=new F(s2.PARAMETER_AT_LENGTH_NAME,U.ofInteger(s2.PARAMETER_AT_LENGTH_NAME))})();static #E=(()=>{this.PARAMETER_REPLACE_STRING=new F(s2.PARAMETER_REPLACE_STRING_NAME,U.ofString(s2.PARAMETER_REPLACE_STRING_NAME))})();static #u=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s2.EVENT_RESULT_NAME,U.ofString(s2.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new es("ReplaceAtGivenPosition").setNamespace(A.STRING).setParameters(new Map([[s2.PARAMETER_STRING.getParameterName(),s2.PARAMETER_STRING],[s2.PARAMETER_AT_START.getParameterName(),s2.PARAMETER_AT_START],[s2.PARAMETER_AT_LENGTH.getParameterName(),s2.PARAMETER_AT_LENGTH],[s2.PARAMETER_REPLACE_STRING.getParameterName(),s2.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[s2.EVENT_STRING.getName(),s2.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(s2.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(s2.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(s2.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(s2.PARAMETER_REPLACE_STRING_NAME),t.length,r<s&&(t.substring(0,r),t.substring(r+s)),new et([K.outputOf(new Map([[s2.EVENT_RESULT_NAME,t]]))])}}class s9 extends eB{constructor(){super(),this.VALUE="value",this.SIGNATURE=new es("Reverse").setNamespace(A.STRING).setParameters(new Map([[this.VALUE,new F(this.VALUE,U.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[this.VALUE,new U().setType(M.of(r.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new et([K.outputOf(X.of(this.VALUE,s))])}}class s4 extends eB{getSignature(){return new es("Split").setNamespace(A.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([z.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 F(this.PARAMETER_STRING_NAME,U.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new F(this.PARAMETER_SPLIT_STRING_NAME,U.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new z(z.OUTPUT,X.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 et([K.outputOf(X.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class s3 extends eB{getSignature(){return new es("ToString").setNamespace(A.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 F(this.PARAMETER_INPUT_ANYTYPE_NAME,U.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new z(z.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 et([K.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class s5 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.PARAMETER_STRING=new F(s5.PARAMETER_STRING_NAME,U.ofString(s5.PARAMETER_STRING_NAME))})();static #n=(()=>{this.PARAMETER_LENGTH=new F(s5.PARAMETER_LENGTH_NAME,U.ofInteger(s5.PARAMETER_LENGTH_NAME))})();static #a=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s5.EVENT_RESULT_NAME,U.ofString(s5.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("TrimTo").setNamespace(A.STRING).setParameters(new Map([[s5.PARAMETER_STRING.getParameterName(),s5.PARAMETER_STRING],[s5.PARAMETER_LENGTH.getParameterName(),s5.PARAMETER_LENGTH]])).setEvents(new Map([[s5.EVENT_STRING.getName(),s5.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(s5.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s5.PARAMETER_LENGTH_NAME);return new et([K.outputOf(new Map([[s5.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class s6{static #e=(()=>{this.repoMap=X.ofArrayEntries(sq.ofEntryString("Trim",e=>e.trim()),sq.ofEntryString("LowerCase",e=>e.toLocaleLowerCase()),sq.ofEntryString("UpperCase",e=>e.toUpperCase()),sq.ofEntryStringBooleanOutput("IsBlank",e=>""===e.trim()),sq.ofEntryStringBooleanOutput("IsEmpty",e=>""===e),sq.ofEntryAsStringBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),sq.ofEntryAsStringBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),sq.ofEntryAsStringBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),sq.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),sq.ofEntryAsStringBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),sq.ofEntryAsStringIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),sq.ofEntryAsStringIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),sq.ofEntryAsStringAndIntegerStringOutput("Repeat",(e,t)=>e.repeat(t)),sq.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),sq.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),sq.ofEntryAsStringStringStringStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),sq.ofEntryAsStringStringStringStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),sq.ofEntryAsStringIntegerIntegerStringOutput("SubString",(e,t,r)=>e.substring(t,r)),$(new sJ),$(new sz),$(new sK),$(new sZ),$(new s0),$(new s1),$(new s2),$(new s9),$(new s4),$(new s3),$(new s5),$(new sQ))})();static #t=(()=>{this.filterableNames=Array.from(s6.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=A.STRING?Promise.resolve(void 0):Promise.resolve(s6.repoMap.get(t))}async filter(e){return Promise.resolve(s6.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class s7 extends eB{static #e=(()=>{this.MILLIS="millis"})();static #t=(()=>{this.SIGNATURE=new es("Wait").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(s7.MILLIS,U.ofNumber(s7.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([z.outputEventMapEntry(new Map)]))})();getSignature(){return s7.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(s7.MILLIS);return await new Promise(e=>setTimeout(e,t)),new et([K.outputOf(new Map)])}}var s8={};t(s8,"HybridRepository",()=>ne);class ne{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}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)}}const nt=new Map([[A.SYSTEM_CTX,new Map([$(new class extends eB{getSignature(){return tj}async internalExecute(e){let t=e?.getArguments()?.get(tk);if(e?.getContext()?.has(t))throw new ee(eu.format("Context already has an element for '$' ",t));let r=U.from(e?.getArguments()?.get(t$));if(!r)throw new ee("Schema is not supplied.");return e.getContext().set(t,new tH(r,g(r.getDefaultValue())?void 0:r.getDefaultValue())),new et([K.outputOf(new Map)])}}),$(new class extends eB{getSignature(){return tq}async internalExecute(e){let t=e?.getArguments()?.get(tX);if(!e.getContext()?.has(t))throw new ee(eu.format("Context don't have an element for '$' ",t));return new et([K.outputOf(new Map([tW,e.getContext()?.get(t)?.getElement()]))])}}),$(new class extends eB{getSignature(){return r1}async internalExecute(e){let t=e?.getArguments()?.get(rZ);if(em.isNullOrBlank(t))throw new ee("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(r0),s=new tO(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof tO||n instanceof t_&&!n.getElement().toString().startsWith("Context"))throw new eJ(eu.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=tM.ARRAY_OPERATOR&&e!=tM.OBJECT_OPERATOR)throw new eJ(eu.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof tO&&s.getTokens().set(r,new t_(t,new rQ(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(g(i))throw new ee(eu.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new et([K.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=n.removeLast(),A=u instanceof t_?u.getElement():u.getExpression();for(g(o)&&(o=E==tM.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==tM.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=n.removeLast())instanceof t_?u.getElement():u.getExpression();return E==tM.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new et([K.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tM.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tM.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));e[t]=r}})])],[A.SYSTEM_LOOP,new Map([$(new class extends eB{getSignature(){return sh}async internalExecute(e){let t=e.getArguments()?.get(sE),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(su),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),K.outputOf(new Map([[sA,a]]));let t=K.of(z.ITERATION,new Map([[sl,a]]));return a+=s,t}})}}),$(new class extends eB{getSignature(){return sr}async internalExecute(e){let t=e.getArguments()?.get(r8),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),K.outputOf(new Map([[se,r]]));let n=K.of(z.ITERATION,new Map([[st,r]]));return++r,n}})}}),$(new class extends eB{getSignature(){return r7}async internalExecute(e){let t=e.getArguments()?.get(r6);return e.getExecutionContext().set(t,!0),new et([K.outputOf(new Map)])}}),$(new class extends eB{getSignature(){return so}async internalExecute(e){let t=e.getArguments()?.get(ss),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),K.outputOf(new Map([[si,r]]));let n=K.of(z.ITERATION,new Map([[sa,r],[sn,t[r]]]));return++r,n}})}})])],[A.SYSTEM,new Map([$(new r5),$(new class extends eB{getSignature(){return r3}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(r9),n=e?.getArguments()?.get(r4).map(t=>{let r=t[r2];if(g(r))throw new ee("Expect a value object");let s=r.value;return r.isExpression&&(s=new rQ(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new et([K.outputOf(new Map)])}}),$(new sW),$(new s7)])]]),nr=Array.from(nt.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class ns extends ne{constructor(){super({find:async(e,t)=>nt.get(e)?.get(t),filter:async e=>Array.from(nr).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new sv,new s6,new tY,new sX)}}var nn={};t(nn,"StatementExecution",()=>no);var na={};t(na,"StatementMessage",()=>ni);class ni{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 no{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 ni(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof no&&e.statement.equals(this.statement)}}var nE={};t(nE,"ContextTokenValueExtractor",()=>nu);class nu extends tI{static #e=(()=>{this.PREFIX="Context."})();constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return nu.PREFIX}getStore(){return g(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(g(r)||(e[t]=r.getElement()),e),{})}}var nA={};t(nA,"OutputMapTokenValueExtractor",()=>nl);class nl extends tI{static #e=(()=>{this.PREFIX="Steps."})();constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return nl.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),{})}}var nh={};t(nh,"ArgumentsTokenValueExtractor",()=>ng);class ng extends tI{static #e=(()=>{this.PREFIX="Arguments."})();constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return ng.PREFIX}getStore(){return g(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}var nm={};t(nm,"GraphVertex",()=>nT);var nR={};t(nR,"ExecutionGraph",()=>np);class np{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 nT(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 eA(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 nT{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 eT(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new eT(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 np(!0);var r=new eA(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}}var nc={};t(nc,"KIRuntime",()=>nI);var nN={};t(nN,"JsonExpression",()=>nf);class nf{constructor(e){this.expression=e}getExpression(){return this.expression}}var n_={};t(n_,"ParameterReferenceType",()=>a),function(e){e.VALUE="VALUE",e.EXPRESSION="EXPRESSION"}(a||(a={}));var nS={};function nM(){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(nS,"FunctionExecutionParameters",()=>nO);class nO{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??nM()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new nu(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 nl(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}}var nw={};t(nw,"StatementMessageType",()=>i),function(e){e.ERROR="ERROR",e.WARNING="WARNING",e.MESSAGE="MESSAGE"}(i||(i={}));class nI extends eB{static #e=(()=>{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'})();static #t=(()=>{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")})();static #r=(()=>{this.VERSION=1})();static #s=(()=>{this.MAX_EXECUTION_ITERATIONS=1e7})();constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>nI.VERSION)throw new ee("Runtime is at a lower version "+nI.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new np;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(i.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 ng(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 ee("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 eA;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new eA;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(z.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==nI.MAX_EXECUTION_ITERATIONS)throw new ee("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(z.OUTPUT)?.getParameters()?.size)throw new ee("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>K.of(e[0],t)));return new et(n.length||e.isSubGraph()?n:[K.of(z.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=z.OUTPUT)s?.getName()==z.OUTPUT&&n.getOutVertices().has(z.OUTPUT)&&(n?.getOutVertices()?.get(z.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size){let e=(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>{let r=new rQ(e).evaluate(t.getValuesMap());return r}).every(e=>!g(e)&&!1!==e);if(!e)return}let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new ee(eu.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 nI?new nO(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==ng.PREFIX&&e.getPrefix()!==nl.PREFIX&&e.getPrefix()!==nu.PREFIX).map(e=>[e.getPrefix(),e]))):new nO(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 l=await o.execute(a),h=l.next();if(!h)throw new ee(eu.format("Executing $ returned no events",i.getStatementName()));let m=h.getName()==z.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(h.getName(),this.resolveInternalExpressions(h.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${h.getName()} : `,t.getSteps().get(i.getStatementName()).get(h.getName()))),m){let r=e.getOutVertices().get(z.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(h.getName()),s=this.makeEdges(t).getT1();r.push(new eN(t,s,l,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new eT(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(g(e)||"object"!=typeof e)return e;if(e instanceof nf)return new rQ(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[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(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new eT(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!g(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new eT(t[0],s)):new eT(t[0],void 0)}).filter(e=>!g(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==a.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=a.EXPRESSION||em.isNullOrBlank(t.getExpression())||(r=new rQ(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new no(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(i.ERROR,eu.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await eS.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!g(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!g(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await eS.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,s,n){if(s){if(s.getType()==a.VALUE){if(g(s.getValue())&&!await eS.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),g(s.getValue()))return;let a=new eA;for(a.push(new eT(t.getSchema(),s.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof nf)this.addDependencies(e,t.getT2().getExpression());else{if(g(t.getT1())||g(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(r.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 eT(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new eT(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(r.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===F.EXPRESSION.getName()&&r.getNamespace()===F.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 eT(r.getProperties().get(e[0]),e[1]))}}}}else if(s.getType()==a.EXPRESSION){if(em.isNullOrBlank(s.getExpression()))g(eS.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,s.getExpression())}catch(t){e.addMessage(i.ERROR,eu.format("Error evaluating $ : $",s.getExpression(),t))}}}else g(await eS.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(nI.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.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)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new eT(i,E)),s.set(n.getData().getStatement().getStatementName(),eu.format("Unable to find the step with name $",i)))}return new eT(r,s)}}var nd={};t(nd,"KIRunConstants",()=>nP);class nP{static #e=(()=>{this.NAMESPACE="namespace"})();static #t=(()=>{this.NAME="name"})();static #r=(()=>{this.ID="id"})();constructor(){}}var ny={};t(ny,"Position",()=>nx);class nx{static #e=(()=>{this.SCHEMA_NAME="Position"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nx.SCHEMA_NAME).setType(M.of(r.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 nx(e.left,e.top)}}var nL={};t(nL,"FunctionDefinition",()=>nB);var nv={};t(nv,"Statement",()=>nb);var nU={};t(nU,"AbstractStatement",()=>nV);class nV{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new nx(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}}var nC={};t(nC,"ParameterReference",()=>nG);class nG{static #e=(()=>{this.SCHEMA_NAME="ParameterReference"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nG.SCHEMA_NAME).setType(M.of(r.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 nG?(this.key=e.key,this.type=e.type,this.value=g(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=nM())}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 nG(a.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new nG(a.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new nG(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class nb extends nV{static #e=(()=>{this.SCHEMA_NAME="Statement"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nb.SCHEMA_NAME).setType(M.of(r.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 v().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",U.ofObject("executeIftrue").setAdditionalProperties(new v().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new U().setName("parameterMap").setAdditionalProperties(new v().setSchemaValue(U.ofObject("parameterReference").setAdditionalProperties(new v().setSchemaValue(nG.SCHEMA))))],["position",nx.SCHEMA]]))})();constructor(e,t,r){if(super(e instanceof nb?e:void 0),e instanceof nb)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 nG(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 nb&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new nb(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])=>nG.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(nx.from(e.position)).setComment(e.comment).setDescription(e.description)}}var nD={};t(nD,"StatementGroup",()=>nF);class nF extends nV{static #e=(()=>{this.SCHEMA_NAME="StatementGroup"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nF.SCHEMA_NAME).setType(M.of(r.OBJECT)).setProperties(new Map([["statementGroupName",U.ofString("statementGroupName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["position",nx.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 nF(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(nx.from(e.position)).setComment(e.comment).setDescription(e.description)}}const nY=new U().setNamespace(A.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofArray("parameters",F.SCHEMA)],["events",U.ofObject("events").setAdditionalProperties(new v().setSchemaValue(z.SCHEMA))],["steps",U.ofObject("steps").setAdditionalProperties(new v().setSchemaValue(nb.SCHEMA))]]));nY.getProperties()?.set("parts",U.ofArray("parts",nY));class nB extends es{static #e=(()=>{this.SCHEMA=nY})();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 nB(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,nb.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,nF.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>nB.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,z.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,F.from(e)]))).setNamespace(e.namespace):new nB("unknown")}}var nH={};t(nH,"Argument",()=>nk);class nk{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 nk(0,e,t)}}var n$={};e(n$,rV),e(n$,rD),e(n$,rY),e(n$,rH),e(n$,rC);var nj={};e(nj,t0),e(nj,t2),e(nj,t4),e(nj,t5),e(nj,t7),e(nj,re),e(nj,rr),e(nj,tK),e(nj,rn),e(nj,ri),e(nj,rE),e(nj,rA),e(nj,rh),e(nj,rm),e(nj,rp),e(nj,rc),e(nj,rf),e(nj,rS),e(nj,rO),e(nj,rP),e(nj,rI),e(nj,rx),e(nj,rv),e(nj,tz),e(module.exports,o),e(module.exports,k),e(module.exports,{}),e(module.exports,eW),e(module.exports,j),e(module.exports,h),e(module.exports,eo),e(module.exports,tm),e(module.exports,eE),e(module.exports,eg),e(module.exports,ep),e(module.exports,eQ),e(module.exports,ei),e(module.exports,e1),e(module.exports,nn),e(module.exports,na),e(module.exports,tB),e(module.exports,nE),e(module.exports,nA),e(module.exports,nh),e(module.exports,nm),e(module.exports,{}),e(module.exports,nR),e(module.exports,nc),e(module.exports,nw),e(module.exports,nS),e(module.exports,tg),e(module.exports,tw),e(module.exports,r$),e(module.exports,th),e(module.exports,tJ),e(module.exports,tS),e(module.exports,tc),e(module.exports,tp),e(module.exports,tf),e(module.exports,{}),e(module.exports,en),e(module.exports,u),e(module.exports,nN),e(module.exports,E),e(module.exports,ev),e(module.exports,eP),e(module.exports,ex),e(module.exports,eI),e(module.exports,eM),e(module.exports,eG),e(module.exports,eV),e(module.exports,ea),e(module.exports,ef),e(module.exports,C),e(module.exports,ew),e(module.exports,l),e(module.exports,_),e(module.exports,p),e(module.exports,T),e(module.exports,c),e(module.exports,R),e(module.exports,eR),e(module.exports,eb),e(module.exports,s8),e(module.exports,nd),e(module.exports,V),e(module.exports,Q),e(module.exports,ny),e(module.exports,nL),e(module.exports,n_),e(module.exports,q),e(module.exports,nU),e(module.exports,nv),e(module.exports,{}),e(module.exports,nD),e(module.exports,er),e(module.exports,J),e(module.exports,b),e(module.exports,nH),e(module.exports,nC),e(module.exports,eq),e(module.exports,Z),e(module.exports,n$),e(module.exports,nj),e(module.exports,rW);
|
|
1
|
+
function e(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}function t(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}var r,s,n,a,i,o={};t(o,"KIRunSchemaRepository",()=>H);var E={};t(E,"AdditionalType",()=>v),t(E,"Schema",()=>U);var u={};t(u,"Namespaces",()=>A);class A{static #e=(()=>{this.SYSTEM="System"})();static #t=(()=>{this.SYSTEM_CTX="System.Context"})();static #r=(()=>{this.SYSTEM_LOOP="System.Loop"})();static #s=(()=>{this.SYSTEM_ARRAY="System.Array"})();static #n=(()=>{this.SYSTEM_OBJECT="System.Object"})();static #a=(()=>{this.MATH="System.Math"})();static #i=(()=>{this.STRING="System.String"})();constructor(){}}var l={};t(l,"ArraySchemaType",()=>m);var h={};function g(e){return null==e}t(h,"isNullValue",()=>g);class m{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!g(this.singleSchema)}static of(...e){return 1==e.length?new m().setSingleSchema(e[0]):new m().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new m().setTupleSchema(U.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new m().setSingleSchema(U.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new m().setTupleSchema(U.fromListOfSchemas(e.tupleSchema));let r=U.from(e);if(r)return new m().setSingleSchema(r)}}var R={};t(R,"SchemaType",()=>r),function(e){e.INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null"}(r||(r={}));var p={};t(p,"TypeUtil",()=>M);var T={};t(T,"MultipleType",()=>f);var c={};t(c,"Type",()=>N);class N{}class f extends N{constructor(e){super(),e instanceof f?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)}}var _={};t(_,"SingleType",()=>S);class S extends N{constructor(e){super(),e instanceof S?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 S(e[0]):new f(new Set(e))}static from(e){return"string"==typeof e?new S(r[M.fromJSONType(e)]):Array.isArray(e)?new f(new Set(e.map(M.fromJSONType).map(e=>e).map(e=>r[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}const O="additionalProperty",w="additionalItems",I="enums",d="items",P="System.Schema",y="required",x="version",L="namespace";class v{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(g(e))return;let t=new v;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 #e=(()=>{this.NULL=new U().setNamespace(A.SYSTEM).setName("Null").setType(M.of(r.NULL)).setConstant(void 0)})();static #t=(()=>{this.TYPE_SCHEMA=new U().setType(M.of(r.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])})();static #r=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName("Schema").setType(M.of(r.OBJECT)).setProperties(new Map([[L,U.of(L,r.STRING).setDefaultValue("_")],["name",U.ofString("name")],[x,U.of(x,r.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")],[I,U.ofArray(I,U.ofString(I))],["constant",U.ofAny("constant")],["pattern",U.ofString("pattern")],["format",U.of("format",r.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",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],["additionalProperties",new U().setName(O).setNamespace(A.SYSTEM).setAnyOf([U.ofBoolean(O),U.ofObject(O).setRef(P)]).setDefaultValue(!0)],[y,U.ofArray(y,U.ofString(y)).setDefaultValue([])],["propertyNames",U.ofRef(P)],["minProperties",U.ofInteger("minProperties")],["maxProperties",U.ofInteger("maxProperties")],["patternProperties",U.of("patternProperties",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],[d,new U().setName(d).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(w).setNamespace(A.SYSTEM).setAnyOf([U.ofBoolean(w),U.ofObject(w).setRef(P)])],["$defs",U.of("$defs",r.OBJECT).setAdditionalProperties(new v().setSchemaValue(U.ofRef(P)))],["permission",U.ofString("permission")]])).setRequired([])})();static ofString(e){return new U().setType(M.of(r.STRING)).setName(e)}static ofInteger(e){return new U().setType(M.of(r.INTEGER)).setName(e)}static ofFloat(e){return new U().setType(M.of(r.FLOAT)).setName(e)}static ofLong(e){return new U().setType(M.of(r.LONG)).setName(e)}static ofDouble(e){return new U().setType(M.of(r.DOUBLE)).setName(e)}static ofAny(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.NULL,r.OBJECT)).setName(e)}static ofAnyNotNull(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.OBJECT)).setName(e)}static ofNumber(e){return new U().setType(M.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)).setName(e)}static ofBoolean(e){return new U().setType(M.of(r.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(r.OBJECT)).setName(e)}static ofRef(e){return new U().setRef(e)}static ofArray(e,...t){return new U().setType(M.of(r.ARRAY)).setName(e).setItems(m.of(...t))}static fromListOfSchemas(e){if(g(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(g(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=U.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(g(e))return;let s=new U;return s.namespace=e.namespace??"_",s.name=e.name,s.version=e.version??1,s.ref=e.ref,t?s.type=new S(r.STRING):s.type=M.from(e.type),s.anyOf=U.fromListOfSchemas(e.anyOf),s.allOf=U.fromListOfSchemas(e.allOf),s.oneOf=U.fromListOfSchemas(e.oneOf),s.not=U.from(e.not),s.description=e.description,s.examples=e.examples?[...e.examples]:void 0,s.defaultValue=e.defaultValue,s.comment=e.comment,s.enums=e.enums?[...e.enums]:void 0,s.constant=e.constant,s.pattern=e.pattern,s.format=e.format,s.minLength=e.minLength,s.maxLength=e.maxLength,s.multipleOf=e.multipleOf,s.minimum=e.minimum,s.maximum=e.maximum,s.exclusiveMinimum=e.exclusiveMinimum,s.exclusiveMaximum=e.exclusiveMaximum,s.properties=U.fromMapOfSchemas(e.properties),s.additionalProperties=v.from(e.additionalProperties),s.required=e.required,s.propertyNames=U.from(e.propertyNames,!0),s.minProperties=e.minProperties,s.maxProperties=e.maxProperties,s.patternProperties=U.fromMapOfSchemas(e.patternProperties),s.items=m.from(e.items),s.additionalItems=v.from(e.additionalItems),s.contains=U.from(e.contains),s.minContains=e.minContains,s.maxContains=e.maxContains,s.minItems=e.minItems,s.maxItems=e.maxItems,s.uniqueItems=e.uniqueItems,s.$defs=U.fromMapOfSchemas(e.$defs),s.permission=e.permission,s}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,g(e.type)||(this.type=e.type instanceof S?new S(e.type):new f(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 v(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 m(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 v(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 S(r.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}}var V={};t(V,"Parameter",()=>F);var C={};t(C,"SchemaReferenceException",()=>G);class G 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}}var b={};t(b,"ParameterType",()=>s),function(e){e.CONSTANT="CONSTANT",e.EXPRESSION="EXPRESSION"}(s||(s={}));const D="value";class F{static #e=(()=>{this.SCHEMA_NAME="Parameter"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(F.SCHEMA_NAME).setProperties(new Map([["schema",U.SCHEMA],["parameterName",U.ofString("parameterName")],["variableArgument",U.of("variableArgument",r.BOOLEAN).setDefaultValue(!1)],["type",U.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))})();static #r=(()=>{this.EXPRESSION=new U().setNamespace(A.SYSTEM).setName("ParameterExpression").setType(M.of(r.OBJECT)).setProperties(new Map([["isExpression",U.ofBoolean("isExpression").setDefaultValue(!0)],[D,U.ofAny(D)]]))})();constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof F)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 F(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new F(e,t).setType(n).setVariableArgument(r)}static from(e){let t=U.from(e.schema);if(!t)throw new G("","Parameter requires Schema");return new F(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}const Y=new Map([["any",U.ofAny("any").setNamespace(A.SYSTEM)],["boolean",U.ofBoolean("boolean").setNamespace(A.SYSTEM)],["double",U.ofDouble("double").setNamespace(A.SYSTEM)],["float",U.ofFloat("float").setNamespace(A.SYSTEM)],["integer",U.ofInteger("integer").setNamespace(A.SYSTEM)],["long",U.ofLong("long").setNamespace(A.SYSTEM)],["number",U.ofNumber("number").setNamespace(A.SYSTEM)],["string",U.ofString("string").setNamespace(A.SYSTEM)],[F.EXPRESSION.getName(),F.EXPRESSION],[U.NULL.getName(),U.NULL],[U.SCHEMA.getName(),U.SCHEMA]]),B=Array.from(Y.values()).map(e=>e.getFullName());class H{async find(e,t){return A.SYSTEM!=e?Promise.resolve(void 0):Promise.resolve(Y.get(t))}async filter(e){return Promise.resolve(B.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var k={};function $(e){return[e.getSignature().getName(),e]}t(k,"KIRunFunctionRepository",()=>ns);var j={};t(j,"MapUtil",()=>X),t(j,"MapEntry",()=>W);class X{static of(e,t,r,s,n,a,i,o,E,u,A,l,h,m,R,p,T,c,N,f){let _=new Map;return g(e)||g(t)||_.set(e,t),g(r)||g(s)||_.set(r,s),g(n)||g(a)||_.set(n,a),g(i)||g(o)||_.set(i,o),g(E)||g(u)||_.set(E,u),g(A)||g(l)||_.set(A,l),g(h)||g(m)||_.set(h,m),g(R)||g(p)||_.set(R,p),g(T)||g(c)||_.set(T,c),g(N)||g(f)||_.set(N,f),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new W(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 W{constructor(e,t){this.k=e,this.v=t}}var q={};t(q,"EventResult",()=>K);var J={};t(J,"Event",()=>z);class z{static #e=(()=>{this.OUTPUT="output"})();static #t=(()=>{this.ERROR="error"})();static #r=(()=>{this.ITERATION="iteration"})();static #s=(()=>{this.TRUE="true"})();static #n=(()=>{this.FALSE="false"})();static #a=(()=>{this.SCHEMA_NAME="Event"})();static #i=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(z.SCHEMA_NAME).setType(M.of(r.OBJECT)).setProperties(new Map([["name",U.ofString("name")],["parameters",U.ofObject("parameter").setAdditionalProperties(new v().setSchemaValue(U.SCHEMA))]]))})();constructor(e,t){if(e instanceof z)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 z.eventMapEntry(z.OUTPUT,e)}static eventMapEntry(e,t){return[e,new z(e,t)]}static from(e){return new z(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=U.from(e[1]);if(!t)throw new G("","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(z.OUTPUT,e)}static of(e,t){return new K(e,t)}}var Q={};t(Q,"FunctionOutput",()=>et);var Z={};t(Z,"KIRuntimeException",()=>ee);class ee extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class et{constructor(e){if(this.index=0,g(e))throw new ee("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}}var er={};t(er,"FunctionSignature",()=>es);class es{static #e=(()=>{this.SCHEMA_NAME="FunctionSignature"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(es.SCHEMA_NAME).setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofObject("parameters").setAdditionalProperties(new v().setSchemaValue(F.SCHEMA))],["events",U.ofObject("events").setAdditionalProperties(new v().setSchemaValue(z.SCHEMA))]]))})();constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof es?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new F(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new z(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}}var en={};t(en,"AbstractFunction",()=>eB);var ea={};t(ea,"SchemaValidator",()=>eY);var ei={};t(ei,"deepEqual",()=>eh);var eo={};t(eo,"LinkedList",()=>eA);var eE={};t(eE,"StringFormatter",()=>eu);class eu{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class eA{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 el(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new el(t);this.length=e.length}}push(e){let t=new el(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 ee(eu.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 el(e,this.head),this.head.next=this.tail):(this.tail=new el(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new el(e),this}map(e,t){let r=new eA,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(eh(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class el{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function eh(e,t){let r=new eA;r.push(e);let s=new eA;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}var eg={};t(eg,"StringUtil",()=>em);class em{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new ee("String cannot be null");if(r<0||r>=e.length)throw new ee(eu.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new ee(eu.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)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 isNullOrBlank(e){return!e||""==e.trim()}}var eR={};t(eR,"SchemaUtil",()=>eS);var ep={};t(ep,"Tuple2",()=>eT),t(ep,"Tuple3",()=>ec),t(ep,"Tuple4",()=>eN);class eT{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 ec extends eT{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 eN extends ec{constructor(e,t,r,s){super(e,t,r),this.fr=s}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}}var ef={};t(ef,"SchemaValidationException",()=>e_);class e_ extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class eS{static #e=(()=>{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"})();static #t=(()=>{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20})();static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():g(e.getDefaultValue())?eS.getDefaultValue(await eS.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!g(e.getDefaultValue())?Promise.resolve(!0):g(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(r.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,s=0){if(++s==eS.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new e_(r??"","Schema has a cyclic reference");if(!e||!r||em.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await eS.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(eS.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,s,n,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 G(s,eS.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(r.OBJECT)||!o.getProperties()))throw new G(s,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!em.isNullOrBlank(o.getRef())&&!(o=await eS.getSchemaFromRef(o,t,o.getRef(),n)))throw new G(s,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 s=em.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=em.splitAtFirstOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new eT(a,r));if(r="#/"+s[1],!a)throw new G(r,eS.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new eT(a,r))}constructor(){}}var eM={};t(eM,"AnyOfAllOfOneOfValidator",()=>eO);class eO{static validate(e,t,r,s){let n=[];return t.getOneOf()&&!t.getOneOf()?eO.oneOf(e,t,r,s,n):t.getAllOf()&&!t.getAllOf()?eO.allOf(e,t,r,s,n):t.getAnyOf()&&!t.getAnyOf()&&eO.anyOf(e,t,r,s,n),s}static anyOf(e,t,r,s,n){let a=!1;for(let i of t.getAnyOf()??[])try{eO.validate(e,i,r,s),a=!0;break}catch(e){a=!1,n.push(e)}if(!a)throw new e_(eY.path(e),"The value don't satisfy any of the schemas.",n)}static allOf(e,t,r,s,n){let a=0;for(let i of t.getAllOf()??[])try{eO.validate(e,i,r,s),a++}catch(e){n.push(e)}if(a!==t.getAllOf()?.length)throw new e_(eY.path(e),"The value doesn't satisfy some of the schemas.",n)}static oneOf(e,t,r,s,n){let a=0;for(let i of t.getOneOf()??[])try{eO.validate(e,i,r,s),a++}catch(e){n.push(e)}if(1!=a)throw new e_(eY.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}var ew={};t(ew,"TypeValidator",()=>eF);var eI={};t(eI,"ArrayValidator",()=>ed);class ed{static async validate(e,t,r,s){if(g(s))throw new e_(eY.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new e_(eY.path(e),s.toString()+" is not an Array");return ed.checkMinMaxItems(e,t,s),await ed.checkItems(e,t,r,s),ed.checkUniqueItems(e,t,s),await ed.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(g(e.getContains()))return;let n=await ed.countContains(t,e,r,s,g(e.getMinContains())&&g(e.getMaxContains()));if(0===n)throw new e_(eY.path(t),"None of the items are of type contains schema");if(!g(e.getMinContains())&&e.getMinContains()>n)throw new e_(eY.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!g(e.getMaxContains())&&e.getMaxContains()<n)throw new e_(eY.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await eY.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new e_(eY.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new e_(eY.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new e_(eY.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s){if(!t.getItems())return;let n=t.getItems();if(n.getSingleSchema())for(let t=0;t<s.length;t++){let a=e?[...e]:[],i=await eY.validate(a,n.getSingleSchema(),r,s[t]);s[t]=i}if(n.getTupleSchema()){if(n.getTupleSchema().length!==s.length&&g(t?.getAdditionalItems()))throw new e_(eY.path(e),"Expected an array with only "+n.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,n),await this.checkAdditionalItems(e,t,r,s,n)}}static async checkItemsInTupleSchema(e,t,r,s){for(let n=0;n<s.getTupleSchema()?.length;n++){let a=e?[...e]:[],i=await eY.validate(a,s.getTupleSchema()[n],t,r[n]);r[n]=i}}static async checkAdditionalItems(e,t,r,s,n){if(!g(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=U.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new e_(eY.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[],i=await eY.validate(n,a,r,s[t]);s[t]=i}}constructor(){}}var eP={};t(eP,"BooleanValidator",()=>ey);class ey{static validate(e,t,r){if(g(r))throw new e_(eY.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new e_(eY.path(e),r.toString()+" is not a boolean");return r}constructor(){}}var ex={};t(ex,"NullValidator",()=>eL);class eL{static validate(e,t,r){if(g(r))return r;throw new e_(eY.path(e),"Expected a null but found "+r)}constructor(){}}var ev={};t(ev,"NumberValidator",()=>eU);class eU{static validate(e,t,r,s){if(g(s))throw new e_(eY.path(t),"Expected a number but found null");if("number"!=typeof s)throw new e_(eY.path(t),s.toString()+" is not a "+e);let n=eU.extractNumber(e,t,r,s);return eU.checkRange(t,r,s,n),eU.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,s,n){let a=n;try{(e==r.LONG||e==r.INTEGER)&&(a=Math.round(a))}catch(r){throw new e_(eY.path(t),n+" is not a number of type "+e,r)}if(g(a)||(e==r.LONG||e==r.INTEGER)&&a!=n)throw new e_(eY.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new e_(eY.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!g(t.getMinimum())&&0>eU.numberCompare(s,t.getMinimum()))throw new e_(eY.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!g(t.getMaximum())&&eU.numberCompare(s,t.getMaximum())>0)throw new e_(eY.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!g(t.getExclusiveMinimum())&&0>=eU.numberCompare(s,t.getExclusiveMinimum()))throw new e_(eY.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!g(t.getExclusiveMaximum())&&eU.numberCompare(s,t.getExclusiveMaximum())>0)throw new e_(eY.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}var eV={};t(eV,"ObjectValidator",()=>eC);class eC{static async validate(e,t,r,s){if(g(s))throw new e_(eY.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new e_(eY.path(e),s.toString()+" is not an Object");let n=new Set(Object.keys(s));eC.checkMinMaxProperties(e,t,n),t.getPropertyNames()&&await eC.checkPropertyNameSchema(e,t,r,n),t.getRequired()&&eC.checkRequired(e,t,s),t.getProperties()&&await eC.checkProperties(e,t,r,s,n),t.getPatternProperties()&&await eC.checkPatternProperties(e,t,r,s,n),t.getAdditionalProperties()&&await eC.checkAddtionalProperties(e,t,r,s,n)}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await eY.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new e_(eY.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(g(r[s]))throw new e_(eY.path(e),s+" is mandatory")}static async checkAddtionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[],i=await eY.validate(n,a.getSchemaValue(),r,s[t]);s[t]=i}else if(!1===a.getBooleanValue()&&n.size)throw new e_(eY.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){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(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){let a=await eY.validate(o,t.getPatternProperties().get(e[0]),r,s[i]);s[i]=a,n.delete(i);break}}}static async checkProperties(e,t,r,s,n){for(let a of Array.from(t.getProperties())){let t=s[a[0]];if(!s.hasOwnProperty(a[0])&&g(t)){let e=await eS.getDefaultValue(a[1],r);if(g(e))continue}let i=e?[...e]:[],o=await eY.validate(i,a[1],r,t);s[a[0]]=o,n.delete(a[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new e_(eY.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new e_(eY.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}var eG={};t(eG,"StringValidator",()=>eD);var eb={};t(eb,"StringFormat",()=>n),function(e){e.DATETIME="DATETIME",e.TIME="TIME",e.DATE="DATE",e.EMAIL="EMAIL",e.REGEX="REGEX"}(n||(n={}));class eD{static #e=(()=>{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #t=(()=>{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/})();static #r=(()=>{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 #s=(()=>{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/})();static validate(e,t,r){if(g(r))throw new e_(eY.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new e_(eY.path(e),r.toString()+" is not String");t.getFormat()==n.TIME?eD.patternMatcher(e,t,r,eD.TIME,"time pattern"):t.getFormat()==n.DATE?eD.patternMatcher(e,t,r,eD.DATE,"date pattern"):t.getFormat()==n.DATETIME?eD.patternMatcher(e,t,r,eD.DATETIME,"date time pattern"):t.getFormat()==n.EMAIL?eD.patternMatcher(e,t,r,eD.EMAIL,"email pattern"):t.getPattern()&&eD.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new e_(eY.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new e_(eY.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new e_(eY.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}class eF{static async validate(e,t,s,n,a){if(t==r.STRING)eD.validate(e,s,a);else if(t==r.LONG||t==r.INTEGER||t==r.DOUBLE||t==r.FLOAT)eU.validate(t,e,s,a);else if(t==r.BOOLEAN)ey.validate(e,s,a);else if(t==r.OBJECT)await eC.validate(e,s,n,a);else if(t==r.ARRAY)await ed.validate(e,s,n,a);else if(t==r.NULL)eL.validate(e,s,a);else throw new e_(eY.path(e),t+" is not a valid type.");return a}constructor(){}}class eY{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,s){if(!t)throw new e_(eY.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),g(s)&&!g(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!g(t.getConstant()))return eY.constantValidation(e,t,s);if(t.getEnums()&&!t.getEnums()?.length)return eY.enumCheck(e,t,s);if(t.getFormat()&&g(t.getType()))throw new e_(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&await eY.typeValidation(e,t,r,s),!em.isNullOrBlank(t.getRef()))return await eY.validate(e,await eS.getSchemaFromRef(e[0],r,t.getRef()),r,s);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&eO.validate(e,t,r,s),t.getNot()){let n=!1;try{await eY.validate(e,t.getNot(),r,s),n=!0}catch(e){n=!1}if(n)throw new e_(eY.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!eh(t.getConstant(),r))throw new e_(eY.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new e_(eY.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s){let n,a=!1,i=[];for(n of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{await eF.validate(e,n,t,r,s),a=!0;break}catch(e){a=!1,i.push(e)}if(!a)throw new e_(eY.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",i)}constructor(){}}class eB{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new ee(`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 s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(g(i)&&!s.isVariableArgument())return new eT(a,await eY.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new eT(a,await eY.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],g(i)?g(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await eY.validate(void 0,s.getSchema(),t,n[e]);return new eT(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return this.internalExecute(e)}catch(r){let t=this.getSignature();throw new ee(`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 eH extends eB{static #e=(()=>{this.EVENT_INDEX_NAME="index"})();static #t=(()=>{this.EVENT_RESULT_NAME="result"})();static #r=(()=>{this.EVENT_INDEX=new z(z.OUTPUT,X.of(eH.EVENT_INDEX_NAME,U.ofInteger(eH.EVENT_INDEX_NAME)))})();static #s=(()=>{this.EVENT_RESULT_INTEGER=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofInteger(eH.EVENT_RESULT_NAME)))})();static #n=(()=>{this.EVENT_RESULT_BOOLEAN=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofBoolean(eH.EVENT_RESULT_NAME)))})();static #a=(()=>{this.EVENT_RESULT_ARRAY=new z(z.OUTPUT,X.of(eH.EVENT_RESULT_NAME,U.ofArray(eH.EVENT_RESULT_NAME,U.ofAny(eH.EVENT_RESULT_NAME))))})();static #i=(()=>{this.EVENT_RESULT_EMPTY=new z(z.OUTPUT,X.of())})();static #o=(()=>{this.EVENT_RESULT_ANY=new z(z.OUTPUT,X.of(this.EVENT_RESULT_NAME,U.ofAny(this.EVENT_RESULT_NAME)))})();static #E=(()=>{this.EVENT_RESULT_OBJECT=new z(z.OUTPUT,X.of(this.EVENT_RESULT_NAME,U.ofObject(this.EVENT_RESULT_NAME)))})();static #u=(()=>{this.PARAMETER_INT_LENGTH=F.of("length",U.ofInteger("length").setDefaultValue(-1))})();static #A=(()=>{this.PARAMETER_ARRAY_FIND=F.of("find",U.ofArray("eachFind",U.ofAny("eachFind")))})();static #l=(()=>{this.PARAMETER_INT_SOURCE_FROM=F.of("srcFrom",U.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))})();static #h=(()=>{this.PARAMETER_INT_SECOND_SOURCE_FROM=F.of("secondSrcFrom",U.ofInteger("secondSrcFrom").setDefaultValue(0))})();static #g=(()=>{this.PARAMETER_INT_FIND_FROM=F.of("findFrom",U.ofInteger("findFrom").setDefaultValue(0))})();static #m=(()=>{this.PARAMETER_INT_OFFSET=F.of("offset",U.ofInteger("offset").setDefaultValue(0))})();static #R=(()=>{this.PARAMETER_ROTATE_LENGTH=F.of("rotateLength",U.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))})();static #p=(()=>{this.PARAMETER_BOOLEAN_ASCENDING=F.of("ascending",U.ofBoolean("ascending").setDefaultValue(!0))})();static #T=(()=>{this.PARAMETER_KEY_PATH=F.of("keyPath",U.ofString("keyPath").setDefaultValue(""))})();static #c=(()=>{this.PARAMETER_FIND_PRIMITIVE=F.of("findPrimitive",U.of("findPrimitive",r.STRING,r.DOUBLE,r.FLOAT,r.INTEGER,r.LONG))})();static #N=(()=>{this.PARAMETER_ARRAY_SOURCE=F.of("source",U.ofArray("eachSource",U.ofAny("eachSource")))})();static #f=(()=>{this.PARAMETER_ARRAY_SECOND_SOURCE=F.of("secondSource",U.ofArray("eachSecondSource",U.ofAny("eachSecondSource")))})();static #_=(()=>{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=F.of("source",U.ofArray("eachSource",new U().setName("eachSource").setType(M.of(r.STRING,r.NULL,r.INTEGER,r.FLOAT,r.DOUBLE,r.LONG))))})();static #S=(()=>{this.PARAMETER_BOOLEAN_DEEP_COPY=F.of("deepCopy",U.ofBoolean("deepCopy").setDefaultValue(!0))})();static #M=(()=>{this.PARAMETER_ANY=F.of("element",U.ofAny("element"))})();static #O=(()=>{this.PARAMETER_ANY_NOT_NULL=F.of("elementObject",U.ofAnyNotNull("elementObject"))})();static #w=(()=>{this.PARAMETER_ANY_VAR_ARGS=F.of("element",U.ofAny("element")).setVariableArgument(!0)})();static #I=(()=>{this.PARAMETER_ARRAY_RESULT=F.of(eH.EVENT_RESULT_NAME,U.ofArray("eachResult",U.ofAny("eachResult")))})();constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new es(e).setNamespace(A.SYSTEM_ARRAY).setParameters(s).setEvents(X.of(r.getName(),r))}getSignature(){return this.signature}}class ek extends eH{constructor(){super("Concatenate",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ARRAY_SECOND_SOURCE],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,[...t,...r]]]))])}}class e$ extends eH{constructor(){super("AddFirst",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eH.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new et([K.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}const ej="keyName";class eX extends eH{constructor(){super("ArrayToArrayOfObjects",[eH.PARAMETER_ARRAY_SOURCE,F.of(ej,U.ofString(ej),!0)],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eX.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej);if(!t?.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});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 et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,s]]))])}}var eW={};t(eW,"PrimitiveUtil",()=>ez);var eq={};t(eq,"ExecutionException",()=>eJ);class eJ extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class ez{static findPrimitiveNullAsBoolean(e){if(g(e))return new eT(r.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new eJ(eu.format("$ is not a primitive type",e));return"boolean"===t?new eT(r.BOOLEAN,e):"string"===t?new eT(r.STRING,e):ez.findPrimitiveNumberType(e)}static findPrimitive(e){if(g(e))return new eT(r.NULL,void 0);let t=typeof e;if("object"===t)throw new eJ(eu.format("$ is not a primitive type",e));return"boolean"===t?new eT(r.BOOLEAN,e):"string"===t?new eT(r.STRING,e):ez.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(g(e)||Array.isArray(e)||"object"==typeof e)throw new eJ(eu.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new eT(r.LONG,e);return new eT(r.DOUBLE,e)}catch(t){throw new eJ(eu.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(g(e)||g(t))return g(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 s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return g(e)||g(t)?g(e)&&g(t)?0:g(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)?r.LONG:r.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eK extends eH{constructor(){super("BinarySearch",[eK.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eK.PARAMETER_INT_SOURCE_FROM,eK.PARAMETER_FIND_PRIMITIVE,eK.PARAMETER_INT_LENGTH],eK.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eK.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eK.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(eK.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new ee("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new ee("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==ez.compare(t[e],s)){a=e;break}ez.compare(t[e],s)>0?n=e-1:r=e+1}return new et([K.outputOf(new Map([[eK.EVENT_INDEX_NAME,a]]))])}}var eQ={};t(eQ,"ArrayUtil",()=>eZ);class eZ{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 e0 extends eH{constructor(){super("Compare",eZ.of(e0.PARAMETER_ARRAY_SOURCE,e0.PARAMETER_INT_SOURCE_FROM,e0.PARAMETER_ARRAY_FIND,e0.PARAMETER_INT_FIND_FROM,e0.PARAMETER_INT_LENGTH),e0.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(e0.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e0.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e0.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(e0.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(e0.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new ee("Compare source array cannot be empty");if(0==s.length)throw new ee("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new ee(eu.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new ee(eu.format("Find array size $ is less than comparing size $",s.length,n+a));return new et(eZ.of(K.outputOf(X.of(e0.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new ee(eu.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(g(e[a])||g(s[i])){let r=g(e[a]);r==g(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}var e1={};function e2(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}t(e1,"duplicate",()=>e2);class e9 extends eH{constructor(){super("Copy",[e9.PARAMETER_ARRAY_SOURCE,e9.PARAMETER_INT_SOURCE_FROM,e9.PARAMETER_INT_LENGTH,e9.PARAMETER_BOOLEAN_DEEP_COPY],e9.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(e9.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e9.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e9.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee(eu.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(e9.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)g(t[e])||(a[e-r]=n?e2(t[e]):t[e]);return new et([K.outputOf(X.of(e9.EVENT_RESULT_NAME,a))])}}class e4 extends eH{constructor(){super("Delete",[eH.PARAMETER_ARRAY_SOURCE,eH.PARAMETER_ANY_VAR_ARGS],eH.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e4.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e4.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new ee("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new ee("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=ez.compare(t[e],r[n])||s.add(t[e]);return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class e3 extends eH{constructor(){super("DeleteFirst",[e3.PARAMETER_ARRAY_SOURCE],e3.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e3.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new ee("Given source array is empty");return(t=[...t]).shift(),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e5 extends eH{constructor(){super("DeleteFrom",[e5.PARAMETER_ARRAY_SOURCE,e5.PARAMETER_INT_SOURCE_FROM,e5.PARAMETER_INT_LENGTH],e5.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e5.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e5.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e5.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new ee("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new ee("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e6 extends eH{constructor(){super("DeleteLast",[e6.PARAMETER_ARRAY_SOURCE],e6.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e6.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new ee("Given source array is empty");return(t=[...t]).pop(),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class e8 extends eH{constructor(){super("Disjoint",[e8.PARAMETER_ARRAY_SOURCE,e8.PARAMETER_INT_SOURCE_FROM,e8.PARAMETER_ARRAY_SECOND_SOURCE,e8.PARAMETER_INT_SECOND_SOURCE_FROM,e8.PARAMETER_INT_LENGTH],e8.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e8.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e8.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e8.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(e8.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(e8.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new ee("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(s[e+n]);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 et([K.outputOf(new Map([[e8.EVENT_RESULT_NAME,[...E]]]))])}}class e7 extends eH{constructor(){super("Equals",[e7.PARAMETER_ARRAY_SOURCE,e7.PARAMETER_INT_SOURCE_FROM,e7.PARAMETER_ARRAY_FIND,e7.PARAMETER_INT_FIND_FROM,e7.PARAMETER_INT_LENGTH],e7.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new e0,r=(await t.execute(e)).allResults()[0].getResult().get(e7.EVENT_RESULT_NAME);return new et([K.outputOf(X.of(e7.EVENT_RESULT_NAME,0==r))])}}class te extends eH{constructor(){super("Fill",[te.PARAMETER_ARRAY_SOURCE,te.PARAMETER_INT_SOURCE_FROM,te.PARAMETER_INT_LENGTH,te.PARAMETER_ANY],te.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(te.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(te.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(te.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(te.PARAMETER_ANY.getParameterName());if(r<0)throw new ee(eu.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=g(n)?n:e2(n);return new et([K.outputOf(X.of(eH.EVENT_RESULT_NAME,t))])}}class tt extends eH{constructor(){super("Frequency",[tt.PARAMETER_ARRAY_SOURCE,tt.PARAMETER_ANY,tt.PARAMETER_INT_SOURCE_FROM,tt.PARAMETER_INT_LENGTH],tt.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tt.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tt.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(tt.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(tt.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tt.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new ee("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new ee("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==ez.compare(t[e],r)&&i++;return new et([K.outputOf(new Map([[tt.EVENT_RESULT_NAME,i]]))])}}class tr extends eH{constructor(){super("IndexOf",[tr.PARAMETER_ARRAY_SOURCE,tr.PARAMETER_ANY_NOT_NULL,tr.PARAMETER_INT_FIND_FROM],tr.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tr.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tr.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(tr.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tr.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new ee("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==ez.compare(t[e],r)){n=e;break}return new et([K.outputOf(new Map([[tr.EVENT_RESULT_NAME,n]]))])}}class ts extends eH{constructor(){super("IndexOfArray",[ts.PARAMETER_ARRAY_SOURCE,ts.PARAMETER_ARRAY_SECOND_SOURCE,ts.PARAMETER_INT_FIND_FROM],ts.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ts.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ts.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ts.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new et([K.outputOf(new Map([[ts.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new ee("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==ez.compare(t[e],r[s])){for(;s<n&&0==ez.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new et([K.outputOf(new Map([[ts.EVENT_RESULT_NAME,a]]))])}}class tn extends eH{constructor(){super("LastIndexOf",[tn.PARAMETER_ARRAY_SOURCE,tn.PARAMETER_ANY_NOT_NULL,tn.PARAMETER_INT_FIND_FROM],tn.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tn.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tn.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(tn.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[tn.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new ee("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==ez.compare(t[e],r)){n=e;break}return new et([K.outputOf(new Map([[tn.EVENT_RESULT_NAME,n]]))])}}class ta extends eH{constructor(){super("LastIndexOfArray",[ta.PARAMETER_ARRAY_SOURCE,ta.PARAMETER_ARRAY_SECOND_SOURCE,ta.PARAMETER_INT_FIND_FROM],ta.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ta.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ta.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ta.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[ta.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new ee("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==ez.compare(t[e],r[s])){for(;s<n&&0==ez.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new et([K.outputOf(new Map([[ta.EVENT_RESULT_NAME,a]]))])}}class ti extends eH{constructor(){super("Max",[ti.PARAMETER_ARRAY_SOURCE_PRIMITIVE],ti.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(ti.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new ee("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];ez.comparePrimitive(r,s)>=0||(r=s)}return new et([K.outputOf(new Map([[ti.EVENT_RESULT_NAME,r]]))])}}class to extends eH{constructor(){super("Min",[to.PARAMETER_ARRAY_SOURCE_PRIMITIVE],to.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(to.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new ee("Search source array cannot be empty");for(let e=0;e<r.length;e++)!g(r[e])&&(void 0===t||0>ez.comparePrimitive(r[e],t))&&(t=r[e]);return new et([K.outputOf(new Map([[to.EVENT_RESULT_NAME,t]]))])}}class tE extends eH{constructor(){super("MisMatch",[tE.PARAMETER_ARRAY_SOURCE,tE.PARAMETER_INT_FIND_FROM,tE.PARAMETER_ARRAY_SECOND_SOURCE,tE.PARAMETER_INT_SECOND_SOURCE_FROM,tE.PARAMETER_INT_LENGTH],tE.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tE.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tE.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(tE.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(tE.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new ee("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]!=s[o+e]){E=e;break}return new et([K.outputOf(new Map([[tE.EVENT_RESULT_NAME,E]]))])}}class tu extends eH{constructor(){super("Reverse",[tu.PARAMETER_ARRAY_SOURCE,tu.PARAMETER_INT_SOURCE_FROM,tu.PARAMETER_INT_LENGTH],tu.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tu.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tu.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tu.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new ee("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new et([K.outputOf(new Map([[tu.EVENT_RESULT_NAME,t]]))])}}class tA extends eH{constructor(){super("Rotate",[tA.PARAMETER_ARRAY_SOURCE,tA.PARAMETER_ROTATE_LENGTH],tA.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tA.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tA.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class tl extends eH{constructor(){super("Shuffle",[tl.PARAMETER_ARRAY_SOURCE],tl.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tl.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}var th={};t(th,"ObjectValueSetterExtractor",()=>td);var tg={};t(tg,"Expression",()=>tO);var tm={};t(tm,"StringBuilder",()=>tR);class tR{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 ee(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}var tp={};t(tp,"ExpressionEvaluationException",()=>tT);class tT extends Error{constructor(e,t,r){super(eu.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}var tc={};t(tc,"ExpressionToken",()=>tN);class tN{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}var tf={};t(tf,"ExpressionTokenValue",()=>t_);class t_ extends tN{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return eu.format("$: $",this.expression,this.element)}}var tS={};t(tS,"Operation",()=>tM);class tM{static #e=(()=>{this.MULTIPLICATION=new tM("*")})();static #t=(()=>{this.DIVISION=new tM("/")})();static #r=(()=>{this.INTEGER_DIVISION=new tM("//")})();static #s=(()=>{this.MOD=new tM("%")})();static #n=(()=>{this.ADDITION=new tM("+")})();static #a=(()=>{this.SUBTRACTION=new tM("-")})();static #i=(()=>{this.NOT=new tM("not",void 0,!0)})();static #o=(()=>{this.AND=new tM("and",void 0,!0)})();static #E=(()=>{this.OR=new tM("or",void 0,!0)})();static #u=(()=>{this.LESS_THAN=new tM("<")})();static #A=(()=>{this.LESS_THAN_EQUAL=new tM("<=")})();static #l=(()=>{this.GREATER_THAN=new tM(">")})();static #h=(()=>{this.GREATER_THAN_EQUAL=new tM(">=")})();static #g=(()=>{this.EQUAL=new tM("=")})();static #m=(()=>{this.NOT_EQUAL=new tM("!=")})();static #R=(()=>{this.BITWISE_AND=new tM("&")})();static #p=(()=>{this.BITWISE_OR=new tM("|")})();static #T=(()=>{this.BITWISE_XOR=new tM("^")})();static #c=(()=>{this.BITWISE_COMPLEMENT=new tM("~")})();static #N=(()=>{this.BITWISE_LEFT_SHIFT=new tM("<<")})();static #f=(()=>{this.BITWISE_RIGHT_SHIFT=new tM(">>")})();static #_=(()=>{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new tM(">>>")})();static #S=(()=>{this.UNARY_PLUS=new tM("UN: +","+")})();static #M=(()=>{this.UNARY_MINUS=new tM("UN: -","-")})();static #O=(()=>{this.UNARY_LOGICAL_NOT=new tM("UN: not","not")})();static #w=(()=>{this.UNARY_BITWISE_COMPLEMENT=new tM("UN: ~","~")})();static #I=(()=>{this.ARRAY_OPERATOR=new tM("[")})();static #d=(()=>{this.OBJECT_OPERATOR=new tM(".")})();static #P=(()=>{this.NULLISH_COALESCING_OPERATOR=new tM("??")})();static #y=(()=>{this.CONDITIONAL_TERNARY_OPERATOR=new tM("?")})();static #x=(()=>{this.VALUE_OF=new Map([["MULTIPLICATION",tM.MULTIPLICATION],["DIVISION",tM.DIVISION],["INTEGER_DIVISON",tM.INTEGER_DIVISION],["MOD",tM.MOD],["ADDITION",tM.ADDITION],["SUBTRACTION",tM.SUBTRACTION],["NOT",tM.NOT],["AND",tM.AND],["OR",tM.OR],["LESS_THAN",tM.LESS_THAN],["LESS_THAN_EQUAL",tM.LESS_THAN_EQUAL],["GREATER_THAN",tM.GREATER_THAN],["GREATER_THAN_EQUAL",tM.GREATER_THAN_EQUAL],["EQUAL",tM.EQUAL],["NOT_EQUAL",tM.NOT_EQUAL],["BITWISE_AND",tM.BITWISE_AND],["BITWISE_OR",tM.BITWISE_OR],["BITWISE_XOR",tM.BITWISE_XOR],["BITWISE_COMPLEMENT",tM.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",tM.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",tM.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",tM.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",tM.UNARY_PLUS],["UNARY_MINUS",tM.UNARY_MINUS],["UNARY_LOGICAL_NOT",tM.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",tM.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",tM.ARRAY_OPERATOR],["OBJECT_OPERATOR",tM.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",tM.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",tM.CONDITIONAL_TERNARY_OPERATOR]])})();static #L=(()=>{this.UNARY_OPERATORS=new Set([tM.ADDITION,tM.SUBTRACTION,tM.NOT,tM.BITWISE_COMPLEMENT,tM.UNARY_PLUS,tM.UNARY_MINUS,tM.UNARY_LOGICAL_NOT,tM.UNARY_BITWISE_COMPLEMENT])})();static #v=(()=>{this.ARITHMETIC_OPERATORS=new Set([tM.MULTIPLICATION,tM.DIVISION,tM.INTEGER_DIVISION,tM.MOD,tM.ADDITION,tM.SUBTRACTION])})();static #U=(()=>{this.LOGICAL_OPERATORS=new Set([tM.NOT,tM.AND,tM.OR,tM.LESS_THAN,tM.LESS_THAN_EQUAL,tM.GREATER_THAN,tM.GREATER_THAN_EQUAL,tM.EQUAL,tM.NOT_EQUAL,tM.NULLISH_COALESCING_OPERATOR])})();static #V=(()=>{this.BITWISE_OPERATORS=new Set([tM.BITWISE_AND,tM.BITWISE_COMPLEMENT,tM.BITWISE_LEFT_SHIFT,tM.BITWISE_OR,tM.BITWISE_RIGHT_SHIFT,tM.BITWISE_UNSIGNED_RIGHT_SHIFT,tM.BITWISE_XOR])})();static #C=(()=>{this.CONDITIONAL_OPERATORS=new Set([tM.CONDITIONAL_TERNARY_OPERATOR])})();static #G=(()=>{this.OPERATOR_PRIORITY=new Map([[tM.UNARY_PLUS,1],[tM.UNARY_MINUS,1],[tM.UNARY_LOGICAL_NOT,1],[tM.UNARY_BITWISE_COMPLEMENT,1],[tM.ARRAY_OPERATOR,1],[tM.OBJECT_OPERATOR,1],[tM.MULTIPLICATION,2],[tM.DIVISION,2],[tM.INTEGER_DIVISION,2],[tM.MOD,2],[tM.ADDITION,3],[tM.SUBTRACTION,3],[tM.BITWISE_LEFT_SHIFT,4],[tM.BITWISE_RIGHT_SHIFT,4],[tM.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[tM.LESS_THAN,5],[tM.LESS_THAN_EQUAL,5],[tM.GREATER_THAN,5],[tM.GREATER_THAN_EQUAL,5],[tM.EQUAL,6],[tM.NOT_EQUAL,6],[tM.BITWISE_AND,7],[tM.BITWISE_XOR,8],[tM.BITWISE_OR,9],[tM.AND,10],[tM.OR,11],[tM.NULLISH_COALESCING_OPERATOR,11],[tM.CONDITIONAL_TERNARY_OPERATOR,12]])})();static #b=(()=>{this.OPERATORS=new Set([...Array.from(tM.ARITHMETIC_OPERATORS),...Array.from(tM.LOGICAL_OPERATORS),...Array.from(tM.BITWISE_OPERATORS),tM.ARRAY_OPERATOR,tM.OBJECT_OPERATOR,...Array.from(tM.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))})();static #D=(()=>{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(tM.ARITHMETIC_OPERATORS),...Array.from(tM.LOGICAL_OPERATORS),...Array.from(tM.BITWISE_OPERATORS),tM.ARRAY_OPERATOR,tM.OBJECT_OPERATOR,...Array.from(tM.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))})();static #F=(()=>{this.OPERATION_VALUE_OF=new Map(Array.from(tM.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))})();static #Y=(()=>{this.UNARY_MAP=new Map([[tM.ADDITION,tM.UNARY_PLUS],[tM.SUBTRACTION,tM.UNARY_MINUS],[tM.NOT,tM.UNARY_LOGICAL_NOT],[tM.BITWISE_COMPLEMENT,tM.UNARY_BITWISE_COMPLEMENT],[tM.UNARY_PLUS,tM.UNARY_PLUS],[tM.UNARY_MINUS,tM.UNARY_MINUS],[tM.UNARY_LOGICAL_NOT,tM.UNARY_LOGICAL_NOT],[tM.UNARY_BITWISE_COMPLEMENT,tM.UNARY_BITWISE_COMPLEMENT]])})();static #B=(()=>{this.BIGGEST_OPERATOR_SIZE=Array.from(tM.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 tM.VALUE_OF.get(e)}toString(){return this.operator}}class tO extends tN{constructor(e,t,r,s){super(e||""),this.tokens=new eA,this.ops=new eA,t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new tR(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new tT(this.expression,"Extra closing parenthesis found");case"]":throw new tT(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tM.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==tM.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!em.isNullOrBlank(e)){if(tM.OPERATORS.has(e))throw new tT(this.expression,"Expression is ending with an operator");this.tokens.push(new tN(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new tT(this.expression,"Missing string ending marker "+t);let a=new eT(n,!1);return this.tokens.push(new t_(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new tO(t.toString())),t.setLength(0),new eT(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<tM.BIGGEST_OPERATOR_SIZE?i:tM.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(tM.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return em.isNullOrBlank(s)||(this.tokens.push(new tN(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new eT(n+e-1,a)}return r.append(e),new eT(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new tT(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new tO(r)),t.setLength(0)),++s;let a=1,i="",o=s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new tT(this.expression,"':' operater is missing");if(s>=e)throw new tT(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(tM.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(tM.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new tO("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new tO("",r,t,e))}}this.ops.push(tM.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new tO(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new tT(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new tO(E)),e-1}processSubExpression(e,t,r,s,n){if(tM.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!em.isNullOrBlank(r))throw new tT(this.expression,eu.format("Unkown token : $ found.",r));let a=1,i=new tR,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new tT(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 tO(i.toString().trim())),s}processTokenSepearator(e,t,r){return em.isNullOrBlank(t)||(tM.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,tM.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new tN(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(tM.UNARY_OPERATORS.has(r)){let e=tM.UNARY_MAP.get(r);e&&t.push(e)}else throw new tT(this.expression,eu.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(tM.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new tO("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new tO("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=tM.OPERATOR_PRIORITY.get(e),s=tM.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new tR,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof tO?s[t].toString():s[t]).append(")"),t++;else if(r[n]==tM.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}var tw={};t(tw,"TokenValueExtractor",()=>tI);class tI{static #e=(()=>{this.REGEX_SQUARE_BRACKETS=/[\[\]]/})();static #t=(()=>{this.REGEX_DOT=/\./})();getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new ee(eu.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(!g(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,s){if(g(s))return;if(t.length==r)return s;let n=t[r].split(tI.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!em.isNullOrBlank(e)).reduce((s,n,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s,a),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a){if(!g(n)){if(0===a){if("length"===s){let e=typeof n;if("string"===e||Array.isArray(n))return n.length;if("object"===e)return Object.keys(n).length}if(Array.isArray(n))try{let e=parseInt(s);if(isNaN(e))throw Error(eu.format("$ is not a number",e));if(e>=n.length)return;return n[e]}catch(t){throw new tT(e,eu.format("$ couldn't be parsed into integer in $",s,e),t)}return this.checkIfObject(e,t,r,n),n[s]}if(s?.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new tT(e,eu.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,n),n[s.substring(1,s.length-1)]}try{let t=parseInt(s);if(isNaN(t))throw Error(eu.format("$ is not a number",t));if(!Array.isArray(n))throw new tT(e,eu.format("Expecting an array with index $ while processing the expression",t,e));if(t>=n.length)return;return n[t]}catch(t){throw new tT(e,eu.format("$ couldn't be parsed into integer in $",s,e),t)}}}checkIfObject(e,t,r,s){if("object"!=typeof s||Array.isArray(s))throw new tT(e,eu.format("Unable to retrive $ from $ in the path $",t[r],s.toString(),e))}}class td extends tI{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(tI.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,s=!1){this.store=e2(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new tO(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof t_?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==tM.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof t_?E.getElement():E.getExpression();o==tM.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tM.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tM.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new ee(eu.format("Expected an array index but found $",t));if(a<0)throw new ee(eu.format("Array index is out of bound - $",t));(s||g(e[a]))&&(n&&g(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));(s||g(e[t]))&&(n&&g(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class tP extends eH{constructor(){super("Sort",[tP.PARAMETER_ARRAY_SOURCE,tP.PARAMETER_INT_FIND_FROM,tP.PARAMETER_INT_LENGTH,tP.PARAMETER_BOOLEAN_ASCENDING,tP.PARAMETER_KEY_PATH],tP.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(tP.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tP.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tP.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(tP.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(tP.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new ee("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new td({},"Data.");return i.sort((e,t)=>{if("object"==typeof e&&"object"==typeof t&&a.length){o.setStore({a:e,b:t});let r=o.getValue("Data.a."+a),s=o.getValue("Data.b."+a);return ty(r,s,n)}return ty(e,t,n)}),t.splice(r,s,...i),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}function ty(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class tx extends eH{constructor(){super("SubArray",[tx.PARAMETER_ARRAY_SOURCE,tx.PARAMETER_INT_FIND_FROM,tx.PARAMETER_INT_LENGTH],tx.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tx.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tx.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(tx.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new et([K.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new ee("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 n=t.slice(r,r+s);return new et([K.outputOf(new Map([[tx.EVENT_RESULT_NAME,n]]))])}}class tL extends eH{constructor(){super("Insert",[tL.PARAMETER_ARRAY_SOURCE,tL.PARAMETER_INT_OFFSET,tL.PARAMETER_ANY],tL.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tL.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tL.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(tL.PARAMETER_ANY.getParameterName());if(g(s)||g(r)||r>t.length)throw new ee("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class tv extends eH{constructor(){super("InsertLast",[tv.PARAMETER_ARRAY_SOURCE,tv.PARAMETER_ANY],tv.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(tv.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(tv.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,t]]))])}}class tU extends eH{constructor(){super("RemoveDuplicates",[tU.PARAMETER_ARRAY_SOURCE,tU.PARAMETER_INT_SOURCE_FROM,tU.PARAMETER_INT_LENGTH],tU.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(tU.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tU.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(tU.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new ee(eu.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(eh(n[e],n[t])){n.splice(e,1);break}return new et([K.outputOf(X.of(tU.EVENT_RESULT_NAME,n))])}}const tV="keyPath",tC="valuePath",tG="ignoreNullValues",tb="ignoreNullKeys",tD="ignoreDuplicateKeys";class tF extends eH{constructor(){super("ArrayToObjects",[eH.PARAMETER_ARRAY_SOURCE,F.of(tV,U.ofString(tV)),F.of(tC,U.of(tC,r.STRING,r.NULL)),F.of(tG,U.ofBoolean(tG).setDefaultValue(!1)),F.of(tb,U.ofBoolean(tb).setDefaultValue(!0)),F.of(tD,U.ofBoolean(tD).setDefaultValue(!1))],eH.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eH.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(tV),s=e?.getArguments()?.get(tC)??"",n=e?.getArguments()?.get(tG),a=e?.getArguments()?.get(tb),i=e?.getArguments()?.get(tD),o=new td({},"Data."),E=t.filter(e=>!g(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&g(E))return e;let u=s?o.getValue("Data."+s):t;return n&&g(u)||i&&e.hasOwnProperty(E)||(e[E]=u),e},{});return new et([K.outputOf(new Map([[eH.EVENT_RESULT_NAME,E]]))])}}class tY{static #e=(()=>{this.repoMap=X.ofArrayEntries($(new ek),$(new e$),$(new eK),$(new e0),$(new e9),$(new e4),$(new e3),$(new e5),$(new e6),$(new e8),$(new e7),$(new te),$(new tt),$(new tr),$(new ts),$(new tn),$(new ta),$(new ti),$(new to),$(new tE),$(new tu),$(new tA),$(new tl),$(new tP),$(new tx),$(new eX),$(new tL),$(new tv),$(new tU),$(new tF))})();static #t=(()=>{this.filterableNames=Array.from(tY.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=A.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(tY.repoMap.get(t))}async filter(e){return Promise.resolve(tY.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}var tB={};t(tB,"ContextElement",()=>tH);class tH{static #e=(()=>{this.NULL=new tH(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}}const tk="name",t$="schema",tj=new es("Create").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(tk,new U().setName(tk).setType(M.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),F.ofEntry(t$,U.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([z.outputEventMapEntry(new Map)])),tX="name",tW="value",tq=new es("Get").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(tX,new U().setName(tX).setType(M.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([z.outputEventMapEntry(new Map([[tW,U.ofAny(tW)]]))]));var tJ={};t(tJ,"ExpressionEvaluator",()=>rQ);var tz={};t(tz,"LogicalNullishCoalescingOperator",()=>tZ);var tK={};t(tK,"BinaryOperator",()=>tQ);class tQ{nullCheck(e,t,r){if(g(e)||g(t))throw new eJ(eu.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tZ extends tQ{apply(e,t){return g(e)?t:e}}var t0={};t(t0,"ArithmeticAdditionOperator",()=>t1);class t1 extends tQ{apply(e,t){return g(e)?t:g(t)?e:e+t}}var t2={};t(t2,"ArithmeticDivisionOperator",()=>t9);class t9 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.DIVISION),e/t}}var t4={};t(t4,"ArithmeticIntegerDivisionOperator",()=>t3);class t3 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.DIVISION),Math.floor(e/t)}}var t5={};t(t5,"ArithmeticModulusOperator",()=>t6);class t6 extends tQ{apply(e,t){return this.nullCheck(e,t,tM.MOD),e%t}}var t8={};t(t8,"ArithmeticMultiplicationOperator",()=>t7);class t7 extends tQ{apply(e,t){this.nullCheck(e,t,tM.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.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 re={};t(re,"ArithmeticSubtractionOperator",()=>rt);class rt extends tQ{apply(e,t){return this.nullCheck(e,t,tM.SUBTRACTION),e-t}}var rr={};t(rr,"ArrayOperator",()=>rs);class rs extends tQ{apply(e,t){if(!e)throw new eJ("Cannot apply array operator on a null value");if(!t)throw new eJ("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new eJ(eu.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new eJ(eu.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var rn={};t(rn,"BitwiseAndOperator",()=>ra);class ra extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_AND),e&t}}var ri={};t(ri,"BitwiseLeftShiftOperator",()=>ro);class ro extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_LEFT_SHIFT),e<<t}}var rE={};t(rE,"BitwiseOrOperator",()=>ru);class ru extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_OR),e|t}}var rA={};t(rA,"BitwiseRightShiftOperator",()=>rl);class rl extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_RIGHT_SHIFT),e>>t}}var rh={};t(rh,"BitwiseUnsignedRightShiftOperator",()=>rg);class rg extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var rm={};t(rm,"BitwiseXorOperator",()=>rR);class rR extends tQ{apply(e,t){return this.nullCheck(e,t,tM.BITWISE_XOR),e^t}}var rp={};t(rp,"LogicalAndOperator",()=>rT);class rT extends tQ{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var rc={};t(rc,"LogicalEqualOperator",()=>rN);class rN extends tQ{apply(e,t){return eh(e,t)}}var rf={};t(rf,"LogicalGreaterThanEqualOperator",()=>r_);class r_ extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare >= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>=n.getT2()}}var rS={};t(rS,"LogicalGreaterThanOperator",()=>rM);class rM extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare > with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>n.getT2()}}var rO={};t(rO,"LogicalLessThanEqualOperator",()=>rw);class rw extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare <= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<=n.getT2()}}var rI={};t(rI,"LogicalLessThanOperator",()=>rd);class rd extends tQ{apply(e,t){let s=ez.findPrimitiveNullAsBoolean(e),n=ez.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eJ(eu.format("Cannot compare < with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<n.getT2()}}var rP={};t(rP,"LogicalNotEqualOperator",()=>ry);class ry extends tQ{apply(e,t){return!eh(e,t)}}var rx={};t(rx,"LogicalOrOperator",()=>rL);class rL extends tQ{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var rv={};t(rv,"ObjectOperator",()=>rU);class rU extends tQ{apply(e,t){if(!e)throw new eJ("Cannot apply array operator on a null value");if(!t)throw new eJ("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new eJ(eu.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var rV={};t(rV,"ArithmeticUnaryMinusOperator",()=>rb);var rC={};t(rC,"UnaryOperator",()=>rG);class rG{nullCheck(e,t){if(g(e))throw new eJ(eu.format("$ cannot be applied to a null value",t.getOperatorName()))}}class rb extends rG{apply(e){return this.nullCheck(e,tM.UNARY_MINUS),ez.findPrimitiveNumberType(e),-e}}var rD={};t(rD,"ArithmeticUnaryPlusOperator",()=>rF);class rF extends rG{apply(e){return this.nullCheck(e,tM.UNARY_PLUS),ez.findPrimitiveNumberType(e),e}}var rY={};t(rY,"BitwiseComplementOperator",()=>rB);class rB extends rG{apply(e){this.nullCheck(e,tM.UNARY_BITWISE_COMPLEMENT);let t=ez.findPrimitiveNumberType(e);if(t.getT1()!=r.INTEGER&&t.getT1()!=r.LONG)throw new eJ(eu.format("Unable to apply bitwise operator on $",e));return~e}}var rH={};t(rH,"LogicalNotOperator",()=>rk);class rk extends rG{apply(e){return!e&&""!==e}}var r$={};t(r$,"LiteralTokenValueExtractor",()=>rX);const rj=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class rX extends tI{static #e=(()=>{this.INSTANCE=new rX})();getValueInternal(e){if(!em.isNullOrBlank(e))return(e=e.trim(),rj.has(e))?rj.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 tT(e,eu.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new tT(e,eu.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 rW={},rq={};t(rq,"ConditionalTernaryOperator",()=>rz);class rJ{nullCheck(e,t,r,s){if(g(e)||g(t)||g(r))throw new eJ(eu.format("$ cannot be applied to a null value",s.getOperatorName()))}}class rz extends rJ{apply(e,t,r){return e?t:r}}e(rW,rq);class rK extends tI{static #e=(()=>{this.PREFIX="_internal."})();addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return rK.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rQ{static #e=(()=>{this.UNARY_OPERATORS_MAP=new Map([[tM.UNARY_BITWISE_COMPLEMENT,new rB],[tM.UNARY_LOGICAL_NOT,new rk],[tM.UNARY_MINUS,new rb],[tM.UNARY_PLUS,new rF]])})();static #t=(()=>{this.TERNARY_OPERATORS_MAP=new Map([[tM.CONDITIONAL_TERNARY_OPERATOR,new rz]])})();static #r=(()=>{this.BINARY_OPERATORS_MAP=new Map([[tM.ADDITION,new t1],[tM.DIVISION,new t9],[tM.INTEGER_DIVISION,new t3],[tM.MOD,new t6],[tM.MULTIPLICATION,new t7],[tM.SUBTRACTION,new rt],[tM.BITWISE_AND,new ra],[tM.BITWISE_LEFT_SHIFT,new ro],[tM.BITWISE_OR,new ru],[tM.BITWISE_RIGHT_SHIFT,new rl],[tM.BITWISE_UNSIGNED_RIGHT_SHIFT,new rg],[tM.BITWISE_XOR,new rR],[tM.AND,new rT],[tM.EQUAL,new rN],[tM.GREATER_THAN,new rM],[tM.GREATER_THAN_EQUAL,new r_],[tM.LESS_THAN,new rd],[tM.LESS_THAN_EQUAL,new rw],[tM.OR,new rL],[tM.NOT_EQUAL,new ry],[tM.NULLISH_COALESCING_OPERATOR,new tZ],[tM.ARRAY_OPERATOR,new rs],[tM.OBJECT_OPERATOR,new rU]])})();static #s=(()=>{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rQ.UNARY_OPERATORS_MAP.keys())})();constructor(e){this.internalTokenValueExtractor=new rK,e instanceof tO?(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,s=0,n=new eA;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new eT(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new tT(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new eT(a,new tO(a))}replaceNestingExpression(e,t,r){let s=e;for(var n of r.toArray()){if(-1==n.getT2())throw new tT(e,"Expecting }} nesting path operator to be closed");let r=new rQ(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new tO(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=s.pop();if(rQ.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==tM.OBJECT_OPERATOR||e==tM.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,o);else if(e==tM.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),E=s.pop();var n=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);s.push(this.applyTernaryOperation(e,n,a,i))}else{let r=s.pop();var n=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);s.push(this.applyBinaryOperation(e,n,a))}}if(s.isEmpty())throw new eJ(eu.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new eJ(eu.format("Expression : $ evaluated multiple values $",e,s));let o=s.get(0);if(o instanceof t_)return o.getElement();if(!(o instanceof tO))return this.getValueFromToken(t,o);throw new eJ(eu.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new eA,i=new eA;if(!s||!n)return;do i.push(s),n instanceof tO?a.push(new t_(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==tM.OBJECT_OPERATOR||s==tM.ARRAY_OPERATOR)n&&(n instanceof tO?a.push(new t_(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof t_&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new tN(rK.PREFIX+e)}let E=new tR(o instanceof t_?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof t_?o.getTokenValue():o.toString()),s==tM.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 t_(u,this.getValue(u,e)));else{let e;try{e=rX.INSTANCE.getValue(u)}catch(t){e=u}r.push(new t_(u,e))}}applyTernaryOperation(e,t,r,s){let n=rQ.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new tT(this.expression,eu.format("No operator found to evaluate $",this.getExpression()));return new t_(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=rQ.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==tM.EQUAL&&e!==tM.NOT_EQUAL&&e!==tM.NULLISH_COALESCING_OPERATOR&&e!==tM.AND&&e!==tM.OR)throw new tT(this.expression,eu.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new tT(this.expression,eu.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new t_(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=tM.NOT.getOperator()&&e.getOperator()!=tM.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new tT(this.expression,eu.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=rQ.UNARY_OPERATORS_MAP.get(e);if(!s)throw new tT(this.expression,eu.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new t_(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof tO?this.evaluateExpression(t,e):t instanceof t_?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):rX.INSTANCE.getValueFromExtractors(e,t)}}const rZ="name",r0="value",r1=new es("Set").setNamespace(A.SYSTEM_CTX).setParameters(new Map([F.ofEntry(rZ,new U().setName(rZ).setType(M.of(r.STRING)).setMinLength(1),!1),F.ofEntry(r0,U.ofAny(r0))])).setEvents(new Map([z.outputEventMapEntry(new Map)])),r2="value",r9="eventName",r4="results",r3=new es("GenerateEvent").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(r9,U.ofString(r9).setDefaultValue("output")),F.ofEntry(r4,U.ofObject(r4).setProperties(new Map([["name",U.ofString("name")],[r2,F.EXPRESSION]])),!0)])).setEvents(new Map([z.outputEventMapEntry(new Map)]));class r5 extends eB{static #e=(()=>{this.CONDITION="condition"})();static #t=(()=>{this.SIGNATURE=new es("If").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(r5.CONDITION,U.ofAny(r5.CONDITION))])).setEvents(new Map([z.eventMapEntry(z.TRUE,new Map),z.eventMapEntry(z.FALSE,new Map),z.outputEventMapEntry(new Map)]))})();getSignature(){return r5.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r5.CONDITION);return new et([K.of(t||""===t?z.TRUE:z.FALSE,new Map),K.outputOf(new Map)])}}const r6="stepName",r8=new es("Break").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(r6,U.of(r6,r.STRING))])).setEvents(new Map([z.outputEventMapEntry(new Map([]))])),r7="count",se="value",st="index",sr=new es("CountLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(r7,U.of(r7,r.INTEGER))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[st,U.of(st,r.INTEGER)]])),z.outputEventMapEntry(new Map([[se,U.of(se,r.INTEGER)]]))])),ss="source",sn="each",sa="index",si="value",so=new es("ForEachLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(ss,U.ofArray(ss,U.ofAny(ss)))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[sa,U.of(sa,r.INTEGER)],[sn,U.ofAny(sn)]])),z.outputEventMapEntry(new Map([[si,U.of(si,r.INTEGER)]]))])),sE="from",su="step",sA="value",sl="index",sh=new es("RangeLoop").setNamespace(A.SYSTEM_LOOP).setParameters(new Map([F.ofEntry(sE,U.of(sE,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(0)),F.ofEntry("to",U.of("to",r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1)),F.ofEntry(su,U.of(su,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1).setNot(new U().setConstant(0)))])).setEvents(new Map([z.eventMapEntry(z.ITERATION,new Map([[sl,U.of(sl,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]])),z.outputEventMapEntry(new Map([[sA,U.of(sA,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]]))])),sg="value",sm=new es("Add").setNamespace(A.MATH).setParameters(new Map([[sg,new F(sg,U.ofNumber(sg)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sg,U.ofNumber(sg)]]))])),sR="value",sp="value1",sT="value2",sc=[()=>new Map([[sR,new F(sR,U.ofNumber(sR))]]),()=>new Map([[sp,new F(sp,U.ofNumber(sp))],[sT,new F(sT,U.ofNumber(sT))]])];class sN extends eB{constructor(e,t,s=1,...n){super(),n&&n.length||(n=[r.DOUBLE]),this.parametersNumber=s,this.mathFunction=t,this.signature=new es(e).setNamespace(A.MATH).setParameters(sc[s-1]()).setEvents(new Map([z.outputEventMapEntry(new Map([[sR,new U().setType(M.of(...n)).setName(sR)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=ez.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?sR:sp)).getT2();return 2==this.parametersNumber&&(t=ez.findPrimitiveNumberType(e.getArguments()?.get(sT)).getT2()),new et([K.outputOf(new Map([[sR,this.mathFunction.call(this,r,t)]]))])}}const sf="value";class s_ extends eB{static #e=(()=>{this.SIGNATURE=new es("Hypotenuse").setNamespace(A.MATH).setParameters(new Map([[sf,new F(sf,U.ofNumber(sf)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sf,new U().setType(M.of(r.DOUBLE)).setName(sf)]]))]))})();constructor(){super()}getSignature(){return s_.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sf);return new et([K.outputOf(new Map([[sf,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}const sS="value",sM=new es("Maximum").setNamespace(A.MATH).setParameters(new Map([[sS,new F(sS,U.ofNumber(sS)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sS,U.ofNumber(sS)]]))])),sO="value",sw=new es("Minimum").setNamespace(A.MATH).setParameters(new Map([[sO,new F(sO,U.ofNumber(sO)).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sO,U.ofNumber(sO)]]))])),sI="value";class sd extends eB{static #e=(()=>{this.SIGNATURE=new es("Random").setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sI,U.ofDouble(sI)))]))})();getSignature(){return sd.SIGNATURE}async internalExecute(e){return new et([K.outputOf(new Map([[sI,Math.random()]]))])}}class sP extends eB{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new es("RandomFloat").setParameters(X.of(sP.MIN_VALUE,F.of(sP.MIN_VALUE,U.ofFloat(sP.MIN_VALUE).setDefaultValue(0)),sP.MAX_VALUE,F.of(sP.MAX_VALUE,U.ofFloat(sP.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sP.VALUE,U.ofFloat(sP.VALUE)))]))})();getSignature(){return sP.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sP.MIN_VALUE),r=e.getArguments()?.get(sP.MAX_VALUE);return new et([K.outputOf(new Map([[sP.VALUE,Math.random()*(r-t)+t]]))])}}class sy extends eB{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new es("RandomInt").setParameters(X.of(sy.MIN_VALUE,F.of(sy.MIN_VALUE,U.ofInteger(sy.MIN_VALUE).setDefaultValue(0)),sy.MAX_VALUE,F.of(sy.MAX_VALUE,U.ofInteger(sy.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(A.MATH).setEvents(new Map([z.outputEventMapEntry(X.of(sy.VALUE,U.ofInteger(sy.VALUE)))]))})();getSignature(){return sy.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sy.MIN_VALUE),r=e.getArguments()?.get(sy.MAX_VALUE);return new et([K.outputOf(new Map([[sy.VALUE,Math.floor(Math.random()*(r-t)+t)]]))])}}const sx={Absolute:new sN("Absolute",e=>Math.abs(e),1,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE),ACosine:new sN("ArcCosine",e=>Math.acos(e)),ASine:new sN("ArcSine",e=>Math.asin(e)),ATangent:new sN("ArcTangent",e=>Math.atan(e)),Ceiling:new sN("Ceiling",e=>Math.ceil(e)),Cosine:new sN("Cosine",e=>Math.cos(e)),CosineH:new sN("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new sN("CubeRoot",e=>Math.cbrt(e)),Exponential:new sN("Exponential",e=>Math.exp(e)),Expm1:new sN("ExponentialMinus1",e=>Math.expm1(e)),Floor:new sN("Floor",e=>Math.floor(e)),Log:new sN("LogNatural",e=>Math.log(e)),Log10:new sN("Log10",e=>Math.log10(e)),Round:new sN("Round",e=>Math.round(e),1,r.INTEGER,r.LONG),Sine:new sN("Sine",e=>Math.sin(e)),SineH:new sN("HyperbolicSine",e=>Math.sinh(e)),Tangent:new sN("Tangent",e=>Math.tan(e)),TangentH:new sN("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new sN("ToDegrees",e=>e*(Math.PI/180)),ToRadians:new sN("ToRadians",e=>e*(180/Math.PI)),SquareRoot:new sN("SquareRoot",e=>Math.sqrt(e)),ArcTangent:new sN("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new sN("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends eB{getSignature(){return sm}async internalExecute(e){let t=e.getArguments()?.get(sg);return new et([K.outputOf(new Map([[sg,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new s_,Maximum:new class extends eB{getSignature(){return sM}async internalExecute(e){let t=e.getArguments()?.get(sS);return new et([K.outputOf(new Map([[sS,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends eB{getSignature(){return sw}async internalExecute(e){let t=e.getArguments()?.get(sO);return new et([K.outputOf(new Map([[sO,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new sd,RandomFloat:new sP,RandomInt:new sy},sL=Object.values(sx).map(e=>e.getSignature().getFullName());class sv{async find(e,t){return e!=A.MATH?Promise.resolve(void 0):Promise.resolve(sx[t])}async filter(e){return Promise.resolve(sL.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}const sU="value",sV="source",sC="source";class sG extends eB{constructor(e,t){super(),this.signature=new es(e).setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sC,U.ofAny(sC))])).setEvents(new Map([z.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}const sb="value",sD="value",sF="value",sY="source",sB="overwrite",sH="deleteKeyOnNull",sk="value",s$={ObjectValues:new class extends sG{constructor(){super("ObjectValues",U.ofArray(sk,U.ofAny(sk)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sk,[]]]))]);let r=Object.entries(e2(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new et([K.outputOf(new Map([[sk,r]]))])}},ObjectKeys:new class extends sG{constructor(){super("ObjectKeys",U.ofArray(sD,U.ofString(sD)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sD,[]]]))]);let r=Object.keys(e2(t)).sort((e,t)=>e.localeCompare(t));return new et([K.outputOf(new Map([[sD,r]]))])}},ObjectEntries:new class extends sG{constructor(){super("ObjectEntries",U.ofArray(sb,U.ofArray("tuple",U.ofString("key"),U.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(g(t))return new et([K.outputOf(new Map([[sb,[]]]))]);let r=Object.entries(e2(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new et([K.outputOf(new Map([[sb,r]]))])}},ObjectDeleteKey:new class extends eB{constructor(){super(),this.signature=new es("ObjectDeleteKey").setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sV,U.ofAny(sV)),F.ofEntry("key",U.ofString("key"))])).setEvents(new Map([z.outputEventMapEntry(new Map([[sU,U.ofAny(sU)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sV),r=e.getArguments()?.get("key");return g(t)?new et([K.outputOf(new Map([[sU,void 0]]))]):(t=e2(t),delete t[r],new et([K.outputOf(new Map([[sU,t]]))]))}},ObjectPutValue:new class extends eB{constructor(){super(),this.signature=new es("ObjectPutValue").setNamespace(A.SYSTEM_OBJECT).setParameters(new Map([F.ofEntry(sY,U.ofObject(sY)),F.ofEntry("key",U.ofString("key")),F.ofEntry(sF,U.ofAny(sF)),F.ofEntry(sB,U.ofBoolean(sB).setDefaultValue(!0)),F.ofEntry(sH,U.ofBoolean(sH).setDefaultValue(!1))])).setEvents(new Map([z.outputEventMapEntry(new Map([[sF,U.ofObject(sF)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sY),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(sF),n=e.getArguments()?.get(sB),a=e.getArguments()?.get(sH),i=new td(t,"Data.");return i.setValue(r,s,n,a),new et([K.outputOf(new Map([[sF,i.getStore()]]))])}}},sj=Object.values(s$).map(e=>e.getSignature().getFullName());class sX{async find(e,t){return e!=A.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(s$[t])}async filter(e){return Promise.resolve(sj.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sW extends eB{static #e=(()=>{this.VALUES="values"})();static #t=(()=>{this.SIGNATURE=new es("Print").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(sW.VALUES,U.ofAny(sW.VALUES),!0)]))})();getSignature(){return sW.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(sW.VALUES);return console?.log(...t),new et([K.outputOf(new Map)])}}class sq extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_SEARCH_STRING_NAME="searchString"})();static #r=(()=>{this.PARAMETER_SECOND_STRING_NAME="secondString"})();static #s=(()=>{this.PARAMETER_THIRD_STRING_NAME="thirdString"})();static #n=(()=>{this.PARAMETER_INDEX_NAME="index"})();static #a=(()=>{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new F(sq.PARAMETER_STRING_NAME,U.ofString(sq.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_SECOND_STRING=new F(sq.PARAMETER_SECOND_STRING_NAME,U.ofString(sq.PARAMETER_SECOND_STRING_NAME))})();static #u=(()=>{this.PARAMETER_THIRD_STRING=new F(sq.PARAMETER_THIRD_STRING_NAME,U.ofString(sq.PARAMETER_THIRD_STRING_NAME))})();static #A=(()=>{this.PARAMETER_INDEX=new F(sq.PARAMETER_INDEX_NAME,U.ofInteger(sq.PARAMETER_INDEX_NAME))})();static #l=(()=>{this.PARAMETER_SECOND_INDEX=new F(sq.PARAMETER_SECOND_INDEX_NAME,U.ofInteger(sq.PARAMETER_SECOND_INDEX_NAME))})();static #h=(()=>{this.PARAMETER_SEARCH_STRING=new F(sq.PARAMETER_SEARCH_STRING_NAME,U.ofString(sq.PARAMETER_STRING_NAME))})();static #g=(()=>{this.EVENT_STRING=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofString(sq.EVENT_RESULT_NAME)))})();static #m=(()=>{this.EVENT_BOOLEAN=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofBoolean(sq.EVENT_RESULT_NAME)))})();static #R=(()=>{this.EVENT_INT=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofInteger(sq.EVENT_RESULT_NAME)))})();static #p=(()=>{this.EVENT_ARRAY=new z(z.OUTPUT,X.of(sq.EVENT_RESULT_NAME,U.ofArray(sq.EVENT_RESULT_NAME)))})();constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new es(t).setNamespace(e).setParameters(n).setEvents(X.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_BOOLEAN,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING,sq.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r)))])}}(A.STRING,e,sq.EVENT_BOOLEAN,sq.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_SEARCH_STRING,sq.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(sq.PARAMETER_SECOND_INDEX_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_INT,sq.PARAMETER_STRING,sq.PARAMETER_INDEX,sq.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends sq{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(sq.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(sq.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(sq.PARAMETER_THIRD_STRING_NAME);return new et([K.outputOf(X.of(sq.EVENT_RESULT_NAME,t(r,s,n)))])}}(A.STRING,e,sq.EVENT_STRING,sq.PARAMETER_STRING,sq.PARAMETER_SECOND_STRING,sq.PARAMETER_THIRD_STRING)]}}class sJ extends eB{static #e=(()=>{this.VALUE="value"})();static #t=(()=>{this.SCHEMA=new U().setName(sJ.VALUE).setType(new S(r.STRING))})();static #r=(()=>{this.SIGNATURE=new es("Concatenate").setNamespace(A.STRING).setParameters(new Map([[sJ.VALUE,new F(sJ.VALUE,sJ.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[sJ.VALUE,U.ofString(sJ.VALUE)]]))]))})();constructor(){super()}getSignature(){return sJ.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(sJ.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new et([K.outputOf(new Map([[sJ.VALUE,r]]))])}}class sz extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_END_NAME="endPosition"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();constructor(){super(),this.PARAMETER_STRING=new F(sz.PARAMETER_STRING_NAME,U.ofString(sz.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new F(sz.PARAMETER_AT_START_NAME,U.ofInteger(sz.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new F(sz.PARAMETER_AT_END_NAME,U.ofInteger(sz.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new z(z.OUTPUT,new Map([[sz.EVENT_RESULT_NAME,U.ofString(sz.EVENT_RESULT_NAME)]])),this.signature=new es("DeleteForGivenLength").setNamespace(A.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(sz.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sz.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(sz.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r)+t.substring(s),new et([K.outputOf(new Map([[sz.EVENT_RESULT_NAME,e.toString()]]))])}return new et([K.outputOf(new Map([[sz.EVENT_RESULT_NAME,t]]))])}}class sK extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_POSITION_NAME="position"})();static #r=(()=>{this.PARAMETER_INSERT_STRING_NAME="insertString"})();getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sK.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sK.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(sK.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r)+s+t.substring(r),new et([K.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new F(sK.PARAMETER_STRING_NAME,U.ofString(sK.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new F(sK.PARAMETER_AT_POSITION_NAME,U.ofInteger(sK.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new F(sK.PARAMETER_INSERT_STRING_NAME,U.ofString(sK.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new z(z.OUTPUT,new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new es("InsertAtGivenPosition").setNamespace(A.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([z.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,U.ofString(this.EVENT_RESULT_NAME)]]))]))}}class sQ extends eB{static #e=(()=>{this.PARAMETER_REGEX_NAME="regex"})();static #t=(()=>{this.PARAMETER_STRING_NAME="string"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.signature=new es("Matches").setNamespace(A.STRING).setParameters(X.ofEntries(X.entry(...F.ofEntry(sQ.PARAMETER_REGEX_NAME,U.ofString(sQ.PARAMETER_REGEX_NAME))),X.entry(...F.ofEntry(sQ.PARAMETER_STRING_NAME,U.ofString(sQ.PARAMETER_STRING_NAME))))).setEvents(X.ofEntries(X.entry(...z.outputEventMapEntry(new Map([[sQ.EVENT_RESULT_NAME,U.ofBoolean(sQ.EVENT_RESULT_NAME)]])))))})();getSignature(){return sQ.signature}async internalExecute(e){let t=e.getArguments()?.get(sQ.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(sQ.PARAMETER_STRING_NAME);return new et([K.outputOf(new Map([[sQ.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class sZ extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new F(sZ.PARAMETER_STRING_NAME,U.ofString(sZ.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_POSTPAD_STRING=new F(sZ.PARAMETER_POSTPAD_STRING_NAME,U.ofString(sZ.PARAMETER_POSTPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new F(sZ.PARAMETER_LENGTH_NAME,U.ofInteger(sZ.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[sZ.EVENT_RESULT_NAME,U.ofString(sZ.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new es("PostPad").setNamespace(A.STRING).setParameters(new Map([[sZ.PARAMETER_STRING.getParameterName(),sZ.PARAMETER_STRING],[sZ.PARAMETER_POSTPAD_STRING.getParameterName(),sZ.PARAMETER_POSTPAD_STRING],[sZ.PARAMETER_LENGTH.getParameterName(),sZ.PARAMETER_LENGTH]])).setEvents(new Map([[sZ.EVENT_STRING.getName(),sZ.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sZ.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sZ.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(sZ.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new et([K.outputOf(new Map([[sZ.EVENT_RESULT_NAME,n.toString()]]))])}}class s0 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_PREPAD_STRING_NAME="prepadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new F(s0.PARAMETER_STRING_NAME,U.ofString(s0.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_PREPAD_STRING=new F(s0.PARAMETER_PREPAD_STRING_NAME,U.ofString(s0.PARAMETER_PREPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new F(s0.PARAMETER_LENGTH_NAME,U.ofInteger(s0.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s0.EVENT_RESULT_NAME,U.ofString(s0.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("PrePad").setNamespace(A.STRING).setParameters(new Map([[s0.PARAMETER_STRING.getParameterName(),s0.PARAMETER_STRING],[s0.PARAMETER_PREPAD_STRING.getParameterName(),s0.PARAMETER_PREPAD_STRING],[s0.PARAMETER_LENGTH.getParameterName(),s0.PARAMETER_LENGTH]])).setEvents(new Map([[s0.EVENT_STRING.getName(),s0.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(s0.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s0.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(s0.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new et([K.outputOf(new Map([[s0.EVENT_RESULT_NAME,n]]))])}}class s1 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_BOOLEAN_NAME="boolean"})();static #r=(()=>{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"})();static #s=(()=>{this.PARAMETER_OTHER_STRING_NAME="otherString"})();static #n=(()=>{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"})();static #a=(()=>{this.PARAMETER_INTEGER_NAME="length"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new F(s1.PARAMETER_STRING_NAME,U.ofString(s1.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_OTHER_STRING=new F(s1.PARAMETER_OTHER_STRING_NAME,U.ofString(s1.PARAMETER_OTHER_STRING_NAME))})();static #u=(()=>{this.PARAMETER_FIRST_OFFSET=new F(s1.PARAMETER_FIRST_OFFSET_NAME,U.ofInteger(s1.PARAMETER_FIRST_OFFSET_NAME))})();static #A=(()=>{this.PARAMETER_SECOND_OFFSET=new F(s1.PARAMETER_SECOND_OFFSET_NAME,U.ofInteger(s1.PARAMETER_SECOND_OFFSET_NAME))})();static #l=(()=>{this.PARAMETER_INTEGER=new F(s1.PARAMETER_INTEGER_NAME,U.ofInteger(s1.PARAMETER_INTEGER_NAME))})();static #h=(()=>{this.PARAMETER_BOOLEAN=new F(s1.PARAMETER_BOOLEAN_NAME,U.ofBoolean(s1.PARAMETER_BOOLEAN_NAME))})();static #g=(()=>{this.EVENT_BOOLEAN=new z(z.OUTPUT,new Map([[s1.EVENT_RESULT_NAME,U.ofBoolean(s1.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("RegionMatches").setNamespace(A.STRING).setParameters(new Map([[s1.PARAMETER_STRING.getParameterName(),s1.PARAMETER_STRING],[s1.PARAMETER_BOOLEAN.getParameterName(),s1.PARAMETER_BOOLEAN],[s1.PARAMETER_FIRST_OFFSET.getParameterName(),s1.PARAMETER_FIRST_OFFSET],[s1.PARAMETER_OTHER_STRING.getParameterName(),s1.PARAMETER_OTHER_STRING],[s1.PARAMETER_SECOND_OFFSET.getParameterName(),s1.PARAMETER_SECOND_OFFSET],[s1.PARAMETER_INTEGER.getParameterName(),s1.PARAMETER_INTEGER]])).setEvents(new Map([[s1.EVENT_BOOLEAN.getName(),s1.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(s1.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s1.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(s1.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(s1.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(s1.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(s1.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new et([K.outputOf(new Map([[s1.EVENT_RESULT_NAME,o]]))])}}class s2 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"})();static #s=(()=>{this.PARAMETER_REPLACE_STRING_NAME="replaceString"})();static #n=(()=>{this.EVENT_RESULT_NAME="result"})();static #a=(()=>{this.PARAMETER_STRING=new F(s2.PARAMETER_STRING_NAME,U.ofString(s2.PARAMETER_STRING_NAME))})();static #i=(()=>{this.PARAMETER_AT_START=new F(s2.PARAMETER_AT_START_NAME,U.ofInteger(s2.PARAMETER_AT_START_NAME))})();static #o=(()=>{this.PARAMETER_AT_LENGTH=new F(s2.PARAMETER_AT_LENGTH_NAME,U.ofInteger(s2.PARAMETER_AT_LENGTH_NAME))})();static #E=(()=>{this.PARAMETER_REPLACE_STRING=new F(s2.PARAMETER_REPLACE_STRING_NAME,U.ofString(s2.PARAMETER_REPLACE_STRING_NAME))})();static #u=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s2.EVENT_RESULT_NAME,U.ofString(s2.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new es("ReplaceAtGivenPosition").setNamespace(A.STRING).setParameters(new Map([[s2.PARAMETER_STRING.getParameterName(),s2.PARAMETER_STRING],[s2.PARAMETER_AT_START.getParameterName(),s2.PARAMETER_AT_START],[s2.PARAMETER_AT_LENGTH.getParameterName(),s2.PARAMETER_AT_LENGTH],[s2.PARAMETER_REPLACE_STRING.getParameterName(),s2.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[s2.EVENT_STRING.getName(),s2.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(s2.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(s2.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(s2.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(s2.PARAMETER_REPLACE_STRING_NAME),t.length,r<s&&(t.substring(0,r),t.substring(r+s)),new et([K.outputOf(new Map([[s2.EVENT_RESULT_NAME,t]]))])}}class s9 extends eB{constructor(){super(),this.VALUE="value",this.SIGNATURE=new es("Reverse").setNamespace(A.STRING).setParameters(new Map([[this.VALUE,new F(this.VALUE,U.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([z.outputEventMapEntry(new Map([[this.VALUE,new U().setType(M.of(r.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new et([K.outputOf(X.of(this.VALUE,s))])}}class s4 extends eB{getSignature(){return new es("Split").setNamespace(A.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([z.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 F(this.PARAMETER_STRING_NAME,U.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new F(this.PARAMETER_SPLIT_STRING_NAME,U.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new z(z.OUTPUT,X.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 et([K.outputOf(X.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class s3 extends eB{getSignature(){return new es("ToString").setNamespace(A.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 F(this.PARAMETER_INPUT_ANYTYPE_NAME,U.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new z(z.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 et([K.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class s5 extends eB{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.PARAMETER_STRING=new F(s5.PARAMETER_STRING_NAME,U.ofString(s5.PARAMETER_STRING_NAME))})();static #n=(()=>{this.PARAMETER_LENGTH=new F(s5.PARAMETER_LENGTH_NAME,U.ofInteger(s5.PARAMETER_LENGTH_NAME))})();static #a=(()=>{this.EVENT_STRING=new z(z.OUTPUT,new Map([[s5.EVENT_RESULT_NAME,U.ofString(s5.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new es("TrimTo").setNamespace(A.STRING).setParameters(new Map([[s5.PARAMETER_STRING.getParameterName(),s5.PARAMETER_STRING],[s5.PARAMETER_LENGTH.getParameterName(),s5.PARAMETER_LENGTH]])).setEvents(new Map([[s5.EVENT_STRING.getName(),s5.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(s5.PARAMETER_STRING_NAME),r=e.getArguments()?.get(s5.PARAMETER_LENGTH_NAME);return new et([K.outputOf(new Map([[s5.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class s6{static #e=(()=>{this.repoMap=X.ofArrayEntries(sq.ofEntryString("Trim",e=>e.trim()),sq.ofEntryString("LowerCase",e=>e.toLocaleLowerCase()),sq.ofEntryString("UpperCase",e=>e.toUpperCase()),sq.ofEntryStringBooleanOutput("IsBlank",e=>""===e.trim()),sq.ofEntryStringBooleanOutput("IsEmpty",e=>""===e),sq.ofEntryAsStringBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),sq.ofEntryAsStringBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),sq.ofEntryAsStringBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),sq.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),sq.ofEntryAsStringBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),sq.ofEntryAsStringIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),sq.ofEntryAsStringIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),sq.ofEntryAsStringAndIntegerStringOutput("Repeat",(e,t)=>e.repeat(t)),sq.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),sq.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),sq.ofEntryAsStringStringStringStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),sq.ofEntryAsStringStringStringStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),sq.ofEntryAsStringIntegerIntegerStringOutput("SubString",(e,t,r)=>e.substring(t,r)),$(new sJ),$(new sz),$(new sK),$(new sZ),$(new s0),$(new s1),$(new s2),$(new s9),$(new s4),$(new s3),$(new s5),$(new sQ))})();static #t=(()=>{this.filterableNames=Array.from(s6.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=A.STRING?Promise.resolve(void 0):Promise.resolve(s6.repoMap.get(t))}async filter(e){return Promise.resolve(s6.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class s8 extends eB{static #e=(()=>{this.MILLIS="millis"})();static #t=(()=>{this.SIGNATURE=new es("Wait").setNamespace(A.SYSTEM).setParameters(new Map([F.ofEntry(s8.MILLIS,U.ofNumber(s8.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([z.outputEventMapEntry(new Map)]))})();getSignature(){return s8.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(s8.MILLIS);return await new Promise(e=>setTimeout(e,t)),new et([K.outputOf(new Map)])}}var s7={};t(s7,"HybridRepository",()=>ne);class ne{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}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)}}const nt=new Map([[A.SYSTEM_CTX,new Map([$(new class extends eB{getSignature(){return tj}async internalExecute(e){let t=e?.getArguments()?.get(tk);if(e?.getContext()?.has(t))throw new ee(eu.format("Context already has an element for '$' ",t));let r=U.from(e?.getArguments()?.get(t$));if(!r)throw new ee("Schema is not supplied.");return e.getContext().set(t,new tH(r,g(r.getDefaultValue())?void 0:r.getDefaultValue())),new et([K.outputOf(new Map)])}}),$(new class extends eB{getSignature(){return tq}async internalExecute(e){let t=e?.getArguments()?.get(tX);if(!e.getContext()?.has(t))throw new ee(eu.format("Context don't have an element for '$' ",t));return new et([K.outputOf(new Map([tW,e.getContext()?.get(t)?.getElement()]))])}}),$(new class extends eB{getSignature(){return r1}async internalExecute(e){let t=e?.getArguments()?.get(rZ);if(em.isNullOrBlank(t))throw new ee("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(r0),s=new tO(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof tO||n instanceof t_&&!n.getElement().toString().startsWith("Context"))throw new eJ(eu.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=tM.ARRAY_OPERATOR&&e!=tM.OBJECT_OPERATOR)throw new eJ(eu.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof tO&&s.getTokens().set(r,new t_(t,new rQ(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(g(i))throw new ee(eu.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new et([K.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),u=n.removeLast(),A=u instanceof t_?u.getElement():u.getExpression();for(g(o)&&(o=E==tM.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==tM.OBJECT_OPERATOR?this.getDataFromObject(o,A,a.peekLast()):this.getDataFromArray(o,A,a.peekLast()),E=a.removeLast(),A=(u=n.removeLast())instanceof t_?u.getElement():u.getExpression();return E==tM.OBJECT_OPERATOR?this.putDataInObject(o,A,r):this.putDataInArray(o,A,r),new et([K.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));let n=e[s];return g(n)&&(n=r==tM.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));let s=e[t];return g(s)&&(s=r==tM.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new ee(eu.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new ee(eu.format("Expected an array index but found $",t));if(s<0)throw new ee(eu.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new ee(eu.format("Expected an object but found $",e));e[t]=r}})])],[A.SYSTEM_LOOP,new Map([$(new class extends eB{getSignature(){return sh}async internalExecute(e){let t=e.getArguments()?.get(sE),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(su),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),K.outputOf(new Map([[sA,a]]));let t=K.of(z.ITERATION,new Map([[sl,a]]));return a+=s,t}})}}),$(new class extends eB{getSignature(){return sr}async internalExecute(e){let t=e.getArguments()?.get(r7),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),K.outputOf(new Map([[se,r]]));let n=K.of(z.ITERATION,new Map([[st,r]]));return++r,n}})}}),$(new class extends eB{getSignature(){return r8}async internalExecute(e){let t=e.getArguments()?.get(r6);return e.getExecutionContext().set(t,!0),new et([K.outputOf(new Map)])}}),$(new class extends eB{getSignature(){return so}async internalExecute(e){let t=e.getArguments()?.get(ss),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new et({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),K.outputOf(new Map([[si,r]]));let n=K.of(z.ITERATION,new Map([[sa,r],[sn,t[r]]]));return++r,n}})}})])],[A.SYSTEM,new Map([$(new r5),$(new class extends eB{getSignature(){return r3}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(r9),n=e?.getArguments()?.get(r4).map(t=>{let r=t[r2];if(g(r))throw new ee("Expect a value object");let s=r.value;return r.isExpression&&(s=new rQ(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new et([K.outputOf(new Map)])}}),$(new sW),$(new s8)])]]),nr=Array.from(nt.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class ns extends ne{constructor(){super({find:async(e,t)=>nt.get(e)?.get(t),filter:async e=>Array.from(nr).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new sv,new s6,new tY,new sX)}}var nn={};t(nn,"StatementExecution",()=>no);var na={};t(na,"StatementMessage",()=>ni);class ni{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 no{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 ni(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof no&&e.statement.equals(this.statement)}}var nE={};t(nE,"ContextTokenValueExtractor",()=>nu);class nu extends tI{static #e=(()=>{this.PREFIX="Context."})();constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return nu.PREFIX}getStore(){return g(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(g(r)||(e[t]=r.getElement()),e),{})}}var nA={};t(nA,"OutputMapTokenValueExtractor",()=>nl);class nl extends tI{static #e=(()=>{this.PREFIX="Steps."})();constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return nl.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),{})}}var nh={};t(nh,"ArgumentsTokenValueExtractor",()=>ng);class ng extends tI{static #e=(()=>{this.PREFIX="Arguments."})();constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(tI.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return ng.PREFIX}getStore(){return g(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}var nm={};t(nm,"GraphVertex",()=>nT);var nR={};t(nR,"ExecutionGraph",()=>np);class np{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 nT(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 eA(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 nT{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 eT(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new eT(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 np(!0);var r=new eA(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}}var nc={};t(nc,"KIRuntime",()=>nI);var nN={};t(nN,"JsonExpression",()=>nf);class nf{constructor(e){this.expression=e}getExpression(){return this.expression}}var n_={};t(n_,"ParameterReferenceType",()=>a),function(e){e.VALUE="VALUE",e.EXPRESSION="EXPRESSION"}(a||(a={}));var nS={};function nM(){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(nS,"FunctionExecutionParameters",()=>nO);class nO{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??nM()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new nu(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 nl(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}}var nw={};t(nw,"StatementMessageType",()=>i),function(e){e.ERROR="ERROR",e.WARNING="WARNING",e.MESSAGE="MESSAGE"}(i||(i={}));class nI extends eB{static #e=(()=>{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'})();static #t=(()=>{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")})();static #r=(()=>{this.VERSION=1})();static #s=(()=>{this.MAX_EXECUTION_ITERATIONS=1e7})();constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>nI.VERSION)throw new ee("Runtime is at a lower version "+nI.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new np;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(i.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 ng(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 ee("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 eA;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new eA;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(z.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==nI.MAX_EXECUTION_ITERATIONS)throw new ee("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(z.OUTPUT)?.getParameters()?.size)throw new ee("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>K.of(e[0],t)));return new et(n.length||e.isSubGraph()?n:[K.of(z.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=z.OUTPUT)s?.getName()==z.OUTPUT&&n.getOutVertices().has(z.OUTPUT)&&(n?.getOutVertices()?.get(z.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size){let e=(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>{let r=new rQ(e).evaluate(t.getValuesMap());return r}).every(e=>!g(e)&&!1!==e);if(!e)return}let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new ee(eu.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 nI?new nO(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(u).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==ng.PREFIX&&e.getPrefix()!==nl.PREFIX&&e.getPrefix()!==nu.PREFIX).map(e=>[e.getPrefix(),e]))):new nO(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 l=await o.execute(a),h=l.next();if(!h)throw new ee(eu.format("Executing $ returned no events",i.getStatementName()));let m=h.getName()==z.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(h.getName(),this.resolveInternalExpressions(h.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${h.getName()} : `,t.getSteps().get(i.getStatementName()).get(h.getName()))),m){let r=e.getOutVertices().get(z.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(h.getName()),s=this.makeEdges(t).getT1();r.push(new eN(t,s,l,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new eT(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(g(e)||"object"!=typeof e)return e;if(e instanceof nf)return new rQ(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[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(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new eT(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!g(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new eT(t[0],s)):new eT(t[0],void 0)}).filter(e=>!g(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==a.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=a.EXPRESSION||em.isNullOrBlank(t.getExpression())||(r=new rQ(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new no(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(i.ERROR,eu.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await eS.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!g(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!g(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await eS.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,s,n){if(s){if(s.getType()==a.VALUE){if(g(s.getValue())&&!await eS.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),g(s.getValue()))return;let a=new eA;for(a.push(new eT(t.getSchema(),s.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof nf)this.addDependencies(e,t.getT2().getExpression());else{if(g(t.getT1())||g(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(r.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 eT(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new eT(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(r.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===F.EXPRESSION.getName()&&r.getNamespace()===F.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 eT(r.getProperties().get(e[0]),e[1]))}}}}else if(s.getType()==a.EXPRESSION){if(em.isNullOrBlank(s.getExpression()))g(eS.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,s.getExpression())}catch(t){e.addMessage(i.ERROR,eu.format("Error evaluating $ : $",s.getExpression(),t))}}}else g(await eS.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,eu.format(nI.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(nI.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.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)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new eT(i,E)),s.set(n.getData().getStatement().getStatementName(),eu.format("Unable to find the step with name $",i)))}return new eT(r,s)}}var nd={};t(nd,"KIRunConstants",()=>nP);class nP{static #e=(()=>{this.NAMESPACE="namespace"})();static #t=(()=>{this.NAME="name"})();static #r=(()=>{this.ID="id"})();constructor(){}}var ny={};t(ny,"Position",()=>nx);class nx{static #e=(()=>{this.SCHEMA_NAME="Position"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nx.SCHEMA_NAME).setType(M.of(r.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 nx(e.left,e.top)}}var nL={};t(nL,"FunctionDefinition",()=>nB);var nv={};t(nv,"Statement",()=>nb);var nU={};t(nU,"AbstractStatement",()=>nV);class nV{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new nx(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}}var nC={};t(nC,"ParameterReference",()=>nG);class nG{static #e=(()=>{this.SCHEMA_NAME="ParameterReference"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nG.SCHEMA_NAME).setType(M.of(r.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 nG?(this.key=e.key,this.type=e.type,this.value=g(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=nM())}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 nG(a.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new nG(a.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new nG(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class nb extends nV{static #e=(()=>{this.SCHEMA_NAME="Statement"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nb.SCHEMA_NAME).setType(M.of(r.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 v().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",U.ofObject("executeIftrue").setAdditionalProperties(new v().setSchemaValue(U.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new U().setName("parameterMap").setAdditionalProperties(new v().setSchemaValue(U.ofObject("parameterReference").setAdditionalProperties(new v().setSchemaValue(nG.SCHEMA))))],["position",nx.SCHEMA]]))})();constructor(e,t,r){if(super(e instanceof nb?e:void 0),e instanceof nb)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 nG(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 nb&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new nb(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])=>nG.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(nx.from(e.position)).setComment(e.comment).setDescription(e.description)}}var nD={};t(nD,"StatementGroup",()=>nF);class nF extends nV{static #e=(()=>{this.SCHEMA_NAME="StatementGroup"})();static #t=(()=>{this.SCHEMA=new U().setNamespace(A.SYSTEM).setName(nF.SCHEMA_NAME).setType(M.of(r.OBJECT)).setProperties(new Map([["statementGroupName",U.ofString("statementGroupName")],["comment",U.ofString("comment")],["description",U.ofString("description")],["position",nx.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 nF(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(nx.from(e.position)).setComment(e.comment).setDescription(e.description)}}const nY=new U().setNamespace(A.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",U.ofString("name")],["namespace",U.ofString("namespace")],["parameters",U.ofArray("parameters",F.SCHEMA)],["events",U.ofObject("events").setAdditionalProperties(new v().setSchemaValue(z.SCHEMA))],["steps",U.ofObject("steps").setAdditionalProperties(new v().setSchemaValue(nb.SCHEMA))]]));nY.getProperties()?.set("parts",U.ofArray("parts",nY));class nB extends es{static #e=(()=>{this.SCHEMA=nY})();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 nB(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,nb.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,nF.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>nB.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,z.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,F.from(e)]))).setNamespace(e.namespace):new nB("unknown")}}var nH={};t(nH,"Argument",()=>nk);class nk{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 nk(0,e,t)}}var n$={};e(n$,rV),e(n$,rD),e(n$,rY),e(n$,rH),e(n$,rC);var nj={};e(nj,t0),e(nj,t2),e(nj,t4),e(nj,t5),e(nj,t8),e(nj,re),e(nj,rr),e(nj,tK),e(nj,rn),e(nj,ri),e(nj,rE),e(nj,rA),e(nj,rh),e(nj,rm),e(nj,rp),e(nj,rc),e(nj,rf),e(nj,rS),e(nj,rO),e(nj,rP),e(nj,rI),e(nj,rx),e(nj,rv),e(nj,tz),e(module.exports,o),e(module.exports,k),e(module.exports,{}),e(module.exports,eW),e(module.exports,j),e(module.exports,h),e(module.exports,eo),e(module.exports,tm),e(module.exports,eE),e(module.exports,eg),e(module.exports,ep),e(module.exports,eQ),e(module.exports,ei),e(module.exports,e1),e(module.exports,nn),e(module.exports,na),e(module.exports,tB),e(module.exports,nE),e(module.exports,nA),e(module.exports,nh),e(module.exports,nm),e(module.exports,{}),e(module.exports,nR),e(module.exports,nc),e(module.exports,nw),e(module.exports,nS),e(module.exports,tg),e(module.exports,tw),e(module.exports,r$),e(module.exports,th),e(module.exports,tJ),e(module.exports,tS),e(module.exports,tc),e(module.exports,tp),e(module.exports,tf),e(module.exports,{}),e(module.exports,en),e(module.exports,u),e(module.exports,nN),e(module.exports,E),e(module.exports,ev),e(module.exports,eP),e(module.exports,ex),e(module.exports,eI),e(module.exports,eM),e(module.exports,eG),e(module.exports,eV),e(module.exports,ea),e(module.exports,ef),e(module.exports,C),e(module.exports,ew),e(module.exports,l),e(module.exports,_),e(module.exports,p),e(module.exports,T),e(module.exports,c),e(module.exports,R),e(module.exports,eR),e(module.exports,eb),e(module.exports,s7),e(module.exports,nd),e(module.exports,V),e(module.exports,Q),e(module.exports,ny),e(module.exports,nL),e(module.exports,n_),e(module.exports,q),e(module.exports,nU),e(module.exports,nv),e(module.exports,{}),e(module.exports,nD),e(module.exports,er),e(module.exports,J),e(module.exports,b),e(module.exports,nH),e(module.exports,nC),e(module.exports,eq),e(module.exports,Z),e(module.exports,n$),e(module.exports,nj),e(module.exports,rW);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|