{
  "version": 3,
  "sources": ["../../src/is_raw_class.ts", "../../src/ObjectName.ts", "../../src/getType.ts", "../../src/make_global.ts", "../../src/PrimaryCollections.ts", "../../src/Export.ts", "../../src/_import_.ts", "../../src/platform.ts", "../../src/Logger.ts", "../../src/Cast.ts", "../../src/DOMCreateElement.ts", "../../src/IncrementInstanceID.ts", "../../src/introspection.ts", "../../src/Package.ts", "../../src/InheritClass.ts", "../../src/isQCObjects.ts", "../../src/is_a.ts", "../../src/is_forbidden_name.ts", "../../src/LegacyCopy.ts", "../../src/Class.ts", "../../src/ClassFactory.ts", "../../src/Base64.ts", "../../src/basePath.ts", "../../src/DataStringify.ts", "../../src/domain.ts", "../../src/New.ts", "../../src/secretKey.ts", "../../src/Crypt.ts", "../../src/ConfigSettings.ts", "../../src/CONFIG.ts", "../../src/Processor.ts", "../../src/routings.ts", "../../src/asyncLoad.ts", "../../src/ComplexStorageCache.ts", "../../src/serviceLoader.ts", "../../src/tag_filter.ts", "../../src/componentLoader.ts", "../../src/Component.ts", "../../src/ComponentFactory.ts", "../../src/Service.ts", "../../src/globalSettings.ts", "../../src/top.ts", "../../src/captureFalseTouch.ts", "../../src/range.ts", "../../src/defaultProcessors.ts", "../../src/findPackageNodePath.ts", "../../src/Import.ts", "../../src/mathFunctions.ts", "../../src/NamespaceRef.ts", "../../src/Ready.ts", "../../src/ArrayCollection.ts", "../../src/Tag.ts", "../../src/shortCode.ts", "../../src/super.ts", "../../src/waitUntil.ts", "../../src/subelements.ts", "../../src/loadSDK.ts", "../../src/MainProcess.ts", "../../src/index.cts", "../../src/assign.ts", "../../src/QCObjects.ts", "../../src/BackendMicroservice.ts", "../../src/DefaultTemplateHandler.ts", "../../src/RegisterClass.ts", "../../src/SourceJS.ts", "../../src/SourceCSS.ts", "../../src/WidgetsFactory.ts", "../../src/Controller.ts", "../../src/View.ts", "../../src/VO.ts", "../../src/Effect.ts", "../../src/TransitionEffect.ts", "../../src/Timer.ts", "../../src/DDO.ts", "../../src/Toggle.ts", "../../src/DocumentLayout.ts"],
  "sourcesContent": ["export const __is_raw_class__ = (o_c: any): boolean => {\n  return !!((typeof o_c === \"function\" && o_c.toString().startsWith(\"class\")));\n};\n", "/**\n * Returns the object or function name\n *\n * @param Object or function\n */\nexport const ObjectName = (o: any):string => {\n  let ret = \"\";\n  if (typeof o === \"function\" && Object.hasOwn(o, \"name\") && o.name !== \"\") {\n    ret = o.name;\n  } else if (typeof o !== \"undefined\" && typeof o.constructor === \"function\" && o.constructor.name !== \"\") {\n    ret = o.constructor.name;\n  } else if (typeof o !== \"undefined\" && typeof o.constructor === \"object\") {\n    ret = o.constructor.toString().replace(/\\[(.*?)\\]/g, \"$1\").split(\" \").slice(1).join(\"\");\n  }\n  return ret;\n};", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Determine the type of the Object for any QCObjects Object\n *\n * @param {Object} object\n */\nexport const __getType__ = function __getType__(o_c: any): any {\n  let _ret_ = \"\";\n  switch (true) {\n    case typeof o_c === \"object\" &&\n      (!!o_c.constructor &&\n        !!o_c.constructor.name)\n      && o_c.constructor.name !== \"\":\n      _ret_ = o_c.constructor.name;\n      break;\n    case typeof o_c === \"function\" && !!o_c.name:\n      _ret_ = o_c.name;\n      break;\n    case __is_raw_class__(o_c) && !!o_c.name:\n      _ret_ = o_c.name;\n      break;\n    case (!!o_c && !!o_c.__classType) && o_c.__classType !== \"\":\n      _ret_ = o_c.__classType;\n      break;\n    case (!!o_c && !!o_c.__definition) && (!!o_c.__definition.__classType) && o_c.__definition.__classType !== \"\":\n      _ret_ = o_c.__definition.__classType;\n      break;\n    default:\n      _ret_ = ObjectName(o_c);\n      break;\n  }\n  return _ret_;\n};\n", "import { _top, set } from \"./top\";\ndeclare const global:any;\ndeclare const globalThis:any;\n\nexport const __make_global__ = (f:any):void => {\n    if (!!f && !!f.name) {\n        if (typeof _top !== \"undefined\" && typeof f !== \"undefined\" && _top !== null && !Object.hasOwn(_top,f.name)) {\n            set(f.name, f);\n        } else if (typeof global !== \"undefined\"){\n            global[f.name] = f;\n        } else if (typeof globalThis !== \"undefined\"){\n            globalThis[f.name] = f;\n        }\n    \n    }\n\n};", "import { T_QC_CLASSES, T_QC_PACKAGES } from \"types\";\nimport { __getType__ } from \"./getType\";\nimport { __make_global__ } from \"./make_global\";\n\nexport var _QC_CLASSES: T_QC_CLASSES = {};\nexport var _QC_PACKAGES: T_QC_PACKAGES = {};\nexport var _QC_PACKAGES_IMPORTED: any[] = [];\nexport var _QC_READY_LISTENERS: any[] = [];\n\nexport const __register_class__ = function (_class_: any, __namespace?: string): any {\n    const __classType = __getType__(_class_);\n    let name = _class_.name || __classType;\n    if (name.toLowerCase() === \"function\") {\n        name = __classType;\n    }\n    if (typeof _class_.__definition === \"undefined\") {\n        _class_.__definition = {};\n    }\n    _class_.__definition.__classType = __classType;\n    if (typeof __namespace !== \"undefined\") {\n        _class_.__definition.__namespace = __namespace;\n    }\n    _QC_CLASSES[name] = _class_;\n    __make_global__(_class_);\n    return _QC_CLASSES[name];\n};\n\nexport const get_QC_CLASS = (name:string):any => {\n    return _QC_CLASSES[name];\n};\n\nconst _get_packages_names = function <T>(_packages: any): T[] {\n    let _keys: any[] = [];\n    for (const _k of Object.keys(_packages)) {\n        if (\n            typeof _packages[_k] !== \"undefined\" &&\n            typeof _packages[_k] !== \"function\" &&\n            Object.hasOwn(_packages[_k], \"length\") &&\n            _packages[_k].length > 0\n        ) {\n            _keys.push(_k);\n            _keys = _keys.concat(_get_packages_names(_packages[_k]));\n        }\n    }\n    return _keys as T[];\n};\n\n\nexport const getPackagesNamesList = (): any[] => {\n    return _get_packages_names(_QC_PACKAGES);\n};\n\nexport const getPackagesList = (): any[] => {\n    return [...getPackagesNamesList()].map(<T>(packagename: string): T => {\n        const _classesList: any[] = _QC_PACKAGES[packagename] as any[];\n        let _ret_: any = undefined;\n        if (_classesList) {\n            _ret_ = {\n                packageName: packagename,\n                classesList: _classesList.filter(function (): boolean {\n                    return true;\n                })\n            };\n        }\n        return _ret_ as T;\n    }).filter(function (_p: any): boolean {\n        return typeof _p !== \"undefined\";\n    });\n};\n\nexport const getClassesList = (): any[] => {\n    let _classesList: any[] = [];\n    [...getPackagesList()].forEach(function <T>(_package_element: any): T {\n        _classesList = _classesList.concat(_package_element.classesList.map(\n            (_class_element: any) => {\n                return {\n                    packageName: _package_element.packageName,\n                    className: `${_package_element.packageName}.${__getType__(_class_element)}`,\n                    classFactory: _class_element\n                };\n            }\n        ));\n        return _package_element as T;\n    });\n\n    return _classesList;\n};\n\nexport const getClassesNamesList = (): any[] => {\n    return [...getClassesList()].map(<T>(_class_element: any): T => {\n        return _class_element.className as T;\n    });\n};\n\nexport const set_QC_PACKAGE = (packageName: string, _qc_packages: any[]):void => {\n    _QC_PACKAGES[packageName] = _qc_packages;\n};\n\n", "import { __make_global__ } from \"./make_global\";\n\nexport const Export = function (f: any):void {\n  return __make_global__(f);\n};\nExport.prototype.toString = function () {\n  return \"Export(function or symbol) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nasync function _import_(name:string):Promise<any> {\n    logger.debug(`Importing ${name}...`);\n    function isPackage(name:string) {\n      logger.debug(`Validating if ${name} is a package name...`);\n      // Simple check to determine if the name is a package\n      // This can be enhanced based on your specific needs\n      return !name.startsWith(\".\") && !name.startsWith(\"/\") && !name.includes(\"/\");\n    }\n  \n    try {\n      // Ensure the name has a .js extension if it's not a package\n      const hasExtension = /\\.[^/\\\\]+$/.test(name);\n      if (!hasExtension && !isPackage(name)) {\n        logger.debug(`${name} does not have an extension and is not a package. Adding js extension.`);\n        name += \".js\";\n      }\n  \n      const m:any = await import(name);\n      return m;\n    } catch (error:any) {\n      logger.warn(`Failed to load module: ${error}`);\n    }\n  }\n  \nexport {_import_};", "import { _import_ } from \"./_import_\";\nimport { logger } from \"./Logger\";\n\nexport const isDeno:boolean = (typeof window !== \"undefined\" && \"Deno\" in window);\nexport const isBrowser:boolean = (typeof window !== \"undefined\" && typeof window.self !== \"undefined\" && window === window.self) && !isDeno;\nexport const isNodeCommonJS:boolean = (typeof module !== \"undefined\");\n// eslint-disable-next-line no-unused-vars\nexport const deno_require = (name:string):void => { /* not yet implemented */};\nexport const _require_ = (name:string):any => {\n   \n  return (isDeno)?(deno_require(name)):(\n    ( (name):any => {\n      let r:any;\n      try {\n        (async () => {\n          r = await _import_(name);\n        })().then((m:any) => {\n          r = (m && m.default) || m;\n        })\n        .catch ((e:any) => {\n          logger.warn(`An error ocurred: ${e}`);\n        });\n\n      } catch (e:any) {\n        logger.debug(`An error ocurred importing module. ${e}`);\n        r = {export:{}};\n      }\n      return r;\n    }  ) (name)\n  );\n};\ndeclare const cordova: any;\n\nexport const is_phonegap:boolean = (\n  function () {\n    return (typeof cordova !== \"undefined\");\n  }\n)();", "import { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\n\nexport class Logger {\n    debugEnabled = true;\n    infoEnabled = true;\n    warnEnabled = true;\n    debug(message: string): void {\n        if (this.debugEnabled) {\n            console.log(\"\\x1b[35m%s\\x1b[0m\", `[DEBUG][${performance.now().toLocaleString()}] ${message}`);\n        }\n    }\n\n    info(message: string): void {\n        let color;\n        if (this.infoEnabled) {\n            if (isBrowser) {\n                color = \"\\x1b[103m%s\\x1b[0m\";\n            } else {\n                color = \"\\x1b[33m%s\\x1b[0m\";\n            }\n            console.info(color, `[INFO][${performance.now().toLocaleString()}] ${message}`);\n        }\n    }\n\n    warn(message: string): void {\n        if (this.warnEnabled) {\n            console.warn(\"\\x1b[31m%s\\x1b[0m\", `[WARN][${performance.now().toLocaleString()}] ${message}`);\n        }\n    }\n}\n\nexport const logger: Logger = new Logger();\nExport(logger);", "import { logger } from \"./Logger\";\n\n/**\n * Casts an object to another object class type\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _Cast = function (obj_source: any, obj_dest: any):any {\n    for (const v in obj_source) {\n        if (typeof obj_source[v] !== \"undefined\") {\n            try {\n                obj_dest[v] = obj_source[v];\n            } catch (e:any) {\n                logger.debug(`An error ocurred: ${e}.`);\n                logger.warn(`Unable to cast ${(typeof obj_source).toString()}.${typeof v.toString()} to ${(typeof obj_dest).toString()}.${typeof v.toString()}`);\n            }\n        }\n    }\n    return obj_dest;\n};\n\n/**\n * Casts an object to another object class type. Only properties\n *\n * @param {Object} obj_source\n * @param {Object} obj_dest\n */\nexport const _CastProps = function (obj_source: any, obj_dest: any, _ignoreError:boolean = true):any {\n    for (const v in obj_source) {\n        if (typeof obj_source[v] !== \"undefined\" && typeof obj_source[v] !== \"function\") {\n            try {\n                obj_dest[v] = obj_source[v];\n            } catch (e:any) {\n                if (!_ignoreError){\n                    logger.debug(`An error ocurred: ${e}.`);\n                }\n            }\n        } else if (typeof obj_source[v] === \"function\") {\n            try {\n                obj_dest[v] = obj_source[v].bind(obj_dest);\n            } catch (e:any) {\n                logger.warn(e);\n            }\n        }\n    }\n    return obj_dest;\n};\n", "import { IQCObjectsElement } from \"types\";\nimport { isBrowser } from \"./platform\";\n\nexport const _DOMCreateElement = function (elementName: string, props?: any[], children?: any): IQCObjectsElement {\n    let _ret_;\n    if (isBrowser) {\n        _ret_ = _DOMCreateComplexElement(elementName, props, children) as unknown as IQCObjectsElement;\n    } else {\n        _ret_ = {} as IQCObjectsElement;\n    }\n    return _ret_;\n};\n\n\nconst ComplexTypeCall = (_type: Function, { props, children }: { props?: any[], children?: any }): IQCObjectsElement => {\n    return _type({ props, children }) as IQCObjectsElement;\n};\nexport const _DOMCreateComplexElement = (_type: string | Function, props?: any[], children?: any): HTMLElement | IQCObjectsElement => {\n\n    if (typeof _type !== \"string\") {\n        return ComplexTypeCall(_type, { props, children });\n    }\n    const element = document.createElement(_type);\n\n    if (props) {\n        Object.entries(props).forEach(([key, value]) => {\n            if (typeof value === \"string\" || typeof value === \"number\") {\n                element.setAttribute(key, value.toString());\n            } else if (typeof value === \"function\" && key.toLowerCase().startsWith(\"on\")) {\n                element.addEventListener(key.slice(2).toLowerCase(), value.bind(element));\n            }\n        });\n    }\n\n    if (Array.isArray(children)) {\n        children.filter((child => child instanceof Node)).forEach(child => {\n            element.appendChild(child);\n        });\n    } else if (children instanceof Node) {\n        element.appendChild(children);\n    } else if (typeof children === \"string\") {\n        element.innerHTML = children;\n    }\n\n    return element;\n};\n", "/**\n * Primary instance ID of all objects\n */\nexport var __instanceID = 0;\n\nexport const IncrementInstanceID = (): void => {\n    __instanceID = (typeof __instanceID === \"undefined\" || __instanceID === null) ? (0) : (__instanceID + 1);\n};\n", "export const _protected_code_ = (_: any): void => {\n  const __oldtoString = (typeof _.prototype !== \"undefined\") ? (_.prototype.toString) : (function () {\n    return \"\";\n  });\n  if (typeof _.prototype !== \"undefined\") {\n    _.prototype.toString = function (): string {\n      const _protected_symbols = [\n        \"__qcobjects__\",\n        \"__qcobjects_sdk__\",\n        \"__loaded__\",\n        \"ComplexStorageCache\",\n        \"css\",\n        \"append\",\n        \"attachIn\",\n        \"debug\",\n        \"info\",\n        \"warn\",\n        \"QC_Append\",\n        \"set\",\n        \"get\",\n        \"done\",\n        \"componentDone\",\n        \"_new_\",\n        \"__new__\",\n        \"Class\",\n        \"ClassFactory\",\n        \"New\",\n        \"Export\",\n        \"Package\",\n        \"Import\",\n        \"subelements\",\n        \"componentLoader\",\n        \"buildComponents\",\n        \"Controller\",\n        \"View\",\n        \"VO\",\n        \"Service\",\n        \"serviceLoader\",\n        \"JSONService\",\n        \"ConfigService\",\n        \"SourceJS\",\n        \"SourceCSS\",\n        \"ArrayList\",\n        \"ArrayCollection\",\n        \"Effect\",\n        \"Timer\",\n        \"sum\",\n        \"avg\",\n        \"table\",\n        \"max\",\n        \"min\",\n        \"range\",\n        \"matrix\",\n        \"matrix2d\",\n        \"matrix3d\",\n        \"unique\",\n        \"uniqueId\",\n        \"shortCode\",\n        \"NamespaceRef\"\n      ];\n      let _ret_;\n      if (_protected_symbols.includes(this.name)) {\n        _ret_ = this.name + \"{ [QCObjects native code] }\";\n      } else {\n        _ret_ = __oldtoString.call(this);\n      }\n      return _ret_ as string;\n    };\n  }\n};\n(_protected_code_)(Function);\nexport const _methods_ = function <T>(_: any): T[] {\n  const _m = [];\n  for (const i in _) {\n    if ((typeof _[i]).toLowerCase() === \"function\") {\n      _m.push(_[i]);\n    }\n  }\n  return _m as T[];\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\nimport {_QC_PACKAGES, set_QC_PACKAGE, __register_class__ } from \"./PrimaryCollections\";\n\n/**\n * Defines a package for Class classification\n *\n * @param {Object} namespace\n * @param {Object} classes\n */\nexport const Package = (namespace: string, classes: any[] = []): any[] => {\n\n  if (Object.hasOwn(_QC_PACKAGES, namespace) &&\n    typeof _QC_PACKAGES[namespace] !== \"undefined\" &&\n    typeof _QC_PACKAGES[namespace] !== \"string\" &&\n    Object.hasOwn(_QC_PACKAGES[namespace], \"length\") &&\n    _QC_PACKAGES[namespace].length > 0 &&\n    typeof classes !== \"undefined\" &&\n    Object.hasOwn(classes, \"length\") &&\n    classes.length > 0\n  ) {\n    classes.forEach((_class_: any) => {\n      __register_class__(_class_, namespace);\n    });\n    set_QC_PACKAGE(namespace, _QC_PACKAGES[namespace].concat(classes));\n  } else if (typeof classes !== \"undefined\"\n    && typeof classes !== \"undefined\"\n    && Object.hasOwn(classes, \"length\")\n    && classes.length > 0) {\n    classes.forEach((_class_: any) => {\n      __register_class__(_class_, namespace);\n    });\n    set_QC_PACKAGE(namespace, classes);\n  } else if (__is_raw_class__(classes)) {\n    if (typeof (classes as any).__definition === \"undefined\") {\n      (classes as any).__definition = {};\n    }\n    (classes as any).__definition.__namespace = namespace;\n    (classes as any).__namespace = namespace;\n    __register_class__(classes, namespace);\n    set_QC_PACKAGE(namespace, [classes]);\n  } else {\n    throw new Error (`An error ocurred. It was not possible to add classes to ${namespace}.`);\n  }\n  return ((Object.hasOwn(_QC_PACKAGES, namespace)) ? (_QC_PACKAGES[namespace]) : []) as any[] | [];\n};\n", "import { type IInheritClass, type IQCObjectsElement, type TBody } from \"types\";\nimport { logger } from \"./Logger\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _CastProps, _Cast } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { Package } from \"./Package\";\n\nexport class InheritClass implements IInheritClass {\n    [key: string]: any;\n    __definition: any;\n    private _body: TBody;\n    public get body(): TBody {\n        return this._body;\n    }\n    public set body(value: TBody) {\n        this._body = value;\n    }\n    childs: any;\n    __instanceID!: number;\n\n    constructor(_o_?: any) {\n\n        if (typeof _o_ !== \"undefined\" && typeof _o_.__definition !== \"undefined\") {\n            this.__definition = {\n                ...(_o_.__definition)\n            };\n        }\n\n        const self: this = this;\n        if (typeof _o_ !== \"undefined\" && _o_ !== null) {\n            Object.keys(_o_)\n                .filter(function (k) {\n                    return isNaN(k as any) && ![\"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n                })\n                .forEach(function (key) {\n                    if (typeof self[key] === \"function\") {\n                        self[key] = _o_[key].bind(self);\n                    } else {\n                        self[key] = _o_[key];\n                    }\n                });\n        }\n\n        IncrementInstanceID();\n        if (!self.__instanceID) {\n            Object.defineProperty(self, \"__instanceID\", {\n                value: __instanceID,\n                writable: false\n            });\n        }\n\n        if (typeof self.__definition !== \"undefined\") {\n            Object.keys(self.__definition).filter(function (k) {\n                return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n            }).forEach(function (key) {\n                if (typeof self.__definition[key] === \"function\") {\n                    self[key] = self.__definition[key].bind(self);\n                } else {\n                    self[key] = self.__definition[key];\n                }\n            });\n        }\n        _methods_((_QC_CLASSES as any)[self.__classType]).map(function (m): any {\n            self[(m as Function).name] = (m as Function).bind(self);\n            return m;\n        });\n        _methods_(self.__definition).map(function (m): any {\n            self[(m as Function).name] = (m as Function).bind(self);\n            return m;\n        });\n\n        if (self.body) {\n            if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n                try {\n                    if (isBrowser) {\n                        self.body = _DOMCreateElement(self.__definition.__classType);\n                    } else {\n                        self.body = {};\n                    }\n                } catch (e: any) {\n                    logger.debug(`An error ocurred: ${e}.`);\n                    self.body = {};\n                }\n            } else if (Object.hasOwn(self.__definition, \"body\")) {\n                self.body = self.__definition.body;\n            }\n        }\n\n\n        try {\n            self.__new__.call(self, _o_);\n            if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n                try {\n                    self._new_(_o_);\n                    (self._new_ as any).isCalled = true;\n                } catch (e: any) {\n                    logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n                }\n            }\n        } catch (e: any) {\n            logger.warn(e);\n        }\n    }\n\n    static get __classType(): any {\n        return (Object.getPrototypeOf(this.constructor) as Function).name;\n    }\n\n    get __classType(): string {\n        return this.constructor.name;\n    }\n\n\n    static hierarchy(__class__: any): any[] {\n        const __classType = function (o_c: any): any {\n            return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n        };\n        const __hierarchy__proto__ = (c: any): any[] => {\n            return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n        };\n\n        if (typeof __class__ === \"undefined\" || __class__ === null) {\n            __class__ = this;\n        }\n        let __hierarchy = [];\n        __hierarchy.push(__classType(__class__));\n        __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n        return __hierarchy;\n    }\n\n\n    __namespace?: string | undefined;\n\n    __new__(_o_: any): void {\n        _CastProps(_o_, this);\n    }\n\n    // eslint-disable-next-line no-unused-vars\n    _new_(_o_?: any): void { }\n\n    static getParentClass(): any {\n        return Object.getPrototypeOf(this.prototype.constructor);\n    }\n    getParentClass(): any {\n        return (this.constructor as typeof InheritClass).getParentClass();\n    }\n\n\n    static getClass(): any {\n        return Object.getPrototypeOf(this.constructor);\n    }\n\n    getClass(): any {\n        return (this.constructor as typeof InheritClass).getClass();\n    }\n\n    css(_css: any): any {\n        if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n            logger.debug(\"body style\");\n            if (this.body) {\n                (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n            }\n        }\n        return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n    }\n\n    hierarchy(): any {\n        const __instance__ = this;\n        return (this.constructor as typeof InheritClass).hierarchy(__instance__);\n    }\n\n\n    append(_child?: any): void {\n        const child: any = _child || this.body;\n        logger.debug(\"append: start\");\n        if (is_a(child, \"Component\")) {\n            logger.debug(\"append: child is a Component\");\n            logger.debug(`appending the body of ${child.name}`);\n        }\n        if (typeof this.body !== \"undefined\") {\n            logger.debug(\"append element\");\n            if (arguments.length > 0) {\n                logger.debug(\"append to element\");\n                if (typeof this.body !== \"string\") {\n                    if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n                        (this?.body as IQCObjectsElement)?.append(child);\n                    } else {\n                        throw Error(\"body.append is undefined. That means the body is not well formed.\");\n                    }\n                } else {\n                    this.append(child);\n                }\n                if (typeof this.childs === \"undefined\") {\n                    this.childs = [];\n                }\n                this.childs.push(child);\n            } else {\n                if (isBrowser) {\n                    logger.debug(\"append to body\");\n                    document.body.append(child);\n                }\n            }\n        }\n    }\n\n    attachIn(tag: any): void {\n        if (isBrowser) {\n            const tags = (document as any).subelements(tag);\n            for (let i = 0, j = tags.length; i < j; i++) {\n                tags[i].append(this as any);\n            }\n        } else {\n            throw new Error(\"attachIn not yet implemented for non browser platforms\");\n        }\n    }\n\n}\n\nPackage(\"com.qcobjects\", [InheritClass]);", "import { InheritClass } from \"./InheritClass\";\n\nexport const isQCObjects_Object = function (_:any):boolean {\n    return (!!((typeof _ === \"object\" &&\n      Object.hasOwn(_, \"__classType\") &&\n      (!!_.__instanceID) &&\n      Object.hasOwn(_, \"__definition\") &&\n      typeof _.__definition !== \"undefined\"\n    ))) || _ instanceof InheritClass;\n  };\n\n  export const isQCObjects_Class = function (_:any):boolean {\n    return (!!((typeof _ === \"function\" &&\n      (!_.__instanceID) &&\n      (!!_.__definition) &&\n      typeof _.__definition !== \"undefined\" &&\n      !!_.__definition.__classType\n    ))) || _.prototype instanceof InheritClass;\n  };\n", "import { __getType__ } from \"./getType\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Returns if a class or object is from a determinated type\n * @param {Object} object\n * @param {String} typeName\n */\nexport const is_a = (obj: any, typeName: string):boolean => {\n  return !!((typeof obj !== \"undefined\" && obj !== null &&\n    (((isQCObjects_Class(obj) || isQCObjects_Object(obj)) && (obj.hierarchy().includes(typeName))) ||\n      __getType__(obj) === typeName ||\n      ObjectName(obj) === typeName ||\n      typeof obj === typeName)));\n};", "/**\n * Internal use to determine the forbidden names for classes\n * Reserved words\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n */\nexport const __is__forbidden_name__ = (name: string):boolean => {\n  return ([\"__proto__\", \"prototype\", \"Object\", \"Map\", \"defineProperty\", \"indexOf\", \"toString\", \"__instanceID\", \"function\", \"Function\"].indexOf(name) !== -1);\n};\n", "import { __is_raw_class__ } from \"./is_raw_class\";\n\nexport const _LegacyCopy = function (obj:any, _ignore?:string[]):any {\n    let _value_;\n    switch (true) {\n      case typeof obj === \"string\":\n        _value_ = obj;\n        break;\n      case typeof obj === \"number\":\n        _value_ = obj;\n        break;\n      case typeof obj === \"object\":\n        _value_ = [{...Object.keys(obj).filter(k => !_ignore?.includes(k))}]\n        .map(k => {return {[k as never]:obj[k as never]}; })\n        .reduce ((p, c) => Object.assign(p, c)) as any;\n        break;\n      case typeof obj === \"function\":\n        _value_ = obj.bind({});\n        break;\n      case __is_raw_class__(obj):\n        _value_ = class extends obj { };\n        break;\n      default:\n        break;\n    }\n    return _value_;\n  };\n", "import { _QC_CLASSES } from \"./PrimaryCollections\";\nimport { _Cast, _CastProps } from \"./Cast\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { __instanceID, IncrementInstanceID } from \"./IncrementInstanceID\";\nimport { _methods_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { __is__forbidden_name__ } from \"./is_forbidden_name\";\nimport { _LegacyCopy } from \"./LegacyCopy\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\nimport { IQCObjectsElement, TBody, TClass } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _top } from \"./top\";\n\n/**\n * Creates new object class  of another object\n *\n * @param {String} name\n * @param {Object} type\n * @param {Object} definition\n * \n * @example \n * Class (name, type, definition)\n * Class (name, type)\n * Class (name, definition)\n * Class ()\n * \n * \n * const MyClass = Class (\"MyComponent\", Component, {\n *  name: \"one_component\",\n *  method1 : () => {console.log (\"done\") }\n * })\n * const myClassInstance = new MyClass ({name: \"one_component\"})\n * \n * const MyClass = Class (\"MyService\",{\n *  name: \"myservice\",\n * })\n * \n * const myClassInstance = new MyClass ({name: \"myservice\"})\n */\n\n\n\nexport const Class: TClass = (name?: string, _type?: unknown, _definition?: unknown): InheritClass => {\n  const _types_ = {};\n  let type: unknown, definition: unknown;\n\n  switch (true) {\n    case !name && !_type && !_definition:\n      return class { } as unknown as InheritClass;\n    case !!name && !_type && !_definition:\n      type = class { };\n      definition = {};\n      break;\n    case !!name && !_type && !!_definition:\n      type = class { };\n      definition = _definition;\n      break;\n    case !!name && !!_type && !!_definition:\n      type = _type;\n      definition = _definition;\n      break;\n    default:\n      return class { } as unknown as InheritClass;\n  }\n  if (typeof name !== \"string\") {\n    throw new Error(\"Class name must be a string\");\n  }\n\n  if (typeof type !== \"function\") {\n    throw new Error(\"Class type must be a function or class\");\n  }\n\n  if (__is__forbidden_name__(name)) {\n    throw new Error(`${name} is not an allowed word in the name of a class`);\n  }\n\n  if (typeof (type as any).__definition === \"object\"\n    && (type as any).__definition\n    && Object.keys((type as any).__definition).length !== 0) {\n    (definition as any).__definition = Object.assign(_LegacyCopy((type as any).__definition,[\"name\"]), type);\n  }\n\n  (_types_ as any)[type.name] = type;\n\n  if (typeof definition === \"undefined\" || definition === null) {\n    definition = {};\n  } else {\n    definition = { ...definition };\n  }\n\n  /* hack to prevent duplicate __instanceID */\n  if (typeof (definition as any).__instanceID !== \"undefined\") {\n    delete (definition as any).__instanceID;\n  }\n\n  _QC_CLASSES[name] = class extends (_types_ as any)[type.name] {\n    __instanceID!: number;\n    __namespace?: string | undefined;\n    __definition: any = {\n      ...(definition as any)\n    };\n    childs: any;\n    private _body: TBody;\n    public get body(): TBody {\n      return this._body;\n    }\n    public set body(value: TBody) {\n      this._body = value;\n    }\n\n    static get __classType(): any {\n      return (Object.getPrototypeOf(this.constructor) as Function).name;\n    }\n\n    get __classType(): string {\n      return this.constructor.name;\n    }\n\n    static hierarchy(__class__: any): any[] {\n      const __classType = function (o_c: any): any {\n        return (Object.hasOwn(o_c, \"__classType\")) ? (o_c.__classType) : (__getType__.call(__class__, o_c));\n      };\n      const __hierarchy__proto__ = (c: any): any[] => {\n        return (typeof c !== \"undefined\" && typeof c.__proto__ !== \"undefined\" && c.__proto__ !== null) ? (((__classType(c) !== \"\") ? ([__classType(c)]) : ([])).concat(__hierarchy__proto__(c.__proto__))) : ([]);\n      };\n\n      if (typeof __class__ === \"undefined\" || __class__ === null) {\n        __class__ = this;\n      }\n      let __hierarchy = [];\n      __hierarchy.push(__classType(__class__));\n      __hierarchy = __hierarchy.concat(__hierarchy__proto__(__class__.__proto__));\n      return __hierarchy;\n    }\n\n    static getParentClass(): any {\n      return Object.getPrototypeOf(this.prototype.constructor);\n    }\n\n    constructor(_o_?: any) {\n      super(_o_ || {});\n\n      const self = this;\n      IncrementInstanceID();\n      if (!(self as any).__instanceID) {\n        Object.defineProperty(self, \"__instanceID\", {\n          value: __instanceID,\n          writable: false\n        });\n      }\n\n      if (typeof self.__definition !== \"undefined\") {\n        Object.keys(self.__definition).filter(function (k) {\n          return isNaN(k as any) && ![\"name\", \"__instanceID\", \"__classType\", \"__definition\"].includes(k);\n        }).forEach(function (key) {\n          if (typeof self.__definition[key] === \"function\") {\n            self[key] = self.__definition[key].bind(self);\n          } else {\n            self[key] = self.__definition[key];\n          }\n        });\n      }\n      _methods_(_QC_CLASSES[self.__classType]).map(function <T>(m: unknown): T {\n        self[(m as Function).name] = (m as Function).bind(self);\n        return m as T;\n      });\n      _methods_(self.__definition).map(function (m): any {\n        self[(m as Function).name] = (m as Function).bind(self);\n        return m;\n      });\n\n      if (self.body) {\n        if (typeof self.__definition === \"undefined\" || (!Object.hasOwn(self.__definition, \"body\")) || typeof self.__definition.body === \"undefined\") {\n          try {\n            if (isBrowser) {\n              self.body = _DOMCreateElement(self.__definition.__classType);\n            } else {\n              self.body = {};\n            }\n          } catch (e: any) {\n            logger.debug(`An error ocurred: ${e}.`);\n            self.body = {};\n          }\n        } else if (Object.hasOwn(self.__definition, \"body\")) {\n          self.body = self.__definition.body;\n        }\n      }\n\n\n      try {\n        if (typeof self.__new__ === \"function\") {\n          self.__new__.call(self, _o_);\n        } else if (typeof super.__new__ === \"function\") {\n          self.__new__ = super.__new__.bind(self);\n          self.__new__.call(self, _o_);\n        }\n        if (typeof self === \"object\" && Object.hasOwn(self, \"_new_\") && typeof (self._new_ as any).isCalled === \"undefined\") {\n          try {\n            self._new_(_o_);\n            (self._new_ as any).isCalled = true;\n          } catch (e: any) {\n            logger.warn(`${self.__classType}._new_() failed with error: ${e}`);\n          }\n        }\n      } catch (e: any) {\n        logger.warn(e);\n      }\n    }\n\n    __new__(_o_: any) {\n      _CastProps(_o_, this);\n    }\n\n    // eslint-disable-next-line no-unused-vars\n    _new_(_o_?: any) { }\n\n    getClass(): any {\n      return Object.getPrototypeOf(this.constructor);\n    }\n\n    css(_css: any): any {\n      if (typeof this.body !== \"undefined\" && typeof this?.body !== \"string\" && typeof (this?.body as HTMLElement)?.style !== \"undefined\") {\n        logger.debug(\"body style\");\n        if (this.body) {\n          (this.body as any).style = _Cast(_css, (this?.body as HTMLElement)?.style);\n        }\n      }\n      return (typeof this.body !== \"string\") ? (this?.body as HTMLElement)?.style : {};\n    }\n\n    hierarchy(): any {\n      const __instance__ = this;\n      return this.getClass()?.hierarchy(__instance__);\n    }\n\n\n    append(_child?: any) {\n      const child: any = _child || this.body;\n      logger.debug(\"append: start\");\n      if (is_a(child, \"Component\")) {\n        logger.debug(\"append: child is a Component\");\n        logger.debug(`appending the body of ${child.name}`);\n      }\n      if (typeof this.body !== \"undefined\") {\n        logger.debug(\"append element\");\n        if (arguments.length > 0) {\n          logger.debug(\"append to element\");\n          if (typeof this.body !== \"string\") {\n            if (typeof (this.body as IQCObjectsElement)?.append !== \"undefined\") {\n              (this?.body as IQCObjectsElement)?.append(child);\n            } else {\n              throw Error(\"body.append is undefined. That means the body is not well formed.\");\n            }\n          } else {\n            this.append(child);\n          }\n          if (typeof this.childs === \"undefined\") {\n            this.childs = [];\n          }\n          this.childs.push(child);\n        } else {\n          if (isBrowser) {\n            logger.debug(\"append to body\");\n            document.body.append(child);\n          }\n        }\n      }\n    }\n\n    attachIn(tag: any) {\n      if (isBrowser) {\n        const tags = (document as any).subelements(tag);\n        for (let i = 0, j = tags.length; i < j; i++) {\n          tags[i].append(this as any);\n        }\n      } else {\n        throw new Error(\"attachIn not yet implemented for non browser platforms\");\n      }\n    }\n\n  };\n\n  // remove the keys from definition that exist in the prototype\n\n  _QC_CLASSES[name] = _CastProps(definition, _QC_CLASSES[name]);\n  _QC_CLASSES[name].__definition = definition;\n  _QC_CLASSES[name].__definition.__classType = name;\n\n  (_top as any)[name] = _QC_CLASSES[name];\n\n  return _QC_CLASSES[name] as InheritClass;\n};\nif (typeof Class.prototype !== \"undefined\") {\n  Class.prototype.toString = function () {\n    return \"Class(name, type, definition) { [QCObjects native code] }\";\n  };\n}\n\n", "/**\n * Returns the QCObjects Class Factory of a given ClassName\n *\n * @param {String} name\n */\n\nimport { __is_raw_class__ } from \"./is_raw_class\";\nimport { _QC_CLASSES, _QC_PACKAGES, get_QC_CLASS } from \"./PrimaryCollections\";\nimport { TClassFactory } from \"types\";\n\nexport const ClassFactory:TClassFactory =  (className:string):any => {\n    let _classFactory;\n    if (typeof className === \"undefined\" || className === null) {\n        throw Error (\"You need to pass a parameter {className}\");\n    }\n    if (className !== null && className.indexOf(\".\") !== -1) {\n        const packageName = className.split(\".\").slice(0, className.split(\".\").length - 1).join(\".\");\n        const _className = className.split(\".\").slice(-1).join(\"\");\n        const _package = _QC_PACKAGES[packageName] || [];\n        const packageClasses = _package.filter((classFactory:any) => {\n            return (__is_raw_class__(classFactory));\n        }).reverse();\n        if (packageClasses.length > 0) {\n            _classFactory = packageClasses[0];\n        } else {\n            throw Error(`Class ${_className} not found. Found classes: ${JSON.stringify(packageClasses)} in package ${packageName}`);\n        }\n    } else if (className !== null) {\n        _classFactory = get_QC_CLASS(className);\n        if (typeof _classFactory === \"undefined\"){\n            throw new Error (`${className} is undefined.`);            \n        }\n    } else {\n        throw Error(`className is null. Unable to retrieve the class factory.\\n Not found in: \\n ${Object.keys(_QC_CLASSES).join(\"\\n\")}`);\n    }\n    return _classFactory;\n};\n", "export class Base64 {\n  static _keyStr: string = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n  static encode(e: string): string {\n    let t = \"\";\n    let n: number, r: number, i: number, s: number, o: number, u: number, a: number;\n    let f = 0;\n    e = Base64._utf8_encode(e);\n    while (f < e.length) {\n      n = e.charCodeAt(f++);\n      r = e.charCodeAt(f++);\n      i = e.charCodeAt(f++);\n      s = n >> 2;\n      o = (n & 3) << 4 | r >> 4;\n      u = (r & 15) << 2 | i >> 6;\n      a = i & 63;\n      if (isNaN(r)) {\n        u = a = 64;\n      } else if (isNaN(i)) {\n        a = 64;\n      }\n      t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a);\n    }\n    return t;\n  }\n  static decode(e: string): string {\n    let t = \"\";\n    let n: number, r: number, i: number;\n    let s: number, o: number, u: number, a: number;\n    let f = 0;\n    e = e.replace(/[^A-Za-z0-9+/=]/g, \"\");\n    while (f < e.length) {\n      s = this._keyStr.indexOf(e.charAt(f++));\n      o = this._keyStr.indexOf(e.charAt(f++));\n      u = this._keyStr.indexOf(e.charAt(f++));\n      a = this._keyStr.indexOf(e.charAt(f++));\n      n = s << 2 | o >> 4;\n      r = (o & 15) << 4 | u >> 2;\n      i = (u & 3) << 6 | a;\n      t = t + String.fromCharCode(n);\n      if (u !== 64) {\n        t = t + String.fromCharCode(r);\n      }\n      if (a !== 64) {\n        t = t + String.fromCharCode(i);\n      }\n    }\n    t = Base64._utf8_decode(t);\n    return t;\n  }\n  static _utf8_encode(e: string): string {\n    e = e.replace(/rn/g, \"n\");\n    let t = \"\";\n    for (let n = 0; n < e.length; n++) {\n      const r = e.charCodeAt(n);\n      if (r < 128) {\n        t += String.fromCharCode(r);\n      } else if (r > 127 && r < 2048) {\n        t += String.fromCharCode(r >> 6 | 192);\n        t += String.fromCharCode(r & 63 | 128);\n      } else {\n        t += String.fromCharCode(r >> 12 | 224);\n        t += String.fromCharCode(r >> 6 & 63 | 128);\n        t += String.fromCharCode(r & 63 | 128);\n      }\n    }\n    return t;\n  }\n  static _utf8_decode(e: string): string {\n    let t = \"\";\n    let n = 0;\n    let r = 0;\n    let c2 = 0;\n    let c3: number;\n    while (n < e.length) {\n      r = e.charCodeAt(n);\n      if (r < 128) {\n        t += String.fromCharCode(r);\n        n++;\n      } else if (r > 191 && r < 224) {\n        c2 = e.charCodeAt(n + 1);\n        t += String.fromCharCode((r & 31) << 6 | c2 & 63);\n        n += 2;\n      } else {\n        c2 = e.charCodeAt(n + 1);\n        c3 = e.charCodeAt(n + 2);\n        t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);\n        n += 3;\n      }\n    }\n    return t;\n  }\n};", "import { isBrowser } from \"./platform\";\nimport process from \"node:process\";\n\nexport var _basePath_:string = (\n    function ():string {\n      let _basePath:string = \"\";\n      if (isBrowser) {\n        const baseURI:string[] = document.baseURI.split(\"?\")[0].split(\"/\");\n        baseURI.pop();\n        _basePath = baseURI.join(\"/\") + \"/\";\n      } else {\n        if (typeof process !== \"undefined\") {\n          _basePath = `${(process).cwd()}/`;\n        } else {\n          _basePath = \"\";\n        }\n      }\n      return _basePath;\n    }\n  )();\n\nexport const setBasePath = (value:string):void => { _basePath_ = value;};", "import { _LegacyCopy } from \"./LegacyCopy\";\n\nexport const _DataStringify = (data: any): string => {\n  const getCircularReplacer = function () {\n    const seen = new WeakSet();\n    let _level = 0;\n    return function (key: string, value: any): any {\n      if (typeof value === \"object\" && value !== null) {\n        if (seen.has(value)) {\n          _level += 1;\n          return (_level <= 3) ? (_LegacyCopy(value)) : (null);\n        }\n        seen.add(value);\n      }\n      return value;\n    };\n  };\n  return JSON.stringify(data, getCircularReplacer());\n};\n", "export const _domain_:string = (typeof location !== \"undefined\" && location.hostname !== \"\") ? (location.hostname) : (\"localhost\");\n", "    /**\n     * Creates an object from a Class definition\n     *\n     * @param {QC_Object} o\n     * @param {Object} args\n     */\n\n    export const New = function (__class__:any, args = {}):any {\n        args = (arguments.length > 1) ? (args) : ({});\n        return (typeof __class__ === \"undefined\") ? (new Object()) : (new __class__(args));\n      };\n  \n      New.prototype.toString = function () {\n        return \"New(QCObjectsClassName, args) { [QCObjects native code] }\";\n      };", "import { isBrowser } from \"./platform\";\n\nexport const _secretKey:string = (isBrowser)?(location.host):(\"secret\");", "import { _ICrypt } from \"types\";\nimport { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\n\n\nexport class _Crypt extends InheritClass implements _ICrypt {\n    string: string = \"\";\n    key: string = \"\";\n    // eslint-disable-next-line no-unused-vars\n    encrypt(_string_: string, key: string): string {\n        throw new Error(\"Method not implemented.\");\n    }\n    // eslint-disable-next-line no-unused-vars\n    decrypt(_string_: string, key: string): string {\n        throw new Error(\"Method not implemented.\");\n    }\n    last_string = \"\";\n    last_key = \"\";\n    construct = false;\n    _new_(o: { string?: string; key: string; }):void {\n        const string = o.string;\n        let key: string = (Object.hasOwn(o, \"key\")) ? (o.key) : (\"\");\n        this.__new__(o);\n        key = (key === \"\") ? (this.__instanceID.toString()) : (key);\n        this.last_key = key;\n        this.last_string = string as string;\n        this.construct = true;\n    }\n    _encrypt(): string {\n        const string = this.string;\n        const key = this.key;\n        let result = \"\";\n        let char;\n        let keychar;\n        for (let i = 0; i < string.length; i++) {\n            char = string.substr(i, 1);\n            keychar = key.substr((i % key.length) - 1, 1);\n            char = String.fromCharCode(char.charCodeAt(0) + keychar.charCodeAt(0));\n            result += char;\n        }\n        this.last_string = Base64.encode(result);\n        return this.last_string;\n    }\n    _decrypt(): string {\n        let string = this.string;\n        const key = this.key;\n        let result = \"\";\n        let char;\n        let keychar;\n        string = Base64.decode(string);\n        for (let i = 0; i < string.length; i++) {\n            char = string.substr(i, 1);\n            keychar = key.substr((i % key.length) - 1, 1);\n            char = String.fromCharCode(char.charCodeAt(0) - keychar.charCodeAt(0));\n            result += char;\n        }\n\n        this.last_string = result;\n        return this.last_string;\n    }\n    static encrypt(string: string, key: string): string {\n        const crypt = new _Crypt({\n            string,\n            key: (key !== \"\") ? (key) : (\"12345678ABC\")\n        });\n        return crypt._encrypt();\n    }\n    static decrypt(string: string, key: string):string {\n        const crypt = new _Crypt({\n            string,\n            key: (key !== \"\") ? (key) : (\"12345678ABC\")\n        });\n        return crypt._decrypt();\n    }\n}\n\nexport const _CryptObject = function (o: any): string {\n    return _Crypt.encrypt(_DataStringify(o), _secretKey);\n};\nexport const _DecryptObject = function (s: string): any {\n    return (s === \"\") ? ({}) : (JSON.parse(_Crypt.decrypt(s, _secretKey)));\n};\n\nPackage(\"com.qcobjects\", [_Crypt]);", "import { _basePath_ } from \"./basePath\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\ntype TConfigSettings = {\n  [key: string]: any,\n  relativeImportPath:string,\n  remoteImportsPath:string,\n  remoteSDKPath:string,\n  asynchronousImportsLoad:boolean,\n  removePackageScriptAfterLoading:boolean,\n  componentsBasePath:string,\n  delayForReady:number,\n  preserveComponentBodyTag:false,\n  useConfigService:false,\n  routingWay:string,\n  useSDK:boolean,\n  useLocalSDK:boolean,\n  basePath:string\n};\n\n\nexport class ConfigSettings extends InheritClass {\n  public _CONFIG: TConfigSettings = {\n    \"relativeImportPath\": \"\",\n    \"remoteImportsPath\": \"\",\n    \"remoteSDKPath\": \"https://sdk.qcobjects.dev/\",\n    \"asynchronousImportsLoad\": false,\n    \"removePackageScriptAfterLoading\": true,\n    \"componentsBasePath\": \"\",\n    \"delayForReady\": 0,\n    \"preserveComponentBodyTag\": false,\n    \"useConfigService\": false,\n    \"routingWay\": \"hash\",\n    \"useSDK\": true,\n    \"useLocalSDK\": false,\n    \"basePath\": _basePath_\n  };\n  protected static _instance: ConfigSettings;\n  public _CONFIG_ENC = \"\";\n\n  set(name:string, value:any):void {\n    this._CONFIG[name] = value;\n  }\n\n  get(name:string, _defaultValue?:any):any {\n    return this._CONFIG[name] || _defaultValue;\n  }\n\n  static get instance():ConfigSettings {\n\n    if (typeof ConfigSettings._instance === \"undefined\") {\n      ConfigSettings._instance = new ConfigSettings();\n    }\n\n    return ConfigSettings._instance;\n  }\n\n\n}\n\nPackage(\"com.qcobjects\", [ConfigSettings]);\n", "import { setBasePath } from \"./basePath\";\nimport { _CastProps } from \"./Cast\";\nimport { _Crypt, _CryptObject, _DecryptObject } from \"./Crypt\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _secretKey } from \"./secretKey\";\nimport { Package } from \"./Package\";\nimport { InheritClass } from \"./InheritClass\";\nimport { ICONFIG } from \"types\";\nimport { ConfigSettings } from \"./ConfigSettings\";\n\n\nexport class CONFIG extends InheritClass implements ICONFIG {\n\n  get _CONFIG_ENC(): string {\n    return ConfigSettings.instance._CONFIG_ENC;\n  }\n\n  get _CONFIG(): unknown {\n    return ConfigSettings.instance._CONFIG as unknown;\n  }\n\n  set(name: string, value: unknown):void {\n    logger.debug(`CONFIG.set  ${name}: ${value as string}`);\n    // hack to force update basePath from CONFIG\n    if (name === \"basePath\") {\n      setBasePath(value as string);\n    }\n    let _conf;\n    try {\n      _conf = (\n        function (config): any {\n          if (config._CONFIG_ENC === null) {\n            config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n          }\n          const _protectedEnc = config._CONFIG_ENC.valueOf();\n          const _protectedConf = config._CONFIG?.valueOf();\n          return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n        }\n      )(ConfigSettings.instance);\n    } catch (e) {\n      _conf = {};\n      console.error(e);\n      logger.debug(\"failed to encrypt config\");\n    }\n\n    _conf[name] = value;\n    ConfigSettings.instance._CONFIG_ENC = _CryptObject(_conf);\n    ConfigSettings.instance.set(name, value);\n  }\n\n  get(name: string, _default?: unknown): any {\n    let _value;\n    try {\n      const _conf = (\n        function (config): any {\n          if (config._CONFIG_ENC === null) {\n            config._CONFIG_ENC = _Crypt.encrypt(_DataStringify({}), _secretKey);\n          }\n          const _protectedEnc = config._CONFIG_ENC.valueOf();\n          const _protectedConf = config._CONFIG.valueOf();\n          return _CastProps(_protectedConf, _DecryptObject(_protectedEnc));\n        }\n      )(ConfigSettings.instance);\n      if (typeof _conf[name] !== \"undefined\") {\n        _value = _conf[name];\n      }\n    } catch (e) {\n      console.error(e);\n      logger.debug(\"Something wrong when trying to get CONFIG values\");\n      logger.debug(\"No config value for: \" + name);\n      _value = _default;\n    }\n    const processedValue = Processor.processObject(_value);\n    // Special handling for null values\n    if (_value === null && processedValue === null) {\n      return null;\n    }\n    return processedValue || _default;\n  }\n\n  private static _instance:CONFIG;\n  static get instance ():CONFIG {\n    if (typeof CONFIG._instance === \"undefined\") {\n      CONFIG._instance = new CONFIG();\n    }\n    return CONFIG._instance;\n  }\n\n  static set(name: string, value: unknown):void {\n    (CONFIG.instance.set(name, value));\n  }\n  static get(name: string, value?: unknown): any {\n    return (CONFIG.instance.get(name, value));\n  }\n\n}\n\n\nPackage(\"com.qcobjects\", [CONFIG]);", "import { type IComponent, type IProcessor } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { New } from \"./New\";\nimport { _top } from \"./top\";\nimport { Component } from \"./Component\";\nimport { Package } from \"./Package\";\n\nexport class Processor extends InheritClass implements IProcessor {\n  protected static _instance: IProcessor | undefined;\n  constructor({ component, processors }: { component: IComponent | null, processors?: any }) {\n    super({ component });\n    if (typeof processors !== \"undefined\") {\n      this.processors = Object.assign(processors, Processor.instance.processors);\n    }\n  }\n\n  processors: any = {\n    \"config\"(component: Component, arg: string): string {\n      return CONFIG.get(arg, \"\") as string;\n    },\n    \"ENV\"(component: Component, arg: string): string {\n      return (typeof process !== \"undefined\") ? (process.env[arg] as string) : (\"\");\n    },\n    \"global\"(component: Component, arg: string): string {\n      return (typeof _top !== \"undefined\") ? ((_top as any)[arg] as string) : (\"\");\n    }\n  };\n\n  static get instance(): IProcessor {\n    if (typeof Processor._instance === \"undefined\") {\n      Processor._instance = new Processor({ component: null });\n    }\n    return Processor._instance;\n  }\n\n  static setProcessor(_proc_: Function):void {\n    if (typeof _proc_ === \"function\" && _proc_.name !== \"\") {\n      Processor.instance.processors[_proc_.name] = _proc_;\n    }\n  }\n\n  setProcessor(_proc_: Function):void {\n    if (typeof _proc_ === \"function\" && _proc_.name !== \"\") {\n      this.processors[_proc_.name] = _proc_;\n    }\n  }\n\n  static getProcessor(_procName_: string): Function | undefined {\n    return Processor.instance.processors[_procName_] as Function | undefined;\n  }\n\n  static getProcessorNames(): string[] {\n    return Object.keys(Processor.instance.processors);\n  }\n\n  component!: IComponent | null;\n\n  execute(component: IComponent, processorName: string, args: string): string {\n    const processorHandler = (typeof component !== \"undefined\" && component !== null) ? (component.processorHandler) : (this);\n    return processorHandler?.processors[processorName].bind(processorHandler).apply(processorHandler, [component, args?.split(\",\")]) as string;\n  }\n\n  static process(template: string, component: IComponent | null = null):string {\n    return Processor.instance.process(template, component) as string;\n  }\n\n  process(template: string, component: IComponent | null = null):string {\n    const processorHandler = (component !== null) ? (component.processorHandler) : (New(Processor, { component: null }));\n    if (typeof template === \"string\") {\n      Object.keys(processorHandler.processors).map((funcName) => {\n        return [...template.matchAll(new RegExp(\"\\\\$\" + funcName + \"\\\\((.*)\\\\).*\", \"g\"))].map(\n          function (procesorMatch) {\n            const match0 = `$${funcName}(${procesorMatch[1]})`;\n            template = template.replace(match0, processorHandler.execute.bind(processorHandler).call(processorHandler, component, funcName, procesorMatch[1]));\n            return procesorMatch;\n          }\n        );\n      });\n    }\n    return template;\n  }\n\n  static processObject(obj: any, component: IComponent | undefined): any {\n\n    if (obj === null || obj === undefined) {\n      return obj;\n    }\n\n    return Processor.instance.processObject(obj, component);\n\n  }\n\n  \n\n  processObject(obj: any, component: IComponent | null = null): any {\n    // If obj is null or undefined, return it as is\n    if (obj === null || obj === undefined) {\n      return obj;\n    }\n\n    let __instance__: IProcessor | undefined = (component === null) ? (this) : (component.processorHandler);\n    if (typeof __instance__ === \"undefined\") {\n      __instance__ = new Processor({ component });\n    }\n    if (typeof obj === \"object\") {\n      Object.keys(obj).map(\n        (_k) => {\n          if (typeof obj[_k] === \"object\" && !Object.hasOwn(obj[_k], \"call\")) {\n            obj[_k] = __instance__?.processObject.bind(__instance__)(obj[_k], component as IComponent);\n          } else if (typeof obj[_k] === \"string\") {\n            obj[_k] = __instance__?.process.bind(__instance__)(obj[_k], component as IComponent);\n          }\n          return _k;\n        }\n      );\n    } else if (typeof obj === \"string\") {\n      obj = __instance__.process.bind(__instance__)(obj, component as IComponent);\n    }\n    return obj;\n  }\n\n}\n\nexport const GlobalProcessor: IProcessor = Processor.instance;\n\nPackage(\"com.qcobjects\", [Processor]);", "import {  TComponentRouting } from \"types\";\n\nexport const __routing_params__ = (routing:TComponentRouting, routingPath:string):object => {\n    const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\"); // allowing {param}\n    return {\n        ...[...routingPath.matchAll((new RegExp(standardRoutingPath, \"g\")))][0].groups\n    };\n};\n\nexport const __valid_routings__ = function (routings:TComponentRouting[], routingPath:string):TComponentRouting[] {\n    return routings.filter(function (routing) {\n        const standardRoutingPath = routing.path.replace(/{(.*?)}/g, \"(?<$1>.*)\");\n        return (new RegExp(standardRoutingPath, \"g\")).test(routingPath);\n    }).reverse();\n};\nexport const __valid_routing_way__ = (validRoutingWays:string[], routingWay:string):boolean => {\n    return validRoutingWays.includes(routingWay);\n};\n", "import { TAsyncLoadCallback } from \"types\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\nexport const _asyncLoad:any[] = [];\nexport function asyncLoad(callback: TAsyncLoadCallback, args?: any[]): any {\n\n  class AsyncCallback {\n    func:TAsyncLoadCallback;\n    args?:any[];\n    constructor(callback: TAsyncLoadCallback, args: any[] = []) {\n      this.func = callback;\n      this.args = args;\n    }    \n    dispatch() {\n      ((this as AsyncCallback).func as Function).apply(this, ...args as [], this);\n    }\n  }\n  _asyncLoad.push((new AsyncCallback(callback, args)) as unknown as never);\n  return AsyncCallback;\n}\n\nexport const _fireAsyncLoad = ():void => {\n        if (isBrowser){\n            document.addEventListener(\"readystatechange\", () => {\n                if (document.readyState === \"complete\") {\n                    // eslint-disable-next-line array-callback-return\n                    _asyncLoad.map(function (fc) {\n                      (fc).dispatch.call(fc);\n                    });\n                  }\n            });\n        } else if (typeof _top.global !== \"undefined\") {\n            // eslint-disable-next-line array-callback-return\n            _asyncLoad.map(function (fc) {\n                (fc).dispatch.call(fc);\n              });\n        }\n    };\n\nExport(asyncLoad);", "import { Base64 } from \"./Base64\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\n\nexport class ComplexStorageCache {\n\n  constructor(params: { index: any; load: any; alternate: any; }) {\n    let load, alternate;\n    const object = params.index;\n    if (typeof object !== \"undefined\") {\n      load = params.load;\n      alternate = params.alternate;\n      const cachedObjectID = this.getID(object);\n      const cachedResponse = localStorage.getItem(cachedObjectID as string);\n      if (this.isEmpty(cachedResponse)) {\n        const cachedNewResponse = load.call(null, {\n          cachedObjectID,\n          cachedResponse,\n          \"cache\": this\n        });\n        this.save(object, cachedNewResponse);\n        logger.debug(\"RESPONSE OF {{cachedObjectID}} CACHED\".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n      } else {\n        alternate.call(null, {\n          cachedObjectID,\n          cachedResponse,\n          \"cache\": this\n        });\n        logger.debug(\"RESPONSE OF {{cachedObjectID}} IS ALREADY CACHED \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n      }\n\n    } else {\n      throw new Error(\"ComplexStorageCache: index is undefined\");\n    }\n    return this;\n  }\n\n  getItem(cachedObjectID: string):any {\n    const retrievedObject = localStorage.getItem(cachedObjectID);\n    if (!this.isEmpty(retrievedObject)) {\n      return JSON.parse(retrievedObject as string);\n    } else {\n      return null;\n    }\n  }\n\n\n  setItem(cachedObjectID: string, value: any):void {\n    localStorage.setItem(cachedObjectID, _DataStringify(value));\n  }\n\n  isEmpty(object: string | number | null):boolean {\n    let r = false;\n    switch (true) {\n      case (typeof object === \"undefined\"):\n      case (typeof object === \"string\" && object === \"\"):\n      case (typeof object === \"string\" && object === \"undefined\"):\n      case (typeof object === \"number\" && object === 0):\n      case (object === null):\n        r = true;\n        break;\n      default:\n        r = false;\n    }\n    return r;\n  }\n\n\n  getID(object: any):string|undefined {\n    let cachedObjectID;\n    if (typeof object !== \"undefined\") {\n      cachedObjectID = \"cachedObject_\" + Base64.encode(_DataStringify(object).replace(/\\{|\\}|,/g, \"_\"));\n    }\n    return cachedObjectID;\n  }\n\n  save(object: any, cachedNewResponse: any):void {\n    const cachedObjectID = this.getID(object);\n    logger.debug(\"CACHING THE RESPONSE OF {{cachedObjectID}} \".replace(\"{{cachedObjectID}}\", cachedObjectID as string));\n    this.setItem(cachedObjectID as string, cachedNewResponse);\n  }\n\n  getCached(object: any):any {\n    const cachedObjectID = this.getID(object);\n    return this.getItem(cachedObjectID as string);\n  }\n\n  clear():void {\n    Object.keys(localStorage).filter(function (k) {\n      return k.startsWith(\"cachedObject_\");\n    }).map(function (c):any {\n      localStorage.removeItem(c);\n      return c;\n    });\n  }\n\n}\n", "import { IService, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param service a Service object\n */\nexport const serviceLoader = function (service:IService, _async = false):Promise<unknown>|undefined {\n    const _serviceLoaderInBrowser = function (service:IService):Promise<unknown> {\n        var _promise = new Promise(\n            function (resolve, reject) {\n\n                logger.debug(\"LOADING SERVICE DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n                const xhr = new XMLHttpRequest();\n                xhr.withCredentials = service.withCredentials;\n                const xhrasync = true; // always async because xhr sync is deprecated\n                xhr.open(service.method, service.url, xhrasync);\n                for (const header in service.headers) {\n                    try {\n                        if (typeof service.headers[header] !== \"function\") {\n                            xhr.setRequestHeader(header, service.headers[header]);\n                        }\n                    } catch (e:any) {\n                        logger.debug(\"Something went wrong when assign the header \" + header);\n                        logger.debug(`An error ocurred: ${e}`);\n                    }\n                }\n                xhr.onload = function () {\n                    if (xhr.status === 200) {\n                        const response = xhr.responseText;\n                        logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n                        logger.debug(\"CREATING SERVICE {{NAME}}\".replace(\"{{NAME}}\", service.name));\n                        service.template = response;\n                        if (service.cached && (typeof cache !== \"undefined\")) {\n                            cache.save(service.name, service.template);\n                        }\n                        if (typeof service.done === \"function\") {\n                            var standardResponse = {\n                                \"request\": xhr,\n                                service\n                            };\n                            service.done.call(service, standardResponse);\n                            resolve.call(_promise, standardResponse);\n                        }\n                    } else {\n                        if (typeof service.fail === \"function\") {\n                            var standardResponse = {\n                                \"request\": xhr,\n                                service\n                            };\n                            service.fail.call(service, standardResponse);\n                            reject.call(_promise, standardResponse);\n                        }\n                    }\n                };\n\n                const _directLoad = function () {\n                    logger.debug(\"SENDING THE NORMAL REQUEST  \");\n                    try {\n                        xhr.send(_DataStringify(service.data));\n                    } catch (e:any) {\n                        logger.debug(\"SOMETHING WRONG WITH REQUEST  \");\n                        logger.debug(`An error ocurred: ${e}`);\n                        reject.call(_promise, {\n                            request: xhr,\n                            service\n                        });\n                    }\n                };\n\n                if (service.cached) {\n                    var cache = new ComplexStorageCache({\n                        index: service.data,\n                        load() {\n                            _directLoad.call(this);\n                        },\n                        alternate(cacheController:TCacheController) {\n                            if (service.method === \"GET\") {\n                                service.template = cacheController.cache.getCached(service.name);\n                                if (typeof service.done === \"function\") {\n                                    const standardResponse = {\n                                        \"request\": xhr,\n                                        service\n                                    };\n                                    service.done.call(service, standardResponse);\n                                    resolve.call(_promise, standardResponse);\n                                }\n                            } else {\n                                _directLoad();\n                            }\n                            \n                        }\n                    });\n                    (_top as any).lastCache = cache;\n                } else {\n                    _directLoad();\n                }\n\n                return xhr;\n            }\n        );\n        return _promise;\n    };\n\n    const _serviceLoaderInNode = function (service:IService) {\n        var _promise = new Promise(\n            function (resolve, reject) {\n                if (typeof URL === \"undefined\") {\n                    global.URL = (_require_(\"url\")).URL;\n                    // eslint-disable-next-line no-unused-vars\n                    const URL = global.URL;\n                }\n                const serviceURL = new URL(service.url);\n                var req;\n                service.useHTTP2 = Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2;\n\n\n                const captureEvents = function (req:any) {\n                    logger.debug(\"LOADING SERVICE DATA (non-browser) {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(service.data)).replace(\"{{URL}}\", service.url));\n                    let dataXML:any;\n                    const standardResponse = {\n                        \"http2Client\": client,\n                        \"request\": req,\n                        service,\n                        \"responseHeaders\": null\n                    };\n\n                    if (typeof service.data === \"object\" && service.data !== null) {\n                        if (service.useHTTP2) {\n                            try {\n                                logger.debug(\"Sending data...\");\n                                const buffer = new Buffer(_DataStringify(service.data));\n                                req.write(buffer);\n                            } catch (e:any) {\n                                logger.debug(\"It was not possible to send any data\");\n                                logger.debug(`An error ocurred: ${e}`);\n                            }\n                        }\n                    }\n\n                    dataXML = \"\";\n                    req.on(\"response\", (responseHeaders:any) => {\n                        logger.debug(\"receiving response...\");\n                        standardResponse.responseHeaders = responseHeaders;\n                        /*\n                        for (const name in responseHeaders) {\n                          logger.debug(`${name}: ${responseHeaders[name]}`);\n                        }\n                        */\n                        dataXML = \"\";\n                    });\n                    req.on(\"data\", (chunk:any) => {\n                        logger.debug(\"receiving data...\");\n                        // do something with the data\n                        dataXML += \"\" + chunk.toString();\n                        service.template = dataXML;\n                    });\n                    if (service.useHTTP2) {\n                        req.resume();\n                    }\n                    req.on(\"end\", () => {\n                        logger.debug(\"ending call...\");\n                        service.template = dataXML;\n                        if (Object.hasOwn(service, \"useHTTP2\") && service.useHTTP2) {\n                            client.destroy();\n                        } else {\n                            req.destroy();\n                        }\n                        service.done.call(service, standardResponse);\n                        resolve.call(_promise, standardResponse);\n                    });\n                    if (service.useHTTP2) {\n                        req.end();\n                    }\n\n                };\n\n                try {\n                    let requestOptions;\n                    if (service.useHTTP2) {\n                        logger.debug(\"using http2\");\n                        const http2 = _require_(\"http2\");\n                        var client = (http2).connect(serviceURL.origin);\n                        requestOptions = Object.assign({\n                            \":method\": service.method,\n                            \":path\": serviceURL.pathname\n                        }, service.options);\n                        requestOptions = Object.assign(requestOptions, service.headers);\n                        req = client.request(requestOptions);\n                        req.setEncoding(\"utf8\");\n                        captureEvents(req);\n                    } else {\n                        if (serviceURL.protocol === \"http:\") {\n                            const http = _require_(\"http\");\n                            const request = (http).request;\n                            requestOptions = Object.assign({\n                                \"url\": service.url,\n                                headers: service.headers\n                            }, service.options);\n                            req = request(service.url);\n                            captureEvents(req);\n                        } else if (serviceURL.protocol === \"https:\") {\n                            const https = _require_(\"https\");\n                            requestOptions = Object.assign({\n                                hostname: serviceURL.hostname,\n                                port: serviceURL.port,\n                                path: serviceURL.pathname,\n                                method: service.method,\n                                headers: service.headers\n                            }, service.options);\n                            const _req_ = (https).request(requestOptions, function (req:any) {\n                                captureEvents(req);\n                            });\n                            _req_.end();\n                        } else {\n                            const e = \"Protocol not supported: \" + serviceURL.protocol;\n                            logger.debug(e);\n                            throw new Error(e);\n                        }\n                    }\n\n\n                } catch (e:any) {\n                    logger.debug(e);\n                    service.fail.call(service, e);\n                    reject.call(_promise, e);\n\n                }\n            }).catch( (e:any) => {\n                logger.debug(`Something happened when trying to call the service: ${service.name}. Error: ${e}`);\n                service.fail.call(service, e);\n            });\n        return _promise;\n\n    };\n\n    const _serviceLoaderMockup = function (service:IService) {\n        var _promise = new Promise(\n            function (resolve) {\n                logger.debug(`Calling mockup service ${service.name} ...`);\n                const standardResponse = {\n                    \"request\": null,\n                    service,\n                    \"responseHeaders\": service.responseHeaders\n                };\n                if (typeof service.mockup === \"function\") {\n                    service.mockup.call(service, standardResponse);\n                } else {\n                    service.done.call(service, standardResponse);\n                }\n                resolve.call(_promise, standardResponse);\n            });\n        return _promise;\n    };\n    const _serviceLoaderLocal = function (service:IService) {\n        var _promise = new Promise(\n            function (resolve) {\n                logger.debug(`Calling local service ${service.name} ...`);\n                const standardResponse = {\n                    \"request\": null,\n                    service,\n                    \"responseHeaders\": service.responseHeaders\n                };\n                if (typeof service.local === \"function\") {\n                    service.local.call(service, standardResponse);\n                } else {\n                    service.done.call(service, standardResponse);\n                }\n                resolve.call(_promise, standardResponse);\n            });\n        return _promise;\n    };\n\n    let _ret_: Promise<unknown>;\n    switch (service.kind) {\n        case \"rest\":\n            if (isBrowser) {\n                if (typeof _async !== \"undefined\" && _async) {\n                    _ret_ = asyncLoad(_serviceLoaderInBrowser, [service, _async]);\n                } else {\n                    _ret_ = _serviceLoaderInBrowser(service);\n                }\n            } else {\n                _ret_ = _serviceLoaderInNode(service);\n            }\n            break;\n        case \"mockup\":\n            _ret_ = _serviceLoaderMockup(service);\n            break;\n        case \"local\":\n            _ret_ = _serviceLoaderLocal(service);\n            break;\n        default:\n            logger.debug(`The value of the kind property of the service ${service.name} is not valid`);\n            _ret_ = Promise.resolve();\n            break;\n    }\n    return _ret_;\n};\n", "export const _tag_filter_ = \"quick-component:not([loaded]),component:not([loaded])\";\n", "import { IComponent, TCacheController } from \"types\";\nimport { asyncLoad } from \"./asyncLoad\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { logger } from \"./Logger\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _top } from \"./top\";\n\n/**\n * Loads a simple component from a template\n *\n * @author: Jean Machuca <correojean@gmail.com>\n * @param component a Component object\n */\nexport const componentLoader = function (component: IComponent, _async: boolean):Promise<any> {\n    let __promise__: Promise<any>;\n    const _componentLoaderInBrowser = function (component: IComponent) {\n        __promise__ = new Promise(function (resolve, reject) {\n            const _promise = component.__promise__;\n            const container = (Object.hasOwn(component, \"container\") && typeof component.container !== \"undefined\" && component.container !== null) ? (component.container) : (component.body);\n            if (container !== null) {\n                const _feedComponent_ = function (component: { feedComponent: () => void; }) {\n                    component.feedComponent();\n                    const standardResponse = {\n                        \"request\": xhr,\n                        component\n                    };\n                    resolve.call(_promise, standardResponse);\n                };\n                logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n                const _componentLoaded = function () {\n                    const successStatus = (is_file) ? (0) : (200);\n                    if (xhr.status === successStatus) {\n                        const response = xhr.responseText;\n                        logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n                        logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n                        component.template = response;\n                        if (component.cached && (typeof cache !== \"undefined\")) {\n                            cache.save(component.name, component.template);\n                        }\n                        _feedComponent_(component);\n                    } else {\n                        const standardResponse = {\n                            \"request\": xhr,\n                            component\n                        };\n                        reject.call(_promise, standardResponse);\n\n                    }\n                };\n                if (typeof component.template === \"string\" && component.template !== \"\") {\n                    // component already has a template it does not need to be reloaded\n                    _feedComponent_(component);\n                } else {\n                    var is_file = !!(component.url.startsWith(\"file:\"));\n                    var xhr = new XMLHttpRequest();\n                    if (!is_file) {\n                        try {\n                            logger.debug(\"Calling the url of component in async mode.\");\n                            xhr.open(component.method, component.url, true);\n                        } catch (e:any) {\n                            logger.debug(`An error ocurred: ${e}.`);\n                            logger.debug(\"Last try has failed... The component cannot be loaded.\");\n                        }\n                    } else {\n                        if (\"fetch\" in _top) {\n                            logger.debug(\"I can use fetch...\");\n                            logger.debug(\"It is a file to be loaded, so I will try to use fetch\");\n                            fetch(component.url).then(response => {\n                                logger.debug(\"I got a response from fetch, so I'll feed the component\");\n                                response.text().then(text => {\n                                    component.template = text;\n                                    _feedComponent_(component);\n                                })\n                                .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n                            }).catch ((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n                        }\n                    }\n                    if (!is_phonegap && !is_file) {\n                        xhr.setRequestHeader(\"Content-Type\", \"text/html\");\n                    }\n                    if (!is_file) {\n                        xhr.onload = _componentLoaded;\n                    }\n                    const _directLoad = function (is_file: boolean) {\n                        is_file = !((typeof is_file === \"undefined\" || !is_file));\n                        logger.debug(\"SENDING THE NORMAL REQUEST  \");\n                        if (is_file) {\n                            if (!(\"fetch\" in _top)) {\n                                logger.debug(\"I have to try to load the file using xhr...  \");\n                                xhr.send(null);\n                                if (xhr.status === XMLHttpRequest.DONE) {\n                                    _componentLoaded();\n                                }\n                            }\n                        } else {\n                            logger.debug(\"Trying to send the data to the component...  \");\n                            xhr.send(_DataStringify(component.data));\n                        }\n                    };\n\n                    if (component.cached && (!is_file)) {\n                        logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n                        var cache = new ComplexStorageCache({\n                            index: component.cacheIndex,\n                            load() {\n                                _directLoad.call(this, is_file);\n                            },\n                            alternate(cacheController: TCacheController) {\n                                if (component.method === \"GET\") {\n                                    component.template = cacheController.cache.getCached(component.cacheIndex);\n                                    _feedComponent_.call(this, component);\n                                } else {\n                                    _directLoad.call(this, is_file);\n                                }\n                                \n                            }\n                        });\n                        (_top as any).lastCache = cache;\n                    } else {\n                        logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n                        _directLoad(is_file);\n                    }\n\n                }\n            } else {\n                logger.debug(\"CONTAINER DOESNT EXIST\");\n            }\n        });\n        __promise__.then(function (standardResponse) {\n            return component.__done__().then(function () {\n                let _ret_;\n                if (typeof component.done === \"function\") {\n                    _ret_ = component.done.call(component, standardResponse);\n                }\n                return Promise.resolve(_ret_);\n            });\n        }, function (standardResponse) {\n            if (typeof component.fail === \"function\") {\n                component.fail.call(component, standardResponse)\n                .catch ((e:any)=> {throw new Error (`${e}`);});\n            }\n            return Promise.reject(new Error (\"An error ocurred\"));\n        }).catch(function (e:any) {\n            logger.debug(\"Something wrong loading the component\");\n            throw new Error (`An error ocurred: ${e}`);\n        });\n        return __promise__;\n    };\n    const _componentLoaderInNode = function (component: IComponent) {\n        __promise__ = new Promise(function (resolve, reject) {\n            const _promise = __promise__;\n            const _feedComponent_ = function (component: IComponent) {\n                component.feedComponent()\n                .catch ((e:any) => {\n                    throw new Error (`An error ocurred trying to feed the component: ${component.name}. Error: ${e}`);\n                });\n                const standardResponse = {\n                    \"request\": null,\n                    component\n                };\n                resolve.call(_promise, standardResponse);\n            };\n            logger.debug(\"LOADING COMPONENT DATA {{DATA}} FROM {{URL}}\".replace(\"{{DATA}}\", _DataStringify(component.data)).replace(\"{{URL}}\", component.url));\n\n            const _componentLoaded = function (err: any, responseText: { toString: () => any; }) {\n                if (!err) {\n                    const response = responseText.toString();\n                    logger.debug(\"Data received {{DATA}}\".replace(\"{{DATA}}\", _DataStringify(response)));\n                    logger.debug(\"CREATING COMPONENT {{NAME}}\".replace(\"{{NAME}}\", component.name));\n                    component.template = response;\n                    if (component.cached && (typeof cache !== \"undefined\")) {\n                        cache.save(component.name, component.template);\n                    }\n                    _feedComponent_(component);\n                } else {\n                    const standardResponse = {\n                        \"request\": null,\n                        component\n                    };\n                    reject.call(_promise, standardResponse);\n                }\n            };\n            if (typeof component.template === \"string\" && component.template !== \"\") {\n                // component already has a template it does not need to be reloaded\n                _feedComponent_(component);\n            } else {\n                logger.debug(\"Loading the component as a local file in server...\");\n                const _directLoad = function () {\n                    // eslint-disable-next-line @typescript-eslint/no-require-imports\n                    const {readFile} = require(\"node:fs\");\n                    logger.debug(\"SENDING THE NORMAL REQUEST  \");\n                    readFile(component.url, _componentLoaded);\n                };\n\n                if (component.cached) {\n                    logger.debug(\"USING CACHE FOR COMPONENT: \" + component.name);\n                    var cache = new ComplexStorageCache({\n                        index: component.cacheIndex,\n                        load() {\n                            _directLoad();\n                        },\n                        alternate(cacheController: TCacheController) {\n                            if (component.method === \"GET\") {\n                                component.template = cacheController.cache.getCached(component.cacheIndex);\n                                _feedComponent_.call(this, component);\n                            } else {\n                                _directLoad.call(this);\n                            }\n                            \n                        }\n                    });\n                    (_top as any).lastCache = cache;\n                } else {\n                    logger.debug(\"NOT USING CACHE FOR COMPONENT: \" + component.name);\n                    _directLoad();\n                }\n\n            }\n        });\n        __promise__.then(function (standardResponse) {\n            return component.__done__().then(function () {\n                let _ret_;\n                if (typeof component.done === \"function\") {\n                    _ret_ = component.done.call(component, standardResponse);\n                }\n                return Promise.resolve(_ret_);\n            });\n        }, function (standardResponse) {\n            if (typeof component.fail === \"function\") {\n                component.fail.call(component, standardResponse)\n                .catch((e:any) => {throw new Error (`An error ocurred: ${e}`);});\n            }\n            return Promise.reject(new Error (\"An error ocurred.\"));\n        }).catch(function (e) {\n            logger.debug(`Something wrong loading the component: ${e}`);\n        });\n        return __promise__;\n    };\n\n    let _ret_;\n    if (isBrowser) {\n        if (typeof _async !== \"undefined\" && _async) {\n            _ret_ = asyncLoad(_componentLoaderInBrowser, [component, _async]);\n        } else {\n            _ret_ = _componentLoaderInBrowser(component);\n        }\n    } else {\n        _ret_ = _componentLoaderInNode(component);\n    }\n    return _ret_ as Promise<any>;\n};", "import { Base64 } from \"./Base64\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { is_a } from \"./is_a\";\nimport { isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Processor } from \"./Processor\";\nimport { __routing_params__, __valid_routing_way__, __valid_routings__ } from \"./routings\";\nimport { _top, componentsStack } from \"./top\";\nimport { CONFIG } from \"./CONFIG\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _tag_filter_ } from \"./tag_filter\";\nimport { componentLoader } from \"./componentLoader\";\nimport { IComponent, IController, IEffect, IProcessor, IQCObjectsElement, IQCObjectsShadowedElement, IView, TBody, TComponentDoneResponse, TComponentParams, TComponentRouting, TComponentRoutings } from \"types\";\n\nexport class Component extends InheritClass implements IComponent {\n    static shadowed: boolean | undefined = false;\n    static cached: any = true;\n    [key: string]: any;\n    name!: string;\n    templateURI!: string;\n    url!: string;\n    tplsource!: string;\n    tplextension!: string;\n    template!: string;\n    validRoutingWays: string[] = [\"pathname\", \"hash\", \"search\"];\n    basePath:string = _basePath_;\n    domain:string = _domain_;\n    templateHandler = \"DefaultTemplateHandler\";\n    processorHandler?: IProcessor;\n    routingWay: string | null = null;\n    routingNodes: (IQCObjectsElement | HTMLElement)[] = [];\n    routings: TComponentRoutings = [];\n    routingPath = \"\";\n    routingPaths: string[] = [];\n    _componentHelpers: any[] = [];\n    subcomponents: any[] = [];\n    splashScreenComponent?: IComponent = undefined;\n    controller?: IController = undefined;\n    routingController?: IController = undefined;\n\n    view?: IView = undefined;\n    effect?: IEffect = undefined;\n    effectClass!: string;\n    method = \"GET\";\n    cached?: boolean = true;\n    __promise__?: Promise<any> | null = null;\n    data!: any;\n    __namespace?: string = undefined;\n    protected _parsedAssignmentText!: string;\n    protected __shadowRoot: any;\n    protected _serviceClassName: string | null = null;\n    enableServiceClass?: boolean | undefined = true;\n    serviceInstance: any;\n    serviceData: any;\n    shadowed?: boolean = false;\n    container: any;\n    innerHTML: any;\n    reload: any;\n    static subcomponents: any;\n    assignRoutingParams?: boolean = true;\n    responseTo?: string | undefined;\n    static responseTo?: string | undefined;\n\n    constructor({\n        __parent__,\n        templateURI = \"\",\n        template,\n        tplsource = \"default\",\n        tplextension,\n        url = \"\",\n        name = \"\",\n        method = \"GET\",\n        data = {},\n        reload = false,\n        shadowed = false,\n        cached = true,\n        enableServiceClass,\n        assignRoutingParams = true,\n        _body = _DOMCreateElement(\"div\"),\n        __promise__ = null,\n        __shadowRoot,\n        body,\n        shadowRoot,\n        splashScreenComponent,\n        controller,\n        view\n    }: TComponentParams) {\n        if (arguments.length < 1) {\n            throw Error(\"No arguments in component. You must at least give one argument.\");\n        }\n        super({\n            __parent__,\n            templateURI,\n            template,\n            tplsource,\n            tplextension,\n            url,\n            name,\n            method,\n            data,\n            reload,\n            shadowed,\n            cached,\n            enableServiceClass,\n            assignRoutingParams,\n            _body,\n            __promise__,\n            __shadowRoot,\n            body,\n            shadowRoot,\n            splashScreenComponent,\n            controller,\n            view\n        });\n        const self = this;\n\n        if (typeof name !== \"undefined\") {\n            self.name = name;\n        }\n\n        if (typeof self.name === \"undefined\" && typeof name === \"undefined\") {\n            logger.warn(\"A name is not defined for \" + __getType__(self));\n        }\n\n        self.routingWay = CONFIG.get(\"routingWay\");\n\n        self.processorHandler = new Processor({\n            component: self\n        });\n\n        /* assign body data attributes to data */\n        self.data = (typeof self.data === \"undefined\" || self.data === null) ? ({}) : (self.data);\n        self.data = Object.assign(self.data, self.dataAttributes);\n\n        self.createServiceInstance()\n            .then(() => {\n                if (typeof self.__new__ === \"function\") {\n                    self.__new__(self);\n                }\n\n                self._generateRoutingPaths(self.body)\n                    .then(function () {\n                        self._reroute_()\n                            .then(function () {\n                                return self.rebuild()\n                                    .then(function () {\n                                        logger.info(`Component._new_ The component ${self.name} was built successfully!`);\n                                    }).catch(function (standardResponse) {\n                                        logger.warn(`Component._new_ Something went wrong building the component ${self.name}`);\n                                        console.error(`Component._new_ Something went wrong building the component ${self.name}`, standardResponse);\n                                    });\n                            }).catch((e: any) => {\n                                throw Error(`Unexpected error ${e}`);\n                            });\n                    }).catch((e: any) => {\n                        throw Error(`Unexpected error ${e}`);\n                    });\n\n            }).catch((e: any) => {\n                throw Error(`Unexpected error. ${e}`);\n            });\n\n    }\n\n    set cacheIndex(value) {\n        // readonly\n        logger.debug(\"[cacheIndex] This property is readonly\");\n    }\n\n    get cacheIndex():string {\n        const self = this;\n        const __routing_path__ = _DataStringify(self.routingPath);\n        return Base64.encode(self.name + __routing_path__);\n    }\n\n    set parsedAssignmentText(value: string) {\n        // readonly\n        logger.debug(\"[parsedAssignmentText] This property is readonly\");\n    }\n\n    get parsedAssignmentText(): string {\n        const self = this;\n        self._parsedAssignmentText = self.parseTemplate(self.template);\n        if (typeof self._parsedAssignmentText === \"undefined\") {\n            throw Error(`[Component][${this.name}][parsedAssignmentText] Could not generate content!`);\n        }\n        return self._parsedAssignmentText;\n    }\n\n\n    set shadowRoot(value: IQCObjectsShadowedElement) {\n        const self = this;\n        if (typeof self.__shadowRoot === \"undefined\") {\n            self.__shadowRoot = value;\n        } else {\n            logger.debug(\"[shadowRoot] This property can only be assigned once!\");\n        }\n    }\n\n    get shadowRoot(): IQCObjectsShadowedElement {\n        const self = this;\n        return self.__shadowRoot as IQCObjectsShadowedElement;\n    }\n\n\n    set routingSelected(value: TComponentRouting[]) {\n        logger.debug(\"[routingSelected] This is a read-only property of the component\");\n    }\n\n    get routingSelected(): TComponentRouting[] {\n        const self = this;\n        return __valid_routings__(self.routings, self.routingPath);\n    }\n\n    set routingParams(value) {\n        logger.debug(\"[routingParams] This is a read-only property of the component\");\n    }\n\n    get routingParams(): object {\n        const component = this;\n        return [{}].concat(component.routingSelected.map(function (routing: any) {\n            return __routing_params__(routing, component.routingPath);\n        })).reduce(function (accumulator, colData) {\n            return Object.assign(accumulator, colData);\n        });\n    }\n\n\n    set serviceClassName(_serviceClassName: string) {\n        this._serviceClassName = _serviceClassName;\n    }\n\n    get serviceClassName(): string | null {\n        let _serviceClassName: string | null = \"\";\n        if (isBrowser) {\n            _serviceClassName = ((this.body as HTMLElement).getAttribute(\"serviceClass\") !== null) ? ((this.body as HTMLElement).getAttribute(\"serviceClass\")) : (\n                this._serviceClassName\n            );\n        } else {\n            _serviceClassName = this._serviceClassName;\n        }\n        return _serviceClassName;\n    }\n\n    protected get responseToData(): boolean {\n        let _response_to_data_: boolean = false;\n        if (isBrowser) {\n            const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n            _response_to_data_ = responseToAttr === \"data\" || this.responseTo === \"data\";\n        } else {\n            _response_to_data_ = this.responseTo === \"data\";\n        }\n        return _response_to_data_;\n    }\n\n    protected get responseToTemplate(): boolean {\n        let _response_to_template_: boolean = false;\n        if (isBrowser) {\n            const responseToAttr = (this.body as HTMLElement).getAttribute(\"response-to\");\n            _response_to_template_ = responseToAttr === \"template\" || this.responseTo === \"template\";\n        } else {\n            _response_to_template_ = this.responseTo === \"template\";\n        }\n        return _response_to_template_;\n    }\n\n    createServiceInstance(): Promise<JSON | string | null> {\n        const component = this;\n        let data = this.data;\n        let __serviceClass: any;\n        const __classDefinition = component.getClass().__definition;\n        const _serviceClassName = component.serviceClassName;\n\n        return new Promise(function (resolve, reject) {\n            /* __enable_service_class__ = true by default */\n            const __enable_service_class__ = component.enableServiceClass;\n            let _response_to_data_ = component.responseToData;\n            let _response_to_template_ = component.responseToTemplate;\n\n            if (__enable_service_class__ && _serviceClassName !== null) {\n                __serviceClass = ClassFactory(_serviceClassName);\n            }\n            if (!_response_to_data_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n                _response_to_data_ = (__classDefinition.responseTo === \"data\");\n            } else if (!_response_to_data_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n                _response_to_data_ = ((ClassFactory(\"Component\") as Component).responseTo === \"data\");\n            }\n            if (!_response_to_template_ && __classDefinition && Object.hasOwn(__classDefinition, \"responseTo\")) {\n                _response_to_template_ = (__classDefinition.responseTo === \"template\");\n            } else if (!_response_to_template_ && Object.hasOwn(ClassFactory(\"Component\"), \"responseTo\")) {\n                _response_to_template_ = ((ClassFactory(\"Component\") as Component).responseTo === \"template\");\n            }\n\n            if (typeof __serviceClass !== \"undefined\" &&\n                (typeof __enable_service_class__ !== \"undefined\" &&\n                    __enable_service_class__ === true) &&\n                (_response_to_data_ || _response_to_template_)\n            ) {\n                logger.info(\"Loading service \" + _serviceClassName);\n                const serviceInstance = New(__serviceClass, {\n                    data\n                });\n                (serviceLoader(serviceInstance) as Promise<any>)?.then(function ({\n                    service\n                }: { request: any, service: any }) {\n                    let serviceResponse;\n                    if (typeof service.JSONresponse !== \"undefined\" && service.JSONresponse !== null) {\n                        serviceResponse = service.JSONresponse;\n                    } else {\n                        serviceResponse = service.template;\n                    }\n                    if (_response_to_data_) {\n                        if (typeof data === \"object\" && typeof serviceResponse === \"object\") {\n                            data = Object.assign(data, serviceResponse);\n                        } else {\n                            data = serviceResponse;\n                        }\n                        component.data = data;\n                    }\n                    component.serviceInstance = serviceInstance;\n                    component.serviceData = data;\n\n                    if (_response_to_template_) {\n                        component.template = serviceResponse;\n                    }\n                    resolve(serviceResponse);\n                }, function (rejectedResponse: Error) {\n                    logger.debug(`Service loading rejected for ${_serviceClassName} in ${component.name}`);\n                    reject(rejectedResponse);\n                }).catch(function (e: any) {\n                    logger.debug(\"Something went wroing while trying to load the service \" + _serviceClassName);\n                    throw Error(`Error loading ${_serviceClassName} for ${component.name}. Detail: ${e}`);\n                });\n            } else {\n                resolve(null);\n            }\n        });\n    }\n\n    _bindroute_():void {\n        const _component_ = this;\n        if (!(_component_ as any)._bindroute_.loaded) {\n            if (isBrowser) {\n\n                (_component_.hostElements(\"a\") as unknown as HTMLAnchorElement[]).map(function (a: HTMLAnchorElement) {\n                    (a as any).oldclick = a.onclick;\n                    a.onclick = function (e) {\n                        let _ret_ = true;\n                        if (!_top.global.get(\"routingPaths\")) {\n                            _top.global.set(\"routingPaths\", []);\n                        }\n                        const routingWay = CONFIG.get(\"routingWay\");\n                        const routingPath = (e.target as any)[routingWay];\n                        if (_top.global.get(\"routingPaths\").includes(routingPath) &&\n                            (e.target as any)[routingWay] !== (location as any)[routingWay] &&\n                            (e.target as HTMLAnchorElement).href !== document.location.href\n                        ) {\n                            logger.debug(\"A ROUTING WAS FOUND: \" + routingPath);\n                            window.history.pushState({\n                                href: (e.target as HTMLAnchorElement).href\n                            }, (e?.target as HTMLAnchorElement)?.href, (e.target as HTMLAnchorElement).href);\n                            Component.route().catch((e) => { throw Error(`Unexpected error: ${e}`); });\n                            _ret_ = false;\n                        } else {\n                            logger.debug(\"NO ROUTING FOUND FOR: \" + routingPath);\n                        }\n                        if (typeof (e.target as any).oldclick !== \"undefined\" && typeof (e.target as any).oldclick === \"function\") {\n                            (e.target as any).oldclick.call(e.target, e);\n                        }\n                        return _ret_;\n                    };\n                    return null;\n                });\n\n            } else {\n                // not yet implemented.\n            }\n            (_component_ as any)._bindroute_.loaded = true;\n        } else {\n            logger.debug(`Routes already bound to popstate events for ${_component_.name}`);\n        }\n\n    }\n\n    done(standardResponse?: TComponentDoneResponse): Promise<TComponentDoneResponse> {\n        const _ret_ = new Promise<TComponentDoneResponse>((resolve) => {\n            if (typeof standardResponse !== \"undefined\") {\n                const { request, component } = standardResponse;\n                resolve({ request, component });\n            } else {\n                resolve({ request: undefined, component: undefined });\n            }\n        });\n        return _ret_;\n    }\n\n    createControllerInstance(): Promise<{ component: IComponent, controller: IController }> {\n        let _Controller: any;\n        if (isBrowser) {\n            if (typeof this.body === \"undefined\") {\n                throw new Error(\"The component has no body\");\n            }\n            var controllerName = (this.body as HTMLElement).getAttribute(\"controllerClass\");\n            if (!controllerName) {\n                controllerName = \"Controller\";\n            }\n            _Controller = ClassFactory(controllerName);\n            if (typeof _Controller !== \"undefined\") {\n                this.controller = New(_Controller, {\n                    component: this\n                });\n            }\n\n        }\n\n        return new Promise((resolve, reject) => {\n            if (isBrowser) {\n                if (typeof _Controller !== \"undefined\" && typeof this.controller !== \"undefined\") {\n                    if (typeof (this.controller).done === \"function\") {\n                        try {\n                            this.controller.done.call(this.controller);\n                        } catch (e: any) {\n                            throw Error(e);\n                        }\n                    } else {\n                        logger.debug(`${controllerName} does not have a done() method.`);\n                        reject(new Error(`${controllerName} does not have a done() method.`));\n                    }\n                    if (typeof this.controller.createRoutingController === \"function\") {\n                        this.controller.createRoutingController.call(this.controller);\n                    } else {\n                        logger.debug(`${controllerName} does not have a createRoutingController() method.`);\n                    }\n                }\n            }\n            resolve({ component: this, controller: this.controller as IController });\n        });\n    }\n\n    createEffectInstance(): Promise<{ component: Component, effect: IEffect }> {\n        const _component_ = this;\n        return new Promise(function (resolve) {\n            if (isBrowser) {\n                const effectClassName = (_component_.body as HTMLElement)?.getAttribute(\"effectClass\");\n                let applyEffectTo = (_component_.body as HTMLElement)?.getAttribute(\"apply-effect-to\");\n                applyEffectTo = (applyEffectTo !== null) ? (applyEffectTo) : (\"load\");\n                if (effectClassName !== null && applyEffectTo === \"observe\") {\n                    _component_.applyObserveTransitionEffect(effectClassName);\n                } else if (effectClassName !== null && applyEffectTo === \"load\") {\n                    _component_.applyTransitionEffect(effectClassName);\n                }\n            }\n            resolve({ component: _component_, effect: _component_.effect as IEffect });\n        });\n    }\n\n    createViewInstance(): Promise<{ component: Component, view: IView }> {\n        const _component_ = this;\n        return new Promise(function (resolve) {\n            const viewName = (isBrowser) ? ((_component_.body as HTMLElement).getAttribute(\"viewClass\")) : (null);\n            if (viewName !== null) {\n                const _View = ClassFactory(viewName);\n                if (typeof _View !== \"undefined\") {\n                    _component_.view = New(_View, {\n                        component: _component_\n                    }); // Initializes the main view for the component\n                    if (Object.hasOwn(_component_.view as object, \"done\") && typeof _component_.view?.done === \"function\") {\n                        _component_.view?.done.call(_component_.view);\n                    }\n                }\n\n            }\n            resolve({ component: _component_, view: _component_.view as IView });\n\n        });\n    }\n\n    __done__(): Promise<unknown> {\n        const _component_ = this;\n        const componentDone = function () {\n            if (typeof _component_ === \"undefined\") {\n                throw new Error(\"componentDone() has lost its context\");\n            }\n            if (typeof _component_.body === \"undefined\") {\n                throw new Error(\"The component has no body\");\n            }\n\n            (async () => {\n                await _component_.createViewInstance();\n                await _component_.createControllerInstance();\n                await _component_.createEffectInstance();\n            })()\n                .catch((e: any) => {\n                    throw new Error(`Unknown error ${e}.`);\n                });\n\n            logger.debug(`Trying to run component helpers for ${_component_.name}...`);\n            try {\n                _component_.runComponentHelpers();\n                logger.debug(`Component helpers for ${_component_.name} executed.`);\n            } catch (e: any) {\n                logger.debug(`Component helpers for ${_component_.name} could not be executed.`);\n                throw Error(e);\n            }\n\n            _component_.subcomponents = _component_.__buildSubComponents__();\n\n            _component_._bindroute_();\n            if (isBrowser) {\n                (_component_.body as HTMLElement).setAttribute(\"loaded\", \"true\");\n            }\n        };\n\n        return new Promise(function (resolve, reject) {\n            try {\n                resolve(componentDone.call(_component_));\n            } catch (e: any) {\n                reject(new Error(e));\n            }\n        });\n\n    }\n\n    hostElements(tagFilter: string): (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] {\n        const _component_ = this;\n        let elementList: (IQCObjectsElement | HTMLElement | IQCObjectsShadowedElement)[] = [];\n        if (isBrowser) {\n            elementList = (_component_.shadowed && (typeof _component_.shadowRoot !== \"undefined\")) ? (\n                _component_.shadowRoot.subelements(tagFilter) as IQCObjectsShadowedElement[]\n            ) : (\n                (_component_.body as IQCObjectsElement).subelements(tagFilter)\n            );\n\n        }\n        return elementList;\n    }\n\n    get subtags(): (HTMLElement | IQCObjectsElement | IQCObjectsShadowedElement)[] {\n        const _component_ = this;\n        const tagFilter = _tag_filter_;\n        return _component_.hostElements(tagFilter);\n    }\n\n    get bodyAttributes():any {\n        const _component_ = this;\n        const c = _component_.body;\n        return (isBrowser) ? ([...(c as HTMLElement).getAttributeNames()].map(a => { return { [a]: (c as HTMLElement).getAttribute(a) }; }).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n    }\n\n    get dataAttributes():any {\n        const _component_ = this;\n        const c = _component_.body;\n        return (isBrowser) ? ([{}].concat([...(c as HTMLElement).getAttributeNames()].filter(n => n.startsWith(\"data-\")).map(a => { return { [a.split(\"-\")[1]]: (c as HTMLElement).getAttribute(a) }; })).reduce((accumulator, colData) => { return Object.assign(accumulator, colData); })) : ({});\n    }\n\n    __buildSubComponents__(rebuildObjects = false): any {\n        const _component_: Component = this as Component;\n        let elementList = _component_.subtags;\n        if (!rebuildObjects) {\n            elementList = (elementList as HTMLElement[]).filter((t: HTMLElement) => t.getAttribute(\"loaded\") !== \"true\") as unknown[] as IQCObjectsElement[];\n        }\n        if ((typeof _component_ !== \"undefined\") || (_component_ as Component).subcomponents.length < 1) {\n            _component_.subcomponents = _buildComponentsFromElements_(elementList as HTMLElement[], _component_);\n        }\n        return _component_.subcomponents;\n    }\n\n    fail(standardResponse: { error: any; component: Component; }): Promise<{ error: any; component: Component; }> {\n        const _ret_ = new Promise<{ error: any; component: Component; }>((resolve, reject) => {\n            if (typeof standardResponse !== \"undefined\") {\n                const { error, component } = standardResponse;\n                resolve({ error, component });\n            } else {\n                reject(new Error(\" Unknown error.\"));\n            }\n        });\n        return _ret_;\n    }\n\n    set(key: string, value: any):void {\n        this[key] = value;\n    }\n\n    get(key: string, _defaultValue?: string): any {\n        return this[key] || _defaultValue;\n    }\n\n    feedComponent(): Promise<any> {\n        const _component_ = this;\n        logger.debug(`[Component][${this.name}][feedComponent] start feeding component...`);\n        const _feedComponent_InBrowser = function (_component_: Component): any {\n            if (typeof _component_.container === \"undefined\" && typeof _component_.body === \"undefined\") {\n                logger.warn(\"COMPONENT {{NAME}} has an undefined container and body\".replace(\"{{NAME}}\", _component_.name));\n                return;\n            }\n            const container = (typeof _component_.container === \"undefined\" || _component_.container === null) ? (_component_.body) : (_component_.container);\n            const parsedAssignmentText = _component_.parsedAssignmentText;\n            _component_.innerHTML = parsedAssignmentText;\n            if (_component_.shadowed) {\n                logger.debug(\"COMPONENT {{NAME}} is shadowed\".replace(\"{{NAME}}\", _component_.name));\n                logger.debug(\"Preparing slots for Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n                const tmp_shadowContainer = _DOMCreateElement(\"div\");\n                container.subelements(\"[slot]\").map(\n                    (c: { parentElement: any; }): any => {\n                        if (c.parentElement === container) {\n                            tmp_shadowContainer.appendChild(c as any);\n                        }\n                        return c;\n                    });\n                logger.debug(\"Creating shadowedContainer for COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n                const shadowContainer = _DOMCreateElement(\"div\");\n                shadowContainer.classList.add(\"shadowHost\");\n                try {\n                    _component_.shadowRoot = shadowContainer.attachShadow({\n                        mode: \"open\"\n                    }) as IQCObjectsShadowedElement;\n                } catch (e: any) {\n                    logger.debug(`An error ocurred: ${e}.`);\n                    try {\n                        logger.debug(\"Shadowed COMPONENT {{NAME}} is repeated\".replace(\"{{NAME}}\", _component_.name));\n                        _component_.shadowRoot = shadowContainer.shadowRoot as IQCObjectsShadowedElement;\n                    } catch (e: any) {\n                        logger.debug(`An error ocurred: ${e}.`);\n                        logger.warn(\"Shadowed COMPONENT {{NAME}} is not allowed on this browser\".replace(\"{{NAME}}\", _component_.name));\n                    }\n                }\n                if (typeof _component_.shadowRoot !== \"undefined\" && _component_.shadowRoot !== null) {\n                    if (_component_.reload) {\n                        logger.debug(\"FORCED RELOADING OF CONTAINER FOR Shadowed COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n                        if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n                            shadowContainer.shadowRoot.innerHTML = _component_.innerHTML;\n                        }\n                    } else {\n                        tmp_shadowContainer.innerHTML = _component_.parseTemplate(tmp_shadowContainer.innerHTML);\n                        logger.debug(\"ADDING Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n                        if (shadowContainer !== null && shadowContainer.shadowRoot !== null) {\n                            shadowContainer.shadowRoot.innerHTML += _component_.innerHTML;\n                        }\n                    }\n                    logger.debug(\"ADDING Slots to Shadowed COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n                    shadowContainer.innerHTML += tmp_shadowContainer.innerHTML;\n                    logger.debug(\"APPENDING Shadowed COMPONENT {{NAME}} to Container \".replace(\"{{NAME}}\", _component_.name));\n                    const qs = container.querySelector(\".shadowHost\");\n                    if (!(typeof qs !== \"undefined\" && qs !== null)) {\n                        container.appendChild(shadowContainer);\n                    } else {\n                        logger.debug(\"Shadowed Container for COMPONENT {{NAME}} is already present in the tree \".replace(\"{{NAME}}\", _component_.name));\n                        if (_component_.shadowRoot !== null && shadowContainer.shadowRoot !== null) {\n                            _component_.shadowRoot.innerHTML = shadowContainer.shadowRoot.innerHTML;\n                        }\n                    }\n                } else {\n                    logger.warn(\"Shadowed COMPONENT {{NAME}} is bad configured\".replace(\"{{NAME}}\", _component_.name));\n                }\n            } else {\n                if (_component_.reload) {\n                    logger.debug(\"FORCED RELOADING OF CONTAINER FOR COMPONENT {{NAME}}\".replace(\"{{NAME}}\", _component_.name));\n                    container.innerHTML = _component_.innerHTML;\n                } else if (container && _component_) {\n                    logger.debug(\"ADDING COMPONENT {{NAME}} \".replace(\"{{NAME}}\", _component_.name));\n                    container.innerHTML += _component_.innerHTML;\n                } else {\n                    logger.warn(\"COMPONENT {{NAME}} is not added to the DOM\".replace(\"{{NAME}}\", _component_.name));\n                }\n            }\n\n        };\n\n        const _feedComponent_InNode = function (_component_: Component): any {\n            const parsedAssignmentText = _component_.parsedAssignmentText;\n            _component_.innerHTML = parsedAssignmentText;\n        };\n\n        let _ret_;\n        if (!is_a(_component_, \"Component\")) {\n            logger.warn(\"Trying to feed a non component object\");\n            return Promise.reject(new Error(`Trying to feed a non component object ${typeof _component_}`));\n        }\n        return new Promise<any>((resolve, reject) => {\n            if (isBrowser) {\n                try {\n                    _ret_ = _feedComponent_InBrowser(_component_);\n                    resolve(_ret_);\n                } catch (e: any) {\n                    reject(new Error(e));\n                }\n            } else {\n                try {\n                    _ret_ = _feedComponent_InNode(_component_);\n                    resolve(_ret_);\n                } catch (e: any) {\n                    reject(new Error(e));\n                }\n\n            }\n\n        });\n    }\n\n    rebuild(): Promise<{ request?: XMLHttpRequest, component: Component }> {\n        const _component = this as Component;\n        var _promise = new Promise<{ request?: XMLHttpRequest, component: Component }>(function (resolve, reject) {\n            if (typeof _component === \"undefined\" || _component === null) {\n                reject(new Error(\"Component is undefined\"));\n            }\n            if (isQCObjects_Object(_component) && is_a(_component, \"Component\")) {\n                switch (true) {\n                    case (_component.get(\"tplsource\") === \"none\"):\n                        logger.debug(\"Component \" + _component.name + \" has specified template-source=none, so no template load was done\");\n                        var standardResponse = {\n                            request: undefined,\n                            component: _component\n                        };\n                        _component.__done__().then(function () {\n                            if (typeof _component.done === \"function\") {\n                                _component.done.call(_component, standardResponse)\n                                    .catch((e: any) => {\n                                        logger.debug(`It was an error while calling done() in ${_component.name}: ${e}`);\n                                    });\n                            }\n                            resolve.call(_promise, standardResponse);\n                        }, function () {\n                            reject.call(_promise, standardResponse);\n                        });\n                        break;\n                    case (_component.get(\"tplsource\") === \"inline\"):\n                        logger.debug(\"Component \" + _component.name + \" has specified template-source=inline, so it is assumed that template is already declared\");\n                        (async (_component) => {\n                            await _component.feedComponent.bind(_component)();\n                        })(_component)\n                            .catch((e: any) => {\n                                logger.debug(`It was not possible to feed the component ${_component.name}: ${e}`);\n                            });\n                        var standardResponse = {\n                            request: undefined,\n                            component: _component\n                        };\n                        _component.__done__().then(async () => {\n                            if (typeof _component.done === \"function\") {\n                                await _component.done(standardResponse);\n                            }\n                            resolve.call(_promise, standardResponse);\n                        }, function () {\n                            reject.call(_promise, standardResponse);\n                        });\n                        break;\n                    case (_component.get(\"tplsource\") === \"default\" &&\n                        _component.get(\"templateURI\") !== \"\"):\n                        _component.set(\"url\", _component.get(\"basePath\") + _component.get(\"templateURI\"));\n                        (componentLoader(_component, false))?.then(\n                            function (standardResponse: any) {\n                                resolve.call(_promise, standardResponse);\n                            },\n                            function (standardResponse: any) {\n                                reject.call(_promise, standardResponse);\n                            });\n                        break;\n                    case (_component.get(\"tplsource\") === \"external\" &&\n                        _component.get(\"templateURI\") !== \"\"):\n                        _component.set(\"url\", _component.get(\"templateURI\"));\n                        (componentLoader(_component, false)).then(\n                            function (standardResponse: any) {\n                                resolve.call(_promise, standardResponse);\n                            },\n                            function (standardResponse: any) {\n                                reject.call(_promise, standardResponse);\n                            });\n                        break;\n                    case _component.get(\"tplsource\") === \"default\" && _component.get(\"templateURI\", \"\") === \"\":\n                        logger.debug(`Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n                        reject.call(_promise, `Component ${_component.name} template-source is ${_component.get(\"tplsource\")} and no templateURI is present`);\n                        break;\n                    default:\n                        logger.debug(\"Component \" + _component.name + \" will not be rebuilt because no templateURI is present\");\n                        reject.call(_promise, {\n                            request: null,\n                            component: _component\n                        });\n                        break;\n                }\n\n            }\n        });\n        return _promise;\n    }\n\n    Cast(oClass: any): any {\n        /* Cast method for components has been deprecated. Don't use this method, it is available only for compatibility purposes */\n        const o = _methods_(oClass).map((m): any => (m as Function).name.replace(/bound /g, \"\")).map(m => {\n            return {\n                [m]: oClass[m].bind(this)\n            };\n        }).reduce((c, p) => Object.assign(c, p), {});\n        return _Cast(this, o);\n    }\n\n    route():Promise<void> {\n        return (this.constructor as typeof Component).route();\n    }\n\n    static route():Promise<void> {\n        const componentClass = this; /* is can be class or object */\n        let _route_promise_;\n        const isValidInstance = !!((isQCObjects_Object(componentClass) && is_a(componentClass, \"Component\")));\n        const __route__ = function (componentList: any[]) {\n            const _componentNames_: any[] = [];\n            const _promises_ = componentList.filter(function (rc: any) {\n                return typeof rc !== \"undefined\";\n            }).map(function (rc: Component): Promise<void> {\n                if (typeof rc.name !== \"undefined\") {\n                    _componentNames_.push(rc.name);\n                } else {\n                    throw new Error(__getType__(rc) + \" does not have a name\");\n                }\n                return new Promise(function (resolve, reject) {\n                    if (typeof rc !== \"undefined\" && !!rc._reroute_) {\n                        rc._reroute_()\n                            .then(function () {\n                                rc.reload = true;\n                                rc.rebuild()\n                                    .then(() => {\n                                        resolve();\n                                    })\n                                    .catch((e: any) => {\n                                        logger.debug(`Error ${e}`);\n                                    });\n                                return;\n                            })\n                            .then(function () {\n                                if (Object.hasOwn(rc, \"subcomponents\") &&\n                                    typeof rc.subcomponents !== \"undefined\" &&\n                                    rc.subcomponents.length > 0\n                                ) {\n                                    logger.debug(\"LOOKING FOR ROUTINGS IN SUBCOMPONENTS FOR: \" + rc.name);\n                                    return __route__.call(rc, rc.subcomponents);\n                                } else {\n                                    logger.debug(\"No subcomponents to look for routings in: \" + rc.name);\n                                    if (rc.subtags.length > 0) {\n                                        rc.subcomponents = rc.__buildSubComponents__(true);\n                                    }\n                                    resolve();\n                                }\n                            }).catch((e: any) => {\n                                logger.debug(`Error: ${e}`);\n                            });\n                    } else if (typeof rc !== \"undefined\") {\n                        reject(new Error(\"Component \" + rc.name + \" is not an instance of Component\"));\n                    }\n                    return;\n                });\n            });\n            return Promise.all(_promises_)\n                .then(function () {\n                    logger.debug(\"ROUTING COMPLETED FOR \" + _componentNames_.join(\", \"));\n                }).catch(function (err) {\n                    logger.warn(\"ROUTING FAILED FOR \" + _componentNames_.join(\", \") + \": \" + err);\n                });\n        };\n        if (isValidInstance || !!componentsStack) {\n            if (isValidInstance) {\n                logger.debug(\"loading routings for instance \" + componentClass.name);\n            }\n            _route_promise_ = __route__.call(componentClass, (isValidInstance) ? (componentClass.subcomponents) : (componentsStack));\n        } else {\n            logger.debug(\"An undetermined result expected if load routings. So will not be loaded this time.\");\n            throw Error(\"There is no valid instance and no components stack available to apply rountings\");\n        }\n        return _route_promise_;\n    }\n\n    fullscreen():void {\n        if (isBrowser) {\n            const elem: HTMLElement = this.body as HTMLElement;\n            if (elem.requestFullscreen) {\n                elem.requestFullscreen()\n                    .catch((e: any) => {\n                        throw new Error(`An error ocurred when requesting fullscreen: ${e}`);\n                    });\n            } else if ((elem as any).mozRequestFullScreen) {\n                /* Firefox */\n                (elem as any).mozRequestFullScreen();\n            } else if ((elem as any).webkitRequestFullscreen) {\n                /* Chrome, Safari & Opera */\n                (elem as any).webkitRequestFullscreen();\n            } else if ((elem as any).msRequestFullscreen) {\n                /* IE/Edge */\n                (elem as any).msRequestFullscreen();\n            }\n        } else {\n            // not yet implemented.\n        }\n    }\n\n    closefullscreen():void {\n        if (isBrowser) {\n            if (document.exitFullscreen) {\n                document.exitFullscreen()\n                    .catch((e: any) => { throw new Error(`An error ocurred when trying to exit fullscrenn ${e}.`); });\n            } else if ((document as any).mozCancelFullScreen) {\n                (document as any).mozCancelFullScreen();\n            } else if ((document as any).webkitExitFullscreen) {\n                (document as any).webkitExitFullscreen();\n            } else if ((document as any).msExitFullscreen) {\n                (document as any).msExitFullscreen();\n            }\n        } else {\n            // noy yet implemented.\n        }\n    }\n\n    _generateRoutingPaths(componentBody: TBody):Promise<void> {\n        const component = this;\n        return new Promise<void>(function (resolve) {\n            if (isBrowser) {\n                if (__valid_routing_way__(component.validRoutingWays, component.routingWay || \"\")) {\n                    if (typeof componentBody !== \"undefined\") {\n                        component.innerHTML = (componentBody as HTMLElement)?.innerHTML;\n                        component.routingNodes = (componentBody as IQCObjectsElement)?.subelements(\"routing\");\n                        component.routings = [];\n                        component.routingNodes.map((routingNode): any => {\n                            const attributeNames = (routingNode as HTMLElement).getAttributeNames();\n                            const routing = {} as TComponentRouting;\n                            attributeNames.map((attributeName: any, a: string | number): any => {\n                                (routing as any)[attributeNames[a as any]] = (routingNode as HTMLElement).getAttribute(attributeNames[a as any]);\n                                return attributeName;\n                            });\n                            component.routings.push(routing as never);\n                            if (!component.routingPaths) {\n                                component.routingPaths = [];\n                            }\n                            if (!component.routingPaths.includes(routing.path as never)) {\n                                component.routingPaths.push(routing.path as never);\n                            }\n                            if (!_top.global.get(\"routingPaths\")) {\n                                _top.global.set(\"routingPaths\", []);\n                            }\n                            if (!_top.global.get(\"routingPaths\").includes(routing.path)) {\n                                _top.global.get(\"routingPaths\").push(routing.path);\n                            }\n                            return routingNode;\n                        });\n                    }\n                }\n            } else {\n                // not yet implemented.\n            }\n            resolve();\n\n        });\n    }\n\n    parseTemplate(template: any): string {\n        const _self = this;\n        let _parsedAssignmentText: string;\n        const value = template;\n        if (Object.hasOwn(_self, \"templateHandler\")) {\n            const templateHandlerName = _self.templateHandler;\n            logger.debug(`[Component][${this.name}][parseTemplate] Attempting to use ${templateHandlerName} ...`);\n            const templateHandlerClass = ClassFactory(templateHandlerName);\n            const templateInstance = New(templateHandlerClass, {\n                component: _self,\n                template: value\n            });\n            templateInstance.component = _self;\n            let selfData = _self.data;\n            if (Object.hasOwn(_self, \"assignRoutingParams\") && _self.assignRoutingParams) {\n                try {\n                    selfData = Object.assign(selfData, _self.routingParams);\n                } catch (e: any) {\n                    logger.debug(`An error ocurred: ${e}.`);\n                    logger.debug(\"[parseTemplate] it was not possible to assign the routing params to the template\");\n                }\n            }\n            _parsedAssignmentText = templateInstance.assign(selfData);\n        } else {\n            logger.debug(`[Component][${this.name}][parseTemplate] No value for templateHandler. Using raw content...`);\n            _parsedAssignmentText = value;\n        }\n        return _parsedAssignmentText;\n    }\n\n    _reroute_(): Promise<Component> {\n        /* This method set the selected routing and makes the switch to the templateURI */\n        const rc = this;\n        return new Promise(function (resolve) {\n            if (isBrowser) {\n                if (__valid_routing_way__(rc.validRoutingWays, rc.routingWay || \"\")) {\n                    rc.routingPath = (location as any)[rc.routingWay as string];\n                    rc.routingSelected.map((routing: TComponentRouting,): TComponentRouting => {\n                        const componentURI = ComponentURI({\n                            \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n                            \"COMPONENT_NAME\": routing.name.toString(),\n                            \"TPLEXTENSION\": (Object.hasOwn(routing, \"tplextension\")) ? (routing.tplextension || \"\") : (rc.tplextension),\n                            \"TPL_SOURCE\": \"default\" /* here is always default in order to get the right uri */\n                        });\n                        rc.templateURI = componentURI;\n                        return routing;\n                    });\n                    if (rc.routingSelected.length > 0) {\n                        rc.template = \"\";\n                        if (typeof rc.body !== \"undefined\" && rc.body !== null) {\n                            (rc.body as HTMLElement).innerHTML = \"\";\n                        }\n                    }\n                }\n            }\n            resolve(rc);\n\n        });\n    }\n\n    lazyLoadImages() {\n        if (isBrowser) {\n            const component = this;\n            const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n            if (typeof _componentRoot !== \"undefined\" && _componentRoot !== null) {\n                const _imgLazyLoaded = [..._componentRoot.subelements(\"img[lazy-src]\")];\n                const _lazyLoadImages = function (image: Element | HTMLElement) {\n                    image.setAttribute(\"src\", image.getAttribute(\"lazy-src\")?.toString() as string);\n                    (image as HTMLImageElement).onload = () => {\n                        image.removeAttribute(\"lazy-src\");\n                    };\n                };\n                if (\"IntersectionObserver\" in window) {\n                    const observer = new IntersectionObserver((items, observer) => {\n                        items.forEach((item) => {\n                            if (item.isIntersecting) {\n                                _lazyLoadImages(item.target);\n                                observer.unobserve(item.target);\n                            }\n                        });\n                    });\n                    _imgLazyLoaded.map(function (img) {\n                        return observer.observe(img as unknown as HTMLImageElement);\n                    });\n                } else {\n                    (_imgLazyLoaded as (HTMLElement | Element)[]).map(_lazyLoadImages);\n                }\n            }\n        } else {\n            // not yet implemented\n        }\n        return null;\n    }\n\n    applyTransitionEffect(effectClassName: string):void {\n        const _Effect = ClassFactory(effectClassName);\n        if (typeof _Effect === \"undefined\") {\n            throw Error(`${effectClassName} not found.`);\n        }\n        if (typeof _Effect !== \"undefined\" && is_a(_Effect, \"TransitionEffect\")) {\n            this.effect = New(_Effect, {\n                component: this\n            });\n            (this.effect as any)?.apply((this.effect as any)?.defaultParams);\n        } else {\n            logger.debug(`${effectClassName} is ${__getType__(_Effect)} but is not a TransitionEffect`);\n        }\n    }\n\n    applyObserveTransitionEffect(effectClassName: any):void {\n        if (isBrowser) {\n            const component = this;\n            const _componentRoot = component.componentRoot;\n            const _applyEffect_ = function () {\n                component.applyTransitionEffect(effectClassName);\n            };\n            if (\"IntersectionObserver\" in window) {\n                const observer = new IntersectionObserver((items, observer) => {\n                    items.forEach((item) => {\n                        if (item.isIntersecting) {\n                            _applyEffect_();\n                            observer.unobserve(item.target);\n                        }\n                    });\n                });\n                observer.observe(_componentRoot as Element);\n            } else {\n                _applyEffect_();\n            }\n        } else {\n            // not yet implemented\n        }\n\n    }\n\n    get componentRoot(): TBody {\n        return (this.shadowed) ? (this.shadowRoot) : (this.body);\n    }\n\n    scrollIntoHash():void {\n        if (isBrowser) {\n            const component = this;\n            if (document.location.hash !== \"\") {\n                const _componentRoot = component.componentRoot;\n                ((_componentRoot as IQCObjectsShadowedElement)?.subelements(document.location.hash) as unknown as Element[]).map(\n                    (element: Element): any => {\n                        if (typeof element.scrollIntoView === \"function\") {\n                            element.scrollIntoView(\n                                CONFIG.get(\"scrollIntoHash\", {\n                                    behavior: \"auto\",\n                                    block: \"top\",\n                                    inline: \"top\"\n                                })\n                            );\n                        }\n                        return element;\n                    }\n                );\n            }\n        } else {\n            // not yet implemented\n        }\n    }\n\n    i18n_translate():void {\n        if (isBrowser) {\n            if (CONFIG.get(\"use_i18n\")) {\n                const component = this;\n                const _componentRoot = component.componentRoot as IQCObjectsShadowedElement;\n                const lang1 = CONFIG.get(\"lang\", \"en\");\n                const lang2 = navigator.language.slice(0, 2);\n                const i18n = _top.global.get(\"i18n\");\n                if ((lang1 !== lang2) && (typeof i18n === \"object\" && Object.hasOwn(i18n, \"messages\"))) {\n                    const callback_i18n = () => {\n                        return new Promise<void>(function (resolve) {\n                            const messages = i18n.messages.filter(function (message: any) {\n                                return Object.hasOwn(message, lang1) && Object.hasOwn(message, lang2);\n                            });\n                            (_componentRoot?.subelements(\"ul,li,h1,h2,h3,a,b,p,input,textarea,summary,details,option,component\") as HTMLElement[])\n                                .map((element: HTMLElement): HTMLElement => {\n                                    messages.map(function (message: { [x: string]: any; }) {\n                                        let _innerHTML = element.innerHTML;\n                                        _innerHTML = _innerHTML?.replace(new RegExp(`${message[lang1]}`, \"g\"), message[lang2]);\n                                        element.innerHTML = _innerHTML;\n                                        return null;\n                                    });\n                                    return element;\n                                });\n                            resolve();\n                        });\n                    };\n                    callback_i18n.call(component).then(function () {\n                        logger.debug(\"i18n loaded for component: \" + component.name);\n                    }).catch((e: any) => { throw new Error(`An error ocurred when parsing i18n: ${e}.`); });\n\n                }\n            }\n        } else {\n            // not yet implemented\n        }\n    }\n\n    addComponentHelper(componentHelper: any):void {\n        const component = this;\n        component._componentHelpers.push(componentHelper as never);\n    }\n\n    runComponentHelpers():void {\n        if (isBrowser) {\n            const component = this;\n            let __component_helpers__ = [];\n            /*\n             * BEGIN use i18n translation\n             */\n            __component_helpers__.push(component.i18n_translate.bind(component));\n            /*\n             * END use i18n translation\n             */\n\n            /*\n             * BEGIN component scrollIntoHash\n             */\n            __component_helpers__.push(component.scrollIntoHash.bind(component));\n            /*\n             * END component scrollIntoHash\n             */\n\n            /*\n             * BEGIN component images lazy-load\n             */\n\n            __component_helpers__.push(component.lazyLoadImages.bind(component));\n\n            /*\n             * END component images lazy-load\n             */\n\n            __component_helpers__ = __component_helpers__.concat(component._componentHelpers);\n\n            __component_helpers__.map(\n                (_component_helper_): any => {\n                    logger.debug(`Executing ${_component_helper_.name} as component helper for ${component.name}...`);\n                    _component_helper_();\n                    return _component_helper_;\n                }\n            );\n\n        } else {\n            // not yet implemented\n        }\n\n    }\n\n}\n\nPackage(\"com.qcobjects\", [\n    Component\n]);\n\n(_methods_)(ClassFactory(\"Component\")).map((__c__): any => {\n    (_protected_code_)(__c__);\n    return __c__;\n});\n", "import { IQCObjectsElement, TComponentURIParams } from \"types\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { __getType__ } from \"./getType\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { _tag_filter_ } from \"./tag_filter\";\n\n/**\n * Returns a standarized uri for a component\n * @example\n * templateURI = ComponentURI({'COMPONENTS_BASE_PATH':'','COMPONENT_NAME':'','TPLEXTENSION':'','TPL_SOURCE':''})\n * @author: Jean Machuca <correojean@gmail.com>\n * @param params an object with the params to build the uri path\n */\nexport const ComponentURI = ({ TPL_SOURCE, COMPONENTS_BASE_PATH, COMPONENT_NAME, TPLEXTENSION }:TComponentURIParams):string => {\n    const templateURI = (TPL_SOURCE === \"default\") ? (`${COMPONENTS_BASE_PATH}${COMPONENT_NAME}.${TPLEXTENSION}`) : (\"\");\n    return templateURI;\n};\n\nexport const _buildComponentFromElement_ = (element: Element, __parent__: any):Component => {\n    const __shadowed_not_set = (element.getAttribute(\"shadowed\") === null);\n    const __tplsource_attr_not_set = (element.getAttribute(\"template-source\") === null);\n    const shadowed = (element.getAttribute(\"shadowed\") === \"true\");\n    const __cached_not_set = (element.getAttribute(\"cached\") === null);\n    const cached = (element.getAttribute(\"cached\") === \"true\");\n    let tplextension = (typeof CONFIG.get(\"tplextension\") !== \"undefined\") ? (CONFIG.get(\"tplextension\")) : (\"html\");\n    tplextension = (element.getAttribute(\"tplextension\") !== null) ? (element.getAttribute(\"tplextension\")) : (tplextension);\n    let _componentName = element.getAttribute(\"name\");\n    const _componentClassName = (element.getAttribute(\"componentClass\") !== null) ? (element.getAttribute(\"componentClass\")) : (\"Component\");\n    const __componentClassName = (CONFIG.get(\"preserveComponentBodyTag\")) ? (\n        (_componentName !== null) ? (\"com.qcobjects.components.\" + _componentName + \".ComponentBody\") : (\"com.qcobjects.components.ComponentBody\")\n    ) : (_componentClassName);\n    _componentName = (_componentName !== null) ? (_componentName) : (\n        (ClassFactory(__componentClassName as string) &&\n            typeof (ClassFactory(__componentClassName as string) as unknown as typeof Component).name !== \"undefined\"\n        ) ? (\n            (ClassFactory(__componentClassName as string) as unknown as Component).name\n        ) : (\"\")\n    );\n    const __classDefinition = ClassFactory(__componentClassName as string) as Component;\n    const __tplsource_prop_set = !!((__componentClassName !== \"Component\" && ((typeof __classDefinition !== \"undefined\" && typeof __classDefinition.tplsource === \"string\") && __classDefinition.tplsource !== \"\")));\n    const tplsource = (__tplsource_attr_not_set && __tplsource_prop_set) ? (__classDefinition.tplsource) : ((__tplsource_attr_not_set) ? (\"default\") : (element.getAttribute(\"template-source\")));\n    logger.debug(`template source for  ${_componentName} is ${tplsource} `);\n    logger.debug(`type for ${_componentName} is ${__getType__(__classDefinition)} `);\n\n    const componentURI: string = ComponentURI({\n        \"COMPONENTS_BASE_PATH\": CONFIG.get(\"componentsBasePath\"),\n        \"COMPONENT_NAME\": _componentName ,\n        \"TPLEXTENSION\": tplextension,\n        \"TPL_SOURCE\": tplsource as string\n    });\n    if (CONFIG.get(\"preserveComponentBodyTag\")) {\n        Package((_componentName !== \"\") ? (\"com.qcobjects.components.\" + _componentName + \"\") : (\"com.qcobjects.components\"), [\n            Class(\"ComponentBody\", Component, {\n                name: _componentName,\n                tplsource,\n                tplextension,\n                reload: true\n            })\n        ]);\n    }\n\n    const __create_component_instance_ = function ():Component {\n        const __shadowed = (__shadowed_not_set) ? ((__classDefinition && __classDefinition.shadowed) || Component.shadowed) : (shadowed);\n        const __definition = {\n            __parent__,\n            name: _componentName,\n            cached: (__cached_not_set) ? (Component.cached) : (cached),\n            shadowed: __shadowed,\n            tplextension,\n            body: (CONFIG.get(\"preserveComponentBodyTag\")) ? (_DOMCreateElement(\"componentBody\")) : (element),\n            templateURI: componentURI,\n            tplsource\n        };\n        if (typeof _componentName === \"undefined\" || _componentName === \"\" || _componentName === null) {\n            /* this allows to use the original property defined\n            in the component definition if it is not present in the tag */\n            delete (__definition as any).name;\n        }\n        if (componentURI === \"\") {\n            /* this allows to use the original property defined\n            in the component definition if it is not present in the tag */\n            delete (__definition as any).templateURI;\n        }\n        const newComponent = New(__classDefinition, __definition) as Component;\n\n        if (CONFIG.get(\"preserveComponentBodyTag\")) {\n            if (typeof newComponent !== \"undefined\") {\n                element.append(newComponent.body as string | Node);\n            }\n        }\n        return newComponent;\n    };\n    const newComponent = __create_component_instance_();\n    return newComponent;\n};\n\nexport const _buildComponentsFromElements_ = (elements: HTMLElement[], __parent__: Component | null):Component[] => {\n    let componentsBuiltWith:Component[] = [];\n    if (isBrowser) {\n        componentsBuiltWith = elements.map(\n            function (element: any) {\n                return _buildComponentFromElement_(element, __parent__);\n            }\n        );\n    } else {\n        logger.debug(\"[_buildComponentsFromElements_] not implemented for Non-Browser environments\");\n    }\n    return componentsBuiltWith;\n};\n\nexport const buildComponents = (element:HTMLElement):Component[] => {\n    const tagFilter = _tag_filter_;\n    const elements = (element as unknown as IQCObjectsElement).subelements(tagFilter) as HTMLElement[];\n    return _buildComponentsFromElements_(elements, null);\n};", "import { _basePath_ } from \"./basePath\";\nimport { _Crypt } from \"./Crypt\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { _secretKey } from \"./secretKey\";\nimport { CONFIG } from \"./CONFIG\";\nimport { IJSONService, IService, TServiceDoneResponse, TServiceStandardResponse } from \"types\";\n\nexport class Service extends InheritClass implements IService{\n    options!: object;\n    withCredentials!: boolean;\n    useHTTP2: any;\n    // eslint-disable-next-line no-unused-vars\n    mockup({ request, service }: TServiceStandardResponse): void {\n        throw new Error(\"Method not implemented.\");\n    }\n    name!: string;\n    responseHeaders: any;\n    // eslint-disable-next-line no-unused-vars\n    local({ request, service }: TServiceStandardResponse): void {\n        throw new Error(\"Method not implemented.\");\n    }\n    kind = \"rest\";\n    /* it can be rest, mockup, local */\n    domain:string = _domain_;\n    basePath:string = _basePath_;\n    url = \"\";\n    method = \"GET\";\n    data = {};\n    reload = false;\n    cached = false;\n\n    headers: any;\n    template: unknown;\n    \n    // eslint-disable-next-line no-unused-vars\n    done({ request, service }: TServiceDoneResponse): void {\n        throw new Error(\"Method not implemented.\");\n    }\n    // eslint-disable-next-line no-unused-vars\n    fail(...args: any[]): void {\n        throw new Error(\"Method not implemented.\");\n    }\n\n    set(name:string, value:never):void {\n        this[name] = value;\n    }\n\n    get(name:string, _default?:never):any {\n        return this[name] as never || _default;\n    }\n\n}\n\nexport class JSONService extends Service implements IJSONService{\n    method = \"GET\";\n    cached = false;\n    headers = {\n        \"Content-Type\": \"application/json\",\n        \"charset\": \"utf-8\"\n    };\n\n    JSONresponse?:JSON = undefined;\n    done(result:TServiceDoneResponse):void {\n        logger.debug(\"***** RECEIVED RESPONSE:\");\n        logger.debug(result.service.template as string);\n        this.JSONresponse = JSON.parse(result.service.template as string);\n    }\n\n\n\n}\n\nexport class ConfigService extends JSONService {\n    method = \"GET\";\n    cached = false;\n    configFileName = \"config.json\";\n    headers = {\n        \"Content-Type\": \"application/json\",\n        \"charset\": \"utf-8\"\n    };\n\n    configLoaded():Promise<void>{\n        throw Error (\"Method not implemented.\");\n    }\n\n    JSONresponse?:JSON = undefined;\n    done(result:TServiceDoneResponse):void {\n        logger.debug(\"***** CONFIG LOADED:\");\n        logger.debug(result.service.template as string);\n        this.JSONresponse = JSON.parse(result.service.template as string);\n        if (Object.hasOwn(this.JSONresponse as object, \"__encoded__\")) {\n            const decodedValue:string = _Crypt.decrypt((this.JSONresponse as any)?.__encoded__, _secretKey);\n            this.JSONresponse = JSON.parse(decodedValue);\n        }\n        const jsonResponse:any = this.JSONresponse;\n        Object.keys(jsonResponse as object).map((k:string) => {\n            CONFIG.set(k, (jsonResponse as never)[k]);\n            return k;\n        });\n        this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n    }\n\n    fail():void {\n        this.configLoaded().catch((e:any)=>{throw new Error (`An error ocurred: ${e}`);});\n    }\n\n    constructor() {\n        super();\n        this.set(\"url\", `${this.get(\"basePath\") as string}${this.get(\"configFileName\") as string}` as never);\n    }\n}\n\n\nPackage(\"com.qcobjects.api\", [\n    Service\n]);\n\nPackage(\"com.qcobjects.api.services\", [\n    JSONService\n]);\n\nPackage(\"com.qcobjects.api.config\", [\n    ConfigService\n]);\n", "import { IGlobalSettings } from \"types\";\nimport { CONFIG } from \"./CONFIG\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Logger, logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { _top, buildComponentsStack, configService, setConfigService } from \"./top\";\nimport { ConfigService } from \"./Service\";\n\nexport class GlobalSettings extends InheritClass implements IGlobalSettings {\n  static __start__(): Promise<any> {\n    return GlobalSettings.instance.__start__();\n  }\n  [key: string]: any;\n\n  _GLOBAL: any = {};\n  private static _instance: GlobalSettings;\n  static get instance(): GlobalSettings {\n    if (typeof GlobalSettings._instance === \"undefined\") {\n      GlobalSettings._instance = new GlobalSettings();\n    }\n    return GlobalSettings._instance;\n  }\n\n  protected _logger: Logger = new Logger();\n  get logger(): Logger {\n    return this._logger;\n  }\n\n  set logger(value: Logger) {\n    this._logger = value;\n  }\n\n  set(name: string, value: any): void {\n    this._GLOBAL[name] = value;\n  }\n\n  get(name: string, _default?: any): any {\n    let _value: any;\n    if (typeof this._GLOBAL[name] !== \"undefined\") {\n      _value = this._GLOBAL[name];\n    } else if (typeof _default !== \"undefined\") {\n      _value = _default;\n    }\n    return _value;\n  }\n\n  __start__(): Promise<any> {\n    const __load__serviceWorker = function () {\n      let _promise: Promise<ServiceWorkerRegistration> | Promise<unknown>;\n      if (isBrowser) {\n        _promise = new Promise<ServiceWorkerRegistration>(function (resolve, reject) {\n          if ((\"serviceWorker\" in navigator) &&\n            (typeof CONFIG.get(\"serviceWorkerURI\") !== \"undefined\")) {\n            CONFIG.set(\"serviceWorkerScope\", CONFIG.get(\"serviceWorkerScope\") ? (CONFIG.get(\"serviceWorkerScope\")) : (\"/\"));\n            navigator.serviceWorker.register(CONFIG.get(\"serviceWorkerURI\"), {\n              scope: CONFIG.get(\"serviceWorkerScope\")\n            })\n              .then(function (registration) {\n                logger.debug(\"Service Worker Registered\");\n                resolve.call(_promise, registration);\n              }, function (registration) {\n                logger.debug(\"Error registering Service Worker\");\n                reject.call(_promise, registration);\n              });\n            navigator.serviceWorker.ready.then(function (registration) {\n              logger.debug(\"Service Worker Ready\");\n              resolve.call(_promise, registration);\n            }, function (registration) {\n              logger.debug(\"Error loading Service Worker\");\n              reject.call(_promise, registration);\n            });\n          }\n        });\n      } else {\n        _promise = Promise.resolve();\n      }\n      return _promise;\n    };\n    const _buildComponents = function () {\n      return new Promise<void>((resolve) => {\n        if (isBrowser) {\n          logger.debug(\"Starting to building components\");\n          try {\n            buildComponentsStack();\n          } catch (e: any) {\n            throw Error(`Something went wrong trying to start components tree: ${e.message}`);\n          }\n          logger.debug(\"Initializing the service worker\");\n          __load__serviceWorker.call(_top)\n            .catch(function (e) {\n              logger.debug(`error loading the service worker ${e}`);\n            });\n        }\n        resolve();\n      });\n    };\n\n    return new Promise<any>((resolve) => {\n      logger.debug(\"Starting to load the config settings...\");\n      if (CONFIG.get(\"useConfigService\", false)) {\n        logger.debug(\"Loading settings using local configuration file...\");\n        setConfigService(new ConfigService());\n        configService.configLoaded = _buildComponents;\n        serviceLoader(configService)\n          ?.then((standardResponse: any) => {\n            resolve(standardResponse);\n          })\n          ?.catch((e: any) => { throw new Error(`An error ocurred while trying to load ${configService.url}: ${e}`); });\n      } else {\n        logger.debug(\"Starting to load the components...\");\n        _buildComponents.call(this)\n          .then(() => {\n            resolve({});\n          })\n          .catch((e: any) => { throw new Error(`An error ocurred while trying to build the components stack. ${e}`); });\n      }\n\n    });\n  }\n\n}\n\nPackage(\"com.qcobjects\", [\n  GlobalSettings\n]);\n", "import { IComplexStorageCache, IComponent, IConfigService, IQCObjectsElement } from \"types\";\nimport { buildComponents } from \"./ComponentFactory\";\nimport { _CastProps } from \"./Cast\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Export } from \"./Export\";\nimport { isBrowser } from \"./platform\";\nimport {  _QC_CLASSES, getPackagesNamesList, getPackagesList, getClassesList, getClassesNamesList } from \"./PrimaryCollections\";\nimport { logger } from \"./Logger\";\n\ntype QCObjects = {\n    lastCache?:IComplexStorageCache,\n    componentsStack:IComponent[],\n    Microservice:any,\n    Route:any,\n    BackendMicroservice:any,\n    QCObjectsElement:any,\n    QCObjectsShadowedElement:any,\n    Logger:any,\n    Class:any, \n    _Crypt:any, \n    TagElements:any, \n    DefaultTemplateHandler:any, \n    SourceJS:any, \n    SourceCSS:any, \n    ArrayList:any, \n    ArrayCollection:any, \n    GlobalSettings:any, \n    GLOBAL:any, \n    DDO:any, \n    CacheController:any, \n    ComplexCacheParams:any, \n    ComplexStorageCache:any, \n    ComponentWidget:any, \n    asyncLoad:any, \n    RegisterClass:any, \n    ComponentURI:any, \n    waitUntil:any, \n    super:any, \n    _DOMCreateElement:any, \n    shortCode:any, \n    getType:any, \n    is_a:any, \n    _DataStringify:any, \n    serviceLoader:any, \n    componentLoader:any, \n    ObjectName:any, \n    isQCObjects_Class:any, \n    isQCObjects_Object:any, \n    NamespaceRef:any, \n    RegisterWidget:any, \n    RegisterWidgets:any, \n    range:any, \n    getDocumentLayout:any, \n    Export:any, \n    New:any, \n    Tag:any, \n    Ready:any, \n    methods:any, \n    // eslint-disable-next-line no-unused-vars\n    set:(name:string, value:any) => void, \n    // eslint-disable-next-line no-unused-vars\n    get:(name:string, _default?:any) => any, \n    start:any, \n    InheritClass:any, \n    Processor:any, \n    ComponentParams:any, \n    ComponentDoneResponse:any, \n    Component:any, \n    CONFIG:any, \n    ControllerParams:any, \n    Controller:any, \n    ViewParams:any, \n    View:any, \n    Service:any, \n    JSONService:any, \n    ConfigService:any, \n    VO:any, \n    EffectParams:any, \n    Effect:any, \n    TransitionEffect:any, \n    TimerParams:any, \n    Timer:any, \n    Toggle:any, \n    logger:any, \n    sdk:any, \n    global:any, \n    ClassFactory:any, \n    Package:any, \n    Import:any,\n    _sdk_:any,\n    ClassesList:any[], \n    PackagesList:any[],\n    PackagesNameList:any[],\n    ClassesNameList:any[]\n} &  typeof self   & typeof global ;\n\nexport var _top: QCObjects = (\n            (typeof module !== \"undefined\" && typeof module.exports !== \"undefined\" && module.exports) ||\n            (typeof global !== \"undefined\" && global) ||\n            (typeof globalThis !== \"undefined\" && globalThis) ||\n            (typeof window !== \"undefined\" && window) ||\n            (typeof self !== \"undefined\" && self !== null && self) ||\n            this\n) as QCObjects;\n(_top as any).lastCache = undefined;\nexport let componentsStack:IComponent[] = [];\n\nexport const resetTop = ():void => {\n    const globalSettings = GlobalSettings.instance;\n    _top = _CastProps(globalSettings, _top, true);\n};\n\nexport const buildComponentsStack = ():void => {\n    componentsStack = buildComponents(document as unknown as IQCObjectsElement);\n};\nexport let configService:IConfigService;\nexport const setConfigService = (_configService:IConfigService):void => {\n    _top.global.configService = _configService;\n    configService = _configService;\n};\n\nexport const set = (name:string, value:any):void => {\n    _top[name as never] = value;\n};\n\nexport const get = (name:string, _defaultValue?:any):any => {\n    return _top[name as never] ||  _defaultValue;\n};\n\nresetTop();\n\nconst _define_props = function (_top: any) {\n    if (!Object.hasOwn(_top, \"PackagesList\")) {\n        Object.defineProperty(_top, \"PackagesList\", {\n          // eslint-disable-next-line no-unused-vars\n          set:(value) => {\n            logger.debug(\"PackagesList is readonly\");\n  \n          },\n          get:():any => {\n            return getPackagesList();\n          }\n        });\n  \n      }\n  \n  \n    if (!Object.hasOwn(_top, \"PackagesNameList\")) {\n      Object.defineProperty(_top, \"PackagesNameList\", {\n        // eslint-disable-next-line no-unused-vars\n        set:(val) => {\n          logger.debug(\"PackagesNameList is readonly\");\n\n        },\n        get:():any =>{\n            return getPackagesNamesList();\n        }\n      });\n\n    }\n\n    if (!Object.hasOwn(_top, \"ClassesList\")) {\n      Object.defineProperty(_top, \"ClassesList\", {\n        // eslint-disable-next-line no-unused-vars\n        set:(value) => {\n          logger.debug(\"ClassesList is readonly\");\n\n        },\n        get:(): any => {\n            return getClassesList();\n        }\n      });\n    }\n\n    if (!Object.hasOwn(_top, \"ClassesNameList\")) {\n      Object.defineProperty(_top, \"ClassesNameList\", {\n        // eslint-disable-next-line no-unused-vars\n        set(value):any {\n          logger.debug(\"ClassesNameList is readonly\");\n\n        },\n        get:(): any => {\n            return getClassesNamesList();\n        }\n      });\n\n    }\n\n\n  };\n\n\n  if (isBrowser) {\n    // use of GLOBAL word is deprecated in node.js\n    // this is only for compatibility purpose with old versions of QCObjects in browsers\n    Class(\"GLOBAL\", (_QC_CLASSES as any).global); // case insensitive for compatibility con old versions;\n    Export(ClassFactory(\"GLOBAL\"));\n  }\n\n  if (isBrowser && typeof window !== \"undefined\") {\n    set(\"global\", window);\n  } else if (isBrowser && typeof globalThis !== \"undefined\") {\n    set(\"global\", globalThis);\n  }\n\n  _define_props(_top);\n", "import { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\n\nexport let supportsPassive = false;\nexport const captureFalseTouch = ():boolean | { passive: boolean; } => {\n    return (supportsPassive) ? ({\n        passive: true\n    }) : (false);\n};\n\n// Test via a getter in the options object to see if the passive property is accessed\nif (isBrowser) {\n    try {\n        const opts = Object.defineProperty({}, \"passive\", {\n            get() {\n                supportsPassive = true;\n                return supportsPassive;\n            }\n        });\n        (window as any).addEventListener(\"testPassive\", null, opts);\n        (window as any).removeEventListener(\"testPassive\", null, opts);\n    } catch (e:any) {\n        logger.debug(`An error ocurred: ${e}.`);\n        supportsPassive = false;\n    }\n\n} else {\n    supportsPassive = false;\n}", "import { _protected_code_ } from \"./introspection\";\n\nexport const range = (start: number, stop = 0, step = 1): number[] => {\n  if (stop === 0 || typeof stop === \"undefined\") {\n    stop = start;\n    start = 0;\n  }\n  return Array.from({\n    length: (stop - start) / step + 1\n  }, function (_, i) {\n    return start + (i * step);\n  });\n};\n(_protected_code_)(range);\n\n", "import { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { _top } from \"./top\";\nimport { range } from \"./range\";\nimport { IComponent } from \"types\";\n\n// Set Processors\nexport const setDefaultProcessors = ():void => {\n    (function (_top):void {\n\n        const mapper = (componentInstance:IComponent, componentName:string, valueName:string):string => {\n            /*\n             * Mapper processor\n             * @usage\n             *        $mapper(<componentName>,<valueName>)\n             *\n             * Where componentName is the name of the component (same value as in attribute tag name) without quotes\n             * and valueName is the name of the variable that contains the value to map, it can be either a property of\n             * the component instance, the data object or a global value\n             */\n    \n            if (typeof componentInstance === \"undefined\" || componentInstance === null) {\n                throw Error(`mapper.${componentName}.${valueName} does not have a component instance or it is null.`);\n            }\n            const globalValue = _top.global.get(valueName);\n            const componentValue = componentInstance.get(valueName);\n            const dataValue = componentInstance.data[valueName];\n            const list = (typeof dataValue !== \"undefined\") ? (dataValue) : ((typeof componentValue !== \"undefined\") ? (componentValue) : (globalValue));\n            let listItems = \"\";\n            if (typeof list !== \"undefined\" && typeof list.map !== \"undefined\") {\n                listItems = list.map(function (element:HTMLElement) {\n                    const dataItems = [...Object.keys(element)].map(k => ` data-${k}=\"${(typeof (element as any)[k] !== \"undefined\" && (element as any)[k] !== null) ? ((element as any)[k].toString()) : (\"\")}\"`).join(\"\");\n                    return `<quick-component name=\"${componentName}\" ${dataItems} ></quick-component>`;\n                }).join(\"\");\n            } else {\n                logger.debug(`${componentName}.${valueName} does not have a map property`);\n            }\n            return listItems;\n        };\n        Processor.setProcessor(mapper);\n    \n        const layout = function (componentInstance:IComponent, layoutname:string, cssfile:string):string {\n            /*\n             * Layout processor\n             * @usage\n             *        $layout(<layoutname>, <cssfile>)\n             * Where layoutname can be \"portrait\" or \"landscape\" without quotes\n             * cssfile is the uri for the css file to import\n             */\n    \n            const layout_portrait = `\n              /* CSS Document for Mobile Imports */\n              @import url(\"${cssfile}\") (orientation:portrait);\n              @import url(\"${cssfile}\") (max-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 9/16);\n              @import url(\"${cssfile}\") (aspect-ratio: 10/16);\n              @import url(\"${cssfile}\") (aspect-ratio: 5/8);\n              @import url(\"${cssfile}\") (aspect-ratio: 3/4);\n              @import url(\"${cssfile}\") (aspect-ratio: 2/3);\n              `;\n            const layout_landscape = `\n              @import url(\"${cssfile}\") (orientation:landscape) and (min-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 16/9) and (min-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 16/10) and (min-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 8/5) and (min-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 4/3) and (min-width:460px);\n              @import url(\"${cssfile}\") (aspect-ratio: 3/2) and (min-width:460px);\n              `;\n            const layout_code = {\n                \"landscape\": layout_landscape,\n                \"portrait\": layout_portrait\n            };\n    \n            return (Object.hasOwn(layout_code, layoutname)) ? ((layout_code as any)[layoutname] as string) : (\"\");\n        };\n    \n        Processor.setProcessor(layout);\n    \n        const component = (componentInstance:IComponent ,name:string, componentClass:string, ...args:string[]):string => {\n            /*\n             * component processor\n             * @usage\n             *        $component(name=<name>, componentClass=<componentClass>, ...)\n             * Returns a component tag declaration like:\n             * <component name=<name> ...></component>\n             */\n            const arg = [...args].map(function (a) {\n                return {\n                    [a.split(\"=\")[0]]: a.split(\"=\")[1]\n                };\n            }).reduce(function (k1, k2) {\n                return Object.assign(k1, k2);\n            });\n            const attrs = [...Object.keys(arg)].map(function (a) {\n                return `${a}=${arg[a as any]}`;\n            }).join(\" \");\n            return `<component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></component>`;\n        };\n    \n        Processor.setProcessor(component);\n    \n        const quick_component = (componentInstance: IComponent,name:string, componentClass:string, ...args:string[]):string => {\n            /*\n             * component processor\n             * @usage\n             *        $quick_component(name=<name>, componentClass=<componentClass>, ...)\n             * Returns a component tag declaration like:\n             * <quick-component name=<name> ...></quick-component>\n             */\n            const arg = [...args].map(function (a) {\n                return {\n                    [a.split(\"=\")[0]]: a.split(\"=\")[1]\n                };\n            }).reduce(function (k1, k2) {\n                return Object.assign(k1, k2);\n            });\n            const attrs = [...Object.keys(arg)].map(function (a) {\n                return `${a}=${arg[a as any]}`;\n            }).join(\" \");\n            return `<quick-component name=\"${name}\" componentClass=\"${componentClass}\" ${attrs}></quick-component>`;\n        };\n    \n        Processor.setProcessor(quick_component);\n    \n    \n        const repeat = (componentInstance:IComponent, length:number, text:string):string => {\n            /*\n             * Repeat processor\n             * @usage\n             *        $repeat(<length>, <text>)\n             * Where length is the number of occurrences of text\n             */\n            return range(length).map(\n                function (index) {\n                    return text.replace(\"{{index}}\", index.toString());\n                }\n            ).join(\"\");\n        };\n    \n        Processor.setProcessor(repeat);\n    \n    })(_top);\n    \n};\n\n", "import { CONFIG } from \"./CONFIG\";\nimport { Export } from \"./Export\";\nimport { logger } from \"./Logger\";\nimport { isBrowser } from \"./platform\";\nimport fs from \"node:fs\";\n\nexport const findPackageNodePath = function (packagename:string):string|null {\n    let sdkPath = null;\n    if (!isBrowser) {\n        try {\n            let sdkPaths = [\n                `${CONFIG.get(\"projectPath\")}${CONFIG.get(\"relativeImportPath\")}`,\n                `${CONFIG.get(\"basePath\")}${CONFIG.get(\"relativeImportPath\")}`,\n                `${CONFIG.get(\"projectPath\")}`,\n                `${CONFIG.get(\"basePath\")}`,\n                `${CONFIG.get(\"relativeImportPath\")}`,\n                `${process.cwd()}${CONFIG.get(\"relativeImportPath\")}`,\n                `${process.cwd()}/node_modules/` + packagename,\n                `${process.cwd()}/node_modules`,\n                `${process.cwd()}`,\n                \"node_modules\",\n                \"./\",\n                \"\"\n            ].concat(module.paths);\n            sdkPaths = sdkPaths.filter(p => {\n                return (fs).existsSync(p + \"/\" + packagename);\n            });\n            if (sdkPaths.length > 0) {\n                sdkPath = sdkPaths[0];\n                logger.info(packagename + \" is Installed.\");\n            } else {\n                sdkPath = \"\";\n                logger.info(`${packagename} is not in a standard path.`);\n            }\n        } catch (e) {\n            // do nothing\n            console.log(e);\n        }\n\n    }\n    return sdkPath;\n};\nExport(findPackageNodePath);\n", "import { _basePath_ } from \"./basePath\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser } from \"./platform\";\nimport { _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\n\n/**\n * Imports a script with the package nomenclature\n *\n * @param {Object} packagename\n * @param {Object} ready\n * @param {Boolean} external\n */\nexport const Import = function (packagename:string, ready?:Function, external?:boolean):Promise<{_imported_?:any, _package_name_?:string}> | undefined {\n\n    if (external !== undefined){\n        logger.debug(`[Import] Setting external=${external.toString()} resource to import: ${packagename}`);\n    }    \n    if (external) {\n        logger.debug(`[Import] Registering external resource to import: ${packagename}`);\n    } else {\n        logger.debug(`[Import] Registering local resource to import: ${packagename}`);\n    }\n    let _promise_import_: Promise<any>;\n    if (isBrowser) {\n        _promise_import_ = new Promise(function (resolve, reject) {\n\n            const allPackagesImported = function () {\n                let ret = false;\n                let cp = 0;\n                // eslint-disable-next-line no-unused-vars\n                for (const p in _QC_PACKAGES) {\n                    cp++;\n                }\n                if (cp < _QC_PACKAGES_IMPORTED.length) {\n                    ret = false;\n                } else {\n                    ret = true;\n                }\n                return ret;\n            };\n\n            const readyImported = function (e: { target: { remove: () => void; }; }) {\n                _QC_PACKAGES_IMPORTED.push(ready as never);\n                if (allPackagesImported()) {\n                    _QC_PACKAGES_IMPORTED.map( (_imported_) => {\n                        return _QC_READY_LISTENERS.push(_imported_);\n                    });\n                }\n                if (isBrowser && CONFIG.get(\"removePackageScriptAfterLoading\")) {\n                    e.target.remove();\n                }\n                resolve.call(_promise_import_, {\n                    \"_imported_\": e.target,\n                    \"_package_name_\": packagename\n                });\n            };\n\n            if (!Object.hasOwn(_QC_PACKAGES, packagename)) {\n                const s1:HTMLScriptElement = _DOMCreateElement(\"script\") as unknown as HTMLScriptElement;\n                s1.type = CONFIG.get(\"sourceType\", \"text/javascript\");\n                s1.async = !!(CONFIG.get(\"asynchronousImportsLoad\"));\n                (s1 as any).onreadystatechange = function () {\n                    if ((s1 as any).readyState === \"complete\") {\n                        readyImported(s1 as any);\n                    }\n                };\n                (s1 as any).onload = readyImported;\n                s1.onerror = function (e: any) {\n                    logger.debug(`An error ocurred: ${e}.`);\n                    reject.call(_promise_import_, {\n                        \"_imported_\": s1,\n                        \"_package_name_\": packagename\n                    });\n                };\n                s1.src = (external) ? (CONFIG.get(\"remoteImportsPath\") + packagename + \".js\") : (_basePath_ + CONFIG.get(\"relativeImportPath\") + packagename + \".js\");\n                document.getElementsByTagName(\"head\")[0].appendChild(s1);\n            }\n        });\n        _promise_import_.catch(function () {\n            logger.debug(\"Import: Error loading a package \");\n        });\n\n    } else {\n        // support to be used in a nodejs environment\n        _promise_import_ = new Promise(function (resolve, reject) {\n            try {\n                const standardNodePath = findPackageNodePath(packagename);\n                let packageAbsoluteName = \"\";\n                if (standardNodePath !== null) {\n                    packageAbsoluteName = standardNodePath + \"/\" + packagename;\n                } else {\n                    const jsNodePath = findPackageNodePath(packagename + \".js\");\n                    if (jsNodePath !== null) {\n                        packageAbsoluteName = jsNodePath + \"/\" + packagename + \".js\";\n                    } else {\n                        packageAbsoluteName = _basePath_ + CONFIG.get(\"relativeImportPath\") + packagename;\n                    }\n                }\n                try {\n                    resolve.call(_promise_import_, {\n                        \"_imported_\": _require_(`${packageAbsoluteName}`),\n                        \"_package_name_\": packagename\n                    });\n                } catch (e) {\n                    reject.call(_promise_import_, {\n                        \"_imported_\": null,\n                        \"_package_name_\": packagename,\n                        \"error\": e\n                    });\n                }\n            } catch (e) {\n                reject.call(_promise_import_, {\n                    \"_imported_\": null,\n                    \"_package_name_\": packagename,\n                    \"error\": e\n                });\n            }\n        }).catch(function (e) {\n            // something wrong importing a package\n            logger.debug(\"Something happened when importing \" + packagename);\n            console.warn(e);\n        });\n    }\n    _promise_import_.catch(function (e) {\n        logger.warn(_DataStringify(e));\n    });\n    return _promise_import_;\n};\nImport.prototype.toString = function () {\n    return \"Import(packagename,ready,external) { [QCObjects native code] }\";\n};\n", "export const __to_number = function (value:any): number  {\n    return ((isNaN(value)) ? (new Number(0) as number) : (new Number(value) as number));\n};", "import { isQCObjects_Class } from \"./isQCObjects\";\nimport { Package } from \"./Package\";\n\n/**\n * Declare Namespace\n *\n * @param {String} packageName\n * @param {Object} package\n */\nexport const NamespaceRef = function (namespace:string):any {\n    const packageInstance = Package(namespace) || [];\n    const classes = packageInstance.filter((c:any) => isQCObjects_Class(c)).map((c:any) => {\n        return {\n            [c.__definition.__classType]: c\n        };\n    // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n    }).reduce((a:any, b:any):any => {return Object.assign(a, b);});\n    return namespace.split(\".\").map(c => {\n        return {\n            [c]: classes\n        };\n    }).reverse().reduce((a, b) => {\n        b[Object.keys(b).join(\".\")] = a;\n        return b;\n    });\n};\n", "import { CONFIG } from \"./CONFIG\";\nimport { isBrowser } from \"./platform\";\nimport { _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nimport { _top } from \"./top\";\n\n/**\n * Defines a Custom Ready listener\n */\nexport const Ready = (e:any):void => {\n    if (isBrowser) {\n        _QC_READY_LISTENERS.push(e.bind(window) as never);\n    } else if (typeof global !== \"undefined\") {\n        _QC_READY_LISTENERS.push(e.bind(global) as never);\n    }\n};\n\nexport const ready:Function = Ready; // case insensitive ready option\n\n/**\n * Default Ready event function for window. Executes all micro ready events of Import calls\n *\n * @param {Object} e\n */\n// eslint-disable-next-line no-unused-vars\nexport const _Ready = (e:any):void => {\n    const _execReady = ():void => {\n        // eslint-disable-next-line array-callback-return\n        _QC_READY_LISTENERS.map(function (_ready_listener_, _r):any {\n            if (typeof _ready_listener_ === \"function\") {\n                (_ready_listener_ as Function)();\n                _QC_READY_LISTENERS.splice(_r, 1);\n            }\n        });\n    };\n    if (CONFIG.get(\"delayForReady\") > 0) {\n        if (isBrowser) {\n            setTimeout(_execReady.bind(window), CONFIG.get(\"delayForReady\"));\n        } else if (typeof global !== \"undefined\") {\n            setTimeout(_execReady.bind(global), CONFIG.get(\"delayForReady\"));\n        }\n    } else {\n        _execReady.call(_top);\n    }\n};\n", "import { IArrayCollection, IArrayList } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { __to_number } from \"./mathFunctions\";\n\n\nexport class ArrayList extends Array implements IArrayList {\n  prototype: any;\n\n  unique ():any[] {\n    return this.filter(function (value:any, index:any, self:any) {\n      return self.indexOf(value) === index;\n    });\n  };\n\n  table(): void {\n      console.table(this);\n  };\n  sum(): number {\n    return this.reduce( (prev:any, current:any):number => {\n      return (__to_number(prev)) + (__to_number(current));\n    }, 0) as number;\n  }\n  avg(): number {\n    return (this.length < 1) ? (0) : (this.reduce( (prev:any, current:any):number => {\n      return (((__to_number(prev)) + (__to_number(current))) / 2);\n    })) as number;\n  }\n  min(): number {\n    return this.reduce( (prev:any, current:any):number => {\n      return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n    }, Infinity) as number;\n  }\n  max(): number {\n    return this.reduce( (prev:any, current:any):number => {\n      return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n    }, 0) as number;\n  }\n  sortBy(propName: string, sortAsc?: boolean): any[] {\n    const sort_function = (sortAsc) ? (\n      function (prev:any, current:any) {\n        return current[propName] < prev[propName] ? 1 : -1;\n      }\n    ) : (\n      function (prev:any, current:any) {\n        return current[propName] > prev[propName] ? 1 : -1;\n      }\n    );\n    return this.sort(sort_function);\n  }\n  matrix(length: number, fillValue?: number): any[] {\n    const x_func = () => {\n      return fillValue;\n    };\n    return Array.from({\n      length: length\n    }, x_func);\n  }\n  matrix2d(length: number, fillValue?: number): any[][] {\n    const y_func = function () {\n      return fillValue;\n    };\n    const x_func = function () {\n      return Array.from({\n        length\n      }, y_func);\n    };\n    return Array.from({\n      length\n    }, x_func);\n  }\n  matrix3d(length: number, fillValue?: number): any[][][] {\n    const y_func = function () {\n      return Array.from({\n        length\n      }, function () {\n        return fillValue;\n      });\n    };\n    const x_func = function () {\n      return Array.from({\n        length\n      }, y_func);\n    };\n    return Array.from({\n      length\n    }, x_func);\n  }\n\n\n}\n\nexport class ArrayCollection implements IArrayCollection {\n  source :ArrayList = New(ArrayList, []);\n  changed(prop: string, value: any):void {\n    logger.debug(\"VALUE CHANGED\");\n    logger.debug(prop);\n    logger.debug(value);\n  }\n  push(value: any):number {\n    const self = this;\n    logger.debug(\"VALUE ADDED\");\n    logger.debug(value);\n    return self.source.push(value);\n  }\n  pop():any {\n    const self = this;\n    logger.debug(\"VALUE POPPED\");\n    return self.source.pop();\n  }\n  _new_(source: ArrayList):void {\n    const self = this;\n    let _index = 0;\n    self.source = New(ClassFactory(\"ArrayList\"), source);\n    for (const _k in self.source) {\n      if (!isNaN(_k as any)) {\n        logger.debug(\"binding \" + _k.toString());\n        (function (_pname:any) {\n          Object.defineProperty(self, _pname, {\n            set(value) {\n              logger.debug(\"setting \" + _pname + \"=\" + value);\n              self.source[_pname] = value;\n              self.changed(_pname, value);\n            },\n            get():unknown {\n              return self.source[_pname];\n            }\n          });\n        })(_k);\n        _index++;\n      }\n\n    }\n    self.source.length = _index;\n    Object.defineProperty(self, \"length\", {\n      get() {\n        return self.source.length;\n      }\n    });\n  }\n}\n\n", "import { IQCObjectsElement, ITagElements } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\nimport { Effect } from \"./Effect\";\nimport { ArrayList } from \"./ArrayCollection\";\n\nexport class TagElements extends ArrayList implements ITagElements {\n    show():void {\n      this.map(function (element:any) {\n        return element.style.opacity = 1;\n      });\n    }\n    hide():void {\n      this.map(function (element:any) {\n        return element.style.opacity = 0;\n      });\n    }\n    effect<T>(...args:T[]):void {\n      const effectArguments = [...args].slice(1);\n      const effectClassName = args[0] as string;\n      let effectClass = undefined;\n      if ((typeof effectClassName).toLowerCase() === \"string\") {\n        effectClass = ClassFactory(effectClassName);\n      }\n      this.map(function <T>(element:any):T {\n        return ((effectClass as Effect).apply as Function).apply(effectClass, [element].concat(effectArguments)) as T;\n      });\n    }\n    findElements(elementName:any):any {\n      const _o = New(ClassFactory(\"TagElements\"));\n      if (isBrowser) {\n        for (const _k in this) {\n          if (typeof _k === \"number\" && typeof this[_k] !== \"function\" && Object.hasOwn(this[_k], \"subelements\")) {\n            _o.push(this[_k].subelements(elementName));\n          }\n        }\n      } else {\n        // not yet implemented.\n      }\n      return _o;\n    }\n  }\n\n  /**\n   * Gets the element of DOM found by tag name\n   *\n   * @param {Object} tagname\n   * @param {Object} innerHTML\n   */\n  export const Tag = function <T>(tagname:string, innerHTML?:string): T[] {\n    const _o = New(TagElements);\n    if (isBrowser) {\n      const o = (document as unknown as IQCObjectsElement).subelements(tagname);\n      const addedKeys = [];\n      for (let _i = 0; _i < o.length; _i++) {\n        if (typeof innerHTML !== \"undefined\" && Object.hasOwn(o[_i], \"innerHTML\")) {\n          o[_i].innerHTML = innerHTML;\n        }\n        if (addedKeys.indexOf(_i) < 0) {\n          _o.push(o[_i]);\n          addedKeys.push(_i);\n        }\n      }\n    } else {\n      // not yet implemented.\n    }\n    return _o as T[];\n  };\n\n\n  Package(\"com.qcobjects\",[\n    TagElements,\n    Tag\n  ]);", "import { _Crypt } from \"./Crypt\";\n\nexport const shortCode = (): string => {\n  const length = 1000;\n  const code1 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date()).getTime().toString());\n  const code2 = _Crypt.encrypt((Math.random() * length).toString().replace(\".\", \"\"), (new Date((new Date()).getTime() - 1000 * 1000)).getTime().toString());\n  const shortCode = [...code2].map((o1: any, index: any): any => {\n    return [...code1][index] === o1 ? null : o1;\n  }).filter((c: any) => c !== null).join(\"\");\n  return shortCode;\n};\n", "import { ClassFactory } from \"./ClassFactory\";\n\n/**\n * Returns a method from a superior QCObjects Class\n * It is useful for Class Inheritance in the _new_ and __new__ method constructors\n * @example _super_('MySuperClass','MySuperMethod').call(this,params) #where this is the current instance and params are method parameters\n *\n * @param {String} className\n * @param {String} classMethodName\n * @param {Object} params\n */\nexport const _super_ = function <T>(className: string, classMethodName: string):T {\n  return (ClassFactory(className))[classMethodName] as T;\n};\n_super_.prototype.toString = function () {\n  return \"_super_(className,classMethodName,params) { [QCObjects native code] }\";\n};\n", "import { logger } from \"./Logger\";\n\nexport const waitUntil = (func:()=>void, exp:()=>any):void => {\n    const _waitUntil = (func:()=>void, exp:()=>any):void => {\n      const maxWaitCycles = 2000;\n      let _w = 0;\n      var _t = setInterval(function () {\n        if (exp()) {\n          clearInterval(_t);\n          func();\n          logger.debug(\"Ejecuting \" + func.name + \" after wait\");\n        } else {\n          if (_w < maxWaitCycles) {\n            _w += 1;\n            logger.debug(\"WAIT UNTIL \" + func.name + \" is true, \" + _w.toString() + \" cycles\");\n          } else {\n            logger.debug(\"Max execution time for \" + func.name + \" expression until true\");\n            clearInterval(_t);\n          }\n        }\n      }, 1);\n    };\n    setTimeout(function () {\n      _waitUntil(func, exp);\n    }, 1);\n  };\n", "export const subelements = function subelements<T>(this: any, query: string): T[] {\n  const _self = this;\n  return [..._self.querySelectorAll(query)] as T[];\n};", "import { CONFIG } from \"./CONFIG\";\nimport { findPackageNodePath } from \"./findPackageNodePath\";\nimport { Import } from \"./Import\";\nimport { logger } from \"./Logger\";\nimport { _require_, isBrowser, isNodeCommonJS } from \"./platform\";\n\nconst loadSDK = ():void => {\n    if (CONFIG.get(\"useSDK\")) {\n        (function () {\n            const remoteImportsPath = CONFIG.get(\"remoteImportsPath\");\n            const external = (!CONFIG.get(\"useLocalSDK\"));\n            CONFIG.set(\"remoteImportsPath\", CONFIG.get(\"remoteSDKPath\"));\n\n            let tryImportingSDK = false;\n            let sdkName = \"QCObjects-SDK\";\n            if (isBrowser) {\n                tryImportingSDK = true;\n            } else {\n                const sdkPath = findPackageNodePath(\"qcobjects-sdk\");\n                if (sdkPath !== null) {\n                    sdkName = \"qcobjects-sdk\";\n                    tryImportingSDK = true;\n                } else if (sdkPath !== \"\"){\n                    sdkName = \"node_modules/qcobjects-sdk/QCObjects-SDK\";\n                    tryImportingSDK = true;\n                } else {\n                    tryImportingSDK = false;\n                }\n            }\n\n            if (tryImportingSDK) {\n                logger.info(\"Importing SDK... \" + sdkName);\n                if (isNodeCommonJS && typeof require !== \"undefined\") {\n                    const sdk = _require_(\"qcobjects-sdk\");\n                    if (sdk) {\n                        logger.debug(\"QCObjects SDK was loaded OK.\");\n                    } else {\n                        logger.debug(\"QCObjects SDK could not be imported.\");\n                    }\n                } else {\n                    Import(sdkName, function () {\n                        if (external) {\n                            logger.debug(\"QCObjects-SDK.js loaded from remote location\");\n                        } else {\n                            logger.debug(\"QCObjects-SDK.js loaded from local\");\n                        }\n                        CONFIG.set(\"remoteImportsPath\", remoteImportsPath);\n                    }, external)\n                        ?.catch((e: any) => { throw new Error(`An error ocurred when trying to import: ${e}`); });\n                }\n            } else {\n                logger.debug(\"SDK has not been imported as it is not available at the moment\");\n            }\n        })();\n    }\n\n};\n\nexport default loadSDK;\n", "import { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nimport { _top } from \"./top\";\nimport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nimport { captureFalseTouch } from \"./captureFalseTouch\";\nimport { _Cast } from \"./Cast\";\nimport { Class } from \"./Class\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { Component } from \"./Component\";\nimport { ComponentURI } from \"./ComponentFactory\";\nimport { componentLoader } from \"./componentLoader\";\nimport { CONFIG } from \"./CONFIG\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { setDefaultProcessors } from \"./defaultProcessors\";\nimport { Export } from \"./Export\";\nimport { Import } from \"./Import\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nimport { logger } from \"./Logger\";\nimport { __to_number } from \"./mathFunctions\";\nimport { NamespaceRef } from \"./NamespaceRef\";\nimport { New } from \"./New\";\nimport { ObjectName } from \"./ObjectName\";\nimport { Package } from \"./Package\";\nimport { is_phonegap, isBrowser } from \"./platform\";\nimport { _Ready, ready, Ready } from \"./Ready\";\nimport { serviceLoader } from \"./serviceLoader\";\nimport { Tag } from \"./Tag\";\nimport { Processor } from \"./Processor\";\nimport { is_a } from \"./is_a\";\nimport { __getType__ } from \"./getType\";\nimport { shortCode } from \"./shortCode\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { ComplexStorageCache } from \"./ComplexStorageCache\";\nimport { _super_ } from \"./super\";\nimport { waitUntil } from \"./waitUntil\";\nimport { subelements } from \"./subelements\";\nimport { GlobalSettings } from \"./globalSettings\";\nimport loadSDK from \"./loadSDK\";\nimport { range } from \"./range\";\n\n(function __qcobjects__(_top: any) {\n  if (typeof Object.defineProperty !== \"undefined\" && typeof _top !== \"undefined\") {\n    try {\n      Object.defineProperty(_top, \"__qcobjects__\", {\n        enumerable: true,\n        configurable: false,\n        writable: false,\n        value: __qcobjects__,\n      });\n    } catch (e: any) {\n      logger.debug(`An error ocurred: ${e}`);\n      if (typeof _top.__qcobjects__ !== \"undefined\") {\n        _top.__qcobjects__.loaded = true;\n      }\n    }\n  }\n  if (typeof _top.__qcobjects__.loaded === \"undefined\") {\n    _top.__qcobjects__.loaded = true;\n\n    if (isBrowser) {\n      (Element as unknown as IQCObjectsElement).prototype.subelements = subelements;\n      (Document as unknown as IQCObjectsElement).prototype.subelements = subelements;\n      (HTMLElement as unknown as IQCObjectsElement).prototype.subelements = subelements;\n      if (typeof ShadowRoot !== \"undefined\") {\n        (ShadowRoot as unknown as IQCObjectsShadowedElement).prototype.subelements = subelements;\n      }\n    }\n\n\n    logger.debugEnabled = false;\n    logger.infoEnabled = true;\n\n    /**\n     * Basic Type of all elements\n     */\n    if (isBrowser) {\n      (Element as unknown as IQCObjectsElement).prototype.find = function (tag: string): IQCObjectsElement[] {\n        const _self = this;\n        const _oo: IQCObjectsElement[] = [];\n        const _tags = (document as unknown as IQCObjectsElement).subelements(tag);\n        _tags.map((_tt, _t) => {\n          if ((typeof _tags[_t] !== \"undefined\") && (_tags[_t].parentNode as Element).tagName === _self.parentNode.tagName) {\n            _oo.push(_Cast(_tt, (new Object())));\n          }\n          return _tt;\n        });\n        return _oo;\n      };\n    }\n\n    if (isBrowser) {\n      Element.prototype.append = function QC_Append(child) {\n        if (isQCObjects_Object(child) || typeof (child as any).body !== \"undefined\") {\n          this.appendChild((child as any).body);\n        } else {\n          this.appendChild(child as any);\n        }\n      };\n\n      /**\n       * A replacement for direct using of innerHTML\n       * use: [element].render('content') where 'content' is the string corresponding\n       * to the DOM to insert in the element\n       **/\n      (Element as unknown as IQCObjectsElement).prototype.render = function QC_Render(content: string) {\n        const _self = this;\n        const _appendVDOM = (_self: any, content: string): any => {\n          if (typeof document.implementation.createHTMLDocument !== \"undefined\") {\n            const doc = document.implementation.createHTMLDocument(\"\");\n            doc.body.innerHTML = content;\n            (doc.body as unknown as IQCObjectsElement).subelements(\"*\").map((element): any => {\n              return _self.append(element);\n            });\n          }\n        };\n        if (typeof this.innerHTML !== \"undefined\") {\n          try {\n            this.innerHTML += content;\n          } catch (e: any) {\n            logger.debug(`An error ocurred: ${e}`);\n            _appendVDOM(_self, content);\n          }\n        } else {\n          _appendVDOM(_self, content);\n        }\n      };\n    }\n\n\n\n    Export(waitUntil);\n    Export(_super_);\n    Export(ComplexStorageCache);\n    Export(ClassFactory);\n    Export(_DOMCreateElement);\n    Export(shortCode);\n    Export(__getType__);\n    Export(is_a);\n    Package(\"com.qcobjects\", [Processor]);\n\n\n\n\n    if (isBrowser) {\n      /**\n       * Adds a Cast functionality to every Element of DOM\n       */\n      (Element as unknown as IQCObjectsElement).prototype.Cast = function QC_Cast<T>(_o: T): T {\n        const _self: any = this;\n        return _Cast(_self, _o) as T;\n      };\n    }\n\n\n\n    if (isBrowser) {\n      window.onload = _Ready;\n      if (is_phonegap) {\n        document.addEventListener(\"deviceready\", _Ready, captureFalseTouch as any);\n      }\n    } else {\n      global.onload = _Ready;\n    }\n\n    if (isBrowser) {\n      window.addEventListener(\"popstate\", function (popStateEvent) {\n        popStateEvent.stopImmediatePropagation();\n        popStateEvent.stopPropagation();\n        Component.route()\n          .catch((e: any) => { throw new Error(`An error ocurred when trying to load initial routes. ${e}`); });\n      });\n    }\n\n\n\n    Export(serviceLoader);\n    Export(componentLoader);\n    Export(ComponentURI);\n    Export(ObjectName);\n    Export(_DataStringify);\n    Export(isQCObjects_Class);\n    Export(isQCObjects_Object);\n    Export(NamespaceRef);\n\n    /**\n     * Array math functions\n     */\n    // eslint-disable-next-line no-unused-vars\n    (Array as any).prototype.unique = function <T>(this: T[]): T[] {\n      return this.filter(function (value: any, index: any, self: any) {\n        return self.indexOf(value) === index;\n      });\n    };\n    (Array as any).unique = function <T>(a: Array<T>): T[] {\n      return (a as any).unique() as T[];\n    };\n    (_protected_code_)((Array as any).unique);\n    (_protected_code_)((Array as any).prototype.unique);\n    (Array as any).prototype.table = function (): void {\n      console.table(this);\n    };\n    (Array as any).table = function (a: any): void {\n      a.table();\n      return;\n    };\n    (_protected_code_)((Array as any).table);\n    (_protected_code_)((Array as any).prototype.table);\n    (Array as any).prototype.sum = function (): number {\n      return this.reduce(function (prev: any, current: any) {\n        return (__to_number(prev)) + (__to_number(current));\n      }, 0) as number;\n    };\n    (Array as any).sum = function (a: any): number {\n      return a.sum() as number;\n    };\n    (_protected_code_)((Array as any).sum);\n    (_protected_code_)((Array as any).prototype.sum);\n    (Array as any).prototype.avg = function (): number {\n      return (this.length < 1) ? (0) : (this.reduce(function (prev: any, current: any) {\n        return (((__to_number(prev)) + (__to_number(current))) / 2);\n      })) as number;\n    };\n    (Array as any).avg = function (a: any): number {\n      return a.avg() as number;\n    };\n    (_protected_code_)((Array as any).avg);\n    (_protected_code_)((Array as any).prototype.avg);\n    (Array as any).prototype.min = function (): number {\n      return this.reduce(function (prev: number, current: number) {\n        return (__to_number(prev) <= __to_number(current)) ? (prev) : (current);\n      }, Infinity) as number;\n    };\n    (Array as any).min = function (a: any): number {\n      return a.min() as number;\n    };\n    (_protected_code_)((Array as any).min);\n    (_protected_code_)((Array as any).prototype.min);\n    (Array as any).prototype.max = function (): number {\n      return this.reduce(function (prev: number, current: number) {\n        return (__to_number(prev) >= __to_number(current)) ? (prev) : (current);\n      }, 0) as number;\n    };\n    (Array as any).max = function (a: any): number {\n      return a.max() as number;\n    };\n    (_protected_code_)((Array as any).max);\n    (_protected_code_)((Array as any).prototype.max);\n    (Array as any).prototype.sortBy = function (propName: string, sortAsc = true): Array<any>[] {\n      const sort_function = (sortAsc) ? (\n        function (prev: any, current: any) {\n          return current[propName] < prev[propName] ? 1 : -1;\n        }\n      ) : (\n        function (prev: any, current: any) {\n          return current[propName] > prev[propName] ? 1 : -1;\n        }\n      );\n      return this.sort(sort_function) as Array<any>[];\n    };\n    (Array as any).sortBy = function (a: any, propName: string, sortAsc = true): Array<any>[] {\n      return a.sortBy(propName, sortAsc) as Array<any>[];\n    };\n    (_protected_code_)((Array as any).sortBy);\n    (_protected_code_)((Array as any).prototype.sortBy);\n\n    /**\n     * Extends the Array prototype to include a method that creates a matrix (2D array)\n     * with specified dimensions and fill value.\n     *\n     * @param {number} _length - The number of rows in the matrix.\n     * @param {any} [_fillValue=0] - The value to fill the matrix with (default is 0).\n     * @returns {Array<Array<any>>} A 2D array (matrix) filled with the specified value.\n     *\n     * @example\n     * // Create a 3x3 matrix filled with zeros\n     * const matrix = [].matrix(3);\n     * console.log(matrix);\n     * // Output: [0, 0, 0]\n     *\n     * @example\n     * // Create a 2x4 matrix filled with a specific value\n     * const matrix = [].matrix(2, 5);\n     * console.log(matrix);\n     * // Output: [5, 5]\n     *\n     * @example\n     * // Create a 4x2 matrix filled with null values\n     * const matrix = [].matrix(4, null);\n     * console.log(matrix);\n     * // Output: [null, null, null, null]\n     */\n    (Array as any).prototype.matrix = function (_length: number, _fillValue = 0) {\n      // eslint-disable-next-line no-unused-vars\n      const x_func = function (x = undefined) {\n        return _fillValue;\n      };\n      return Array.from({\n        length: _length\n      }, x_func);\n    };\n\n    /**\n     * Creates a matrix (2D array) from a given array.\n     * \n     * This function extends the Array constructor by adding a static method\n     * that generates a matrix with specified dimensions and fill value.\n     * \n     * @function\n     * @param {Array} a - The input array used to generate the matrix.\n     * @param {number} _length - The length of the matrix (number of rows).\n     * @param {number} [_fillValue=0] - The value to fill the matrix with (default is 0).\n     * @returns {Array} A 2D array (matrix) created from the input parameters.\n     * \n     * @example\n     * const myMatrix = Array.matrix(2, 5);\n     * // myMatrix will be [5, 5, 5]\n     */\n    (Array as any).matrix = function <T>(a: any, _length: number, _fillValue = 0): T[] {\n      return a.matrix(_length, _fillValue) as T[];\n    };\n\n    (_protected_code_)((Array as any).matrix);\n    (_protected_code_)((Array as any).prototype.matrix);\n\n\n    (Array as any).prototype.matrix2d = function (_length: number, _fillValue = 0) {\n      // eslint-disable-next-line no-unused-vars\n      const y_func = function (y: any) {\n        return _fillValue;\n      };\n      // eslint-disable-next-line no-unused-vars\n      const x_func = function (x: any) {\n        return Array.from({\n          length: _length\n        }, y_func);\n      };\n      return Array.from({\n        length: _length\n      }, x_func);\n    };\n    (Array as any).matrix2d = function <T>(a: any, _length: number, _fillValue = 0): T[][] {\n      return a.matrix2d(_length, _fillValue) as T[][];\n    };\n\n    (_protected_code_)((Array as any).matrix2d);\n    (_protected_code_)((Array as any).prototype.matrix2d);\n\n    (Array as any).prototype.matrix3d = function (_length: number, _fillValue = 0) {\n      // eslint-disable-next-line no-unused-vars\n      const y_func = function (y: any) {\n        return Array.from({\n          length: _length\n        }, function () {\n          return _fillValue;\n        });\n      };\n      // eslint-disable-next-line no-unused-vars\n      const x_func = function (x: any) {\n        return Array.from({\n          length: _length\n        }, y_func);\n      };\n      return Array.from({\n        length: _length\n      }, x_func);\n    };\n\n    (Array as any).matrix3d = function <T>(a: any, _length: number, _fillValue = 0): T[][][] {\n      return a.matrix3d(_length, _fillValue) as T[][][];\n    };\n\n\n    (_protected_code_)((Array as any).matrix3d);\n    (_protected_code_)((Array as any).prototype.matrix3d);\n\n\n\n    (String as unknown as any).prototype.list = function (): string[] {\n      const __instance = this;\n      return range(0, __instance.length - 1).map(function <T>(i: any): T {\n        return __instance[i] as T;\n      }) as string[];\n    };\n    (_protected_code_)((String as unknown as any).prototype.list);\n\n\n\n    /**\n     * End of array math functions\n     */\n\n\n\n    setDefaultProcessors();\n\n\n    /**\n     * Load every component tag declared in the body\n     **/\n    Ready(function () {\n      if (!CONFIG.get(\"useSDK\")) {\n        GlobalSettings.__start__()\n          .catch((e: any) => {\n            throw Error(e);\n          });\n      }\n    });\n\n    /*\n    Public variables and functions\n    */\n    Export(Export); /* exports the same Export function once */\n    Export(Import);\n    Export(Package);\n    Export(Class);\n    Export(New);\n    Export(Tag);\n    Export(Ready);\n    Export(ready);\n    Export(isBrowser);\n    Export(_methods_);\n    Export(GlobalSettings);\n\n\n    (loadSDK)();\n\n    if (isBrowser) {\n      asyncLoad(function (): any {\n        Ready(function () {\n\n          /*\n           * scroll management custom events\n           * usage: document.addEventListener('percentY90',function(e){console.log(e.detail.percentY)});\n           * possible events: scrollpercent, defaultscroll, percentY0, percentY25, percentY50, percentY75, percentY90\n           */\n\n          (function (_top) {\n            let ticking = false;\n            const scrollHeight = Math.max(\n              document.body.scrollHeight, document.documentElement.scrollHeight,\n              document.body.offsetHeight, document.documentElement.offsetHeight,\n              document.body.clientHeight, document.documentElement.clientHeight\n            );\n\n            const scrollWidth = Math.max(\n              document.body.scrollWidth, document.documentElement.scrollWidth,\n              document.body.offsetWidth, document.documentElement.offsetWidth,\n              document.body.clientWidth, document.documentElement.clientWidth\n            );\n\n            function scrollDispatcher(event: any) {\n              const percentY = Math.round(_top.scrollY * 100 / scrollHeight);\n              const percentX = Math.round(_top.scrollX * 100 / scrollWidth);\n              const scrollPercentEventEvent = new CustomEvent(\"scrollpercent\", {\n                detail: {\n                  percentX,\n                  percentY\n                }\n              });\n              event.target.dispatchEvent(scrollPercentEventEvent);\n              let secondaryEventName = \"defaultscroll\";\n              const __valid_scrolls__ = [0, 5, 10, 25, 50, 75, 90, 95, 100];\n              __valid_scrolls__.filter(function (p) {\n                return p === percentY;\n              }).map(function <T>(pY: T): T {\n                secondaryEventName = \"percentY\" + percentY.toString();\n                const secondaryCustomEvent = new CustomEvent(secondaryEventName, {\n                  detail: {\n                    percentX,\n                    percentY\n                  }\n                });\n                event.target.dispatchEvent(secondaryCustomEvent);\n                return pY;\n              });\n\n            }\n\n            document.addEventListener(\"scroll\", function (event) {\n\n              if (!ticking) {\n                requestAnimationFrame(function () {\n                  scrollDispatcher(event);\n                  ticking = false;\n                });\n\n                ticking = true;\n              }\n            });\n\n          })(_top);\n\n        });\n      }, []);\n    }\n\n    if (!isBrowser) {\n      if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"_fireAsyncLoad\")) {\n        _fireAsyncLoad.call(_top);\n      }\n      if (typeof _top.global !== \"undefined\" && Object.hasOwn(_top.global, \"onload\")) {\n        _top.global.onload.call(_top);\n      }\n    }\n\n\n    /* Freezing Object && Object.prototype to prevent prototype pollution risks */\n    (function (isBrowser) {\n      const __freeze__ = function () {\n        Object.freeze(Object.prototype);\n        Object.freeze(Object);\n      };\n      if (isBrowser && CONFIG.get(\"secureObjects\", false)) {\n        Ready(function () {\n          __freeze__();\n        });\n      } else if (CONFIG.get(\"secureObjects\", false)) {\n        __freeze__();\n      }\n    })(isBrowser);\n  }\n\n})(_top);\n", "export * from \"./QCObjects\";", "    // Object.assign Polyfilling\n    // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill\n    if (typeof Object.assign !== \"function\") {\n        // Must be writable: true, enumerable: false, configurable: true\n        Object.defineProperty(Object, \"assign\", {\n          // eslint-disable-next-line no-unused-vars\n          value: function assign(target: null, varArgs: any):any { // .length of function is 2\n            \"use strict\";\n            if (target === null) { // TypeError if undefined or null\n              throw new TypeError(\"Cannot convert undefined or null to object\");\n            }\n  \n            const to = Object(target);\n  \n            for (let index = 1; index < arguments.length; index++) {\n              // eslint-disable-next-line prefer-rest-params\n              const nextSource = arguments[index];\n  \n              if (nextSource !== null) { // Skip over if undefined or null\n                for (const nextKey in nextSource) {\n                  // Avoid bugs when hasOwnProperty is shadowed\n                  if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n                    to[nextKey] = nextSource[nextKey];\n                  }\n                }\n              }\n            }\n            return to;\n          },\n          writable: true,\n          configurable: true\n        });\n      }\nexport {};", "/**\n * QCObjects  2.4\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint strict: \"off\" */\n\n/* eslint no-mixed-operators: \"off\" */\n\n\"use strict\";\n\nexport * as AssignPolyfill from \"./assign\";\nexport * as __top__ from \"./top\";\nexport * as qcobjects from \"./MainProcess\";\nexport {_top, resetTop} from \"./top\";\nexport { _QC_CLASSES, _QC_PACKAGES, _QC_PACKAGES_IMPORTED, _QC_READY_LISTENERS } from \"./PrimaryCollections\";\nexport { _DataStringify } from \"./DataStringify\";\nexport { _DOMCreateElement } from \"./DOMCreateElement\";\nexport { _methods_, _protected_code_ } from \"./introspection\";\nexport { logger, Logger } from \"./Logger\";\nexport { _require_, is_phonegap, isBrowser, isNodeCommonJS } from \"./platform\";\nexport { subelements } from \"./subelements\";\nexport { __is_raw_class__ } from \"./is_raw_class\";\nexport { _LegacyCopy } from \"./LegacyCopy\";\nexport { _fireAsyncLoad, asyncLoad } from \"./asyncLoad\";\nexport { __instanceID } from \"./IncrementInstanceID\";\nexport { ObjectName } from \"./ObjectName\";\nexport { __getType__ } from \"./getType\";\nexport { is_a } from \"./is_a\";\nexport { ComplexStorageCache } from \"./ComplexStorageCache\";\nexport { waitUntil } from \"./waitUntil\";\nexport { _Cast, _CastProps } from \"./Cast\";\nexport { isQCObjects_Class, isQCObjects_Object } from \"./isQCObjects\";\nexport { Package } from \"./Package\";\nexport { ClassFactory } from \"./ClassFactory\";\nexport { Export } from \"./Export\";\nexport { Class } from \"./Class\";\nexport { InheritClass } from \"./InheritClass\";\nexport { _super_ } from \"./super\";\nexport { shortCode } from \"./shortCode\";\nexport { Processor } from \"./Processor\";\nexport { New } from \"./New\";\nexport { _Ready, ready, Ready } from \"./Ready\";\nexport { captureFalseTouch } from \"./captureFalseTouch\";\nexport { serviceLoader } from \"./serviceLoader\";\nexport { componentLoader } from \"./componentLoader\";\nexport { _buildComponentsFromElements_, ComponentURI } from \"./ComponentFactory\";\nexport { NamespaceRef } from \"./NamespaceRef\";\nexport { setDefaultProcessors } from \"./defaultProcessors\";\nexport { Tag, TagElements } from \"./Tag\";\nexport { Import } from \"./Import\";\nexport { BackendMicroservice } from \"./BackendMicroservice\";\nexport { Component } from \"./Component\";\nexport { _Crypt } from \"./Crypt\";\nexport { DefaultTemplateHandler } from \"./DefaultTemplateHandler\";\nexport { SourceJS } from \"./SourceJS\";\nexport { SourceCSS } from \"./SourceCSS\";\nexport { GlobalSettings } from \"./globalSettings\";\nexport { RegisterClass } from \"./RegisterClass\";\nexport { _ComponentWidget_, RegisterWidget, RegisterWidgets } from \"./WidgetsFactory\";\nexport { CONFIG } from \"./CONFIG\";\nexport { Controller } from \"./Controller\";\nexport { View } from \"./View\";\nexport { ConfigService, JSONService, Service } from \"./Service\";\nexport { VO } from \"./VO\";\nexport { Effect } from \"./Effect\";\nexport { TransitionEffect } from \"./TransitionEffect\";\nexport { Timer } from \"./Timer\";\nexport { _tag_filter_ } from \"./tag_filter\";\nexport { range } from \"./range\";\nexport { ArrayCollection, ArrayList } from \"./ArrayCollection\";\nexport { DDO } from \"./DDO\";\nexport { Toggle } from \"./Toggle\";\nexport { findPackageNodePath } from \"./findPackageNodePath\";\nexport { getDocumentLayout } from \"./DocumentLayout\";\nexport { IQCObjectsElement, IQCObjectsShadowedElement } from \"types\";\nexport { __to_number } from \"./mathFunctions\";\nexport {_top as global} from \"./top\";\nexport {__make_global__} from \"./make_global\";\nexport {get, set} from \"./top\";\n", "import { Http2Stream } from \"http2\";\nimport { Stream } from \"stream\";\nimport { _basePath_ } from \"./basePath\";\nimport { _DataStringify } from \"./DataStringify\";\nimport { _domain_ } from \"./domain\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { IMicroservice } from \"types\";\n\nexport class BackendMicroservice extends InheritClass {\n  stream: any;\n  route: any;\n  headers: any;\n  request: any;\n\n  constructor({\n    domain = _domain_,\n    basePath = _basePath_,\n    body = null,\n    stream = null,\n    request = null\n  }:IMicroservice) {\n    super({\n      domain,\n      basePath,\n      body,\n      stream,\n      request\n    });\n    logger.debug(\"Initializing BackendMicroservice...\");\n    const microservice = this;\n    if (typeof this.body === \"undefined\") {\n      this.body = null;\n    }\n    if (typeof body !== \"undefined\") {\n      this.body = body;\n    }\n    this.cors();\n    microservice.stream = stream;\n    (stream as any)?.on(\"data\", (data: any) => {\n      // data from POST, GET\n      const requestMethod = (request as any)?.method.toLowerCase();\n      const supportedMethods = {\n        \"post\": microservice.post.bind(microservice),\n      };\n      if (Object.hasOwn(supportedMethods, requestMethod)) {\n        (supportedMethods as any)[requestMethod].call(microservice, data);\n      }\n    });\n\n    // data from POST, GET\n    const requestMethod = (request as any)?.method.toLowerCase();\n    const supportedMethods = {\n      \"get\": microservice.get.bind(microservice),\n      \"head\": microservice.head.bind(microservice),\n      \"put\": microservice.put.bind(microservice),\n      \"delete\": microservice.delete.bind(microservice),\n      \"connect\": microservice.connect.bind(microservice),\n      \"options\": microservice.options.bind(microservice),\n      \"trace\": microservice.trace.bind(microservice),\n      \"patch\": microservice.patch.bind(microservice)\n    };\n    if (Object.hasOwn(supportedMethods, requestMethod)) {\n      (supportedMethods as any)[requestMethod].call(microservice);\n    }\n\n\n  }\n\n  cors():void {\n    if (this.route.cors) {\n      logger.debug(\"Validating CORS...\");\n      const {\n        allow_origins,\n        allow_credentials,\n        allow_methods,\n        allow_headers\n      } = this.route.cors;\n      const microservice = this;\n      if (typeof microservice.headers !== \"object\") {\n        microservice.headers = {};\n      }\n      if (typeof microservice.route.responseHeaders !== \"object\") {\n        microservice.route.responseHeaders = {};\n      }\n      if (typeof allow_origins !== \"undefined\") {\n        logger.debug(\"CORS: allow_origins available. Validating origins...\");\n        // an example of allow_origins is ['https://example.com','http://www.example.com']\n        if (allow_origins === \"*\" || (typeof microservice.request.headers.origin === \"undefined\") || [...allow_origins].indexOf(microservice.request.headers.origin) !== -1) {\n          // for compatibility with all browsers allways return a wildcard when the origin is allowed\n          logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n          microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n        } else {\n          logger.debug(\"CORS: Origin is not allowed: \" + microservice.request.headers.origin);\n          logger.debug(\"CORS: Forcing to finish the response...\");\n          this.body = {};\n          try {\n            this.done();\n          } catch (e:any) {\n            logger.debug(`It was not possible to finish the call to the microservice: ${e}`);\n          }\n        }\n      } else {\n        logger.debug(\"CORS: no allow_origins available. Allowing all origins...\");\n        logger.debug(\"CORS: Adding header Access-Control-Allow-Origin=*\");\n        microservice.route.responseHeaders[\"Access-Control-Allow-Origin\"] = \"*\";\n      }\n      if (typeof allow_credentials !== \"undefined\") {\n        logger.debug(`CORS: allow_credentials present. Allowing ${allow_credentials}...`);\n        microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = allow_credentials.toString();\n      } else {\n        logger.debug(\"CORS: No allow_credentials present. Allowing all credentials.\");\n        microservice.route.responseHeaders[\"Access-Control-Allow-Credentials\"] = \"true\";\n      }\n      if (typeof allow_methods !== \"undefined\") {\n        logger.debug(`CORS: allow_methods present. Allowing ${allow_methods}...`);\n        microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = [...allow_methods].join(\",\");\n      } else {\n        logger.debug(\"CORS: No allow_methods present. Allowing only GET, OPTIONS and POST\");\n        microservice.route.responseHeaders[\"Access-Control-Allow-Methods\"] = \"GET, OPTIONS, POST\";\n      }\n      if (typeof allow_headers !== \"undefined\") {\n        logger.debug(`CORS: allow_headers present. Allowing ${allow_headers}...`);\n        microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = [...allow_headers].join(\",\");\n      } else {\n        logger.debug(\"CORS: No allow_headers present. Allowing all headers...\");\n        microservice.route.responseHeaders[\"Access-Control-Allow-Headers\"] = \"*\";\n      }\n    } else {\n      logger.debug(\"No CORS validation available. You can specify cors in CONFIG.backend.routes[].cors\");\n    }\n  }\n\n\n  head(formData: any):void {\n    logger.debug(`[BackendMicroservice.head] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  get(formData: any):void {\n    logger.debug(`[BackendMicroservice.get] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  post(formData: any):void {\n    logger.debug(`[BackendMicroservice.post] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  put(formData: any):void {\n    logger.debug(`[BackendMicroservice.put] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  delete(formData: any):void {\n    logger.debug(`[BackendMicroservice.delete] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  connect(formData: any):void {\n    logger.debug(`[BackendMicroservice.connect] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  options(formData: any):void {\n    logger.debug(`[BackendMicroservice.options] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  trace(formData: any):void {\n    logger.debug(`[BackendMicroservice.trace] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  patch(formData: any):void {\n    logger.debug(`[BackendMicroservice.patch] Data received: ${_DataStringify(formData)}`);\n    this.done();\n  }\n\n  finishWithBody(stream?: Http2Stream | Stream):void {\n    try {\n      logger.debug(\"[BackendMicroservice.finishWithBody] Ending the stream...\");\n      logger.debug(`[BackendMicroservice.finishWithBody] type of body is: ${typeof this.body}`);\n      if (typeof this.body !== \"string\") {\n        this.body = _DataStringify(this.body);\n      }\n      logger.debug(`[BackendMicroservice.finishWithBody] \\n body: ${this.body} `);\n      (stream as any)?.write(this.body);\n      (stream as any)?.end();\n      logger.debug(\"[BackendMicroservice.finishWithBody] Stream ended.\");\n    } catch (e:any) {\n      logger.debug(`[BackendMicroservice.finishWithBody] Something went wrong ending the stream: ${e}`);\n    }\n  }\n\n  done():void {\n    logger.debug(\"[BackendMicroservice.done] Finalizing the response...\");\n    const microservice = this;\n    const stream = microservice.stream;\n    try {\n      logger.debug(\"[BackendMicroservice.done] Sending response headers...\");\n      if (microservice.route.responseHeaders) {\n        logger.debug(`[BackendMicroservice.done] Response headers present: ${Object.keys(microservice.route.responseHeaders).join(\",\")}`);\n        stream.respond(microservice.route.responseHeaders);\n      } else {\n        throw Error(\"[BackendMicroservice.done] No headers present.\");\n      }\n    } catch (e:any) {\n      logger.debug(`[BackendMicroservice.done] Something went wrong sending response headers: ${e}`);\n    }\n    if (microservice.body !== null) {\n      try {\n        logger.debug(\"[BackendMicroservice.done] A body of message is present. Finalizing the response...\");\n        microservice.finishWithBody.call(microservice, stream);\n      } catch (e:any) {\n        logger.debug(`[BackendMicroservice.done] Something went wrong finalizing the response: ${e}`);\n      }\n    } else {\n      logger.debug(\"[BackendMicroservice.done] No body present. Ending stream...\");\n      stream.end();\n    }\n  }\n\n\n}\n\nPackage(\"com.qcobjects.api\", [\n  BackendMicroservice\n]);\n", "import { DefaultTemplateHandlerParams, IComponent } from \"types\";\nimport { logger } from \"./Logger\";\nimport { GlobalProcessor as Processor } from \"./Processor\";\nimport { RegisterClass } from \"./RegisterClass\";\n\nexport class DefaultTemplateHandler {\n  template = \"\";\n  __definition = {};\n  static __definition = {};\n  component?: IComponent;\n\n  constructor({ component, template }: DefaultTemplateHandlerParams) {\n    this.component = component;\n    this.template = template;\n  }\n\n  assign(data: any): string {\n    const templateInstance = this;\n    if (typeof templateInstance.component === \"undefined\") {\n      throw new Error(\"DefaultTemplateHandler.assign: component is undefined\");\n    }\n    if (typeof templateInstance.component.processorHandler === \"undefined\") {\n      throw new Error(\"DefaultTemplateHandler.assign: component.processorHandler is undefined\");\n    }\n    const processorHandler = templateInstance.component.processorHandler;\n    processorHandler.component = templateInstance.component;\n    let parsedAssignmentText = (typeof templateInstance.template !== \"undefined\") ? (templateInstance.template) : (\"\");\n    if (typeof data === \"object\") {\n      [...Object.keys(data)].map((k): any => {\n        let _value = data[k];\n        if (typeof _value === \"string\" || typeof _value === \"number\" || (!isNaN(_value))) {\n          try {\n            _value = Processor.processObject.bind(processorHandler).call(processorHandler, _value, templateInstance.component);\n            parsedAssignmentText = parsedAssignmentText.replace((new RegExp(`{{${k}}}`, \"g\")), _value);\n          } catch (e: any) {\n            logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n            throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n          }\n        }\n        return k;\n      });\n    } else {\n      logger.debug(`${templateInstance.component?.name}.data is not an object`);\n    }\n    try {\n      parsedAssignmentText = Processor.processObject.call(processorHandler, parsedAssignmentText, templateInstance.component);\n    } catch (e: any) {\n      logger.warn(`${templateInstance.component?.name} could not parse processors.`);\n      throw Error(`${templateInstance.component?.name} could not parse processors. Reason: ${e.message}`);\n    }\n    return parsedAssignmentText;\n  }\n\n}\nRegisterClass(DefaultTemplateHandler, \"com.qcobjects\");\n", "import { __make_global__ } from \"./make_global\";\nimport { __register_class__ } from \"./PrimaryCollections\";\n\n\n\nexport const RegisterClass = function (_class_:any, __namespace?:string):any {\n    return __register_class__(_class_, __namespace);\n};\n__make_global__(RegisterClass);", "import { ISourceJS } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { logger } from \"./Logger\";\n\nexport class SourceJS extends InheritClass implements ISourceJS {\n    domain:string= _domain_;\n    basePath:string= _basePath_;\n    type= \"text/javascript\";\n    containerTag= \"body\";\n    url= \"\";\n    data= {};\n    async= false;\n    external= false;\n\n    constructor(o:any){\n      super(o);\n      this.body= _DOMCreateElement(\"script\");\n\n    }\n    set(name:string, value:any):void {\n      this[name] = value;\n    }\n    get(name:string, _default?:any):any {\n      return this[name] || _default;\n    }\n    status= false;\n    done():void { }\n    fail():void { }\n    rebuild():void {\n      const context = this;\n      try {\n        document.getElementsByTagName(context.containerTag)[0].appendChild(\n          (function (s:any, url:string, context:any):any {\n            s.type = context.type;\n            s.src = url;\n            s.crossOrigin = (Object.hasOwn(context, \"crossOrigin\")) ? (context.crossOrigin) : (\"anonymous\");\n            s.async = context.async;\n            s.onreadystatechange = function () {\n              if (this.readyState === \"complete\") {\n                context.done.call(context);\n              }\n            };\n            s.onload = function (e:any) {\n              context.status = true;\n              context.done.call(context, e);\n            };\n            s.onerror = function (e:any) {\n              context.status = false;\n              context.fail.call(context, e);\n            };\n            context.body = s;\n            return s;\n          }).call(this,\n            _DOMCreateElement(\"script\"),\n            (this.external) ? (this.url) : (this.basePath + this.url), context));\n      } catch (e:any) {\n        context.status = false;\n        logger.debug(`An error ocurred: ${e}`);\n        context.fail();\n      }\n    }\n    Cast(o:any):any {\n      return _Cast(this, o);\n    }\n    _new_(properties:any):void {\n      this.__new__(properties);\n      this.rebuild();\n    }\n  }\n\n  Package(\"com.qcobjects\", [SourceJS]);\n", "import { ISourceCSS, TBody } from \"types\";\nimport { _basePath_ } from \"./basePath\";\nimport { _Cast } from \"./Cast\";\nimport { _domain_ } from \"./domain\";\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { InheritClass } from \"./InheritClass\";\nimport { isBrowser } from \"./platform\";\nimport { Package } from \"./Package\";\n\nexport class SourceCSS extends InheritClass implements ISourceCSS {\n  domain: string = _domain_;\n  basePath: string = _basePath_;\n  url = \"\";\n  data = {};\n  async = false;\n  external = false;\n\n  constructor(o: any) {\n    super(o);\n    this.body = _DOMCreateElement(\"link\") as TBody;\n  }\n  fail(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  Cast(o: any): any {\n    return _Cast(this, o);\n  }\n  set(name: string, value: any): void {\n    this[name] = value;\n  }\n  get(name: string, _default?: any): any {\n    return this[name] || _default;\n  }\n  done(): void { }\n  rebuild(): void {\n    const context = this;\n    if (isBrowser) {\n      window.document.getElementsByTagName(\"head\")[0].appendChild(\n        (function (s: any, url: string, context: any): any {\n          s.type = \"text/css\";\n          s.rel = \"stylesheet\";\n          s.href = url;\n          s.crossOrigin = \"anonymous\";\n          s.onreadystatechange = function () {\n            if (this.readyState === \"complete\") {\n              context.done.call(context);\n            }\n          };\n          s.onload = context.done;\n          context.body = s;\n          return s;\n        }).call(this,\n          _DOMCreateElement(\"link\"),\n          (this.external) ? (this.url) : (this.basePath + this.url), context));\n    }\n  }\n}\n\nPackage(\"com.qcobjects\", [SourceCSS]);", " \n/* eslint-disable no-unused-vars */\nimport { _DOMCreateElement } from \"./DOMCreateElement\";\nimport { Export } from \"./Export\";\nimport { _protected_code_ } from \"./introspection\";\nimport { isBrowser } from \"./platform\";\nimport { I_ComponentWidget_ } from \"types\";\n\nclass QCObjectsWidgetNode implements I_ComponentWidget_ {\n  writingSuggestions!: string;\n  currentCSSZoom!: number;\n  ariaColIndexText!: string | null;\n  ariaRowIndexText!: string | null;\n  accessKey!: string;\n  accessKeyLabel!: string;\n  autocapitalize!: string;\n  dir!: string;\n  draggable!: boolean;\n  hidden!: boolean;\n  inert!: boolean;\n  innerText!: string;\n  lang!: string;\n  offsetHeight!: number;\n  offsetLeft!: number;\n  offsetParent!: Element | null;\n  offsetTop!: number;\n  offsetWidth!: number;\n  outerText!: string;\n  popover!: string | null;\n  spellcheck!: boolean;\n  title!: string;\n  translate!: boolean;\n  attachInternals(): ElementInternals {\n    throw new Error(\"Method not implemented.\");\n  }\n  click(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  hidePopover(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  showPopover(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  togglePopover(force?: boolean): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  attributes!: NamedNodeMap;\n  classList!: DOMTokenList;\n  className!: string;\n  clientHeight!: number;\n  clientLeft!: number;\n  clientTop!: number;\n  clientWidth!: number;\n  id!: string;\n  innerHTML!: string;\n  localName!: string;\n  namespaceURI!: string | null;\n  onfullscreenchange!: ((this: Element, ev: Event) => any) | null;\n  onfullscreenerror!: ((this: Element, ev: Event) => any) | null;\n  outerHTML!: string;\n  ownerDocument!: Document;\n  part!: DOMTokenList;\n  prefix!: string | null;\n  scrollHeight!: number;\n  scrollLeft!: number;\n  scrollTop!: number;\n  scrollWidth!: number;\n  shadowRoot!: ShadowRoot | null;\n  slot!: string;\n  tagName!: string;\n  attachShadow(init: ShadowRootInit): ShadowRoot {\n    throw new Error(\"Method not implemented.\");\n  }\n  checkVisibility(options?: CheckVisibilityOptions): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  closest(selectors: unknown): any {\n    throw new Error(\"Method not implemented.\");\n  }\n  computedStyleMap(): StylePropertyMapReadOnly {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAttribute(qualifiedName: string): string | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAttributeNS(namespace: string | null, localName: string): string | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAttributeNames(): string[] {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAttributeNode(qualifiedName: string): Attr | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAttributeNodeNS(namespace: string | null, localName: string): Attr | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  getBoundingClientRect(): DOMRect {\n    throw new Error(\"Method not implemented.\");\n  }\n  getClientRects(): DOMRectList {\n    throw new Error(\"Method not implemented.\");\n  }\n  getElementsByClassName(classNames: string): HTMLCollectionOf<Element> {\n    throw new Error(\"Method not implemented.\");\n  }\n  getElementsByTagName(qualifiedName: unknown): HTMLCollectionOf<Element> | HTMLCollectionOf<any> {\n    throw new Error(\"Method not implemented.\");\n  }\n  getElementsByTagNameNS(namespace: unknown, localName: unknown): HTMLCollectionOf<any> {\n    throw new Error(\"Method not implemented.\");\n  }\n  getHTML(options?: GetHTMLOptions): string {\n    throw new Error(\"Method not implemented.\");\n  }\n  hasAttribute(qualifiedName: string): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  hasAttributeNS(namespace: string | null, localName: string): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  hasAttributes(): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  hasPointerCapture(pointerId: number): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  insertAdjacentElement(where: InsertPosition, element: Element): Element | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  insertAdjacentHTML(position: InsertPosition, string: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  insertAdjacentText(where: InsertPosition, data: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  matches(selectors: string): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  releasePointerCapture(pointerId: number): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  removeAttribute(qualifiedName: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  removeAttributeNS(namespace: string | null, localName: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  removeAttributeNode(attr: Attr): Attr {\n    throw new Error(\"Method not implemented.\");\n  }\n  requestFullscreen(options?: FullscreenOptions): Promise<void> {\n    throw new Error(\"Method not implemented.\");\n  }\n  requestPointerLock(options?: PointerLockOptions): Promise<void> {\n    throw new Error(\"Method not implemented.\");\n  }\n  scroll(x?: unknown, y?: unknown): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  scrollBy(x?: unknown, y?: unknown): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  scrollTo(x?: unknown, y?: unknown): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  setAttribute(qualifiedName: string, value: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  setAttributeNode(attr: Attr): Attr | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  setAttributeNodeNS(attr: Attr): Attr | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  setHTMLUnsafe(html: string): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  setPointerCapture(pointerId: number): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  toggleAttribute(qualifiedName: string, force?: boolean): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  webkitMatchesSelector(selectors: string): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  baseURI!: string;\n  childNodes!: NodeListOf<ChildNode>;\n  firstChild!: ChildNode | null;\n  isConnected!: boolean;\n  lastChild!: ChildNode | null;\n  nextSibling!: ChildNode | null;\n  nodeName!: string;\n  nodeType!: number;\n  nodeValue!: string | null;\n  parentElement!: HTMLElement | null;\n  parentNode!: ParentNode | null;\n  previousSibling!: ChildNode | null;\n  textContent!: string | null;\n  appendChild<T extends Node>(node: T): T {\n    throw new Error(\"Method not implemented.\");\n  }\n  cloneNode(deep?: boolean): Node {\n    throw new Error(\"Method not implemented.\");\n  }\n  compareDocumentPosition(other: Node): number {\n    throw new Error(\"Method not implemented.\");\n  }\n  contains(other: Node | null): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  getRootNode(options?: GetRootNodeOptions): Node {\n    throw new Error(\"Method not implemented.\");\n  }\n  hasChildNodes(): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  insertBefore<T extends Node>(node: T, child: Node | null): T {\n    throw new Error(\"Method not implemented.\");\n  }\n  isDefaultNamespace(namespace: string | null): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  isEqualNode(otherNode: Node | null): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  isSameNode(otherNode: Node | null): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  lookupNamespaceURI(prefix: string | null): string | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  lookupPrefix(namespace: string | null): string | null {\n    throw new Error(\"Method not implemented.\");\n  }\n  normalize(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  removeChild<T extends Node>(child: T): T {\n    throw new Error(\"Method not implemented.\");\n  }\n  replaceChild<T extends Node>(node: Node, child: T): T {\n    throw new Error(\"Method not implemented.\");\n  }\n  ELEMENT_NODE!: 1;\n  ATTRIBUTE_NODE!: 2;\n  TEXT_NODE!: 3;\n  CDATA_SECTION_NODE!: 4;\n  ENTITY_REFERENCE_NODE!: 5;\n  ENTITY_NODE!: 6;\n  PROCESSING_INSTRUCTION_NODE!: 7;\n  COMMENT_NODE!: 8;\n  DOCUMENT_NODE!: 9;\n  DOCUMENT_TYPE_NODE!: 10;\n  DOCUMENT_FRAGMENT_NODE!: 11;\n  NOTATION_NODE!: 12;\n  DOCUMENT_POSITION_DISCONNECTED!: 1;\n  DOCUMENT_POSITION_PRECEDING!: 2;\n  DOCUMENT_POSITION_FOLLOWING!: 4;\n  DOCUMENT_POSITION_CONTAINS!: 8;\n  DOCUMENT_POSITION_CONTAINED_BY!: 16;\n  DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC!: 32;\n  dispatchEvent(event: Event): boolean {\n    throw new Error(\"Method not implemented.\");\n  }\n  ariaAtomic!: string | null;\n  ariaAutoComplete!: string | null;\n  ariaBrailleLabel!: string | null;\n  ariaBrailleRoleDescription!: string | null;\n  ariaBusy!: string | null;\n  ariaChecked!: string | null;\n  ariaColCount!: string | null;\n  ariaColIndex!: string | null;\n  ariaColSpan!: string | null;\n  ariaCurrent!: string | null;\n  ariaDescription!: string | null;\n  ariaDisabled!: string | null;\n  ariaExpanded!: string | null;\n  ariaHasPopup!: string | null;\n  ariaHidden!: string | null;\n  ariaInvalid!: string | null;\n  ariaKeyShortcuts!: string | null;\n  ariaLabel!: string | null;\n  ariaLevel!: string | null;\n  ariaLive!: string | null;\n  ariaModal!: string | null;\n  ariaMultiLine!: string | null;\n  ariaMultiSelectable!: string | null;\n  ariaOrientation!: string | null;\n  ariaPlaceholder!: string | null;\n  ariaPosInSet!: string | null;\n  ariaPressed!: string | null;\n  ariaReadOnly!: string | null;\n  ariaRequired!: string | null;\n  ariaRoleDescription!: string | null;\n  ariaRowCount!: string | null;\n  ariaRowIndex!: string | null;\n  ariaRowSpan!: string | null;\n  ariaSelected!: string | null;\n  ariaSetSize!: string | null;\n  ariaSort!: string | null;\n  ariaValueMax!: string | null;\n  ariaValueMin!: string | null;\n  ariaValueNow!: string | null;\n  ariaValueText!: string | null;\n  role!: string | null;\n  animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation {\n    throw new Error(\"Method not implemented.\");\n  }\n  getAnimations(options?: GetAnimationsOptions): Animation[] {\n    throw new Error(\"Method not implemented.\");\n  }\n  after(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  before(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  remove(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  replaceWith(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  nextElementSibling!: Element | null;\n  previousElementSibling!: Element | null;\n  childElementCount!: number;\n  children!: HTMLCollection;\n  firstElementChild!: Element | null;\n  lastElementChild!: Element | null;\n   \n  append(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n   \n  prepend(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n   \n  querySelector(selectors: unknown): any {\n    throw new Error(\"Method not implemented.\");\n  }\n   \n  querySelectorAll(selectors: unknown): NodeListOf<any> {\n    throw new Error(\"Method not implemented.\");\n  }\n  replaceChildren(...nodes: (Node | string)[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  assignedSlot!: HTMLSlotElement | null;\n  attributeStyleMap!: StylePropertyMap;\n  style!: CSSStyleDeclaration;\n  contentEditable!: string;\n  enterKeyHint!: string;\n  inputMode!: string;\n  isContentEditable!: boolean;\n  onabort!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n  onanimationcancel!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n  onanimationend!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n  onanimationiteration!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n  onanimationstart!: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;\n  onauxclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onbeforeinput!: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;\n  onbeforetoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onblur!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n  oncancel!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncanplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncanplaythrough!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onclose!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncontextlost!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncontextmenu!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  oncontextrestored!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncopy!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n  oncuechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oncut!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n  ondblclick!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  ondrag!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondragend!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondragenter!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondragleave!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondragover!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondragstart!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondrop!: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;\n  ondurationchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onemptied!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onended!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onerror!: OnErrorEventHandler;\n  onfocus!: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;\n  onformdata!: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null;\n  ongotpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  oninput!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  oninvalid!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onkeydown!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n  onkeypress!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n  onkeyup!: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null;\n  onload!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onloadeddata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onloadedmetadata!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onloadstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onlostpointercapture!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onmousedown!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmouseenter!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmouseleave!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmousemove!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmouseout!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmouseover!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onmouseup!: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;\n  onpaste!: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;\n  onpause!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onplay!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onplaying!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onpointercancel!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerdown!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerenter!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerleave!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointermove!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerout!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerover!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onpointerup!: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;\n  onprogress!: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;\n  onratechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onreset!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onresize!: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;\n  onscroll!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onscrollend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onsecuritypolicyviolation!: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;\n  onseeked!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onseeking!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onselect!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onselectionchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onselectstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onslotchange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onstalled!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onsubmit!: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;\n  onsuspend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  ontimeupdate!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  ontoggle!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n  ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;\n  ontransitioncancel!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n  ontransitionend!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n  ontransitionrun!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n  ontransitionstart!: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null;\n  onvolumechange!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwaiting!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwebkitanimationend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwebkitanimationiteration!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwebkitanimationstart!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwebkittransitionend!: ((this: GlobalEventHandlers, ev: Event) => any) | null;\n  onwheel!: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null;\n  autofocus!: boolean;\n  dataset!: DOMStringMap;\n  nonce?: string | undefined;\n  tabIndex!: number;\n  blur(): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  focus(options?: FocusOptions): void {\n    throw new Error(\"Method not implemented.\");\n  }\n\n}\n\nexport let _ComponentWidget_:CustomElementConstructor;\nif (isBrowser) {\n  _ComponentWidget_ = class _ComponentWidget_ extends HTMLElement implements I_ComponentWidget_ {\n    constructor() {\n      super();\n      const componentWidget = this;\n      const componentName = componentWidget.nodeName.toLowerCase();\n      const componentBody = _DOMCreateElement(\"quick-component\");\n      const __enabled__atributes__ = componentWidget.getAttributeNames();\n      componentBody.setAttribute(\"name\", componentName);\n  \n      if (!componentWidget.hasAttribute(\"shadowed\")) {\n        componentBody.setAttribute(\"shadowed\", \"true\");\n      }\n      __enabled__atributes__.forEach( (attributeName) => {\n        if (componentWidget.hasAttribute(attributeName)) {\n          componentBody.setAttribute(attributeName, componentWidget?.getAttribute(attributeName) as any);\n          componentWidget.removeAttribute(attributeName);\n        }\n      });\n      const data_attributenames = componentWidget.getAttributeNames().filter(function (a) {\n        return a.startsWith(\"data-\");\n      }).map(function (a) {\n        return a.split(\"-\")[1];\n      });\n      data_attributenames.forEach(function (_attribute_name_) {\n        componentBody.setAttribute(\"data-\" + _attribute_name_, componentWidget?.getAttribute(\"data-\" + _attribute_name_) as any);\n        componentWidget.removeAttribute(\"data-\" + _attribute_name_);\n      });\n      [...(componentWidget as any).children].forEach( (element) => {\n        componentBody.appendChild(element.cloneNode(true));\n        element.remove();\n      });\n  \n      componentWidget.append(componentBody);\n    }\n  };\n  \n} else {\n  _ComponentWidget_ = class _ComponentWidget_ extends QCObjectsWidgetNode {\n    constructor (){\n      super();\n      throw new Error (\"Class not implemented.\");\n    }\n  };\n}\nExport(_ComponentWidget_);\nexport const RegisterWidget = (widgetName: string):void => {\n  if (isBrowser){\n    customElements.define(widgetName, class extends _ComponentWidget_ { });\n  } else {\n    throw new Error (\"RegisterWidget is not implemented for non browser ecosystems yet.\");\n  }\n};\nexport const RegisterWidgets =  (...args: string[]):void  =>{\n  const widgetList = [...args];\n  widgetList.filter(function (widgetName) {\n    return typeof widgetName === \"string\";\n  }).map(function (widgetName) {\n    return RegisterWidget(widgetName);\n  });\n};\n(_protected_code_)(RegisterWidget);\n(_protected_code_)(RegisterWidgets);\nExport(RegisterWidget);\nExport(RegisterWidgets);\n", "import { IController, IComponent, TControllerParams } from \"types\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { New } from \"./New\";\nimport { Package } from \"./Package\";\nimport { isBrowser } from \"./platform\";\n\nexport class Controller extends InheritClass implements IController{\n\n  component!: IComponent ;\n  dependencies?: any[] = [];\n  constructor({\n    component,\n    dependencies\n  }: TControllerParams) {\n    super({ component, dependencies });\n    this.component = component;\n    this.dependencies = dependencies;\n    if (typeof this.component === \"undefined\" || this.component === null) {\n      throw Error(`${__getType__(this)} must be called with a component`);\n    }\n  }\n\n  // eslint-disable-next-line no-unused-vars\n  fail?(...args: [...args: any[]]  ): void {\n    throw new Error(\"Method not implemented.\");\n  }\n\n\n  routingSelectedAttr(attrName: string):any {\n    return this.component?.routingSelected.map( (r: any):any => {\n      return r[attrName];\n    }).filter(function (v: any) {\n      return v;\n    }).pop();\n  }\n\n  isTouchable():boolean {\n    return (\"ontouchstart\" in window) ||\n      ((navigator as any).MaxTouchPoints > 0) ||\n      ((navigator as any).msMaxTouchPoints > 0);\n  }\n\n  onpress(subelementSelector: string, handler: Function):void {\n    if (isBrowser){\n      try {\n        if (this.isTouchable()) {\n          ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"touchstart\", handler, {\n            passive: true\n          });\n        } else {\n          ((this.component?.componentRoot as any)?.subelements(subelementSelector) as any[])[0].addEventListener(\"click\", handler, {\n            passive: true\n          });\n        }\n      } catch (e:any) {\n        logger.debug(`An error ocurred: ${e}.`);\n        logger.debug(\"No button to assign press event\");\n      }\n  \n    }\n  }\n\n  createRoutingController():void {\n    const controller = this;\n    const component = controller.component;\n    const controllerName = controller.routingSelectedAttr(\"controllerclass\");\n    if (typeof controllerName !== \"undefined\") {\n      const _Controller = ClassFactory(controllerName) as unknown as IController;\n      if (typeof _Controller !== \"undefined\" && component !== null) {\n        component.routingController = New(_Controller, {\n          component\n        }) as IController; // Initializes the main controller for the component\n        if (typeof component.routingController !== \"undefined\" \n          &&  Object.hasOwn(component.routingController, \"done\") \n          && typeof component.routingController.done === \"function\") {\n          component.routingController.done.call(component.routingController);\n        }\n      }\n    }\n  }\n\n  done():void { }\n}\n\nPackage(\"com.qcobjects.controllers\", [\n  Controller\n]);\n", "import { __getType__ } from \"./getType\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { TViewParams } from \"types\";\n\nexport class View extends InheritClass {\n    constructor({ component = undefined, dependencies = [] }:TViewParams) {\n      super({component, dependencies});\n      if (typeof this.component === \"undefined\" || this.component === \"null\") {\n        throw Error(`${__getType__(this)} must be called with a component`);\n      }\n\n    }\n  }\n\nPackage(\"com.qcobjects.views\", [\n    View\n]);", "import { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class VO extends InheritClass {}\n\nPackage(\"com.qcobjects.valueObjects\", [\n    VO\n  ]);", "import { IEffect, TEffectParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\nimport { _methods_, _protected_code_ } from \"./introspection\";\nimport { ClassFactory } from \"./ClassFactory\";\n\nclass Effect extends InheritClass implements IEffect {\n  // eslint-disable-next-line no-unused-vars\n  done(...args: any[]): any {\n    throw new Error(\"Method not implemented.\");\n  };\n  // eslint-disable-next-line no-unused-vars\n  apply(...args: any[]): void {\n    throw new Error(\"Method not implemented.\");\n  }\n  duration = 1000;\n\n\n  animate({\n    timing,\n    draw,\n    duration\n  }: TEffectParams): void {\n    const _self: this = this;\n\n    const start = performance.now();\n\n    requestAnimationFrame(function animate(time) {\n      // timeFraction goes from 0 to 1\n      let timeFraction = (time - start) / duration;\n      if (timeFraction > 1) timeFraction = 1;\n\n      // calculate the current animation state\n      const progress = timing(timeFraction);\n\n      draw(Math.round(progress * 100)); // draw it\n\n      if (timeFraction < 1) {\n        requestAnimationFrame(animate);\n      } else {\n        // if this is an object with a done method\n        if (typeof _self !== \"undefined\" &&\n          _self !== null &&\n          Object.hasOwn(_self, \"done\") &&\n          (typeof _self.done).toLowerCase() === \"function\") {\n          _self.done.call(_self);\n        }\n      }\n\n    });\n  }\n\n}\n\n\nPackage(\"com.qcobjects.effects.base\", [\n  Effect\n]);\n\n(_methods_)(ClassFactory(\"Effect\")).map((__c__): any => {\n  (_protected_code_)(__c__);\n  return __c__;\n});\n\nexport { Effect };", "import { Effect } from \"./Effect\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nimport { ClassFactory } from \"./ClassFactory\";\nimport { ITransitionEffect, IComponent, TTransitionEffectParams } from \"types\";\n\nexport class TransitionEffect extends Effect implements ITransitionEffect{\n  duration = 385;\n  defaultParams = {\n    alphaFrom: 0,\n    alphaTo: 1,\n    angleFrom: 180,\n    angleTo: 0,\n    radiusFrom: 0,\n    radiusTo: 30,\n    scaleFrom: 0,\n    scaleTo: 1\n  };\n\n  fitToHeight = false;\n  fitToWidth = false;\n\n  component!: IComponent;\n  effects!: string[];\n\n  apply({\n    alphaFrom,\n    alphaTo,\n    angleFrom,\n    angleTo,\n    radiusFrom,\n    radiusTo,\n    scaleFrom,\n    scaleTo\n  }: TTransitionEffectParams):void {\n    const _transition_ = this;\n    logger.info(\"EXECUTING TransitionEffect  \");\n    const componentRoot =_transition_.component.componentRoot;\n\n    if (typeof componentRoot !== \"undefined\" && componentRoot !== null){\n      if (_transition_.fitToHeight) {\n        (componentRoot as any).height = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollHeight) : ((componentRoot as HTMLElement).getBoundingClientRect().height);\n      }\n      if (_transition_.fitToWidth) {\n        (componentRoot as any).width = (typeof (componentRoot as HTMLElement).offsetParent === \"object\" && (componentRoot as HTMLElement).offsetParent !== null) ? ((componentRoot as HTMLElement).offsetParent?.scrollWidth) : ((componentRoot as HTMLElement).getBoundingClientRect().width);\n      }\n      if (_transition_.component.shadowed){\n        ((componentRoot as ShadowRoot).host as HTMLElement).style.display = \"block\";\n      } else {\n        (componentRoot as HTMLElement).style.display = \"block\";\n      }\n      _transition_.effects.map( (effectClassName:string):string => {\n\n        const __effectClass__ = ClassFactory(effectClassName) as unknown as typeof Effect;\n        const effectObj = new __effectClass__({});\n        const effectClassMethod = effectObj.apply.bind(_transition_);\n        const componentHost = (_transition_.component.shadowed)? ((componentRoot as ShadowRoot).host) : (componentRoot);\n        const effectParams = {\n          alphaFrom,\n          alphaTo,\n          angleFrom,\n          angleTo,\n          radiusFrom,\n          radiusTo,\n          scaleFrom,\n          scaleTo\n        };        \n        effectClassMethod(componentHost,...Object.values(effectParams));\n        return effectClassName;\n      });\n  \n    }\n\n  }\n\n}\n\nPackage(\"com.qcobjects.effects.transitions.base\", [\n  TransitionEffect\n]);\n", "import { ITimer, TTimerParams } from \"types\";\nimport { InheritClass } from \"./InheritClass\";\nimport { Package } from \"./Package\";\n\nexport class Timer extends InheritClass implements ITimer {\n\n\n    duration = 1000;\n    alive = true;\n    thread({\n      timing,\n      intervalInterceptor,\n      duration\n    }:TTimerParams):void {\n      const timer = this;\n\n      const start = performance.now();\n\n      requestAnimationFrame(function thread(time) {\n        // timeFraction goes from 0 to 1\n        const elapsed = (time - start);\n        let timeFraction = elapsed / duration;\n        if (timeFraction > 1) timeFraction = 1;\n\n        // calculate the current progress state\n        const progress = timing(timeFraction, elapsed);\n\n        intervalInterceptor(Math.round(progress * 100)); // draw it\n\n        if ((timeFraction < 1 || duration === -1) && timer.alive) {\n          requestAnimationFrame(thread);\n        }\n\n      });\n    }\n\n\n  }\n\nPackage(\"com.qcobjects.timing\", [\n    Timer\n  ]);\n", "import { TDDOParams } from \"types\";\nimport { Export } from \"./Export\";\nimport { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { ObjectName } from \"./ObjectName\";\n\n/**\n * Dynamic Data Objects Class\n * Usage:\n * Class('TestDDO',{\n *    data: {},\n *    _new_ (){\n *        this.ddo = New(DDO,{\n *            instance:this,\n *            name:'data',\n *            value:{},\n *            fget (value){\n *                logger.debug('returned value '+ value );\n *            }\n *            })\n *    }\n * });\n *\n */\nexport class DDO extends InheritClass {\n    constructor({\n        instance,\n        name,\n        fget,\n        fset,\n        value\n    }:TDDOParams) {\n        super({\n            instance,\n            name,\n            fget,\n            fset,\n            value\n        });\n        this._new_({\n            instance,\n            name,\n            fget,\n            fset,\n            value\n        });\n\n    }\n\n    _new_({\n        instance,\n        name,\n        fget,\n        fset\n    }:TDDOParams):void {\n        const ddoInstance = this;\n        var name = (typeof name === \"undefined\") ? (ObjectName(ddoInstance)) : (name);\n\n        Object.defineProperty(instance, name, {\n            set(val) {\n                const _value = val;\n                logger.debug(\"value changed \" + name);\n                let ret;\n                if (typeof fset !== \"undefined\" && typeof fset === \"function\") {\n                    ret = fset(_value);\n                } else {\n                    ret = _value;\n                }\n                instance[\"_\" + name] = ret;\n                \n            },\n            get():any {\n                const _value = instance[\"_\" + name];\n                logger.debug(\"returning value \" + name);\n                const is_ddo =  (v:any):any => {\n                    if (typeof v === \"object\" && Object.hasOwn(v, \"value\")) {\n                        return v.value;\n                    }\n                    return v;\n                };\n                let ret;\n                if (typeof fget !== \"undefined\" && typeof fget === \"function\") {\n                    ret = fget(is_ddo(_value));\n                } else {\n                    ret = is_ddo(_value);\n                }\n                return ret;\n            }\n        });\n    }\n\n}\nExport(DDO);\n", "import { InheritClass } from \"./InheritClass\";\nimport { logger } from \"./Logger\";\nimport { Package } from \"./Package\";\nexport class Toggle extends InheritClass {\n  _toggle = false;\n  _inverse = true;\n  _positive:Function|null = null;\n  _negative:Function|null = null;\n  _dispatched:Function|null = null;\n  _args = {};\n\n  constructor(positive: Function, negative: Function, args: Array<any>) {\n    super({positive, negative, args});\n    this._new_({positive, negative, args});\n  }\n\n  changeToggle():void {\n    this._toggle = !(this._toggle);\n  }\n\n  _new_({\n    positive,\n    negative,\n    args\n  }:{positive: Function, negative: Function, args: Array<any>}):void {\n    this._positive = positive;\n    this._negative = negative;\n    this._args = args;\n  }\n\n  fire():Promise<Toggle> {\n    const toggle = this;\n    var _promise = new Promise<Toggle>(function (resolve, reject) {\n\n      if (typeof toggle._positive === \"function\" && typeof toggle._negative === \"function\") {\n        if (toggle._inverse) {\n          toggle._dispatched = (toggle._toggle) ? (toggle._negative.bind(toggle)) : (toggle._positive.bind(toggle));\n        } else {\n          toggle._dispatched = (toggle._toggle) ? (toggle._positive.bind(toggle)) : (toggle._negative.bind(toggle));\n        }\n        toggle._dispatched?.call(toggle, toggle._args);\n        resolve.call(_promise, toggle);\n      } else {\n        logger.debug(\"Toggle functions are not declared\");\n        reject.call(_promise, toggle as Toggle);\n      }\n      return toggle;\n    }).then(function (toggle:Toggle) {\n      toggle.changeToggle();\n      return toggle;\n    }).catch(function (e) {\n      logger.debug(e.toString());\n      return toggle;\n    }).finally(()=> {\n      return toggle;\n    });\n    return _promise;\n  }\n\n\n}\n\nPackage(\"com.qcobjects.tools.essentials\", [\n  Toggle\n]);\n", "export const getDocumentLayout = function ():string|undefined {\n    const h = (w:number, h:number) => {\n      return w > h ? \"landscape\" : null;\n    };\n    const v = (w:number, h:number) => {\n      return h > w ? \"portrait\" : null;\n    };\n    const square = (w:number, h:number) => {\n      return w === h ? \"square\" : null;\n    };\n    return [\n      h(document.documentElement.clientWidth, document.documentElement.clientHeight),\n      v(document.documentElement.clientWidth, document.documentElement.clientHeight),\n      square(document.documentElement.clientWidth, document.documentElement.clientHeight)\n    ].filter(e => e !== null).pop();\n  };\n"],
  "mappings": "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",
  "names": ["__getType__", "name", "name", "self", "self", "process", "callback", "args", "service", "URL", "req", "component", "is_file", "_ret_", "self", "e", "_component_", "_component", "standardResponse", "observer", "newComponent", "_top", "_top", "fs", "ready", "self", "shortCode", "func", "exp", "subelements", "_top", "_self", "content", "self", "isBrowser", "requestMethod", "supportedMethods", "context", "context", "_Controller", "toggle", "h"]
}
